{"version":3,"sources":["./src/app/modules/auditoria/modules/eliminar-auditoria/components/dialog-eliminacion/dialog-eliminacion.component.ts","./src/app/modules/auditoria/modules/eliminar-auditoria/components/dialog-eliminacion/dialog-eliminacion.component.html","./src/app/shared/dynamic-forms-v2/form-questions/form-questions.component.ts","./src/app/shared/dynamic-forms-v2/form-questions/form-questions.component.html","./src/app/modules/rrhh/modules/candidate-tests/candidate-tests.module.ts","./src/app/modules/crm/modules/escalation/gestionador-correos/ConfigAngularEditor.ts","./src/app/modules/crm-cial/modules/clientes-crear/clientes-crear.component.ts","./src/app/modules/crm-cial/modules/clientes-crear/clientes-crear.component.html","./src/app/core/services/utils/permit.service.ts","./src/app/modules/nomina/modules/campaigns/admin-campaigns/admin-campaigns.component.ts","./src/app/modules/nomina/modules/campaigns/admin-campaigns/admin-campaigns.component.html","./src/app/modules/speech-analytics/modules/search-history/search-history-module/search-history-module.component.ts","./src/app/modules/speech-analytics/modules/search-history/search-history-module/search-history-module.component.html","./src/app/modules/soul_bi/services/rrhh.service.ts","./src/app/modules/calidad/modules/control/components/tabla-control/tabla-control.component.ts","./src/app/modules/calidad/modules/control/components/tabla-control/tabla-control.component.html","./src/app/shared/vicidial-voz/vicidial-voz.component.ts","./src/app/shared/vicidial-voz/vicidial-voz.component.html","./src/app/modules/speech-analytics/speech-analytics-routing.module.ts","./src/app/modules/crm_v2/modules/templates/save-template/save-template.component.ts","./src/app/modules/crm_v2/modules/templates/save-template/save-template.component.html","./src/app/modules/auditoria/services/preguntas.service.ts","./src/app/modules/coaching/state/efects/historial.efects.ts","./src/app/modules/crm-cial/modules/ccomercial-create/ccomercial-create.component.ts","./src/app/modules/crm-cial/modules/ccomercial-create/ccomercial-create.component.html","./src/app/modules/reservas/modules/resources/resources-types/resources-types.component.ts","./src/app/modules/reservas/modules/resources/resources-types/resources-types.component.html","./src/app/modules/rrhh/modules/templates/tags-new/tags-new.component.ts","./src/app/modules/rrhh/modules/templates/tags-new/tags-new.component.html","./src/app/modules/nomina/modules/inactive-days/pages/inactive-dates-list/inactive-dates-list.component.ts","./src/app/modules/nomina/modules/inactive-days/pages/inactive-dates-list/inactive-dates-list.component.html","./src/app/modules/calidad/modules/matrices/components/main-matrices/main-matrices.component.ts","./src/app/modules/calidad/modules/matrices/components/main-matrices/main-matrices.component.html","./src/app/modules/auditoria/modules/auditorias/components/retroalimentar/components/detalle-retroalimentacion/detalle-retroalimentacion.component.ts","./src/app/modules/auditoria/modules/auditorias/components/retroalimentar/components/detalle-retroalimentacion/detalle-retroalimentacion.component.html","./src/app/core/services/interceptor/error.interceptor.ts","./src/app/modules/email-manager/components/massive-management/massive-management.component.ts","./src/app/modules/email-manager/components/massive-management/massive-management.component.html","./src/app/modules/calidad/modules/matrices/components/crear-modulo/crear-modulo.component.ts","./src/app/modules/calidad/modules/matrices/components/crear-modulo/crear-modulo.component.html","./src/app/modules/auditoria/auditoria.module.ts","./src/app/modules/ciu/modules/users/admin-users/admin-users.component.ts","./src/app/modules/ciu/modules/users/admin-users/admin-users.component.html","./src/app/modules/ciu/services/rest/groups.service.ts","./src/app/modules/rrhh/services/updates.service.ts","./src/app/modules/coaching/state/actions/historial.actions.ts","./src/app/modules/livechat/livechat-routing.module.ts","./src/app/modules/coaching/coaching.module.ts","./src/app/modules/calidad/modules/eliminar-auditoria/components/dialog-eliminacion/dialog-eliminacion.component.ts","./src/app/modules/calidad/modules/eliminar-auditoria/components/dialog-eliminacion/dialog-eliminacion.component.html","./src/app/modules/email-manager/pages/assign-email-user/assign-email-user.component.ts","./src/app/modules/email-manager/pages/assign-email-user/assign-email-user.component.html","./src/app/modules/ciu/modules/roles/save-rol/save-rol.component.ts","./src/app/modules/ciu/modules/roles/save-rol/save-rol.component.html","./src/app/modules/crm-cial/crm-cial-routing.module.ts","./src/app/modules/nomina/nomina-routing.module.ts","./src/app/modules/coaching/state/actions/auditoria.actions.ts","./src/app/modules/speech-analytics/services/forms-request.service.ts","./src/app/modules/rrhh/modules/reports/reports-main/reports-main.component.ts","./src/app/modules/rrhh/modules/reports/reports-main/reports-main.component.html","./src/app/modules/rrhh/rrhh-routing.module.ts","./src/app/modules/nomina/modules/vacations/page/vacations-view/vacations-view.component.ts","./src/app/modules/nomina/modules/vacations/page/vacations-view/vacations-view.component.html","./src/app/modules/email-manager/components/mailing-list/mailing-list.component.ts","./src/app/modules/email-manager/components/mailing-list/mailing-list.component.html","./src/app/modules/auditoria/modules/auditorias/auditorias.component.ts","./src/app/modules/auditoria/modules/auditorias/auditorias.component.html","./src/app/modules/email-manager/constantes/mail-config-editor-view.ts","./src/app/modules/speech-analytics/modules/search-speech/analytics-voice-general-modal/analytics-voice-general-modal.component.ts","./src/app/modules/speech-analytics/modules/search-speech/analytics-voice-general-modal/analytics-voice-general-modal.component.html","./src/app/modules/speech-analytics/modules/chat-speech/speech-chat-main/speech-chat-main.component.ts","./src/app/modules/speech-analytics/modules/chat-speech/speech-chat-main/speech-chat-main.component.html","./src/app/modules/email-manager/components/table-contact-group/table-contact-group.component.ts","./src/app/modules/email-manager/components/table-contact-group/table-contact-group.component.html","./src/app/modules/email-manager/components/email/email.component.ts","./src/app/modules/email-manager/components/email/email.component.html","zlib (ignored)","./src/app/modules/reservas/modules/resources/resources.module.ts","./src/app/modules/rrhh/modules/candidates/personal-reference-up/personal-reference-up.component.ts","./src/app/modules/rrhh/modules/candidates/personal-reference-up/personal-reference-up.component.html","./src/app/modules/nomina/modules/vacations/page/vacation-consultant/vacation-consultant.component.ts","./src/app/modules/nomina/modules/vacations/page/vacation-consultant/vacation-consultant.component.html","./src/app/modules/nomina/modules/disabilities/pages/disabilities-consultant/disabilities-consultant.component.ts","./src/app/modules/nomina/modules/disabilities/pages/disabilities-consultant/disabilities-consultant.component.html","./src/app/modules/crm/modules/escalation/gestionador-correos/gestionador-correos.component.ts","./src/app/modules/crm/modules/escalation/gestionador-correos/gestionador-correos.component.html","./src/app/shared/chat-soul/componentes/view-users-group/view-users-group.component.ts","./src/app/shared/chat-soul/componentes/view-users-group/view-users-group.component.html","./src/app/modules/ciu/modules/aplications/save-aplications/save-aplications.component.ts","./src/app/modules/ciu/modules/aplications/save-aplications/save-aplications.component.html","./src/app/modules/crm_v2/crm.component.ts","./src/app/modules/crm_v2/crm.component.html","./src/app/modules/livechat/modules/chat/pages/dashboard-videocall/dashboard-videocall.component.ts","./src/app/modules/livechat/modules/chat/pages/dashboard-videocall/dashboard-videocall.component.html","./src/app/modules/auditoria/modules/inteligencia-negocios/components/editar-formulario/editar-formulario.component.ts","./src/app/modules/auditoria/modules/inteligencia-negocios/components/editar-formulario/editar-formulario.component.html","./src/app/modules/rrhh/modules/templates/templates-list/templates-list.component.ts","./src/app/modules/rrhh/modules/templates/templates-list/templates-list.component.html","./src/app/modules/meetings/meetings-routing.module.ts","webpack:///fs (ignored)?7b71","./src/app/modules/calidad/modules/matrices/components/crear-sub-item/crear-sub-item.component.ts","./src/app/modules/calidad/modules/matrices/components/crear-sub-item/crear-sub-item.component.html","./src/app/modules/rrhh/modules/templates/template-index/template-index.component.ts","./src/app/modules/rrhh/modules/templates/template-index/template-index.component.html","./src/app/modules/email-manager/components/swiper-report-trays/swiper-report-trays.component.ts","./src/app/modules/email-manager/components/swiper-report-trays/swiper-report-trays.component.html","./src/app/modules/ciu/services/rest/campaign.service.ts","./src/app/modules/auditoria/modules/matrices/components/detalle-matriz/detalle-matriz.component.ts","./src/app/modules/auditoria/modules/matrices/components/detalle-matriz/detalle-matriz.component.html","./src/app/modules/meetings/services/meetings.service.ts","./src/app/modules/soul_bi/soul_bi-routing.module.ts","./src/app/modules/bpms/bpms-routing.module.ts","./src/app/modules/rrhh/modules/training-groups/groups-view/groups-view.component.ts","./src/app/modules/rrhh/modules/training-groups/groups-view/groups-view.component.html","./src/app/modules/rrhh/modules/training-groups/groups-view/docs-summary.html","./src/app/modules/rrhh/modules/training-groups/groups-view/export-files.html","./src/app/modules/nomina/services/rest/vacations.service.ts","./src/app/modules/auditoria/modules/auditorias/components/detalle-auditoria/detalle-auditoria.component.ts","./src/app/modules/auditoria/modules/auditorias/components/detalle-auditoria/detalle-auditoria.component.html","./src/app/modules/ciu/services/rest/profile.service.ts","./src/app/modules/calidad/services/inteligencia.service.ts","./src/app/modules/nomina/services/rest/reports.service.ts","./src/app/modules/rrhh/modules/candidates/src/app/modules/rrhh/modules/candidates/modal-campaign-edit/modal-campaign-edit.component.ts","./src/app/modules/rrhh/modules/candidates/src/app/modules/rrhh/modules/candidates/modal-campaign-edit/modal-campaign-edit.component.html","./src/app/modules/email-manager/pages/assign-trays-user/assign-trays-user.component.ts","./src/app/modules/email-manager/pages/assign-trays-user/assign-trays-user.component.html","./src/app/modules/rrhh/modules/requests/requests-all/requests-all.component.ts","./src/app/modules/rrhh/modules/requests/requests-all/requests-all.component.html","./src/app/modules/calidad/modules/matrices/components/editar-modulo/editar-modulo.component.ts","./src/app/modules/calidad/modules/matrices/components/editar-modulo/editar-modulo.component.html","./src/app/modules/email-manager/pages/email-manager-main/email-manager-main.component.ts","./src/app/modules/email-manager/pages/email-manager-main/email-manager-main.component.html","http (ignored)","./src/app/modules/bpms/modules/requests/modal-approve/modal-approve.component.ts","./src/app/modules/bpms/modules/requests/modal-approve/modal-approve.component.html","./src/app/modules/email-manager/pages/supervisor-page-main-v2/supervisor-page-main-v2.component.ts","./src/app/modules/email-manager/pages/supervisor-page-main-v2/supervisor-page-main-v2.component.html","./src/app/modules/coaching/state/reducers/historial.reducer.ts","./src/app/shared/dynamic-forms/form-questions/form-questions.component.ts","./src/app/shared/dynamic-forms/form-questions/form-questions.component.html","./src/app/modules/reports/reports-routing.module.ts","./src/app/modules/bpms/bpms.module.ts","./src/app/shared/phone/components/transfer-form/transfer-form.service.ts","./src/app/modules/auditoria/modules/inteligencia-negocios/components/crear-pregunta/crear-pregunta.component.ts","./src/app/modules/auditoria/modules/inteligencia-negocios/components/crear-pregunta/crear-pregunta.component.html","./src/app/modules/livechat/services/rest/mixins.service.ts","./src/app/modules/nomina/nomina.component.ts","./src/app/modules/nomina/nomina.component.html","./src/app/modules/email-manager/components/ans/ans.component.ts","./src/app/modules/email-manager/components/ans/ans.component.html","./src/app/modules/speech-analytics/modules/email-manager/components/analysis-result/analysis-result.component.ts","./src/app/modules/speech-analytics/modules/email-manager/components/analysis-result/analysis-result.component.html","https (ignored)","./src/app/modules/email-manager/components/state/state.component.ts","./src/app/modules/email-manager/components/state/state.component.html","./src/app/core/guards/schedule.guard.crm.v2.ts","./src/app/modules/sable/modules/crear_descarga/crear.component.ts","./src/app/modules/sable/modules/crear_descarga/crear.component.html","./src/app/shared/alerts/alerts.service.ts","./src/app/modules/email-manager/services/email-admin.service.ts","./src/app/modules/nomina/services/rest/disabilities.service.ts","./src/app/shared/chat-soul/componentes/chat-groups/chat-groups.component.ts","./src/app/shared/chat-soul/componentes/chat-groups/chat-groups.component.html","./src/app/modules/email-manager/pages/folder-page-main/folder-page-main.component.ts","./src/app/modules/email-manager/pages/folder-page-main/folder-page-main.component.html","./src/app/shared/vicidial-voz/services/vicidial-wallet.service.ts","./src/app/core/guards/groups.guard.ts","./src/app/modules/juridica/modules/permit/pages/permit-consultant/permit-consultant.component.ts","./src/app/modules/juridica/modules/permit/pages/permit-consultant/permit-consultant.component.html","./src/app/modules/speech-analytics/modules/email-manager/utils/pipes/limit-text.pipe.ts","url (ignored)","./src/app/core/guards/schedule.guard.ts","./src/app/modules/calidad/modules/inteligencia-negocios/components/tabla-preguntas/tabla-preguntas.component.ts","./src/app/modules/calidad/modules/inteligencia-negocios/components/tabla-preguntas/tabla-preguntas.component.html","./src/app/modules/auditoria/auditoria-routing.module.ts","./src/app/modules/crm-cial/services/rest/clientes.service.ts","./src/app/modules/coaching/state/efects/solicitud.efects.ts","./src/app/modules/nomina/modules/liquidations/pages/liquidations/liquidations.component.ts","./src/app/modules/nomina/modules/liquidations/pages/liquidations/liquidations.component.html","./src/app/modules/coaching/state/efects/auditoria.efects.ts","./src/app/modules/coaching/pipes/max-text.pipe.ts","./src/app/modules/bpms/modules/requests/modal-validate/modal-validate.component.ts","./src/app/modules/bpms/modules/requests/modal-validate/modal-validate.component.html","./src/app/modules/speech-analytics/modules/search-history/search-history-nodirigido/search-history-nodirigido.component.ts","./src/app/modules/speech-analytics/modules/search-history/search-history-nodirigido/search-history-nodirigido.component.html","./src/app/modules/email-manager/components/manager-list-emails/manager-list-emails.component.ts","./src/app/modules/email-manager/components/manager-list-emails/manager-list-emails.component.html","./src/app/modules/livechat/pipes/filtertemplate.pipe.ts","fs (ignored)","./src/app/shared/basic-crud-page-service/crud.service.ts","./src/app/modules/crm_v2/modules/templates/templates.module.ts","./src/app/modules/crm_NSDP/services/rest/forms-request.service.ts","./src/app/shared/alerts-snackbar/alerts-snackbar.service.ts","./src/app/modules/email-manager/components/manager-message/manager-message.component.ts","./src/app/modules/email-manager/components/manager-message/manager-message.component.html","./src/app/modules/rrhh/modules/candidates/candidates.module.ts","./src/app/modules/calidad/calidad-routing.module.ts","./src/app/shared/phone/phone.component.ts","./src/app/shared/phone/phone.component.html","./src/app/modules/email-manager/pages/state-page-main/state-page-main.component.ts","./src/app/modules/email-manager/pages/state-page-main/state-page-main.component.html","./src/app/modules/calidad/modules/inteligencia-negocios/components/crear-formulario/crear-formulario.component.ts","./src/app/modules/calidad/modules/inteligencia-negocios/components/crear-formulario/crear-formulario.component.html","./src/app/modules/crm_v2/services/rest/templates.service.ts","./src/app/modules/rrhh/modules/training-groups/training-candidate/commentsTypes.ts","crypto (ignored)","./src/app/modules/email-manager/email-manager.module.ts","./src/app/modules/crm/modules/templates/save-template/save-template.component.ts","./src/app/modules/crm/modules/templates/save-template/save-template.component.html","./src/app/modules/auditoria/auditoria.component.ts","./src/app/modules/auditoria/auditoria.component.html","./src/app/core/guards/UrlAplicacionGuard.ts","./src/app/modules/ciu/modules/update-security-questions/update-security-questions.component.ts","./src/app/modules/ciu/modules/update-security-questions/update-security-questions.component.html","./src/app/modules/auditoria/modules/inteligencia-negocios/components/tabla-preguntas/tabla-preguntas.component.ts","./src/app/modules/auditoria/modules/inteligencia-negocios/components/tabla-preguntas/tabla-preguntas.component.html","./src/app/modules/compras/compras-routing.module.ts","./src/app/modules/speech-analytics/modules/nodirigido/direcitves/dnd.directive.ts","./src/app/modules/coaching/modules/jefe-inmediato/jefe-inmediato.component.ts","./src/app/modules/coaching/modules/jefe-inmediato/jefe-inmediato.component.html","./src/app/modules/nomina/modules/reports/general-report/general-report.component.ts","./src/app/modules/nomina/modules/reports/general-report/general-report.component.html","./src/app/modules/reservas/services/booking.service.ts","./src/app/modules/meetings/meetings.module.ts","./src/app/modules/compras/modules/solicitudes/componentes/create-observation-item/create-observation-item.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/create-observation-item/create-observation-item.component.html","./src/app/modules/crm-cial/modules/creop/creop.component.ts","./src/app/modules/crm-cial/modules/creop/creop.component.html","./src/app/modules/coaching/state/selectors/solicitud.selector.ts","./src/app/modules/ciu/services/rest/network-users.service.ts","stream (ignored)","./src/app/modules/rrhh/modules/templates/template-confirmation/template-confirmation.component.ts","./src/app/modules/rrhh/modules/templates/template-confirmation/template-confirmation.component.html","./src/app/modules/nomina/services/rest/referralsReport.service.ts","./src/app/modules/rrhh/modules/requests/requests.module.ts","./src/app/modules/rrhh/modules/requests/request-assign/request-assign.component.ts","./src/app/modules/rrhh/modules/requests/request-assign/request-assign.component.html","./src/app/modules/nomina/services/rest/liquidations.service.ts","./src/app/modules/calidad/modules/inteligencia-negocios/components/editar-formulario/editar-formulario.component.ts","./src/app/modules/calidad/modules/inteligencia-negocios/components/editar-formulario/editar-formulario.component.html","./src/app/modules/email-manager/services/template.service.ts","./src/app/modules/calidad/modules/inteligencia-negocios/components/tabla-inteligencia-negocio/tabla-inteligencia-negocio.component.ts","./src/app/modules/calidad/modules/inteligencia-negocios/components/tabla-inteligencia-negocio/tabla-inteligencia-negocio.component.html","./src/app/shared/landing-page/modal-landing/modal-landing.component.ts","./src/app/shared/landing-page/modal-landing/modal-landing.component.html","./src/app/modules/email-manager/constantes/create-data-form-crm.ts","./src/app/core/guards/forms.guard.ts","./src/app/modules/email-manager/pages/templates-page-main/templates-page-main.component.ts","./src/app/modules/email-manager/pages/templates-page-main/templates-page-main.component.html","./src/app/modules/coaching/state/reducers/auditoria.reducer.ts","./src/app/modules/bpms/modules/requests/modal-create-request/modal-create-request.component.ts","./src/app/modules/bpms/modules/requests/modal-create-request/modal-create-request.component.html","./src/app/modules/reservas/reservas.module.ts","./src/app/modules/auditoria/modules/control/components/agregar-agente/agregar-agente.component.ts","./src/app/modules/auditoria/modules/control/components/agregar-agente/agregar-agente.component.html","./src/app/modules/coaching/state/actions/solicitud.actions.ts","./src/app/modules/nomina/modules/data-nomina/pages/novedades-cosultant/novedades-cosultant.component.ts","./src/app/modules/nomina/modules/data-nomina/pages/novedades-cosultant/novedades-cosultant.component.html","./src/app/modules/bpms/modules/shared-form/dynamic-form/dynamic-form.component.ts","./src/app/modules/bpms/modules/shared-form/dynamic-form/dynamic-form.component.html","./src/app/modules/cartera-wom/cartera-wom-routing.module.ts","./src/app/modules/crm_v2/modules/escalation/gestionador-correos/ConfigAngularEditor.ts","./src/app/modules/calidad/modules/matrices/components/crear-matriz/crear-matriz.component.ts","./src/app/modules/calidad/modules/matrices/components/crear-matriz/crear-matriz.component.html","./src/app/shared/pipes/pipes.module.ts","./src/app/modules/speech-analytics/services/campaign.service.ts","./src/app/modules/ciu/modules/class/config-schedule.ts","./src/app/modules/speech-analytics/modules/strategy/strategy-modal/strategy-modal.component.ts","./src/app/modules/speech-analytics/modules/strategy/strategy-modal/strategy-modal.component.html","./src/app/modules/email-manager/services/snack-bar.service.ts","./src/app/modules/crm/modules/email/admin-email/admin-email.component.ts","./src/app/modules/crm/modules/email/admin-email/admin-email.component.html","./src/app/modules/soul_bi/modules/index/index.component.ts","./src/app/modules/soul_bi/modules/index/index.component.html","./src/app/modules/ciu/services/rest/users.service.ts","./src/app/modules/crm/services/pusher-chat.service.ts","./src/app/core/services/rest/chat.service.ts","./src/app/modules/ciu/modules/manage-network-users/manage-network-users.component.ts","./src/app/modules/ciu/modules/manage-network-users/manage-network-users.component.html","./src/app/modules/calidad/modules/auditorias/auditorias.component.ts","./src/app/modules/calidad/modules/auditorias/auditorias.component.html","./src/app/shared/dynamic-forms-v2/dynamic-form/dynamic-form.component.ts","./src/app/shared/dynamic-forms-v2/dynamic-form/dynamic-form.component.html","./src/app/shared/svg-feelings/svg-feelings.component.ts","./src/app/shared/svg-feelings/svg-feelings.component.html","./src/app/modules/rrhh/services/candidates.service.ts","./src/app/modules/email-manager/services/ans.service.ts","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/components/tabla-historico/tabla-historico.component.ts","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/components/tabla-historico/tabla-historico.component.html","./src/app/modules/livechat/services/storage/storage.service.ts","./src/environments/environment.ts","./src/app/modules/reports/reports.component.ts","./src/app/modules/reports/reports.component.html","./src/app/modules/email-manager/pages/email-page-main/email-page-main.component.ts","./src/app/modules/email-manager/pages/email-page-main/email-page-main.component.html","./src/app/modules/auditoria/modules/powerbi/powerbi.component.ts","./src/app/modules/auditoria/modules/powerbi/powerbi.component.html","./src/app/modules/nomina/modules/vacations/page/vacation-operation-manager/vacation-operation-manager.component.ts","./src/app/modules/nomina/modules/vacations/page/vacation-operation-manager/vacation-operation-manager.component.html","./src/app/modules/auditoria/pipes/time.pipe.ts","./src/app/shared/vicidial-dashboard/vicidial-dashboard.component.ts","./src/app/shared/vicidial-dashboard/vicidial-dashboard.component.html","./src/app/modules/bpms/modules/users/users.module.ts","./src/app/modules/auditoria/modules/matrices/components/editar-matriz/editar-matriz.component.ts","./src/app/modules/auditoria/modules/matrices/components/editar-matriz/editar-matriz.component.html","./src/app/modules/email-manager/components/new-message/new-message.component.ts","./src/app/modules/email-manager/components/new-message/new-message.component.html","./src/app/modules/rrhh/modules/employee/cv/cv.component.ts","./src/app/modules/rrhh/modules/employee/cv/cv.component.html","./src/app/modules/bpms/services/requests.service.ts","./src/app/modules/crm_v2/modules/email/admin-email/admin-email.component.ts","./src/app/modules/crm_v2/modules/email/admin-email/admin-email.component.html","./src/app/modules/rrhh/modules/candidates/candidate-edit/candidate-edit.component.ts","./src/app/modules/rrhh/modules/candidates/candidate-edit/candidate-edit.component.html","./src/app/modules/calidad/calidad.module.ts","./src/app/modules/auditoria/modules/control/components/dialog-grupo/dialog-grupo.component.ts","./src/app/modules/auditoria/modules/control/components/dialog-grupo/dialog-grupo.component.html","./src/app/modules/compras/modules/solicitudes/solicitudes-cards/solicitudes-cards.component.ts","./src/app/modules/compras/modules/solicitudes/solicitudes-cards/solicitudes-cards.component.html","./src/app/modules/meetings/pages/meetings-admin/meetings-admin.component.ts","./src/app/modules/meetings/pages/meetings-admin/meetings-admin.component.html","./src/app/modules/bpms/services/leaders.service.ts","./src/app/modules/nomina/modules/campaigns/save-campaigns/save-campaigns.component.ts","./src/app/modules/nomina/modules/campaigns/save-campaigns/save-campaigns.component.html","./src/app/modules/speech-analytics/modules/search-speech/audio-player-modal/audio-player-modal.component.ts","./src/app/modules/speech-analytics/modules/search-speech/audio-player-modal/audio-player-modal.component.html","./src/app/modules/calidad/services/preguntas.service.ts","./src/app/mios/modal-surveys-user/modal-surveys-user.component.ts","./src/app/mios/modal-surveys-user/modal-surveys-user.component.html","./src/app/modules/email-manager/pages/move-email-to-trays/move-email-to-trays.component.ts","./src/app/modules/email-manager/pages/move-email-to-trays/move-email-to-trays.component.html","./src/app/modules/rrhh/modules/medical-test/medical-test-action/medical-test-action.component.ts","./src/app/modules/rrhh/modules/medical-test/medical-test-action/medical-test-action.component.html","./src/app/modules/livechat/modules/chat/pages/home/home.component.ts","./src/app/modules/livechat/modules/chat/pages/home/home.component.html","./src/app/modules/rrhh/modules/candidates/attachment-delete-form/attachment-delete-form.component.ts","./src/app/modules/rrhh/modules/candidates/attachment-delete-form/attachment-delete-form.component.html","./src/app/modules/coaching/modules/coaching/coaching.component.ts","./src/app/modules/coaching/modules/coaching/coaching.component.html","./src/app/modules/crm-cial/modules/cliente-consulta/cliente-consulta.component.ts","./src/app/modules/crm-cial/modules/cliente-consulta/cliente-consulta.component.html","./src/app/modules/ciu/services/rest/menus.service.ts","./src/app/modules/compras/modules/solicitudes/componentes/orden-compra-frag/orden-compra-frag.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/orden-compra-frag/orden-compra-frag.component.html","./src/app/modules/calidad/pipes/cut-text.pipe.ts","./src/app/modules/bpms/modules/shared-form/shared-form.module.ts","./src/app/core/services/rest/dynamic-form-service.service.crm.v2.ts","./src/app/modules/nomina/modules/vacations/page/vacations/vacations.component.ts","./src/app/modules/nomina/modules/vacations/page/vacations/vacations.component.html","./src/app/core/services/utils/destroy-component.service.ts","./src/app/modules/auditoria/modules/auditorias/components/retroalimentar/retroalimentar.component.ts","./src/app/modules/auditoria/modules/auditorias/components/retroalimentar/retroalimentar.component.html","./src/app/shared/speed-dial-fab/speed-dial-fab.animations.ts","./src/app/shared/speed-dial-fab/speed-dial-fab.component.ts","./src/app/shared/speed-dial-fab/speed-dial-fab.component.html","./src/app/modules/ciu/modules/profile-update/profile-update.component.ts","./src/app/modules/ciu/modules/profile-update/profile-update.component.html","./src/app/modules/crm_v2/services/rest/campaings.service.ts","./src/app/modules/calidad/modules/inteligencia-negocios/inteligencia-negocios.component.ts","./src/app/modules/calidad/modules/inteligencia-negocios/inteligencia-negocios.component.html","./src/app/modules/email-manager/components/move-email-tray/move-email-tray.component.ts","./src/app/modules/email-manager/components/move-email-tray/move-email-tray.component.html","./src/app/modules/rrhh/modules/updates/updates-main/updates-main.component.ts","./src/app/modules/rrhh/modules/updates/updates-main/updates-main.component.html","./src/app/modules/auditoria/modules/matrices/components/editar-sub-item/editar-sub-item.component.ts","./src/app/modules/auditoria/modules/matrices/components/editar-sub-item/editar-sub-item.component.html","./src/app/modules/compras/modules/solicitudes/componentes/aprobar-solcitud/aprobar-solcitud.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/aprobar-solcitud/aprobar-solcitud.component.html","./src/app/modules/speech-analytics/modules/chat-speech/analytics-chat-modal/analytics-chat-modal.component.ts","./src/app/modules/speech-analytics/modules/chat-speech/analytics-chat-modal/analytics-chat-modal.component.html","./src/app/modules/ciu/modules/users/edit-users/edit-users.component.ts","./src/app/modules/ciu/modules/users/edit-users/edit-users.component.html","./src/app/modules/meetings/pages/meeting-history/meeting-history.component.ts","./src/app/modules/meetings/pages/meeting-history/meeting-history.component.html","./src/app/modules/rrhh/services/requests.service.ts","./src/app/modules/auditoria/modules/matrices/components/crear-item/crear-item.component.ts","./src/app/modules/auditoria/modules/matrices/components/crear-item/crear-item.component.html","./src/app/modules/ciu/modules/reports/report-adhesion/report-adhesion.component.ts","./src/app/modules/ciu/modules/reports/report-adhesion/report-adhesion.component.html","./src/app/modules/livechat/services/rest/dashboardDos.service.ts","./src/app/modules/rrhh/modules/candidates/candidate-comments/candidate-comments.component.ts","./src/app/modules/rrhh/modules/candidates/candidate-comments/candidate-comments.component.html","./src/app/modules/speech-analytics/modules/configuration-administrator/admin/admin.component.ts","./src/app/modules/speech-analytics/modules/configuration-administrator/admin/admin.component.html","./src/app/shared/chat/chat.component.ts","./src/app/shared/chat/chat.component.html","./src/app/shared/dynamic-forms-4/dynamic-form/dynamic-form.component.ts","./src/app/shared/dynamic-forms-4/dynamic-form/dynamic-form.component.html","./src/app/modules/crm_v2/services/rest/groups.service.ts","./src/app/modules/rrhh/services/nomenclatures.service.ts","./src/app/core/to-words/to-words.ts","./src/app/shared/report-view/report-view.component.ts","./src/app/shared/report-view/report-view.component.html","./src/app/modules/compras/compras.module.ts","./src/app/modules/rrhh/modules/assesments/assessments-create/assessments-create.component.ts","./src/app/modules/rrhh/modules/assesments/assessments-create/assessments-create.component.html","./src/app/modules/sable/modules/comandos-create/comandos-create.component.ts","./src/app/modules/sable/modules/comandos-create/comandos-create.component.html","./src/app/modules/crm/services/rest/groups.service.ts","./src/app/modules/nomina/modules/inactive-days/inactive-days.module.ts","./src/app/modules/calidad/modules/control/components/dialog-grupo/dialog-grupo.component.ts","./src/app/modules/calidad/modules/control/components/dialog-grupo/dialog-grupo.component.html","./src/app/modules/bpms/modules/shared-form/dynamic-form-question/dynamic-form-question.component.ts","./src/app/modules/bpms/modules/shared-form/dynamic-form-question/dynamic-form-question.component.html","./src/app/modules/crm/modules/escalation/view-plantillas/view-plantillas.component.ts","./src/app/modules/crm/modules/escalation/view-plantillas/view-plantillas.component.html","./src/app/modules/soul_bi/modules/edit-configuration/edit-configuration.component.ts","./src/app/modules/soul_bi/modules/edit-configuration/edit-configuration.component.html","./src/app/modules/auditoria/modules/control/components/tabla-control/tabla-control.component.ts","./src/app/modules/auditoria/modules/control/components/tabla-control/tabla-control.component.html","./src/app/modules/calidad/modules/inteligencia-negocios/components/matrices-asignadas/matrices-asignadas.component.ts","./src/app/modules/calidad/modules/inteligencia-negocios/components/matrices-asignadas/matrices-asignadas.component.html","./src/app/modules/ciu/modules/class/menu.ts","./src/app/modules/crm-cial/modules/clientes/clientes.component.ts","./src/app/modules/crm-cial/modules/clientes/clientes.component.html","./src/app/modules/coaching/state/selectors/historial.selector.ts","./src/app/modules/ciu/modules/class/aplications.ts","./src/app/modules/ciu/services/rest/report-service-ciu.service.ts","./src/app/modules/crm/services/pusher.service.ts","./src/app/modules/juridica/juridica-routing.module.ts","./src/app/modules/auditoria/modules/matrices/components/crear-modulo/crear-modulo.component.ts","./src/app/modules/auditoria/modules/matrices/components/crear-modulo/crear-modulo.component.html","./src/app/modules/compras/modules/solicitudes/solicitudes-control/solicitudes-control.component.ts","./src/app/modules/compras/modules/solicitudes/solicitudes-control/solicitudes-control.component.html","./src/app/modules/sable/modules/constantes/custom-validators.ts","./src/app/modules/auditoria/services/matriz.service.ts","./src/app/modules/ciu/modules/manage-network-users/components/network-users/network-users.component.ts","./src/app/modules/ciu/modules/manage-network-users/components/network-users/network-users.component.html","./src/app/core/guards/forms.guard.crm.v2.ts","./src/app/modules/crm/modules/escalation/create-state/create-state.component.ts","./src/app/modules/crm/modules/escalation/create-state/create-state.component.html","./src/app/modules/calidad/services/translates.service.ts","./src/app/modules/coaching/state/coaching.state.ts","./src/app/modules/soul_bi/modules/configuration/configuration.component.ts","./src/app/modules/soul_bi/modules/configuration/configuration.component.html","./src/app/modules/nomina/modules/schedule-report/page/schedule-report/schedule-report.component.ts","./src/app/modules/nomina/modules/schedule-report/page/schedule-report/schedule-report.component.html","./src/app/modules/coaching/state/selectors/selects.selector.ts","./src/app/modules/rrhh/modules/candidates/contract-creation/contract-creation.component.ts","./src/app/modules/rrhh/modules/candidates/contract-creation/contract-creation.component.html","./src/app/modules/rrhh/modules/candidates/contract-creation/rejection-comment.html","./src/app/shared/chat-soul/componentes/list-contact/list-contact.component.ts","./src/app/shared/chat-soul/componentes/list-contact/list-contact.component.html","./src/app/shared/chat-soul/animations/contact.anumations.ts","./src/app/shared/call-summary/call-summary.component.ts","./src/app/shared/call-summary/call-summary.component.html","./src/app/modules/crm_v2/modules/escalation/files-upload/files-upload.component.ts","./src/app/modules/crm_v2/modules/escalation/files-upload/files-upload.component.html","./src/app/shared/basic-table/basic-table.component.ts","./src/app/shared/basic-table/basic-table.component.html","./src/app/modules/sable/modules/dialog-state-packages/dialog-state-packages.component.ts","./src/app/modules/sable/modules/dialog-state-packages/dialog-state-packages.component.html","./src/app/modules/rrhh/modules/requests/request-details-dialog/request-details-dialog.component.ts","./src/app/modules/rrhh/modules/requests/request-details-dialog/request-details-dialog.component.html","./src/app/modules/speech-analytics/modules/chat-speech/chat-view-modal/chat-view-modal.component.ts","./src/app/modules/speech-analytics/modules/chat-speech/chat-view-modal/chat-view-modal.component.html","./src/app/modules/email-manager/constantes/mail-config-editor.ts","./src/app/shared/snack-bar-service/snack-bar.service.ts","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/detalle-coaching.component.ts","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/detalle-coaching.component.html","./src/app/modules/livechat/services/http/index.service.ts","./src/app/modules/soul_bi/services/nomina.service.ts","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/components/form-asesor/form-asesor.component.ts","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/components/form-asesor/form-asesor.component.html","./src/app/modules/rrhh/modules/candidates/candidate-cv-juridico-nomina-doc/candidate-cv-juridico-nomina-doc.component.ts","./src/app/modules/rrhh/modules/candidates/candidate-cv-juridico-nomina-doc/candidate-cv-juridico-nomina-doc.component.html","./src/app/modules/ciu/modules/users/users-reports-create/users-reports-create.component.ts","./src/app/modules/ciu/modules/users/users-reports-create/users-reports-create.component.html","./src/app/modules/crm-cial/crm-cial.component.ts","./src/app/modules/crm-cial/crm-cial.component.html","./src/app/modules/reservas/modules/bookings/booking-create/booking-create.component.ts","./src/app/modules/reservas/modules/bookings/booking-create/booking-create.component.html","./src/app/modules/reservas/modules/bookings/booking-create/reserve-resource.html","./src/app/modules/juridica/modules/permit-boss/components/permit-response-boss/permit-response-boss.component.ts","./src/app/modules/juridica/modules/permit-boss/components/permit-response-boss/permit-response-boss.component.html","./src/app/modules/crm_v2/modules/escalation/gestionador-correos/services/gestionador-correos.services.ts","./src/app/modules/calidad/pipes/uppercase-text.pipe.ts","./src/app/modules/juridica/juridica.module.ts","./src/app/modules/email-manager/components/assign-priority/assign-priority.component.ts","./src/app/modules/email-manager/components/assign-priority/assign-priority.component.html","./src/app/modules/rrhh/modules/candidate-tests/upload-test/upload-test.component.ts","./src/app/modules/rrhh/modules/candidate-tests/upload-test/upload-test.component.html","./src/app/modules/rrhh/modules/templates/template-preview/template-preview.component.ts","./src/app/modules/rrhh/modules/templates/template-preview/template-preview.component.html","./src/app/modules/speech-analytics/modules/search-speech/transcription-strategy-modal/transcription-strategy-modal.component.ts","./src/app/modules/speech-analytics/modules/search-speech/transcription-strategy-modal/transcription-strategy-modal.component.html","./src/app/modules/rrhh/modules/candidates/check-attachment/check-attachment.component.ts","./src/app/modules/rrhh/modules/candidates/check-attachment/check-attachment.component.html","./src/app/modules/nomina/modules/disabilities/pages/disabilities-response/disabilities-response.component.ts","./src/app/modules/nomina/modules/disabilities/pages/disabilities-response/disabilities-response.component.html","./src/app/core/guards/campaigns.guard.crm.v2.ts","./src/app/modules/compras/modules/solicitudes/componentes/block-requests/block-requests.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/block-requests/block-requests.component.html","./src/app/shared/chat/models/message.model.ts","./src/app/modules/calidad/modules/matrices/components/analistas-calidad/analistas-calidad.component.ts","./src/app/modules/calidad/modules/matrices/components/analistas-calidad/analistas-calidad.component.html","./src/app/modules/nomina/services/rest/inactive-dates.service.ts","./src/app/modules/rrhh/services/tests.service.ts","./src/app/modules/sable/modules/admin-servers/admin-servers.component.ts","./src/app/modules/sable/modules/admin-servers/admin-servers.component.html","./src/app/modules/calidad/modules/auditorias/components/retroalimentar/components/detalle-retroalimentacion/detalle-retroalimentacion.component.ts","./src/app/modules/calidad/modules/auditorias/components/retroalimentar/components/detalle-retroalimentacion/detalle-retroalimentacion.component.html","./src/app/modules/rrhh/services/templates.service.ts","./src/app/modules/sable/modules/constantes/states-downloads.ts","./src/app/modules/crm_v2/modules/escalation/gestionador-correos/gestionador-correos.component.ts","./src/app/modules/crm_v2/modules/escalation/gestionador-correos/gestionador-correos.component.html","./src/app/modules/calidad/modules/matrices/components/detalle-matriz/detalle-matriz.component.ts","./src/app/modules/calidad/modules/matrices/components/detalle-matriz/detalle-matriz.component.html","./src/app/modules/livechat/modules/chat/components/modal-meetings/modal-meetings.component.ts","./src/app/modules/livechat/modules/chat/components/modal-meetings/modal-meetings.component.html","./src/app/modules/crm_v2/services/rest/escalation.service.ts","./src/app/modules/nomina/modules/disabilities/pages/disabilities-view/disabilities-view.component.ts","./src/app/modules/nomina/modules/disabilities/pages/disabilities-view/disabilities-view.component.html","./src/app/shared/exchange-lists/exchange-lists.component.ts","./src/app/shared/exchange-lists/exchange-lists.component.html","./src/app/modules/coaching/pipes/array-to-string.pipe.ts","./src/app/modules/crm/modules/escalation/files-upload/files-upload.component.ts","./src/app/modules/crm/modules/escalation/files-upload/files-upload.component.html","./src/app/modules/speech-analytics/modules/chat-speech/transc-chat-modal/transc-chat-modal.component.ts","./src/app/modules/speech-analytics/modules/chat-speech/transc-chat-modal/transc-chat-modal.component.html","./src/app/modules/crm_v2/modules/escalation/create-state/create-state.component.ts","./src/app/modules/crm_v2/modules/escalation/create-state/create-state.component.html","./src/app/modules/calidad/modules/control/components/detalle-control/detalle-control.component.ts","./src/app/modules/calidad/modules/control/components/detalle-control/detalle-control.component.html","./src/app/modules/crm/modules/escalation/gestionador-correos/services/gestionador-correos.services.ts","./src/app/modules/nomina/modules/novelties/pages/novelties-list/novelties-list.component.ts","./src/app/modules/nomina/modules/novelties/pages/novelties-list/novelties-list.component.html","./src/app/modules/juridica/pipes/limit-text.pipe.ts","./src/app/modules/auditoria/modules/inteligencia-negocios/components/crear-formulario/crear-formulario.component.ts","./src/app/modules/auditoria/modules/inteligencia-negocios/components/crear-formulario/crear-formulario.component.html","./src/app/modules/compras/modules/solicitudes/componentes/orden-compra-list-control/orden-compra-list-control.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/orden-compra-list-control/orden-compra-list-control.component.html","./src/app/modules/reservas/modules/resources/resources-rules/resources-rules.component.ts","./src/app/modules/reservas/modules/resources/resources-rules/resources-rules.component.html","./src/app/modules/calidad/modules/control/control.component.ts","./src/app/modules/calidad/modules/control/control.component.html","./src/app/modules/speech-analytics/services/model_ia.service.ts","./src/app/modules/auditoria/pipes/uppercase-text.pipe.ts","./src/app/modules/compras/services/rest/compania.service.ts","./src/app/shared/mqtt/mqtt.module.ts","./src/app/modules/rrhh/rrhh.module.ts","./src/app/modules/coaching/modules/reporte/reporte.component.ts","./src/app/modules/coaching/modules/reporte/reporte.component.html","./src/app/modules/ciu/modules/profile/profile.component.ts","./src/app/modules/ciu/modules/profile/profile.component.html","./src/app/auth/forgot-password/forgot-password.component.ts","./src/app/auth/forgot-password/forgot-password.component.html","./src/app/modules/coaching/modules/jefe-inmediato/componentes/modal-asignaciones/modal-asignaciones.component.ts","./src/app/modules/coaching/modules/jefe-inmediato/componentes/modal-asignaciones/modal-asignaciones.component.html","./src/app/core/guards/auth.guard.ts","./src/app/modules/auditoria/modules/matrices/components/crear-matriz/crear-matriz.component.ts","./src/app/modules/auditoria/modules/matrices/components/crear-matriz/crear-matriz.component.html","./src/app/modules/nomina/modules/disabilities/pages/disabilities/disabilities.component.ts","./src/app/modules/nomina/modules/disabilities/pages/disabilities/disabilities.component.html","./src/app/modules/crm/modules/templates/templates.routing.module.ts","./src/app/core/guards/surveys.guard.ts","./src/app/modules/auditoria/modules/matrices/components/editar-modulo/editar-modulo.component.ts","./src/app/modules/auditoria/modules/matrices/components/editar-modulo/editar-modulo.component.html","./src/app/modules/crm/crm.module.ts","./src/app/shared/chat-soul/componentes/all-contacts/all-contacts.component.ts","./src/app/shared/chat-soul/componentes/all-contacts/all-contacts.component.html","./src/app/modules/rrhh/services/file.service.ts","./src/app/modules/speech-analytics/modules/email-manager/utils/config/charts.config.ts","./src/app/shared/dynamic-forms-4/form-questions/form-questions.component.ts","./src/app/shared/dynamic-forms-4/form-questions/form-questions.component.html","./src/app/modules/auditoria/modules/auditorias/components/retroalimentar/components/tabla-retroalimentar/tabla-retroalimentar.component.ts","./src/app/modules/auditoria/modules/auditorias/components/retroalimentar/components/tabla-retroalimentar/tabla-retroalimentar.component.html","./src/app/modules/email-manager/pages/assign-priority-page-main/assign-priority-page-main.component.ts","./src/app/modules/email-manager/pages/assign-priority-page-main/assign-priority-page-main.component.html","./src/app/modules/calidad/services/reports.service.ts","./src/app/modules/bpms/services/positions.service.ts","./src/app/modules/bpms/modules/requests/modal-delete/modal-delete.component.ts","./src/app/modules/bpms/modules/requests/modal-delete/modal-delete.component.html","./src/app/modules/rrhh/modules/candidates/candidate-create/candidate-create.component.ts","./src/app/modules/rrhh/modules/candidates/candidate-create/candidate-create.component.html","./src/app/shared/landing-page/user-schedule/user-schedule.component.ts","./src/app/shared/landing-page/user-schedule/user-schedule.component.html","./src/app/modules/ciu/ciu-routing.module.ts","./src/app/modules/crm/modules/templates/generate-template/generate-template.component.ts","./src/app/modules/crm/modules/templates/generate-template/generate-template.component.html","./src/app/modules/auditoria/modules/eliminar-auditoria/components/tabla-eliminacion/tabla-eliminacion.component.ts","./src/app/modules/auditoria/modules/eliminar-auditoria/components/tabla-eliminacion/tabla-eliminacion.component.html","./src/app/modules/email-manager/services/tray.service.ts","./src/app/modules/crm-cial/services/rest/countries.service.ts","./src/app/shared/shared.module.ts","./src/app/modules/cartera-wom/cartera-wom.component.ts","./src/app/modules/cartera-wom/cartera-wom.component.html","./src/app/modules/compras/modules/solicitudes/componentes/view-observation-item/view-observation-item.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/view-observation-item/view-observation-item.component.html","./src/app/modules/email-manager/services/contact-group.service.ts","./src/app/modules/juridica/modules/permit-boss/components/permit-view-boss/permit-view-boss.component.ts","./src/app/modules/juridica/modules/permit-boss/components/permit-view-boss/permit-view-boss.component.html","./src/app/modules/ciu/modules/schedules/admin-schedules/admin-schedules.component.ts","./src/app/modules/ciu/modules/schedules/admin-schedules/admin-schedules.component.html","./src/app/modules/email-manager/components/management-history/management-history.component.ts","./src/app/modules/email-manager/components/management-history/management-history.component.html","./src/app/modules/rrhh/modules/candidates/candidate-assign/candidate-assign.component.ts","./src/app/modules/rrhh/modules/candidates/candidate-assign/candidate-assign.component.html","./src/app/modules/calidad/modules/inteligencia-negocios/components/detalle-pregunta/detalle-pregunta.component.ts","./src/app/modules/calidad/modules/inteligencia-negocios/components/detalle-pregunta/detalle-pregunta.component.html","./src/app/modules/calidad/pipes/time.pipe.ts","./src/app/modules/ciu/modules/groups/save-groups/save-groups.component.ts","./src/app/modules/ciu/modules/groups/save-groups/save-groups.component.html","./src/app/modules/email-manager/components/mail-form/mail-form.component.ts","./src/app/modules/email-manager/components/mail-form/mail-form.component.html","./src/app/modules/email-manager/components/mail-view/mail-view.component.ts","./src/app/modules/email-manager/components/mail-view/mail-view.component.html","./src/app/modules/speech-analytics/modules/configuration-administrator/assign-campaign/assign-campaign.component.ts","./src/app/modules/speech-analytics/modules/configuration-administrator/assign-campaign/assign-campaign.component.html","./src/app/modules/coaching/modules/coaching/components/paso-paso/paso-paso.component.ts","./src/app/modules/coaching/modules/coaching/components/paso-paso/paso-paso.component.html","./src/app/modules/meetings/services/chat.service.ts","./src/app/modules/calidad/modules/control/components/detalle-grupo/detalle-grupo.component.ts","./src/app/modules/calidad/modules/control/components/detalle-grupo/detalle-grupo.component.html","./src/app/modules/compras/services/rest/archivos.service.ts","./src/app/modules/sable/modules/comandos-page/comandos-page.component.ts","./src/app/modules/sable/modules/comandos-page/comandos-page.component.html","./src/app/modules/crm/modules/landing-page-crm/landing-page-crm.component.ts","./src/app/modules/crm/modules/landing-page-crm/landing-page-crm.component.html","./src/app/modules/compras/modules/solicitudes/componentes/gestion-inicial/gestion-inicial.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/gestion-inicial/gestion-inicial.component.html","./src/app/modules/crm/crm.component.ts","./src/app/modules/crm/crm.component.html","./src/app/modules/calidad/modules/powerbi/powerbi.component.ts","./src/app/modules/calidad/modules/powerbi/powerbi.component.html","./src/app/modules/rrhh/modules/candidates/address-form/address-form.component.ts","./src/app/modules/rrhh/modules/candidates/address-form/address-form.component.html","./src/app/modules/email-manager/components/templates/templates.component.ts","./src/app/modules/email-manager/components/templates/templates.component.html","./src/app/modules/rrhh/modules/medical-test/medical-candidates/medical-candidates.component.ts","./src/app/modules/rrhh/modules/medical-test/medical-candidates/medical-candidates.component.html","./src/app/modules/bpms/modules/requests/modal-assign-recruiter/modal-assign-recruiter.component.ts","./src/app/modules/bpms/modules/requests/modal-assign-recruiter/modal-assign-recruiter.component.html","./src/app/modules/rrhh/modules/candidates/candidate-attachments/candidate-attachments.component.ts","./src/app/modules/rrhh/modules/candidates/candidate-attachments/candidate-attachments.component.html","./src/app/modules/crm/modules/groups/groups-routing.module.ts","./src/app/modules/auditoria/services/inteligencia.service.ts","./src/app/modules/compras/modules/solicitudes/solicitudes-aprobar/solicitudes-aprobar.component.ts","./src/app/modules/compras/modules/solicitudes/solicitudes-aprobar/solicitudes-aprobar.component.html","./src/app/shared/dynamic-forms/dynamic-form/dynamic-form.component.ts","./src/app/shared/dynamic-forms/dynamic-form/dynamic-form.component.html","./src/app/modules/rrhh/services/comments.service.ts","./src/app/modules/email-manager/pages/category-page-main/category-page-main.component.ts","./src/app/modules/email-manager/pages/category-page-main/category-page-main.component.html","./src/app/modules/speech-analytics/modules/search-speech/speech-menu/speech-menu.component.ts","./src/app/modules/speech-analytics/modules/search-speech/speech-menu/speech-menu.component.html","./src/app/modules/crm_v2/modules/groups/pages/groups-list/groups-list.component.ts","./src/app/modules/crm_v2/modules/groups/pages/groups-list/groups-list.component.html","./src/app/modules/auditoria/modules/inteligencia-negocios/inteligencia-negocios.component.ts","./src/app/modules/auditoria/modules/inteligencia-negocios/inteligencia-negocios.component.html","./src/app/modules/coaching/state/reducers/solicitud.reducer.ts","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/modules/meetings/pages/users-skill/users-skill.component.ts","./src/app/modules/meetings/pages/users-skill/users-skill.component.html","./src/app/modules/speech-analytics/modules/search-history/history-main-menu/history-main-menu.component.ts","./src/app/modules/speech-analytics/modules/search-history/history-main-menu/history-main-menu.component.html","./src/app/core/services/rest/left-nav.service.ts","./src/app/modules/ciu/services/rest/schedule-types.service.ts","./src/app/core/services/utils/question-control.service.ts","./src/app/modules/sable/sable.component.ts","./src/app/modules/sable/sable.component.html","./src/app/modules/rrhh/modules/training-groups/groups-candidate-assign/groups-candidate-assign.component.ts","./src/app/modules/rrhh/modules/training-groups/groups-candidate-assign/groups-candidate-assign.component.html","./src/app/modules/crm/modules/escalation/mail-escalation/mail-escalation.component.ts","./src/app/modules/crm/modules/escalation/mail-escalation/mail-escalation.component.html","./src/app/modules/email-manager/services/category.service.ts","./src/app/core/services/utils/DialogSurveysState.service.ts","./src/app/shared/pipes/user-photo.pipe.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/modules/speech-analytics/modules/email-manager/pages/manager-list-emails/manager-list-emails.component.ts","./src/app/modules/speech-analytics/modules/email-manager/pages/manager-list-emails/manager-list-emails.component.html","./src/app/modules/rrhh/modules/assesments/assessments-detail/assessments-detail.component.ts","./src/app/modules/rrhh/modules/assesments/assessments-detail/assessments-detail.component.html","./src/app/modules/crm_v2/modules/escalation/mail-escalation/mail-escalation.component.ts","./src/app/modules/crm_v2/modules/escalation/mail-escalation/mail-escalation.component.html","./src/app/shared/meetings/meetings.component.ts","./src/app/shared/meetings/meetings.component.html","./src/app/modules/crm-cial/services/rest/cities.service.ts","./src/app/modules/reports/modules/admin/user-assignment-report/user-assignment-report.component.ts","./src/app/modules/reports/modules/admin/user-assignment-report/user-assignment-report.component.html","./src/app/modules/livechat/modules/chat/components/card-dashboard/card-dashboard.component.ts","./src/app/modules/livechat/modules/chat/components/card-dashboard/card-dashboard.component.html","./src/app/modules/juridica/modules/permit/pages/permit-list/permit-list.component.ts","./src/app/modules/juridica/modules/permit/pages/permit-list/permit-list.component.html","./src/app/modules/juridica/modules/permit/permit-routing.module.ts","./src/app/mios/animation.ts","./src/app/modules/ciu/modules/schedules/edit-schedules/edit-schedules.component.ts","./src/app/modules/ciu/modules/schedules/edit-schedules/edit-schedules.component.html","./src/app/modules/livechat/livechat.module.ts","./src/app/shared/chat-soul/chat-soul.module.ts","./src/app/modules/email-manager/services/state.service.ts","./src/app/modules/speech-analytics/services/nodirigido.service.ts","./src/app/modules/reservas/modules/resources/resources-create/resources-create.component.ts","./src/app/modules/reservas/modules/resources/resources-create/resources-create.component.html","./src/app/modules/auditoria/utils/tools.utils.ts","./src/app/modules/rrhh/modules/updates/updates.module.ts","./src/app/modules/ciu/modules/users/userStatus-response/userStatus-response.component.ts","./src/app/modules/ciu/modules/users/userStatus-response/userStatus-response.component.html","./src/app/modules/ciu/block-copy-paste.directive.ts","./src/app/modules/ciu/modules/change-network-user-pass/change-network-user-pass.component.ts","./src/app/modules/ciu/modules/change-network-user-pass/change-network-user-pass.component.html","./src/app/modules/juridica/modules/permit-boss/permit-boss-routing.module.ts","./src/app/modules/rrhh/modules/training-groups/candidate-actions/candidate-actions.component.ts","./src/app/modules/rrhh/modules/training-groups/candidate-actions/candidate-actions.component.html","./src/app/modules/crm/modules/groups/groups.module.ts","./src/app/modules/nomina/modules/novelties/pages/novelties-response/novelties-response.component.ts","./src/app/modules/nomina/modules/novelties/pages/novelties-response/novelties-response.component.html","./src/app/auth/document-signature-dialog/document-signature-dialog.component.ts","./src/app/auth/document-signature-dialog/document-signature-dialog.component.html","./src/app/modules/ciu/modules/groups/admin-groups/admin-groups.component.ts","./src/app/modules/ciu/modules/groups/admin-groups/admin-groups.component.html","./src/app/modules/crm/modules/escalation/edit-user/edit-user.component.ts","./src/app/modules/crm/modules/escalation/edit-user/edit-user.component.html","./src/app/modules/nomina/services/rest/ImportDesprendible.service.ts","./src/app/modules/nomina/modules/novelties/pages/novelties-codes/novelties-codes.component.ts","./src/app/modules/nomina/modules/novelties/pages/novelties-codes/novelties-codes.component.html","./src/app/modules/auditoria/services/reports.service.ts","./src/app/modules/speech-analytics/modules/chat-speech/adherencia-chat-modal/adherencia-chat-modal.component.ts","./src/app/modules/speech-analytics/modules/chat-speech/adherencia-chat-modal/adherencia-chat-modal.component.html","./src/app/modules/auditoria/modules/matrices/components/main-matrices/main-matrices.component.ts","./src/app/modules/auditoria/modules/matrices/components/main-matrices/main-matrices.component.html","./src/app/modules/ciu/modules/manage-network-users/components/users-list/dialogs/update-network-user-form/update-network-user-form.component.ts","./src/app/modules/ciu/modules/manage-network-users/components/users-list/dialogs/update-network-user-form/update-network-user-form.component.html","./src/app/modules/rrhh/modules/assesments/assesments.module.ts","./src/app/modules/speech-analytics/modules/chat-speech/search-chat/search-chat.component.ts","./src/app/modules/speech-analytics/modules/chat-speech/search-chat/search-chat.component.html","./src/app/modules/ciu/modules/schedules/config-schedules/config-schedules.component.ts","./src/app/modules/ciu/modules/schedules/config-schedules/config-schedules.component.html","./src/app/modules/rrhh/modules/templates/template-new/template-new.component.ts","./src/app/modules/rrhh/modules/templates/template-new/template-new.component.html","./src/app/modules/reservas/modules/resources/resources-main/resources-main.component.ts","./src/app/modules/reservas/modules/resources/resources-main/resources-main.component.html","./src/app/modules/reservas/modules/bookings/bookings-main/status.pipe.ts","./src/app/modules/crm/modules/email/view-mail/view-mail.component.ts","./src/app/modules/crm/modules/email/view-mail/view-mail.component.html","./src/app/modules/email-manager/pages/assign-folder-user/assign-folder-user.component.ts","./src/app/modules/email-manager/pages/assign-folder-user/assign-folder-user.component.html","./src/app/modules/email-manager/components/view-emails-state/view-emails-state.component.ts","./src/app/modules/email-manager/components/view-emails-state/view-emails-state.component.html","./src/app/modules/reports/services/reports.service.ts","./src/app/modules/calidad/modules/control/components/tabla-grupo/tabla-grupo.component.ts","./src/app/modules/calidad/modules/control/components/tabla-grupo/tabla-grupo.component.html","./src/app/shared/mqtt/mqtt.service.ts","./src/app/modules/email-manager/services/teams.service.ts","./src/app/mios/mios-routing.module.ts","./src/app/modules/schedules/services/health.service.ts","./src/app/modules/compras/services/rest/ordenes.service.ts","./src/app/modules/crm_v2/crm-routing.module.ts","./src/app/modules/auditoria/modules/matrices/components/analistas-auditoria/analistas-auditoria.component.ts","./src/app/modules/auditoria/modules/matrices/components/analistas-auditoria/analistas-auditoria.component.html","./src/app/modules/compras/modules/solicitudes/componentes/procesar-solicitud-control/procesar-solicitud-control.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/procesar-solicitud-control/procesar-solicitud-control.component.html","./src/app/auth/forgot-user/forgot-user.component.ts","./src/app/auth/forgot-user/forgot-user.component.html","./src/app/modules/calidad/services/control.service.ts","./src/app/modules/ciu/services/rest/reports.service.ts","./src/app/modules/coaching/coaching-app.component.ts","./src/app/modules/coaching/coaching-app.component.html","./src/app/modules/speech-analytics/modules/strategy/strategy-menu/strategy-menu.component.ts","./src/app/modules/speech-analytics/modules/strategy/strategy-menu/strategy-menu.component.html","./src/app/modules/speech-analytics/modules/configuration-administrator/connection/edit-connection/edit-connection.component.ts","./src/app/modules/speech-analytics/modules/configuration-administrator/connection/edit-connection/edit-connection.component.html","./src/app/modules/crm/modules/escalation/view-escalation/view-escalation.component.ts","./src/app/modules/crm/modules/escalation/view-escalation/view-escalation.component.html","./src/app/modules/calidad/modules/matrices/components/editar-matriz/editar-matriz.component.ts","./src/app/modules/calidad/modules/matrices/components/editar-matriz/editar-matriz.component.html","./src/app/modules/speech-analytics/services/history.service.ts","./src/app/modules/crm/modules/email/manage-email/manage-email.component.ts","./src/app/modules/crm/modules/email/manage-email/manage-email.component.html","./src/app/modules/reservas/modules/bookings/booking-create/days.pipe.ts","./src/app/modules/rrhh/modules/candidates/candidate-comment-edit/candidate-comment-edit.component.ts","./src/app/modules/rrhh/modules/candidates/candidate-comment-edit/candidate-comment-edit.component.html","./src/app/shared/chat-soul/services/chat-rest.service.ts","./src/app/modules/auditoria/modules/auditorias/components/detalle-auditoria/components/form-inteligencia/form-inteligencia.component.ts","./src/app/modules/auditoria/modules/auditorias/components/detalle-auditoria/components/form-inteligencia/form-inteligencia.component.html","./src/app/modules/coaching/state/actions/acompañamiento.actions.ts","./src/app/modules/email-manager/components/category/category.component.ts","./src/app/modules/email-manager/components/category/category.component.html","./src/app/modules/speech-analytics/modules/configuration-administrator/campaign/create-campaign/create-campaign.component.ts","./src/app/modules/speech-analytics/modules/configuration-administrator/campaign/create-campaign/create-campaign.component.html","./src/app/modules/juridica/modules/permit-boss/components/permit-list-boss/permit-list-boss.component.ts","./src/app/modules/juridica/modules/permit-boss/components/permit-list-boss/permit-list-boss.component.html","./src/app/modules/compras/modules/Class/orden-compras.ts","./src/app/modules/email-manager/services/email-support.service.ts","./src/app/core/guards/groups.guard.crm.v2.ts","./src/app/modules/auditoria/modules/crud-tipificacion/crud-tipificacion.component.ts","./src/app/modules/auditoria/modules/crud-tipificacion/crud-tipificacion.component.html","./src/app/modules/coaching/modules/coaching/components/nuevo-coaching/nuevo-coaching.component.ts","./src/app/modules/coaching/modules/coaching/components/nuevo-coaching/nuevo-coaching.component.html","./src/app/shared/cv-view/edit-questions.ts","./src/app/modules/calidad/modules/eliminar-auditoria/components/tabla-eliminacion/tabla-eliminacion.component.ts","./src/app/modules/calidad/modules/eliminar-auditoria/components/tabla-eliminacion/tabla-eliminacion.component.html","./src/app/modules/speech-analytics/services/result.service.ts","./src/app/modules/reservas/services/crm.service.ts","./src/app/modules/portal/services/proveedores.service.ts","./src/app/modules/email-manager/pages/contact-group-main/contact-group-main.component.ts","./src/app/modules/email-manager/pages/contact-group-main/contact-group-main.component.html","./src/app/modules/ciu/services/rest/graph.service.ts","./src/app/modules/calidad/pipes/boolean.pipe.ts","./src/app/modules/auditoria/modules/matrices/matrices.component.ts","./src/app/modules/auditoria/modules/matrices/matrices.component.html","./src/app/auth/auth.module.ts","./src/app/shared/files-view/files-view.component.ts","./src/app/shared/files-view/files-view.component.html","./src/app/modules/crm-cial/crm-cial.module.ts","./src/app/modules/juridica/juridica.component.ts","./src/app/modules/juridica/juridica.component.html","./src/app/modules/crm_v2/modules/email/view-mail/view-mail.component.ts","./src/app/modules/crm_v2/modules/email/view-mail/view-mail.component.html","./src/app/shared/basic-crud-page/basic-crud-page.component.ts","./src/app/shared/basic-crud-page/basic-crud-page.component.html","./src/app/modules/crm/services/rest/templates.service.ts","./src/app/app.module.ts","./src/app/modules/crm/modules/templates/admin-template/admin-template.component.ts","./src/app/modules/crm/modules/templates/admin-template/admin-template.component.html","./src/app/modules/livechat/services/session/index.service.ts","./src/app/modules/bpms/services/campaigns.service.ts","./src/app/modules/rrhh/modules/assesments/assessment-score/assessment-score.component.ts","./src/app/modules/rrhh/modules/assesments/assessment-score/assessment-score.component.html","./src/app/modules/juridica/services/juridica.service.ts","./src/app/modules/compras/modules/solicitudes/componentes/orden-compra-edit/orden-compra-edit.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/orden-compra-edit/orden-compra-edit.component.html","./src/app/modules/crm_v2/modules/email/manage-email/manage-email.component.ts","./src/app/modules/crm_v2/modules/email/manage-email/manage-email.component.html","./src/app/modules/juridica/modules/suspension-boss/pages/suspension-boss-view/suspension-boss-view.component.ts","./src/app/modules/juridica/modules/suspension-boss/pages/suspension-boss-view/suspension-boss-view.component.html","./src/app/shared/print-form-survey/mail-config-editor.ts","./src/app/modules/email-manager/pages/supervisor-page-main/supervisor-page-main.component.ts","./src/app/modules/email-manager/pages/supervisor-page-main/supervisor-page-main.component.html","./src/app/modules/coaching/pipes/estado.pipe.ts","./src/app/modules/rrhh/modules/assesments/assesments-view/assesments-view.component.ts","./src/app/modules/rrhh/modules/assesments/assesments-view/assesments-view.component.html","./src/app/modules/crm/crm-routing.module.ts","./src/app/modules/rrhh/modules/positions/positions.module.ts","./src/app/shared/print-form-survey/print-form-survey.component.ts","./src/app/shared/print-form-survey/print-form-survey.component.html","./src/app/modules/juridica/modules/permit/permit.module.ts","./src/app/core/services/rest/auth.service.ts","./src/app/modules/email-manager/utils/pipes/limit-text.pipe.ts","./src/app/modules/rrhh/modules/templates/template-history/template-history.component.ts","./src/app/modules/rrhh/modules/templates/template-history/template-history.component.html","./src/app/modules/speech-analytics/services/admin-servers.service.ts","./src/app/modules/bpms/modules/requests/requests.component.ts","./src/app/modules/bpms/modules/requests/requests.component.html","./src/app/modules/encuestas/services/suervey.service.ts","./src/app/modules/email-manager/components/form-contact-group/form-contact-group.component.ts","./src/app/modules/email-manager/components/form-contact-group/form-contact-group.component.html","./src/app/modules/nomina/modules/class/Campaigns.ts","./src/app/auth/login/login.component.ts","./src/app/auth/login/login.component.html","./src/app/mios/modal-password/modal-password.component.ts","./src/app/mios/modal-password/modal-password.component.html","./src/app/modules/livechat/services/session/conversations.service.ts","./src/app/modules/speech-analytics/modules/nodirigido/nodirigido.component.ts","./src/app/modules/speech-analytics/modules/nodirigido/nodirigido.component.html","./src/app/modules/compras/modules/solicitudes/componentes/gestion-inicial-control/gestion-inicial-control.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/gestion-inicial-control/gestion-inicial-control.component.html","./src/app/modules/compras/modules/solicitudes/solicitudes/solicitudes-list.component.ts","./src/app/modules/compras/modules/solicitudes/solicitudes/solicitudes-list.component.html","./src/app/shared/chat-soul/componentes/active-chat/active-chat.component.ts","./src/app/shared/chat-soul/componentes/active-chat/active-chat.component.html","./src/app/modules/rrhh/modules/templates/templates.module.ts","./src/app/modules/nomina/modules/novelties/novelties.module.ts","./src/app/shared/chronometer/chronometer.component.ts","./src/app/shared/chronometer/chronometer.component.html","./src/app/modules/crm_v2/modules/templates/generate-template/generate-template.component.ts","./src/app/modules/crm_v2/modules/templates/generate-template/generate-template.component.html","./src/app/modules/email-manager/constantes/custom-validations.ts","./src/app/modules/nomina/modules/novelties/pages/resum-nomina/resum-nomina.component.ts","./src/app/modules/nomina/modules/novelties/pages/resum-nomina/resum-nomina.component.html","./src/app/modules/ciu/modules/groups/save-groups/user-group.pipe.ts","./src/app/modules/speech-analytics/speech-analytics.component.ts","./src/app/modules/speech-analytics/speech-analytics.component.html","./src/app/modules/email-manager/services/email.service.ts","./src/app/modules/compras/modules/solicitudes/componentes/associated-request/associated-request.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/associated-request/associated-request.component.html","./src/app/modules/rrhh/modules/candidate-tests/massive-tests/massive-tests.component.ts","./src/app/modules/rrhh/modules/candidate-tests/massive-tests/massive-tests.component.html","./src/app/modules/coaching/services/coaching.service.ts","./src/app/modules/crm-cial/modules/historialn/historialn.component.ts","./src/app/modules/crm-cial/modules/historialn/historialn.component.html","./src/app/modules/auditoria/modules/auditorias/components/calificacion-auditoria/calificacion-auditoria.component.ts","./src/app/modules/auditoria/modules/auditorias/components/calificacion-auditoria/calificacion-auditoria.component.html","./src/app/modules/crm-cial/modules/clientes/clientes-proceso/clientes-proceso.component.ts","./src/app/modules/crm-cial/modules/clientes/clientes-proceso/clientes-proceso.component.html","./src/app/core/services/utils/sidenav.service.ts","./src/app/modules/calidad/modules/auditorias/components/retroalimentar/retroalimentar.component.ts","./src/app/modules/calidad/modules/auditorias/components/retroalimentar/retroalimentar.component.html","./src/app/modules/auditoria/modules/mis-auditorias/mis-auditorias.component.ts","./src/app/modules/auditoria/modules/mis-auditorias/mis-auditorias.component.html","./src/app/modules/crm_v2/modules/groups/pages/admin-groups/admin-groups.component.ts","./src/app/modules/crm_v2/modules/groups/pages/admin-groups/admin-groups.component.html","./src/app/modules/email-manager/components/new-message-v2/new-message-v2.component.ts","./src/app/modules/email-manager/components/new-message-v2/new-message-v2.component.html","./src/app/modules/crm/modules/escalation/admin-escalation/admin-escalation.component.ts","./src/app/modules/crm/modules/escalation/admin-escalation/admin-escalation.component.html","./src/app/modules/nomina/modules/import-desprendibles/import-desprendibles.component.ts","./src/app/modules/nomina/modules/import-desprendibles/import-desprendibles.component.html","./src/app/modules/bpms/services/recruiters.service.ts","./src/app/modules/calidad/modules/auditorias/components/form-auditar/form-auditar.component.ts","./src/app/modules/calidad/modules/auditorias/components/form-auditar/form-auditar.component.html","./src/app/modules/compras/services/rest/tipo-producto.service.ts","./src/app/modules/juridica/modules/permit/pages/permit-response/permit-response.component.ts","./src/app/modules/juridica/modules/permit/pages/permit-response/permit-response.component.html","./src/app/shared/phone/phone.service.ts","./src/app/modules/compras/modules/solicitudes/componentes/consultar-proveedor/consultar-proveedor.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/consultar-proveedor/consultar-proveedor.component.html","./src/app/modules/email-manager/components/validate-email-account/validate-email-account.component.ts","./src/app/modules/email-manager/components/validate-email-account/validate-email-account.component.html","./src/app/modules/rrhh/services/positions.service.ts","./src/app/modules/ciu/modules/users/mass-migration-users/mass-migration-users.component.ts","./src/app/modules/ciu/modules/users/mass-migration-users/mass-migration-users.component.html","./src/app/modules/compras/modules/solicitudes/componentes/historial-aprobador/descarga/descarga.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/historial-aprobador/descarga/descarga.component.html","./src/app/modules/auditoria/modules/reporteria/reporteria.component.ts","./src/app/modules/auditoria/modules/reporteria/reporteria.component.html","./src/app/modules/email-manager/services/assign-priority.service.ts","./src/app/modules/speech-analytics/modules/search-speech/analytics-modal/analytics-modal.component.ts","./src/app/modules/speech-analytics/modules/search-speech/analytics-modal/analytics-modal.component.html","./src/app/modules/crm_v2/modules/escalation/view-plantillas/view-plantillas.component.ts","./src/app/modules/crm_v2/modules/escalation/view-plantillas/view-plantillas.component.html","./src/app/modules/email-manager/constantes/create-data-chart.ts","./src/app/modules/speech-analytics/modules/search-history/history-chat/history-chat.component.ts","./src/app/modules/speech-analytics/modules/search-history/history-chat/history-chat.component.html","./src/app/modules/calidad/services/auditoria.service.ts","./src/app/modules/speech-analytics/modules/email-manager/utils/config/pdf.config.ts","./src/app/modules/cartera-wom/modules/shared/services/localStorage.service.ts","./src/app/modules/livechat/services/socket/socket-disconnect.service.ts","./src/app/modules/rrhh/modules/medical-test/create-medical-test/create-medical-test.component.ts","./src/app/modules/rrhh/modules/medical-test/create-medical-test/create-medical-test.component.html","./src/app/modules/reservas/reservas.component.ts","./src/app/modules/reservas/reservas.component.html","./src/app/modules/calidad/modules/matrices/components/editar-sub-item/editar-sub-item.component.ts","./src/app/modules/calidad/modules/matrices/components/editar-sub-item/editar-sub-item.component.html","./src/app/shared/dynamic-forms-v3/dynamic-form/dynamic-form.component.ts","./src/app/shared/dynamic-forms-v3/dynamic-form/dynamic-form.component.html","./src/app/modules/email-manager/pages/ans-page-main/ans-page-main.component.ts","./src/app/modules/email-manager/pages/ans-page-main/ans-page-main.component.html","./src/app/shared/phone/components/transfer-form/transfer-form.component.ts","./src/app/shared/phone/components/transfer-form/transfer-form.component.html","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/components/dialog-historico/dialog-historico.component.ts","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/components/dialog-historico/dialog-historico.component.html","./src/app/modules/reports/reports.module.ts","./src/app/modules/crm_v2/modules/groups/groups.module.ts","./src/app/modules/email-manager/components/advance-filter-emails/advance-filter-emails.component.ts","./src/app/modules/email-manager/components/advance-filter-emails/advance-filter-emails.component.html","./src/app/modules/crm_v2/modules/templates/templates.routing.module.ts","./src/app/auth/block-copy-paste.directive.ts","./src/app/modules/crm/modules/templates/templates.module.ts","./src/app/shared/mqtt/config/mqtt.config.ts","./src/app/shared/cv-view/cv-view.component.ts","./src/app/shared/cv-view/cv-view.component.html","./src/app/modules/speech-analytics/speech-analytics.module.ts","./src/app/modules/speech-analytics/modules/configuration-administrator/campaign/config-campain/config-campain.component.ts","./src/app/modules/speech-analytics/modules/configuration-administrator/campaign/config-campain/config-campain.component.html","./src/app/modules/soul_bi/modules/show-report/show-report.component.ts","./src/app/modules/soul_bi/modules/show-report/show-report.component.html","./src/app/modules/coaching/state/reducers/acompañamiento.reducer.ts","./src/app/modules/cartera-wom/cartera-wom.module.ts","./src/app/core/guards/document-signature.guard.ts","./src/app/auth/dobble-auth/dobble-auth.component.ts","./src/app/auth/dobble-auth/dobble-auth.component.html","./src/app/modules/soul_bi/services/dashboard.service.ts","./src/app/modules/sable/modules/gestor_descarga/gestor.component.ts","./src/app/modules/sable/modules/gestor_descarga/gestor.component.html","./src/app/modules/reservas/modules/bookings/bookings.module.ts","./src/app/modules/calidad/modules/auditorias/components/calificacion-auditoria/calificacion-auditoria.component.ts","./src/app/modules/calidad/modules/auditorias/components/calificacion-auditoria/calificacion-auditoria.component.html","./src/app/modules/calidad/modules/matrices/components/crear-item/crear-item.component.ts","./src/app/modules/calidad/modules/matrices/components/crear-item/crear-item.component.html","./src/app/modules/rrhh/modules/training-groups/groups-create/groups-create.component.ts","./src/app/modules/rrhh/modules/training-groups/groups-create/groups-create.component.html","./src/app/modules/auditoria/modules/matrices/components/crear-sub-item/crear-sub-item.component.ts","./src/app/modules/auditoria/modules/matrices/components/crear-sub-item/crear-sub-item.component.html","./src/app/modules/rrhh/modules/templates/tags-list/tags-list.component.ts","./src/app/modules/rrhh/modules/templates/tags-list/tags-list.component.html","./src/app/modules/bpms/bpms.component.ts","./src/app/modules/bpms/bpms.component.html","./src/app/modules/reservas/services/resources.service.ts","./src/app/modules/email-manager/components/tray/tray.component.ts","./src/app/modules/email-manager/components/tray/tray.component.html","./src/app/mios/mios.module.ts","./src/app/shared/user-schedule-v2/constantes.ts","./src/app/modules/crm-cial/services/rest/cliente-sector.service.ts","./src/app/modules/nomina/modules/vacations/page/vacation-boss/vacation-boss.component.ts","./src/app/modules/nomina/modules/vacations/page/vacation-boss/vacation-boss.component.html","./src/app/modules/meetings/pages/meetings-attention-range/meetings-attention-range.component.ts","./src/app/modules/meetings/pages/meetings-attention-range/meetings-attention-range.component.html","./src/app/modules/compras/modules/solicitudes/componentes/gestion-inicial-cards/gestion-inicial-cards.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/gestion-inicial-cards/gestion-inicial-cards.component.html","./src/app/modules/nomina/services/rest/campaigns.service.ts","./src/app/modules/email-manager/components/assign-email/assign-email.component.ts","./src/app/modules/email-manager/components/assign-email/assign-email.component.html","./src/app/modules/coaching/state/selectors/auditoria.selector.ts","./src/app/modules/sable/modules/records/dialogs/record-dialog/record-dialog.component.ts","./src/app/modules/sable/modules/records/dialogs/record-dialog/record-dialog.component.html","./src/app/modules/rrhh/modules/candidates/candidate-upload/candidate-upload.component.ts","./src/app/modules/rrhh/modules/candidates/candidate-upload/candidate-upload.component.html","./src/app/modules/rrhh/services/reports.service.ts","./src/app/modules/crm/services/rest/escalation.service.ts","./src/app/modules/auditoria/modules/control/components/detalle-control/detalle-control.component.ts","./src/app/modules/auditoria/modules/control/components/detalle-control/detalle-control.component.html","./src/app/modules/email-manager/pages/move-email-to-account/move-email-to-account.component.ts","./src/app/modules/email-manager/pages/move-email-to-account/move-email-to-account.component.html","./src/app/modules/crm_v2/modules/landing-page-crm/landing-page-crm.component.ts","./src/app/modules/crm_v2/modules/landing-page-crm/landing-page-crm.component.html","./src/app/modules/speech-analytics/services/strategy.service.ts","./src/app/modules/email-manager/components/label/label.component.ts","./src/app/modules/email-manager/components/label/label.component.html","./src/app/shared/booking-reserve/booking-reserve.component.ts","./src/app/shared/booking-reserve/booking-reserve.component.html","./src/app/modules/nomina/modules/liquidations/pages/liquidations-response/liquidations-response.component.ts","./src/app/modules/nomina/modules/liquidations/pages/liquidations-response/liquidations-response.component.html","./src/app/modules/rrhh/modules/assign-user/assing-user.service.ts","./src/app/modules/speech-analytics/services/view.service.ts","./src/app/modules/rrhh/modules/candidates/candidate-cv/candidate-cv.component.ts","./src/app/modules/rrhh/modules/candidates/candidate-cv/candidate-cv.component.html","./src/app/modules/rrhh/modules/candidates/candidate-cv/create-sign.html","./src/app/shared/material/material.module.ts","./src/app/modules/crm_v2/modules/escalation/view-escalation/view-escalation.component.ts","./src/app/modules/crm_v2/modules/escalation/view-escalation/view-escalation.component.html","./src/app/modules/meetings/components/history-details/history-details.component.ts","./src/app/modules/meetings/components/history-details/history-details.component.html","./src/app/modules/auditoria/modules/auditorias/components/form-auditar/form-auditar.component.ts","./src/app/modules/auditoria/modules/auditorias/components/form-auditar/form-auditar.component.html","./src/app/modules/sable/sable-routing.module.ts","./src/app/modules/rrhh/modules/candidate-tests/assessment-results.pipe.ts","./src/app/modules/auditoria/modules/matrices/components/editar-item/editar-item.component.ts","./src/app/modules/auditoria/modules/matrices/components/editar-item/editar-item.component.html","./src/app/modules/coaching/state/efects/acompañamiento.efects.ts","./src/app/modules/crm_v2/services/rest/forms-request.service.ts","./src/app/modules/email-manager/components/left-menu-main/left-menu-main.component.ts","./src/app/modules/email-manager/components/left-menu-main/left-menu-main.component.html","./src/app/modules/sable/modules/records/video-records/video-records.service.ts","./src/app/auth/change-password/change-password.component.ts","./src/app/auth/change-password/change-password.component.html","./src/app/modules/sable/modules/users-assign-campaing/users-assign-campaing.component.ts","./src/app/modules/sable/modules/users-assign-campaing/users-assign-campaing.component.html","./src/app/modules/email-manager/pages/landing-page-email-manager/landing-page-email-manager.component.ts","./src/app/modules/email-manager/pages/landing-page-email-manager/landing-page-email-manager.component.html","./src/app/modules/email-manager/components/move-email-account/move-email-account.component.ts","./src/app/modules/email-manager/components/move-email-account/move-email-account.component.html","./src/app/modules/auditoria/pipes/boolean.pipe.ts","./src/app/modules/calidad/services/matriz.service.ts","./src/app/modules/livechat/services/socket/index.service.ts","./src/app/modules/ciu/ciu.module.ts","./src/app/modules/crm_v2/modules/escalation/edit-user/edit-user.component.ts","./src/app/modules/crm_v2/modules/escalation/edit-user/edit-user.component.html","./src/app/modules/rrhh/modules/requests/request-details/request-details.component.ts","./src/app/modules/rrhh/modules/requests/request-details/request-details.component.html","./src/app/modules/crm/services/rest/forms-request.service.ts","./src/app/modules/compras/modules/solicitudes/componentes/historial-aprobador/historial-aprobador.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/historial-aprobador/historial-aprobador.component.html","./src/app/core/services/rest/notification.service.ts","./src/app/modules/reservas/services/crm2.service.ts","./src/app/shared/videollamada/services/videollamada.service.ts","./src/app/modules/compras/modules/solicitudes/componentes/orden-compra/orden-compra.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/orden-compra/orden-compra.component.html","./src/app/modules/crm/services/rest/campaings.service.ts","./src/app/modules/calidad/modules/matrices/components/editar-item/editar-item.component.ts","./src/app/modules/calidad/modules/matrices/components/editar-item/editar-item.component.html","./src/app/modules/speech-analytics/modules/search-speech/search-module/search-module.component.ts","./src/app/modules/speech-analytics/modules/search-speech/search-module/search-module.component.html","./src/app/modules/compras/services/rest/solicitudes.service.ts","./src/app/modules/calidad/utils/tools.utils.ts","./src/app/modules/coaching/modules/coaching/components/filtro-tabla/filtro-tabla.component.ts","./src/app/modules/coaching/modules/coaching/components/filtro-tabla/filtro-tabla.component.html","./src/app/modules/rrhh/modules/training-groups/prebonding/prebonding.component.ts","./src/app/modules/rrhh/modules/training-groups/prebonding/prebonding.component.html","./src/app/modules/rrhh/modules/positions/positions-view/positions-view.component.ts","./src/app/modules/rrhh/modules/positions/positions-view/positions-view.component.html","./src/app/modules/rrhh/modules/positions/positions-view/positions-view-dialog.html","./src/app/modules/nomina/modules/vacations/page/reverse-vacations/reverse-vacations.component.ts","./src/app/modules/nomina/modules/vacations/page/reverse-vacations/reverse-vacations.component.html","./src/app/modules/reservas/modules/bookings/bookings-admin/bookings-admin.component.ts","./src/app/modules/reservas/modules/bookings/bookings-admin/bookings-admin.component.html","./src/app/modules/reservas/modules/bookings/bookings-admin/status-booking.html","./src/app/modules/nomina/services/rest/green-book.service.ts","./src/app/modules/ciu/modules/class/configs.ts","./src/app/modules/crm_v2/services/rest/mail.service.ts","./src/app/modules/rrhh/modules/training-groups/assign-users/assign-users.component.ts","./src/app/modules/rrhh/modules/training-groups/assign-users/assign-users.component.html","./src/app/modules/nomina/nomina.module.ts","./src/app/modules/calidad/modules/auditorias/components/detalle-auditoria/detalle-auditoria.component.ts","./src/app/modules/calidad/modules/auditorias/components/detalle-auditoria/detalle-auditoria.component.html","./src/app/modules/auditoria/modules/auditorias/components/tabla-auditado/tabla-auditado.component.ts","./src/app/modules/auditoria/modules/auditorias/components/tabla-auditado/tabla-auditado.component.html","./src/app/modules/nomina/modules/data-nomina/pages/novedades-observation/novedades-observation.component.ts","./src/app/modules/nomina/modules/data-nomina/pages/novedades-observation/novedades-observation.component.html","./src/app/modules/ciu/services/rest/config.service.ts","./src/app/modules/calidad/modules/auditorias/components/detalle-auditoria/components/form-inteligencia/form-inteligencia.component.ts","./src/app/modules/calidad/modules/auditorias/components/detalle-auditoria/components/form-inteligencia/form-inteligencia.component.html","./src/app/modules/sable/modules/records/records.component.ts","./src/app/modules/sable/modules/records/records.component.html","./src/app/modules/sable/modules/create-label-dialog/create-label-dialog.component.ts","./src/app/modules/sable/modules/create-label-dialog/create-label-dialog.component.html","./src/app/modules/crm-cial/modules/clientes/clientes-seguimiento/clientes-seguimiento.component.ts","./src/app/modules/crm-cial/modules/clientes/clientes-seguimiento/clientes-seguimiento.component.html","./src/app/modules/speech-analytics/modules/configuration-administrator/connection/create-connection/create-connection.component.ts","./src/app/modules/speech-analytics/modules/configuration-administrator/connection/create-connection/create-connection.component.html","./src/app/modules/cartera-wom/modules/shared/services/campaign.service.ts","./src/app/modules/rrhh/modules/medical-test/medical-tests/medical-tests.component.ts","./src/app/modules/rrhh/modules/medical-test/medical-tests/medical-tests.component.html","./src/app/modules/ciu/modules/reports/report-users-app/report-users-app.component.ts","./src/app/modules/ciu/modules/reports/report-users-app/report-users-app.component.html","./src/app/modules/email-manager/pages/email-reassignment-page-main/email-reassignment-page-main.component.ts","./src/app/modules/email-manager/pages/email-reassignment-page-main/email-reassignment-page-main.component.html","./src/app/modules/ciu/modules/aplications/admin-applications/admin-applications.component.ts","./src/app/modules/ciu/modules/aplications/admin-applications/admin-applications.component.html","./src/app/modules/rrhh/modules/positions/position-create/position-create.component.ts","./src/app/modules/rrhh/modules/positions/position-create/position-create.component.html","./src/app/modules/rrhh/modules/candidates/candidate-assign-trainer/candidate-assign-trainer.component.ts","./src/app/modules/rrhh/modules/candidates/candidate-assign-trainer/candidate-assign-trainer.component.html","./src/app/modules/speech-analytics/modules/configuration-administrator/campaign/edit-campaign/edit-campaign.component.ts","./src/app/modules/speech-analytics/modules/configuration-administrator/campaign/edit-campaign/edit-campaign.component.html","./src/app/modules/sable/modules/services/vicidal.service.ts","./src/app/modules/coaching/coaching-routing.module.ts","./src/app/modules/auditoria/pipes/cut-text.pipe.ts","./src/app/modules/juridica/modules/permit-boss/permit-boss.module.ts","./src/app/modules/rrhh/modules/requests/request-info/request-info.component.ts","./src/app/modules/rrhh/modules/requests/request-info/request-info.component.html","./src/app/modules/meetings/pages/users-group/users-group.component.ts","./src/app/modules/meetings/pages/users-group/users-group.component.html","./src/app/modules/sable/sable.module.ts","./src/app/modules/crm-cial/modules/creop/notas/notas.component.ts","./src/app/modules/crm-cial/modules/creop/notas/notas.component.html","./src/app/modules/auditoria/modules/inteligencia-negocios/components/matrices-asignadas/matrices-asignadas.component.ts","./src/app/modules/auditoria/modules/inteligencia-negocios/components/matrices-asignadas/matrices-asignadas.component.html","./src/app/modules/meetings/pages/meeting-request/meeting-request.component.ts","./src/app/modules/meetings/pages/meeting-request/meeting-request.component.html","./src/app/modules/auditoria/services/auditoria.service.ts","./src/app/mios/left-nav/left-nav.component.ts","./src/app/mios/left-nav/left-nav.component.html","./src/app/modules/email-manager/components/assign-category/assign-category.component.ts","./src/app/modules/email-manager/components/assign-category/assign-category.component.html","./src/app/modules/rrhh/modules/training-groups/training-groups.module.ts","./src/app/modules/ciu/services/rest/applications.service.ts","./src/app/modules/ciu/modules/roles/admin-roles/admin-roles.component.ts","./src/app/modules/ciu/modules/roles/admin-roles/admin-roles.component.html","./src/app/modules/meetings/meetings.component.ts","./src/app/modules/meetings/meetings.component.html","./src/app/modules/nomina/services/novelties.service.ts","./src/app/shared/landing-page/landing-page.component.ts","./src/app/shared/landing-page/landing-page.component.html","./src/app/core/services/rest/dobble-auth.service.ts","./src/app/modules/bpms/directives/cop-currency.directive.ts","./src/app/modules/coaching/state/actions/selects.actions.ts","./src/app/modules/reservas/modules/resources/resources-rules/week-days.pipe.ts","./src/app/modules/rrhh/modules/training-groups/training-candidate/training-candidate.component.ts","./src/app/modules/rrhh/modules/training-groups/training-candidate/training-candidate.component.html","./src/app/auth/forgot-change-password/forgot-change-password.component.ts","./src/app/auth/forgot-change-password/forgot-change-password.component.html","./src/app/modules/crm/services/rest/mail.service.ts","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/components/info-solicitud/info-solicitud.component.ts","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/components/info-solicitud/info-solicitud.component.html","./src/app/modules/calidad/modules/auditorias/components/tabla-auditado/tabla-auditado.component.ts","./src/app/modules/calidad/modules/auditorias/components/tabla-auditado/tabla-auditado.component.html","./src/app/modules/calidad/modules/inteligencia-negocios/components/crear-pregunta/crear-pregunta.component.ts","./src/app/modules/calidad/modules/inteligencia-negocios/components/crear-pregunta/crear-pregunta.component.html","./src/app/modules/rrhh/modules/medical-test/medical-test-import/medical-test-import.component.ts","./src/app/modules/rrhh/modules/medical-test/medical-test-import/medical-test-import.component.html","./src/app/modules/calidad/modules/control/components/agregar-agente/agregar-agente.component.ts","./src/app/modules/calidad/modules/control/components/agregar-agente/agregar-agente.component.html","./src/app/modules/crm_v2/modules/escalation/create-affair/create-affair.component.ts","./src/app/modules/crm_v2/modules/escalation/create-affair/create-affair.component.html","./src/app/modules/speech-analytics/services/request.service.ts","./src/app/modules/calidad/modules/reporteria/reporteria.component.ts","./src/app/modules/calidad/modules/reporteria/reporteria.component.html","./src/app/modules/crm/modules/groups/pages/groups-list/groups-list.component.ts","./src/app/modules/crm/modules/groups/pages/groups-list/groups-list.component.html","./src/app/modules/soul_bi/soul_bi.module.ts","./src/app/modules/rrhh/modules/assign-user/assing-user/assing-user.component.ts","./src/app/modules/rrhh/modules/assign-user/assing-user/assing-user.component.html","./src/app/shared/vicidial-voz/services/phone.service.ts","./src/app/modules/email-manager/components/contact-group/contact-group.component.ts","./src/app/modules/email-manager/components/contact-group/contact-group.component.html","./src/app/modules/nomina/modules/novelties/pages/create-novelties/create-novelties.component.ts","./src/app/modules/nomina/modules/novelties/pages/create-novelties/create-novelties.component.html","./src/app/modules/rrhh/modules/assign-user/assign-user.module.ts","./src/app/core/services/rest/dynamic-form-service.service.ts","./src/app/modules/rrhh/rrhh.component.ts","./src/app/modules/rrhh/rrhh.component.html","./src/app/modules/rrhh/services/training-groups.service.ts","./src/app/modules/ciu/modules/users/users-reports/users-reports.component.ts","./src/app/modules/ciu/modules/users/users-reports/users-reports.component.html","./src/app/modules/coaching/state/selectors/acompañamiento.selector.ts","./src/app/modules/email-manager/components/swiper-report-months/swiper-report-months.component.ts","./src/app/modules/email-manager/components/swiper-report-months/swiper-report-months.component.html","./src/app/core/services/interceptor/interceptor.interceptor.ts","./src/app/modules/calidad/modules/auditorias/components/retroalimentar/components/tabla-retroalimentar/tabla-retroalimentar.component.ts","./src/app/modules/calidad/modules/auditorias/components/retroalimentar/components/tabla-retroalimentar/tabla-retroalimentar.component.html","./src/app/modules/speech-analytics/modules/configuration-administrator/connection/connects/connects.component.ts","./src/app/modules/speech-analytics/modules/configuration-administrator/connection/connects/connects.component.html","./src/app/modules/cartera-wom/modules/shared/dialogs/choose-campaign/choose-campaign.component.ts","./src/app/modules/cartera-wom/modules/shared/dialogs/choose-campaign/choose-campaign.component.html","./src/app/modules/rrhh/services/paymentSlip.service.ts","./src/app/shared/on-boarding/on-boarding.component.ts","./src/app/shared/on-boarding/on-boarding.component.html","./src/app/modules/rrhh/interfaces/import.ts","./src/app/modules/rrhh/modules/candidate-tests/assign-test/assign-test.component.ts","./src/app/modules/rrhh/modules/candidate-tests/assign-test/assign-test.component.html","./src/app/modules/ciu/ciu.component.ts","./src/app/modules/ciu/ciu.component.html","./src/app/modules/nomina/modules/vacations/page/cancel-vacations/cancel-vacations.component.ts","./src/app/modules/nomina/modules/vacations/page/cancel-vacations/cancel-vacations.component.html","./src/app/modules/nomina/modules/liquidations-import/liquidations-import.component.ts","./src/app/modules/nomina/modules/liquidations-import/liquidations-import.component.html","./src/app/modules/sable/modules/records/video-records/video-records.component.ts","./src/app/modules/sable/modules/records/video-records/video-records.component.html","./src/app/modules/email-manager/components/view-graph-states/view-graph-states.component.ts","./src/app/modules/email-manager/components/view-graph-states/view-graph-states.component.html","./src/app/modules/coaching/modules/coaching/components/tabla-coaching/tabla-coaching.component.ts","./src/app/modules/coaching/modules/coaching/components/tabla-coaching/tabla-coaching.component.html","./src/app/modules/reservas/modules/bookings/booking-crm/booking-crm.component.ts","./src/app/modules/reservas/modules/bookings/booking-crm/booking-crm.component.html","./src/app/modules/speech-analytics/services/chat.service.ts","./src/app/core/models/questions-base.ts","./src/app/modules/crm-cial/services/rest/companies.service.ts","./src/app/modules/rrhh/modules/training-groups/groups-main/groups-main.component.ts","./src/app/modules/rrhh/modules/training-groups/groups-main/groups-main.component.html","./src/app/core/guards/campaigns.guard.ts","./src/app/modules/ciu/modules/menus/save-menus/save-menus.component.ts","./src/app/modules/ciu/modules/menus/save-menus/save-menus.component.html","./src/app/modules/auditoria/modules/eliminar-auditoria/eliminar-auditoria.component.ts","./src/app/modules/auditoria/modules/eliminar-auditoria/eliminar-auditoria.component.html","./src/app/modules/nomina/modules/vacations/page/vacations-response/vacations-response.component.ts","./src/app/modules/nomina/modules/vacations/page/vacations-response/vacations-response.component.html","./src/app/modules/rrhh/services/users.service.ts","./src/app/core/services/storage/storage.service.ts","./src/app/modules/nomina/modules/data-nomina/pages/novedades-view/novedades-view.component.ts","./src/app/modules/nomina/modules/data-nomina/pages/novedades-view/novedades-view.component.html","./src/app/modules/auditoria/modules/reporte-encuesta/reporte-encuesta.component.ts","./src/app/modules/auditoria/modules/reporte-encuesta/reporte-encuesta.component.html","./src/app/modules/speech-analytics/modules/search-speech/adherencia-modal/adherencia-modal.component.ts","./src/app/modules/speech-analytics/modules/search-speech/adherencia-modal/adherencia-modal.component.html","./src/app/modules/nomina/modules/data-nomina/pages/novedades/novedades.component.ts","./src/app/modules/nomina/modules/data-nomina/pages/novedades/novedades.component.html","./src/app/core/services/interceptor/loader.interceptor.ts","./src/app/modules/compras/modules/solicitudes/componentes/procesar-solicitud/procesar-solicitud.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/procesar-solicitud/procesar-solicitud.component.html","./src/app/modules/ciu/services/rest/roles.service.ts","./src/app/modules/rrhh/modules/employee/employee.module.ts","./src/app/shared/rpa-modal/rpa-modal.component.ts","./src/app/shared/rpa-modal/rpa-modal.component.html","./src/app/shared/vicidial-voz/services/vicidial.service.ts","./src/app/modules/nomina/modules/data-nomina/pages/novedades-response/novedades-response.component.ts","./src/app/modules/nomina/modules/data-nomina/pages/novedades-response/novedades-response.component.html","./src/app/modules/ciu/modules/menus/admin-menus/admin-menus.component.ts","./src/app/modules/ciu/modules/menus/admin-menus/admin-menus.component.html","./src/app/modules/crm_v2/modules/email/new-email/new-email.component.ts","./src/app/modules/crm_v2/modules/email/new-email/new-email.component.html","./src/app/modules/ciu/modules/users/save-users/save-users.component.ts","./src/app/modules/ciu/modules/users/save-users/save-users.component.html","./src/app/modules/email-manager/pages/label-page-main/label-page-main.component.ts","./src/app/modules/email-manager/pages/label-page-main/label-page-main.component.html","./src/app/modules/rrhh/modules/candidates/candidate-main/candidate-main.component.ts","./src/app/modules/rrhh/modules/candidates/candidate-main/candidate-main.component.html","./src/app/modules/rrhh/modules/candidates/candidate-main/types-contracts.html","./src/app/modules/rrhh/modules/candidates/candidate-juridico-nomina-doc/candidate-juridico-nomina-doc.component.ts","./src/app/modules/rrhh/modules/candidates/candidate-juridico-nomina-doc/candidate-juridico-nomina-doc.component.html","./src/app/modules/nomina/modules/referrals/ReferralsReport/ReferralsReport.component.ts","./src/app/modules/nomina/modules/referrals/ReferralsReport/ReferralsReport.component.html","./src/app/modules/email-manager/pages/tray-page-main/tray-page-main.component.ts","./src/app/modules/email-manager/pages/tray-page-main/tray-page-main.component.html","./src/app/modules/ciu/services/rest/schedules.service.ts","./src/app/modules/compras/compras.component.ts","./src/app/modules/compras/compras.component.html","./src/app/modules/coaching/state/reducers/selects.reducer.ts","./src/app/modules/auditoria/modules/inteligencia-negocios/components/tabla-inteligencia-negocio/tabla-inteligencia-negocio.component.ts","./src/app/modules/auditoria/modules/inteligencia-negocios/components/tabla-inteligencia-negocio/tabla-inteligencia-negocio.component.html","./src/app/modules/rrhh/modules/reports/reports.module.ts","./src/app/modules/coaching/state/efects/selects.efects.ts","./src/app/modules/livechat/services/socket/socket.service.ts","./src/app/modules/juridica/modules/permit/pages/permit-view/permit-view.component.ts","./src/app/modules/juridica/modules/permit/pages/permit-view/permit-view.component.html","./src/app/modules/bpms/modules/requests/requests.module.ts","./src/app/core/services/rest/schedule.service.ts","./src/app/auth/security-questions/security-questions.component.ts","./src/app/auth/security-questions/security-questions.component.html","./src/app/modules/rrhh/services/medicaltest.service.ts","./src/app/modules/sable/modules/services/commands.service.ts","./src/app/shared/chat-soul/componentes/element-selector/element-selector.component.ts","./src/app/shared/chat-soul/componentes/element-selector/element-selector.component.html","./src/app/mios/side-bar/side-bar.component.ts","./src/app/mios/side-bar/side-bar.component.html","./src/app/modules/crm-cial/services/rest/oportunidades.service.ts","./src/app/modules/calidad/modules/matrices/matrices.component.ts","./src/app/modules/calidad/modules/matrices/matrices.component.html","./src/app/modules/soul_bi/soul_bi.component.ts","./src/app/modules/soul_bi/soul_bi.component.html","./src/app/modules/calidad/modules/mis-auditorias/mis-auditorias.component.ts","./src/app/modules/calidad/modules/mis-auditorias/mis-auditorias.component.html","./src/app/modules/reservas/modules/bookings/bookings-main/bookings-main.component.ts","./src/app/modules/reservas/modules/bookings/bookings-main/bookings-main.component.html","./src/app/modules/reservas/modules/bookings/bookings-main/type-resources.html","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/components/auditoria/auditoria.component.ts","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/components/auditoria/auditoria.component.html","./src/app/modules/nomina/modules/import-green-book/import-green-book.component.ts","./src/app/modules/nomina/modules/import-green-book/import-green-book.component.html","./src/app/modules/rrhh/modules/positions/create-charge/create-charge.component.ts","./src/app/modules/rrhh/modules/positions/create-charge/create-charge.component.html","./src/app/modules/compras/modules/solicitudes/componentes/gestion-aprobador/gestion-aprobador.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/gestion-aprobador/gestion-aprobador.component.html","./src/app/modules/juridica/services/suspencion-process.service.ts","./src/app/app-routing.module.ts","./src/app/modules/ciu/modules/manage-network-users/components/network-users/dialogs/activate-user-form/activate-user-form.component.ts","./src/app/modules/ciu/modules/manage-network-users/components/network-users/dialogs/activate-user-form/activate-user-form.component.html","./src/app/modules/email-manager/pages/email-support/email-support.component.ts","./src/app/modules/email-manager/pages/email-support/email-support.component.html","./src/app/shared/basic-snackbar/basic-snackbar.component.ts","./src/app/shared/basic-snackbar/basic-snackbar.component.html","./src/app/modules/sable/modules/services/admin-servers.service.ts","./src/app/modules/crm_v2/modules/escalation/admin-escalation/admin-escalation.component.ts","./src/app/modules/crm_v2/modules/escalation/admin-escalation/admin-escalation.component.html","./src/app/modules/compras/modules/solicitudes/componentes/gestion-aprobacion/gestion-aprobacion.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/gestion-aprobacion/gestion-aprobacion.component.html","./src/app/shared/landing-page/schedule-modal/schedule-modal.component.ts","./src/app/shared/landing-page/schedule-modal/schedule-modal.component.html","./src/app/modules/calidad/calidad.component.ts","./src/app/modules/calidad/calidad.component.html","./src/app/shared/notifications/notifications.component.ts","./src/app/shared/notifications/notifications.component.html","./src/app/modules/nomina/modules/inactive-days/inactive-days-routing.module.ts","./src/app/modules/nomina/modules/inactive-days/pages/create-inactive-dates/create-inactive-dates.component.ts","./src/app/modules/nomina/modules/inactive-days/pages/create-inactive-dates/create-inactive-dates.component.html","./src/app/modules/meetings/pages/meetings-admin/dialogs/reschedule-form/reschedule-form.component.ts","./src/app/modules/meetings/pages/meetings-admin/dialogs/reschedule-form/reschedule-form.component.html","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/components/form-solicitud/form-solicitud.component.ts","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/components/form-solicitud/form-solicitud.component.html","./src/app/modules/livechat/pipes/shortcut.pipe.ts","./src/app/modules/speech-analytics/modules/chat-speech/upload-chats-modal/upload-chats-modal.component.ts","./src/app/modules/speech-analytics/modules/chat-speech/upload-chats-modal/upload-chats-modal.component.html","./src/app/shared/pipes/order-by.pipe.ts","./src/app/modules/crm/modules/escalation/create-affair/create-affair.component.ts","./src/app/modules/crm/modules/escalation/create-affair/create-affair.component.html","./src/app/modules/email-manager/constantes/keys-roles.ts","./src/app/modules/crm/modules/groups/pages/admin-groups/admin-groups.component.ts","./src/app/modules/crm/modules/groups/pages/admin-groups/admin-groups.component.html","./src/app/modules/compras/services/rest/categoria.service.ts","./src/app/modules/auditoria/modules/control/components/detalle-grupo/detalle-grupo.component.ts","./src/app/modules/auditoria/modules/control/components/detalle-grupo/detalle-grupo.component.html","./src/app/modules/sable/modules/services/sable.service.ts","./src/app/modules/compras/modules/solicitudes/componentes/crear-solicitud/crear-solicitud.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/crear-solicitud/crear-solicitud.component.html","./src/app/modules/rrhh/modules/requests/requests-main/requests-main.component.ts","./src/app/modules/rrhh/modules/requests/requests-main/requests-main.component.html","./src/app/modules/rrhh/modules/medical-test/medical-test.module.ts","./src/app/modules/nomina/services/rest/business.service.ts","./src/app/modules/crm-cial/services/rest/notes.service.ts","./src/app/modules/rrhh/services/kindAccount.service.ts","./src/app/modules/reservas/reservas-routing.module.ts","./src/app/modules/reports/modules/admin/add-report-form/add-report-form.component.ts","./src/app/modules/reports/modules/admin/add-report-form/add-report-form.component.html","./src/app/shared/videollamada/videollamada.component.ts","./src/app/shared/videollamada/videollamada.component.html","./src/app/modules/rrhh/modules/employee/certifications/certifications.component.ts","./src/app/modules/rrhh/modules/employee/certifications/certifications.component.html","./src/app/modules/email-manager/components/management-history-view/management-history-view.component.ts","./src/app/modules/email-manager/components/management-history-view/management-history-view.component.html","./src/app/modules/compras/modules/solicitudes/componentes/orden-compra-list/orden-compra-list.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/orden-compra-list/orden-compra-list.component.html","./src/app/modules/auditoria/modules/inteligencia-negocios/components/detalle-pregunta/detalle-pregunta.component.ts","./src/app/modules/auditoria/modules/inteligencia-negocios/components/detalle-pregunta/detalle-pregunta.component.html","./src/app/modules/speech-analytics/modules/chat-speech/speech-uploadchat/speech-uploadchat.component.ts","./src/app/modules/speech-analytics/modules/chat-speech/speech-uploadchat/speech-uploadchat.component.html","./src/app/modules/crm_v2/crm.module.ts","./src/app/modules/email-manager/components/create-meeting/create-meeting.component.ts","./src/app/modules/email-manager/components/create-meeting/create-meeting.component.html","./src/app/modules/reports/modules/report/report-show/report-show.component.ts","./src/app/modules/reports/modules/report/report-show/report-show.component.html","./src/app/modules/nomina/modules/novelties/novelties-routing.module.ts","./src/app/modules/meetings/pages/meetings-attention-range/dialogs/attention-range-form/attention-range-form.component.ts","./src/app/modules/meetings/pages/meetings-attention-range/dialogs/attention-range-form/attention-range-form.component.html","./src/app/shared/user-schedule-v2/user-schedule-v2.component.ts","./src/app/shared/user-schedule-v2/user-schedule-v2.component.html","./src/app/modules/crm_v2/modules/templates/admin-template/admin-template.component.ts","./src/app/modules/crm_v2/modules/templates/admin-template/admin-template.component.html","./src/app/modules/email-manager/email-manager.component.ts","./src/app/modules/email-manager/email-manager.component.html","./src/app/modules/compras/modules/solicitudes/componentes/remision-control/remision-control.component.ts","./src/app/modules/compras/modules/solicitudes/componentes/remision-control/remision-control.component.html","./src/app/mios/mios.component.ts","./src/app/mios/mios.component.html","./src/app/modules/ciu/modules/manage-network-users/components/users-list/users-list.component.ts","./src/app/modules/ciu/modules/manage-network-users/components/users-list/users-list.component.html","./src/app/modules/juridica/pipes/filter-type-function.pipe.ts","./src/app/core/directives/number.directive.ts","./src/app/modules/auditoria/modules/control/components/tabla-grupo/tabla-grupo.component.ts","./src/app/modules/auditoria/modules/control/components/tabla-grupo/tabla-grupo.component.html","./src/app/modules/ciu/modules/change-password/change-password.component.ts","./src/app/modules/ciu/modules/change-password/change-password.component.html","./src/app/modules/rrhh/modules/candidates/contract-creation/contractTypes.ts","./src/app/modules/crm-cial/modules/notes/update-notes/update-notes.component.ts","./src/app/modules/crm-cial/modules/notes/update-notes/update-notes.component.html","./src/app/modules/coaching/modules/reporte/components/filtros/filtros.component.ts","./src/app/modules/coaching/modules/reporte/components/filtros/filtros.component.html","./src/app/modules/auditoria/modules/control/control.component.ts","./src/app/modules/auditoria/modules/control/control.component.html","./src/app/modules/email-manager/email-manager-routing.module.ts","./src/app/modules/crm-cial/modules/notes/by-step/by-step.component.ts","./src/app/modules/crm-cial/modules/notes/by-step/by-step.component.html","./src/main.ts","./src/app/modules/email-manager/components/history-acordion-mail/history-acordion-mail.component.ts","./src/app/modules/email-manager/components/history-acordion-mail/history-acordion-mail.component.html","./src/app/modules/calidad/modules/eliminar-auditoria/eliminar-auditoria.component.ts","./src/app/modules/calidad/modules/eliminar-auditoria/eliminar-auditoria.component.html","./src/app/shared/chat-soul/services/manager-chat.service.ts","./src/app/modules/crm/modules/email/new-email/new-email.component.ts","./src/app/modules/crm/modules/email/new-email/new-email.component.html","./src/app/modules/crm_v2/modules/groups/groups-routing.module.ts","./$_lazy_route_resource lazy namespace object","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/components/form-auditoria-coaching/form-auditoria-coaching.component.ts","./src/app/modules/coaching/modules/coaching/components/detalle-coaching/components/form-auditoria-coaching/form-auditoria-coaching.component.html"],"names":[],"mappings":"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AAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACpG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACpG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACpG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACpG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACpG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACpG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YACpG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE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8LAAuB,qBAAiB,IAAC;QACvC,8EACI;QAAA,kFAA2C;QAC/C,4DAAU;QACV,8EACM;QAAA,6FAAiE;QACvE,4DAAU;QACZ,4DAAgB;QAClB,4DAAM;;QATW,0DAAgC;QAAhC,6FAAgC;;6FDHtC,6BAA6B;cALzC,uDAAS;eAAC;gBACT,QAAQ,EAAE,2BAA2B;gBACrC,WAAW,EAAE,wCAAwC;gBACrD,SAAS,EAAE,CAAC,wCAAwC,CAAC;aACtD;;;;;;;;;;;;;;AERD;AAAA;AAAA;AAAA;AAAA;AAAgD;AAEe;AAExD,MAAM,YAAY,GAAmB,EAAE,SAAS,EAAC,IAAI,EAAE,CAAC;AAExD,MAAM,gBAAgB,GAAG,iEAAa,CACzC,YAAY,EACZ,sDAAE,CAAC,0EAAe,EAAC,CAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IACzC,uCAAW,KAAK,KAAE,SAAS,IAAC;AAChC,CAAC,CAAC,CACL,CAAC;;;;;;;;;;;;ACXF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;;;;;;;;;;;ACvSA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACL;AACd;AAC4B;;;;;;;;;;;;;;;;;;ICiB7C,iFACE;IAAA,0EACE;IADG,oXAAqC;IACxC,mFACE;IADsC,mXAAgC,+KAAU,wBAAwB,IAAlC;IACtE,2EAAmC;IAAA,uDAAyB;IAAA,4DAAO;IACrE,4DAAe;IACjB,4DAAM;IACR,4DAAa;;;IANkC,0EAAc;IAE3C,0DAAyB;IAAzB,qFAAyB;IACF,0DAAyB;IAAzB,uFAAyB;;;IAWlE,iFACE;IAAA,uDACF;IA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","file":"main.js","sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AuditoriaService } from '../../../../services/auditoria.service';\nimport { Tools } from '../../../../utils/tools.utils';\n\n@Component({\n selector: 'app-dialog-eliminacion',\n templateUrl: './dialog-eliminacion.component.html',\n styleUrls: ['./dialog-eliminacion.component.sass']\n})\nexport class DialogEliminacionComponent implements OnInit {\n\n formEliminar:FormGroup;\n\n constructor(\n private fb:FormBuilder,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private eliminarRef:MatDialogRef,\n private auditoriaService:AuditoriaService,\n ) { }\n\n ngOnInit(): void {\n console.log(this.datos);\n \n this.createForm();\n }\n\n createForm(){\n this.formEliminar = this.fb.group({\n observacion:['',Validators.required],\n });\n }\n\n eliminar(){\n this.auditoriaService.deleteAuditoria(this.datos.id,this.formEliminar.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess('¡Excelente!','La auditoría se ha eliminado con éxito');\n this.eliminarRef.close();\n }else{\n Tools.swalError('¡Oops!','Lo sentimos ha sucedio un error')\n }\n });\n }\n\n}\n","
\n

Auditoría - {{datos.id}}\n \n

\n
\n \n Observación de eliminación\n \n \n
\n
\n \n \n
\n
\n
\n
","import { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { BookingCreateComponent } from './../../../modules/reservas/modules/bookings/booking-create/booking-create.component';\nimport { TypeResources } from './../../../modules/reservas/modules/bookings/bookings-main/bookings-main.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ResourcesService } from './../../../modules/reservas/services/resources.service';\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\nimport { Observable, from, observable, of } from 'rxjs';\nimport { map, startWith, filter } from 'rxjs/operators';\nimport { QuestionBase } from 'src/app/core/models/questions-base-v2';\nimport { DateAdapter } from '@angular/material/core';\nimport { DynamicFormServiceService } from '../../../core/services/rest/dynamic-form-service.service.crm.v2';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { RequireMatch } from 'src/app/core/services/utils/question-control.service';\nimport { FormsRequestService } from 'src/app/modules/crm_v2/services/rest/forms-request.service';\n\ninterface Option {\n id: string,\n name: string\n}\n\n@Component({\n selector: 'shared-form-questions-v2',\n templateUrl: './form-questions.component.html',\n styleUrls: ['./form-questions.component.sass']\n})\nexport class FormQuestionsV2Component implements OnInit {\n myControl = new FormControl();\n options: any = [];\n filteredOptions: Observable;\n @Output() addField = new EventEmitter();\n @Output() addDependece = new EventEmitter();\n @Output() calculateField = new EventEmitter();\n @Output() triggerApi = new EventEmitter();\n @Input() question: QuestionBase;\n @Input() idSection: QuestionBase;\n @Input() form: FormGroup;\n @Input() formId;\n nameFile: string;\n oldValue: string;\n\n @Output() addFile = new EventEmitter();\n typeSelectorChargables:string[]=[\n\t\t'dropdown', 'multiselect', 'autocomplete'\n\t]\n typeSelectorsCalculate:string[] = [\n 'dropdown','autocomplete','radiobutton',\n ]\n\n\n constructor(private fb: FormBuilder,\n private adapter: DateAdapter,\n private dynamicService: DynamicFormServiceService,\n private destroyService: DestroyComponentService,\n public resourcesService:ResourcesService,\n private dialog_agenda: MatDialog,\n private route: ActivatedRoute,\n public alertService:AlertsService,\n private formsRequestService: FormsRequestService,\n ) {\n this.adapter.setLocale('es');\n \n }\n\n\n ngOnInit(): void {\n \n \n if (this.form.get(this.question.key) !== null) {\n this.oldValue = this.question.value;\n if(this.question.controlType == 'dropdown-request'){\n this.getOptions(this.question)\n .then(() =>{\n let index = this.question.options.findIndex(state => JSON.stringify(state) === JSON.stringify(this.question.value));\n if(index >= 0){\n this.form.controls[this.question.key].setValue(this.question.options[index])\n }\n });\n }\n\n if (this.question.controlType === 'file') {\n if ((this.question.value === null || this.question.value === '') && this.question.nameFile) {\n this.form.controls[this.question.key].setValidators(null);\n this.form.controls[this.question.key].updateValueAndValidity();\n }\n }\n this.form.get(this.question.key).valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value?.name),\n map(state => state ? this._filter(state) : this.question.options)\n ).subscribe(\n (optionsFilter:any[])=>{\n this.filteredOptions = of(optionsFilter)\n }\n );\n\n }\n \n if(this.typeSelectorChargables.find( (type:any) => type == this.question.controlType ) !== undefined && this.question.isChargeableOption == true && (Array.isArray(this.question.dependencies) == false || this.question.dependencies.length <= 0 ) ){\n \n this.getOptionstoFieldChargable();\n }\n\n }\n private _filter(value: string): any[] {\n if (value) {\n const filterValue = value.toLowerCase();\n return this.question.options.filter(state => state.name.toLowerCase().includes(filterValue));\n }\n }\n\n displayFn(id): any { \n if (!id) {\n return '';\n }\n const option = this.question.options.find(state => state.id == id); \n if(option !== undefined){\n return option.name\n }\n return \"\"\n }\n\n /**\n * @author Karol García\n * @createdate 2021-04-12\n * Método que devuelve el nombre elegido en loa autocomplete\n */\n displayFn2(option): any {\n if (!option) {\n return '';\n }\n let index = this.question.options.findIndex(state => JSON.stringify(state) == JSON.stringify(option));\n return this.question.options[index].name;\n }\n\n\n getErrorMessage() {\n if (this.form.controls[this.question.key]) {\n if (this.form.controls[this.question.key].hasError('required')) {\n return `${this.question.label == null ? '' : this.question.label} es requerido`;\n }\n if (this.form.get(this.question.key).hasError('invalidAutocompleteObject')) {\n return `No es una opción válida`;\n }\n if (this.form.get(this.question.key).hasError('maxlength')) {\n return `${this.question.label == null ? '' : this.question.label} supera el límite de ${this.question.maxLength} caracteres`;\n }\n if (this.form.get(this.question.key).hasError('minlength')) {\n return `${this.question.label == null ? '' : this.question.label} debe tener ${this.question.minLength} mínimo caracteres`;\n }\n if (this.form.get(this.question.key).hasError('email')) {\n return `No es un correo electrónico válido`;\n }\n }\n\n }\n addQuestion(question) {\n this.addField.emit(question);\n }\n \n /**\n * Metodo que se dispara en la seleccion de una opcion dentro de un autoComplete\n * @update 18/09/2023\n */\n optionSelected(event, question) {\n this.editedAdviser(event);\n let aux: any;\n aux = {\n idFather: question.id,\n idValue: event,\n idSection: this.idSection\n };\n this.addDependece.emit(aux);\n let calcualted = {\n question:question,\n value: event,\n }\n this.changeFieldCalculated(calcualted);\n }\n\n onFileSelected(e, id) {\n this.editedAdviser(e);\n this.question.value = e.target.files[0].name;\n this.question.nameFile = e.target.files[0].name;\n const data = {\n id: id,\n file: e.target.files[0]\n };\n this.addFile.emit(data);\n\n }\n\n selectedOptonMulti(event:any, question){\n this.editedAdviser(event)\n \n const aux = {\n idFather: question.id,\n idValue: event,\n idSection: this.idSection,\n isMultiple:true\n };\n this.addDependece.emit(aux);\n \n }\n\n /**\n * Metodo que se encarga dde refescarr a lista de opciones para evitar que se retardo en carga de opciones\n * @author Jua David Guerrero Vargas\n * @retruns void {void}\n */\n refreshListOptions():void{\n if(this.question.dependencies.length > 0 && this.question.controlType == 'autocomplete'){\n this.filteredOptions = from(this.question.dependencies).pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(state => state ? this._filter(state) : this.question.options.slice(0, 5))\n );\n }\n }\n\n /**\n * @author Karol García\n * @createdate 2021-04-13\n * Metodo que consulta las opciones por campo tipo dropdown-request\n * *** IMPORTANTE ********\n * La respuesta debe ser { id : \" STRING \" , name: \"Test\"} Ex. { \"id\":\"1\",\"name\":\"Test\"}\n *\n */\n getOptions(question) {\n var promise = new Promise((resolve) => {\n if(question.apiServe){\n this.dynamicService.getData(question.apiServe,`dropdown/options/${question.key}`).subscribe( (options:any) => {\n if(options.length > 7){\n this.question.controlType ='autocomplete2'\n this.form.controls[this.question.key].setValidators([\n RequireMatch,\n ]);\n }\n this.question.options = options;\n resolve(options);\n });\n }\n });\n return promise;\n }\n\n downloadFile(value: any) {\n if (typeof value.value === 'string' && value.storage_path !== \"\") {\n \n const data = new FormData();\n data.append( 'url', value.storage_path);\n this.dynamicService.downloadFile(data).subscribe((resp: any) => {\n importedSaveAs(resp, value.nameFile);\n });\n }\n else {\n let urlId = null;\n const data = new FormData();\n if (!value.idValue) {\n urlId = value.value;\n } else {\n urlId = value.idValue;\n }\n data.append( 'url', urlId);\n this.dynamicService.downloadFile(data).subscribe((resp: any) => {\n importedSaveAs(resp, value.nameFile);\n });\n }\n }\n\n /**\n * Metodo que se encarga de abrir la seleccion de archivos para cargarlo y setear los valores de Cambio apra las rutas del archivo cargado en el back\n * @author Juan David Guerrero Vargas\n * @param fileInputReference:any HTMLInput reference Type File\n * @param question:any {any} Campo tipo archivo al cual se le cambiaran los valores del storge path y otro por el Id del campo para cambio\n */\n loadFields( question:any):void{\n question.storage_path = \"@@\" + question.id + \"@@\"\n question.value = \"@@\" + question.id + \"@@\"\n\n }\n\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n //Valida si el campo fue editado por el asesor y asigna el valor\n editedAdviser(event){\n if (event !== this.oldValue) {\n this.question['edit_by_adviser'] = true;\n }else{\n this.question['edit_by_adviser'] = false;\n }\n }\n\n openAgenda( ){\n\n this.route.params.subscribe(params => {\n this.resourcesService.getResources('resourcetypes', {idForm:params['id']}).subscribe(res=>{\n const resourceTypes = res;\n if( resourceTypes.length == 0 ){\n this.alertService.alertWarning('¡Atención!', \"No hay recursos creados para este formulario\");\n }\n else\n {\n const resourcesDialog = this.dialog_agenda.open( TypeResources, {\n data: { types: resourceTypes}\n });\n resourcesDialog.afterClosed().subscribe(type=>{\n\n\n const reservasDialog = this.dialog_agenda.open( BookingCreateComponent, {\n data: {\n id: type[0][\"id\"],\n type: type[0][\"name\"]\n }\n });\n reservasDialog.afterClosed().subscribe(dateResult => {\n this.form.controls[this.question.key].setValue(dateResult);\n })\n\n\n })\n\n }\n\n\n })\n });\n\n }\n\n /**\n * Metodo que se encarga de cargar las opciones para los selectores cargados por archivo Excel\n * @autor Juan David Guerrero Vargas\n * @returns {void}\n */\n getOptionstoFieldChargable(){\n if(this.formId){\n this.formsRequestService.getOptionsUploadFileAll(String(this.formId),String(this.question.id),false).subscribe(\n restResponse => {\n if (Array.isArray(restResponse.options) == true && restResponse.options.length > 0 ){\n this.question.options = [];\n restResponse.options.forEach( (option:any) => {\n this.question.options.push( { id:Number(option.id), name:option.option_name , value_option:option.option_id, stateDisabled:false } )\n });\n }else{\n this.question.options = []\n for (const key in restResponse.options) {\n this.question.options.push( {id:Number(key), name: restResponse.options[key],value_option:'', stateDisabled:false } )\n }\n }\n this.form.controls[this.question.key].setValue(this.question.value)\n\n }\n )\n }\n\n }\n\n /**\n * Metodo que se encarga de emmitir evento cuando un campo de tipo number o currency cambia su valor de tal forma que se pueda notificar de su cambio\n * @param event:any evento de cambio en los inputs\n * @author Juan David Guerrero Vargas\n * @returns {void} viod\n */\n\n changeFieldCalculated(event:any):void{ \n this.editedAdviser(event); \n if( this.question.type == \"number\" || this.typeSelectorsCalculate.find( (fnd:string) => fnd == this.question.controlType ) !== undefined ){\n this.calculateField.emit(event);\n }\n }\n\n /**\n * @author Juan David Guerrero Vargas\n * @create_date 04/08/2023 \n * @update 18/09/2023\n * @param event:FocusEvent Evento Blur de inputs autoComplete\n * @returns void {void} \n */\n cleanInput(question:any):void{\n const valueControl = this.form.controls[question.key].value\n if( valueControl == null || valueControl == undefined || typeof valueControl === \"string\"){\n let aux: any;\n aux = {\n idFather: question.id,\n idValue: this.form.controls[question.key].value,\n idSection: this.idSection\n };\n this.form.controls[question.key].setValue(null);\n this.addDependece.emit(aux);\n }\n }\n\n /**\n * Metodo que se encarga determinar si se debe o no dispara el consumo del API\n * @param configTrigger:any {any}\n * @param typeEvent:string {string} tipo de evento que trata de dispara el consumo API\n * @returns {boolean} boolean True en caso de dispara el consumo False de lo contrario\n */\n isAviableTriggerField(configTrigger:any, typeEvent:string ):boolean{\n if(configTrigger?.type_trigger == '1'&& typeEvent == 'outFocus'){\n return true\n }else if(configTrigger?.type_trigger == '2' && typeEvent == 'change'){\n return true\n }else if (configTrigger?.type_trigger == '3' && typeEvent == 'click'){\n return true\n }\n return false;\n }\n\n /**\n * Metodo que se encarga de eminir el valor del campo disparador una vez se retire el foco del mismo\n * @param event:any {any}\n */\n emmitTrigger(event:any, typeEvent:string){\n if(this.question?.isApiDispatcher !== undefined && this.question.isApiDispatcher == true){\n //Usamos accesos a datos por Key-value ya que el modelo de question Base solo tiene configuracion del campo y no de comportamiento\n const configTrigger = this.question['apiTriggerConfig'];\n if(this.isAviableTriggerField(configTrigger,typeEvent)){\n this.triggerApi.emit({ changefield:true, question: this.question })\n }\n }\n\n }\n\n\n\n}\n","
\n \n \n {{question.label}}\n $  \n
\n
\n \n
\n
\n \n
\n
\n \n \n {{option.name}}\n \n \n
\n
\n \n \n {{option.name}}\n \n \n
\n
\n \n \n {{option.name}}\n \n \n
\n
\n \n \n \n {{option.name}}\n \n \n
\n
\n \n
\n \n \n \n\n
\n\n \n\n
\n
\n \n \n \n {{option.name}}\n \n \n
\n
\n\n
\n
\n \n \n {{option.name}}\n \n \n
\n\n
\n\n calendar_today\n\n \n \n \n \n\n {{getErrorMessage()}}\n\n\n
\n \n\n
\n
\n

{{question.label}}

\n
\n \n \n {{option.name}}\n \n \n
\n
\n
\n
\n \n \n \n
\n \n \n {{question.label}}\n \n = 24\">\n {{question.label | slice:0:23}}...\n \n
\n

\n \n {{question.nameFile}}\n \n = 17\">\n {{question.nameFile | slice:0:16}}...\n \n

\n \n
\n
\n\n
\n
\n\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AssignTestComponent } from './assign-test/assign-test.component';\nimport { SharedModule } from '../../../../shared/shared.module';\nimport { UploadTestComponent } from './upload-test/upload-test.component';\nimport { MassiveTestsComponent } from './massive-tests/massive-tests.component';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { AssessmentResultsPipe } from './assessment-results.pipe';\n\n\n\n@NgModule({\n declarations: [AssignTestComponent, UploadTestComponent, MassiveTestsComponent, AssessmentResultsPipe],\n imports: [\n CommonModule,\n SharedModule,\n MaterialModule\n ]\n})\nexport class CandidateTestsModule { }\n","import { AngularEditorConfig } from '@kolkov/angular-editor';\r\n\r\nexport const EDITOR_CONFIG: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: '5%',\r\n minHeight: '0',\r\n maxHeight: '20%',\r\n minWidth: '0',\r\n enableToolbar: true,\r\n showToolbar: true,\r\n placeholder: 'Ingresa tu cuerpo de correo...',\r\n defaultParagraphSeparator: '',\r\n defaultFontName: '',\r\n defaultFontSize: '',\r\n sanitize: false,\r\n fonts: [],\r\n customClasses: [\r\n {\r\n name: 'Arial',\r\n class: 'font-arial',\r\n },\r\n {\r\n name: 'Time-New-Roman',\r\n class: 'font-time-new-roman'\r\n },\r\n {\r\n name: 'Verdana',\r\n class: 'font-verdana'\r\n },\r\n {\r\n name: 'Calibri',\r\n class: 'font-calibri'\r\n },\r\n ],\r\n toolbarPosition: 'top',\r\n toolbarHiddenButtons: [['bold', 'italic', 'fontName'], ['fontSize', 'insertVideo', 'insertImage']],\r\n};\r\n","import { D } from '@angular/cdk/keycodes';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators, ValidatorFn, AbstractControl, FormBuilder, FormArray } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ClienteSectorService } from '../../services/rest/cliente-sector.service';\nimport { ClientesService } from '../../services/rest/clientes.service';\nimport { AlertsService } from '../../../../shared/alerts/alerts.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { CountriesService } from '../../services/rest/countries.service';\nimport { CitiesService } from '../../services/rest/cities.service';\nimport * as moment from 'moment';\nimport 'moment-timezone';\n\n@Component({\n selector: 'app-clientes-crear',\n templateUrl: './clientes-crear.component.html',\n styleUrls: ['./clientes-crear.component.sass']\n})\nexport class ClientesCrearComponent implements OnInit {\n\n clientesForm: FormGroup;\n clientesectorarray: [] = [];\n paisesarray: [] = [];\n element = false;\n idt: any;\n ciudadarray: any = [];\n countries: any;\n cities: any;\n formData = new FormData();\n tipoInarray: any[] = [\n { name: 'Grande', id: 0 },\n { name: 'Mediana', id: 1 },\n { name: 'Pequeña', id: 2 },\n { name: 'Micro', id: 3 }\n ];\n titulo: any;\n contactoarray: any[] = [];\n clientInfo: any;\n\n constructor(\n private clienteservice: ClientesService,\n private clientesector: ClienteSectorService,\n public dialogRef: MatDialogRef,\n private alertsService: AlertsService,\n private form: FormBuilder,\n private authService: AuthService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private countriesService: CountriesService,\n private citiesService: CitiesService,\n ) { }\n\n ngOnInit(): void {\n this.formControl();\n this.getCountries();\n if(this.data.type == 'crear'){\n this.newItems();\n }\n if(this.data.type == 'editar'){\n this.titulo=this.data.title;\n this.clientesForm.controls['business_name'].disable() ;\n this.clientesForm.controls['id_type'].disable();\n\n this.clienteservice.searchId(this.data.info.id).subscribe(resp => {\n this.clientInfo = resp.data;\n this.getPaises(resp?.data?.id_type);\n this.getCities(resp?.data?.idCountry);\n this.clientesForm.get(\"sector_id\").setValue(resp?.data?.idSector);\n this.clientesForm.get(\"country_id\").setValue(resp?.data?.idCountry);\n setTimeout(()=>{\n this.clientesForm.get(\"municipality_id\").setValue(resp?.data?.idMunicipality);\n },2000);\n this.clientesForm.get(\"address\").setValue(resp?.data?.address);\n this.clientesForm.get(\"phone_number\").setValue(resp?.data?.phone_number);\n this.clientesForm.get(\"website\").setValue(resp?.data?.website);\n this.clientesForm.get(\"company_size\").setValue(resp?.data?.company_size);\n this.clientesForm.get(\"observations\").setValue(resp?.data?.observations);\n this.clientesForm.get(\"id_type\").setValue(''+resp?.data?.id_type);\n this.clientesForm.get(\"id_number\").setValue(resp?.data?.id_number);\n this.clientesForm.get(\"name\").setValue(resp?.data?.nameClient);\n this.clientesForm.get(\"business_name\").setValue(resp?.data?.business_name);\n\n this.contactoarray = [];\n this.contactoarray = resp.data?.contacts;\n this.contactoarray.forEach((element:any,index)=>{\n this.newItems();\n this.items.controls[index].get('id').setValue(element.id);\n this.items.controls[index].get('name').setValue(element.name);\n this.items.controls[index].get('charge').setValue(element.charge);\n this.items.controls[index].get('phone').setValue(element.phone);\n this.items.controls[index].get('email').setValue(element.email);\n this.items.controls[index].get('birthday').setValue(element.birthday);\n this.items.controls[index].get('client_id').setValue(element.client_id);\n });\n });\n }\n this.clientesector.getSector().subscribe((resp: any) => {\n this.clientesectorarray = resp;\n });\n //control cambios campo tipo\n this.clientesForm.controls.id_type.valueChanges.subscribe(res => {\n if (res) {\n this.getPaises(res);\n if(this.data.type == 'crear'){\n this.clientesForm.controls.country_id.setValue('');\n }\n }\n });\n //control cambios campo pais\n this.clientesForm.controls.country_id.valueChanges.subscribe(res => {\n if (res) {\n this.getCities(res);\n if(this.data.type == 'crear'){\n this.clientesForm.controls.municipality_id.setValue('');\n }\n }\n });\n\n\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para consultar las ciudades por id de un pais\n * @param {number} countryId id del pais\n */\n getCities(countryId) {\n this.citiesService.searchCities(countryId).subscribe(cities => {\n this.cities = cities.data;\n this.clientesForm.controls.municipality_id.setValue('');\n });\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para consultar los paises\n */\n getCountries() {\n this.countriesService.getCountries().subscribe(countries => {\n this.countries = countries.data;\n });\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para consultar de los paises por tipo nacional o internacional\n * @param {number} type id del tipo de pais\n */\n getPaises(type) {\n this.clienteservice.getPaises(type).subscribe((resp: any) => {\n this.countries = resp.data\n });\n\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para la definición de controles del formulario\n */\n formControl(): void {\n if(this.data.type == 'crear'){\n this.clientesForm = new FormGroup({\n id_number: new FormControl('', [Validators.required, Validators.minLength(4), Validators.maxLength(20)]),\n business_name: new FormControl('', [Validators.required,Validators.maxLength(255)]),\n id_type: new FormControl('', [Validators.required]),\n name: new FormControl('', [Validators.required, Validators.maxLength(255)]),\n sector_id: new FormControl('', [Validators.required]),\n address: new FormControl('', [Validators.required]),\n phone_number: new FormControl('', [Validators.required, Validators.minLength(7), Validators.pattern(\"^[0-9]*$\"),]),\n website: new FormControl('',[Validators.maxLength(255)]),\n company_size: new FormControl('', [Validators.required]),\n country_id: new FormControl('', [Validators.required]),\n municipality_id: new FormControl('', [Validators.required]),\n observations: new FormControl('',[Validators.maxLength(255)]),\n items: this.form.array([])\n\n });\n } else if (this.data.type == 'editar') {\n this.clientesForm = new FormGroup({\n id_number: new FormControl('', [Validators.required, Validators.minLength(4), Validators.maxLength(20)]),\n business_name: new FormControl('', [Validators.maxLength(255)]),\n id_type: new FormControl(''),\n name: new FormControl('', [Validators.required, Validators.maxLength(255)]),\n sector_id: new FormControl('', [Validators.required]),\n address: new FormControl('', [Validators.required]),\n phone_number: new FormControl('', [Validators.required, Validators.minLength(7), Validators.pattern(\"^[0-9]*$\"),]),\n website: new FormControl('',[Validators.maxLength(255)]),\n company_size: new FormControl('', [Validators.required]),\n country_id: new FormControl('', [Validators.required]),\n municipality_id: new FormControl('', [Validators.required]),\n observations: new FormControl('',[Validators.maxLength(255)]),\n items: this.form.array([])\n\n });\n }\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para la captura de items de los contactos a crear o editar\n */\n get items(): FormArray {\n return this.clientesForm.get('items') as FormArray;\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para la agrega campos de contacto\n */\n newItems(): void {\n const newItems = this.form.group({\n id: new FormControl('', []),\n name: new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n charge: new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(1)]),\n email: new FormControl('', [Validators.required, Validators.pattern(\"^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,6}$\"), Validators.maxLength(255), Validators.minLength(1)]),\n phone: new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(7), Validators.pattern(\"^[0-9]*$\")]),\n birthday: new FormControl(''),\n client_id: new FormControl(''),\n itemsFiles: [],\n });\n this.items.push(newItems);\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para la eliminación de sección de campos de contacto\n * @param {number} indice posición a borrar\n * @param {number} id id del contacto a borrar en caso de edición\n */\n deleteItems(indice: number, id: number) {\n this.items.removeAt(indice);\n if(id) {\n if(this.data.type == 'editar') {\n this.clienteservice.deleteComercialContact(id).subscribe(res => {});\n }\n }\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para la creación o edición del cliente\n */\n saveClientes(): void {\n\n this.formData = new FormData();\n let id_number = this.clientesForm.value.id_number;\n let business_name = this.data.type == 'crear' ? this.clientesForm.value.business_name : this.clientInfo.business_name;\n let id_type = this.data.type == 'crear' ? this.clientesForm.value.id_type : ''+this.clientInfo.id_type;\n this.formData.append('id_number', id_number || '');\n this.formData.append('business_name', business_name|| '');\n this.formData.append('id_type',id_type|| '');\n this.formData.append('name', this.clientesForm.value.name);\n this.formData.append('sector_id', this.clientesForm.value.sector_id);\n this.formData.append('address', this.clientesForm.value.address);\n this.formData.append('phone_number', this.clientesForm.value.phone_number);\n this.formData.append('website', this.clientesForm.value.website ? this.clientesForm.value.website : '');\n this.formData.append('company_size', this.clientesForm.value.company_size);\n this.formData.append('country_id', this.clientesForm.value.country_id);\n this.formData.append('municipality_id', this.clientesForm.value.municipality_id);\n this.formData.append('observations', this.clientesForm.value.observations ? this.clientesForm.value.observations : '');\n if (this.clientesForm.value.items) {\n this.clientesForm.value.items.forEach((element, index) => {\n let birthday = element.birthday ? moment(moment(`${element.birthday}`).add(1, 'days')).tz('America/Bogota').format('YYYY-MM-DD') : '';\n console.log(element);\n this.formData.append('contactoComercial[' + index + '][id]', element.id);\n this.formData.append('contactoComercial[' + index + '][name]', element.name);\n this.formData.append('contactoComercial[' + index + '][charge]', element.charge);\n this.formData.append('contactoComercial[' + index + '][phone]', element.phone);\n this.formData.append('contactoComercial[' + index + '][email]', element.email);\n this.formData.append('contactoComercial[' + index + '][birthday]', birthday);\n });\n }\n if (this.data.type === 'crear') {\n this.clienteservice.saveCliente(this.formData).subscribe((resp) => {\n if(resp.data.client) {\n this.alertsService.alertWarning('¡Oops!', resp?.data?.message).then((result) => {\n if (result.isConfirmed) {\n this.dialogRef.close();\n this.clienteservice.updateCliente(resp.data.client, this.formData).subscribe((resp) => {\n this.alertsService.alertSuccessWithoutButton('Excelente',`El cliente ${this.clientesForm.value.name || ''} se ha guardado con éxito.`);\n this.dialogRef.close();\n }, error => {\n this.alertsService.alertError('¡Oops!', error?.error);\n this.dialogRef.close();\n });\n }\n });\n } else {\n this.alertsService.alertSuccessWithoutButton('Excelente',`El cliente ${this.clientesForm.value.name || ''} se ha creado con éxito.`);\n this.dialogRef.close();\n }\n }, error => {\n this.alertsService.alertError('¡Oops!', error?.error);\n });\n } else if (this.data.type == 'editar') {\n this.clienteservice.updateCliente(this.data.info.id, this.formData).subscribe((resp) => {\n this.alertsService.alertSuccessWithoutButton('Excelente',`El cliente ${this.clientesForm.value.name || ''} se ha guardado con éxito.`);\n this.dialogRef.close();\n }, error => {\n this.alertsService.alertError('¡Oops!', error?.error);\n this.dialogRef.close();\n });\n }\n\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para validar lo digitado por el usuario en el campo de identificación\n */\n keyPress(event: any) {\n\n const pattern = /[0-9\\+\\-\\,1 ]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para validar lo digitado por el usuario en el campo de identificación\n */\n keyAlphanumericPress(event: any) {\n const pattern = /[a-zA-Z0-9]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para la mostrar contactos\n */\n showContactos() {\n return (this.element = true);\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para cancelar la creación o edición\n */\n opcionCancelar() {\n this.alertsService.alertWarning('¿Estás seguro?', '¿Estás seguro de que deseas cancelar este proceso? Recuerda que la información se borrará automáticamente si realizas esta acción.').then((result) => {\n if (result.isConfirmed) {\n this.dialogRef.close();\n }\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para la consulta de sectores\n */\n getSector() {\n this.clientesector.getSector().subscribe((resp: any) => {\n this.clientesectorarray = resp\n });\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para la captura de errores de los controles del formulario\n */\n get error(): any { return this.clientesForm.controls; }\n\n\n}\n","
\n

\n Crear Cliente\n \n

\n

\n {{data?.title || ''}}\n \n

\n\n
\n\n \n \n Tipo de identificación \n \n Nacional\n Internacional\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Número de identificación \n \n ¡Advertencia! Solo se permite maximo 20 caracteres\n \n ¡Advertencia! Debe tener mínimo 4 caracteres\n \n ¡Advertencia! Este campo es requerido\n \n \n\n \n Razón Social \n \n ¡Advertencia! Este campo es requerido\n \n ¡Advertencia! Solo se permite maximo 255 caracteres\n \n \n
\n \n Nombre comercial \n \n ¡Advertencia! Este campo es requerido\n \n \n\n\n \n Industria \n \n {{item.name}}\n \n ¡Advertencia! Este campo es requerido\n \n \n
\n\n \n País \n \n {{item.name}}\n \n ¡Advertencia!\n Este campo es requerido\n \n\n \n Ciudad \n \n {{item.name}}\n \n ¡Advertencia! Este campo es requerido\n \n\n\n \n Dirección\n \n ¡Advertencia! Este campo es requerido\n \n
\n \n Teléfono \n \n ¡Advertencia! Este campo es requerido\n ¡Advertencia! Este campo es minimo 7 caracteres\n \n \n\n \n Sitio web (opcional) \n \n ¡Advertencia! Solo se permite maximo 255 caracteres\n \n \n\n \n Tamaño empresarial \n \n {{item.name}}\n \n ¡Advertencia! Este campo es requerido\n \n \n
\n \n Observaciones (opcional) \n \n ¡Advertencia! Solo se permite maximo 255 caracteres\n \n \n
\n\n \n Contactos comerciales\n \n
\n
\n\n
\n\n \n Nombre \n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo\n 3 caracteres\n ¡Cuidado! Solo puedes tener\n un máximo de 255 caracteres\n \n\n \n Cargo \n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo 3\n caracteres\n \n\n \n Celular \n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo 7\n caracteres\n\n \n\n \n Correo electrónico \n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo 7\n caracteres\n ¡Aún falta! no cumple con la\n estructura de correo electronico\n \n\n \n Fecha de cumpleaños (opcional)\n \n \n \n \n \n \n\n\n
\n \n
\n
\n
\n
\n \n
\n\n
\n\n
\n\n \n\n \n \n \n\n
\n
\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PermitService {\n\n constructor(\n private http: HttpClient, private AuthService: AuthService\n ) { }\n\n permit(roles, array) {\n let permit = false;\n array.forEach(element => {\n roles.forEach(rol => {\n if (element === rol) {\n permit = true;\n return permit;\n }\n });\n });\n return permit;\n }\n\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { DestroyComponentService } from '../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { SaveCampaignsComponent } from '../save-campaigns/save-campaigns.component';\nimport { CampaignsService } from '../../../services/rest/campaigns.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\n\n@Component({\n selector: 'app-admin-campaigns',\n templateUrl: './admin-campaigns.component.html',\n styleUrls: ['./admin-campaigns.component.sass'],\n})\nexport class AdminCampaignsComponent implements OnInit {\n // MatPaginator Inputs\n length;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n filterValue;\n\n displayedColumns: string[] = [\n 'acciones',\n 'created_at',\n 'empresa',\n 'code',\n 'name',\n 'users',\n 'created_by',\n 'estado',\n ];\n dataSource = new MatTableDataSource();\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n constructor(\n public campaignService: CampaignsService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n public dialog: MatDialog\n ) {}\n\n ngOnInit(): void {\n this.getCampaigns();\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que trae las campañas registradas\n */\n getCampaigns(): void {\n if (this.dataSource.filter === '') {\n this.dataSource.filter = null;\n }\n this.campaignService\n .getCampaigns(this.isPage, this.pageSize, this.page)\n .subscribe((resp) => {\n this.dataSource.data = resp.data.data;\n\n this.dataSource.sort = this.sort;\n this.length = resp.data.total;\n this.pageSize = resp.data.per_page;\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que realiza el filtro\n * @param event datos para filtrar que son enviados desde el input\n * @param filterPage\n */\n applyFilter(event: Event, filterPage = null): void {\n const filterValue = event ? (event.target as HTMLInputElement).value : filterPage;\n\n if (event != null) {\n this.pageSize = 5;\n this.page = 1;\n }\n\n if (filterValue === '') {\n this.getCampaigns();\n } else {\n\n this.filterValue = filterValue;\n this.campaignService\n .searchCampaigns(this.pageSize, this.page, this.filterValue)\n .subscribe((resp) => {\n this.dataSource.data = resp.data.data;\n\n this.dataSource.sort = this.sort;\n this.length = resp.data.total;\n this.pageSize = resp.data.per_page;\n });\n }\n }\n\n /**\n * Metodo que se encarga del movimiento del paginador\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * @param event cuando se da click en el paginador trae este evento\n * @param filterValue\n */\n pageEvent(event: any, filterValue = null): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n if (filterValue) {\n this.applyFilter(null, filterValue);\n } else {\n this.getCampaigns();\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que abre el modal de crear una nueva campaña, al cerral el modal se refresca la tabla\n */\n newCampaign(): void {\n const dialogNewRol = this.dialog.open(SaveCampaignsComponent, {\n width: '40%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Nueva campaña',\n },\n panelClass: 'custom-dialog-container',\n autoFocus: false,\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize = 5;\n this.ngOnInit();\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que abre el modal de editar campaña, envia una campaña, al cerrar el modal se refresca la tabla\n * @param campaign info de campaña\n */\n editCampaign(campaign: any): void {\n const dialogNewRol = this.dialog.open(SaveCampaignsComponent, {\n width: '40%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar campaña',\n campaign,\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize = 5;\n this.ngOnInit();\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que elimina un rol\n * @param campaign campaña a eliminar\n */\n deleteCampaign(campaign: any): void {\n this.alertsService\n .alertConfirm('¿Está seguro de inactivar esta campaña?')\n .then((result) => {\n if (result.isConfirmed) {\n campaign.state = 0;\n\n this.campaignService\n .deleteCampaing(campaign, campaign.id)\n .subscribe((resp) => {\n this.alertsService.alertSuccess('Inactivo', resp.data);\n this.ngOnInit();\n });\n }\n });\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-08-13\n * Metodo que activa una campaña\n * @param campaign campaña a activar\n */\n activateCampaign(campaign: any): void {\n this.alertsService\n .alertConfirm('¿Está seguro de activar esta campaña?')\n .then((result) => {\n if (result.isConfirmed) {\n campaign.state = 1;\n\n this.campaignService\n .deleteCampaing(campaign, campaign.id)\n .subscribe((resp) => {\n this.alertsService.alertSuccess('Activado', resp.data);\n this.ngOnInit();\n });\n }\n });\n }\n\n /**\n * Descargar campañas activas\n * @author Andres Buitrago\n */\n downloadReport() {\n this.campaignService\n .exportCampaigns()\n .subscribe((resp) => importedSaveAs(resp, 'reporte_campanias.xlsx'));\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n}\n","
\n
\n

Campañas

\n

\n En este espacio podrás revisar y/o crear Campañas.
No olvides, \"El\n respeto y la empatía son clave\"\n

\n
\n
\n
\n \n Filtro de búsqueda\n \n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n
\n \n \n \n \n Fecha Creación\n {{ row.created_at | date }}Código{{ row.code }}Empresa {{ row.company && row.company.name ? row.company.name : 'No registra' }}\n Campaña{{ row.name }}Integrantes{{ row.users }}\n Nombre del creador\n {{ row.created_by }}Estado\n

Inactivo

\n

Activo

\n
\n No hay datos que coincidan con el filtro: \"{{ input.value }}\"\n
\n \n \n
\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport Swal from 'sweetalert2';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { HistoryService } from '../../../services/history.service';\nimport { ViewService } from '../../../services/view.service';\nimport { AdherenciaModalComponent } from '../../search-speech/adherencia-modal/adherencia-modal.component';\nimport { AnalyticsModalComponent } from '../../search-speech/analytics-modal/analytics-modal.component';\nimport { AudioPlayerComponent } from '../../search-speech/audio-player-modal/audio-player-modal.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n\n\n@Component({\n selector: 'app-search-history-module',\n templateUrl: './search-history-module.component.html',\n styleUrls: ['./search-history-module.component.sass'],\n})\nexport class SearchHistoryhModuleComponent implements OnInit {\n /**\n * Variables de paginacion\n */\n pageSizeOptions: number[] = [5, 10, 20, 50, 100];\n configPaginator: any = { length: 0, pageSize: 5, pageIndex: 1 };\n\n /**\n * Variable de filtros\n */\n formFilters: FormGroup;\n isFiltersAdvancedActive: boolean = false;\n\n /**\n * Selectores\n */\n campaigns_list: any[] = [];\n groups: any[] = [];\n skills: any[] = [];\n tipifications: any[] = [];\n type_call: any[] = [{ type_call: 'Inbound' }, { type_call: 'Outbound' }];\n listStrategys: any[] = [];\n\n /**\n * Columnas de tablas\n */\n displayedColumns: string[] = [\n 'checbox',\n 'recording_id',\n 'start_time',\n 'user',\n 'full_name',\n 'phone_number',\n 'user_group',\n 'time_difference',\n 'audio',\n 'analisis',\n 'adherencia',\n ];\n\n /**\n * Cabeceras de tablas\n */\n\n tHeaders: any = {\n checbox: '',\n recording_id: 'ID Caller',\n start_time: 'Fecha grabación',\n user: 'No. documento',\n full_name: 'Nombre agente',\n phone_number: 'Teléfono',\n user_group: 'Skill',\n time_difference: 'Tiempo',\n audio: 'Audio',\n analisis: 'Análisis',\n adherencia: 'Adherencia',\n };\n\n /**\n * Variables de seleccion\n */\n selection = new SelectionModel(true, []);\n\n //selectores\n selectedSearch: Set = new Set(); //selest activos busqueda\n\n /**\n * Variables de tabla\n */\n @ViewChild(MatSort) sort: MatSort;\n dataSource = new MatTableDataSource();\n strategyControl: FormControl = new FormControl(null);\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n ngOnInit(): void {\n this.filterUserCampaign();\n this.initFormFilters();\n }\n\n constructor(\n private historyService: HistoryService,\n private viewservice: ViewService,\n private authService: AuthService,\n private dialog: MatDialog\n ) {}\n\n /**\n * Método que se encarga de inicializar los controles apra los filtros\n * @author Yeison Sepulveda\n * @createdate 02-04-2024\n */\n initFormFilters(): void {\n this.formFilters = new FormGroup({\n campaign_id: new FormControl(null, Validators.required),\n dateStart: new FormControl(null, Validators.required),\n dateEnd: new FormControl(null, Validators.required),\n });\n }\n\n /**\n * Metodo validar rango de fecha\n * @author Yeison sepulveda\n * @createdate 30-08-2024\n * @returns void {void}\n */\n myDateFilter = (d: Date | null): boolean => {\n const today = new Date();\n return d ? d <= today : true;\n };\n\n /**\n * Método para limpiar la selección basado en un parámetro\n * @author Yeison Sepulveda\n * @param param\n */\n searchSelection() {\n this.configPaginator.pageIndex = 0;\n this.selectedSearch.clear();\n this.dataSource.data = [];\n this.paginator.firstPage();\n this.search();\n }\n\n /**\n * Método que determinao si los checbox estan seleccionados o no en la tabal de grabaciones\n * @author Juan David Guerrero Vargas\n * @returns {Boolean}\n */\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n /**\n * Metodo para para seleccionar todos los elementos en la página actual\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n selectAll(): void {\n if (this.isAllSelected()) {\n this.dataSource.data.forEach((row) => {\n this.selection.deselect(row);\n this.selectedSearch.delete(row.recording_id);\n });\n } else {\n this.dataSource.data.forEach((row) => {\n if (\n !this.selection.selected.some(\n (selectedItem: any) =>\n selectedItem.recording_id === row.recording_id\n )\n ) {\n this.selection.select(row);\n this.selectedSearch.add(row.recording_id);\n }\n });\n }\n }\n\n toggleSelection(row: any): void {\n if (this.selection.isSelected(row)) {\n this.selection.deselect(row);\n this.selectedSearch.delete(row.recording_id);\n } else {\n this.selection.select(row);\n this.selectedSearch.add(row.recording_id);\n }\n }\n\n /**\n * Recuperar los selec seleccionados en distintas paginas\n * @author Yeison Sepulveda\n * @param param\n */\n syncSelectionWithStored(param: string) {\n if (param === 'search') {\n this.selection.clear();\n this.dataSource.data.forEach((row) => {\n if (this.selectedSearch.has(row.recording_id)) {\n this.selection.select(row);\n }\n });\n }\n }\n\n /**\n * Metdodo que se encarga de obtener la cantidad de registros en la tabla\n * @author Juan David Guerrero Vargas\n */\n get getTotalDataSource(): number {\n return this.dataSource.data.length;\n }\n\n /**\n * Metodo que se encarga de identificar sis e peude o no relziar la consutla\n */\n get isAviableSearch(): boolean {\n let type_call = this.formFilters.get('campaign_id').value;\n let endDate = this.formFilters.get('dateEnd').value;\n if (\n type_call !== null &&\n type_call !== '' &&\n endDate !== null &&\n endDate !== ''\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Metodo trae las campañas asociadas al usuario\n * @author Yeison sepulveda\n * @createdate 06/05/2023\n * @returns void {void}\n */\n\n filterUserCampaign(): void {\n const user = this.authService.getUser();\n const user_rrhh_id = [user.rrhh_id];\n this.historyService.getassociatedCampaignsHistoy(user_rrhh_id).subscribe(\n (res) => {\n this.campaigns_list = res.data;\n },\n (error) => {\n this.campaigns_list = [];\n }\n );\n }\n\n /**\n * Método para el consumo y busqueda por los selectores\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n search(): void {\n const filters = {\n campaign_id: this.formFilters.get('campaign_id').value,\n start_time: this.formFilters.get('dateStart').value,\n end_time: this.formFilters.get('dateEnd').value,\n };\n\n this.historyService.searchDataPaginate(filters, this.configPaginator).subscribe(\n (response) => {\n const data = response.data.data.map((registro: any) => {\n const startTime = new Date(registro.start_time);\n const endTime = new Date(registro.end_time);\n const timeDifference = this.convertTimeToHHMMSS(startTime, endTime);\n\n const otherInformation = JSON.parse(\n registro.download.other_information\n );\n\n let adherencia;\n\n // Función para redondear solo si el número tiene decimales\n const roundToDecimal = (value: number): string => {\n if (value % 1 !== 0) {\n return value.toFixed(1);\n } else {\n return value.toString();\n }\n };\n\n if (\n (registro.adherence_percentage === null || registro.adherence_percentage === \"\") &&\n (registro.not_adherence_percentage === null || registro.not_adherence_percentage === \"\")\n ) {\n adherencia = null;\n } else {\n // Redondea los porcentajes solo si tienen decimales\n adherencia = `${roundToDecimal(registro.adherence_percentage)}% / ${roundToDecimal(registro.not_adherence_percentage)}%`;\n }\n\n return {\n recording_id: registro.download.recording_id,\n start_time: otherInformation.date,\n user: otherInformation.user_call,\n full_name: otherInformation.user_soul,\n phone_number: otherInformation.phone,\n user_group: otherInformation.skill,\n time_difference: registro.download.time_duration,\n audio: registro.download.url_record,\n analisis: registro.state,\n adherencia: adherencia,\n };\n });\n\n this.dataSource.data = data;\n this.dataSource.sort = this.sort;\n this.configPaginator.length = response.data.total;\n this.syncSelectionWithStored('search');\n },\n (error) => {\n console.error('Error en la solicitud:', error);\n }\n );\n }\n\n /**\n * Método para convertir la diferencia de tiempo entre dos fechas en formato HH:mm:ss.\n * @param startTime La fecha de inicio.\n * @param endTime La fecha de fin.\n * @returns La diferencia de tiempo formateada en HH:mm:ss.\n * @author Yeison Sepulveda\n * @createdate 2024-04-23\n */\n\n convertTimeToHHMMSS(startTime: Date, endTime: Date): string {\n const diferenciaMs = Math.abs(endTime.getTime() - startTime.getTime());\n const tiempoDiferencia = new Date(diferenciaMs);\n\n //extraer\n const horas = tiempoDiferencia.getUTCHours().toString().padStart(2, '0');\n const minutos = tiempoDiferencia\n .getUTCMinutes()\n .toString()\n .padStart(2, '0');\n const segundos = tiempoDiferencia\n .getUTCSeconds()\n .toString()\n .padStart(2, '0');\n\n return `${horas}:${minutos}:${segundos}`;\n }\n\n /**\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * Método que pagina la informacion de la tabla.\n * @param $event Evento emitido por el paginador.\n */\n changePage($event: PageEvent): void {\n this.configPaginator.pageSize = $event.pageSize;\n this.configPaginator.pageIndex = $event.pageIndex + 1;\n this.search();\n }\n\n /**\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * Metodo para abrir el modal reproductor audio\n */\n openAudioModal(recording_id: any): void {\n const dialogRef = this.dialog.open(AudioPlayerComponent, {\n width: '800px',\n data: { recordingId: recording_id },\n });\n }\n\n /**\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * Metodo para abrir el modal de analisis\n */\n openAnalyticsModal(recording_id: any, origen: any): void {\n const campaign = this.formFilters.get('campaign_id').value;\n const dialogRef = this.dialog.open(AnalyticsModalComponent, {\n width: '800px',\n data: { recordingId: recording_id, campaignVicidial_id: campaign },\n });\n }\n\n /**\n * Método para abrir el modal de resultados de adherencia\n * @author Yeison Sepulveda\n * @createdate 2024-04-30\n */\n AdherenciaModal(recording_id: any): void {\n const dialogRef = this.dialog.open(AdherenciaModalComponent, {\n width: '800px',\n data: { recordingId: recording_id },\n });\n }\n /**\n * Método enviar mensaje swal de error de la grabación\n * @author Yeison Sepulveda\n * @createdate 2024-04-23\n */\n\n errorAnalyticModal() {\n Swal.fire({\n title: '¡Aviso!',\n text: 'Si la transcripción no está disponible, por favor verifica el audio, podría carecer de voz o ser solo tonos. ¡Gracias por tu atención! ',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n\n\t/**\n\t * Método para tratar los datos que retorna el servicio y descargar el archivo.\n\t * @param data data respondida por el servicio\n\t * @param fileName nombre con el que se va a descargar el archivo.\n\t * @param file_type Tipo del archivo\n\t * @author Juan Carlos Alonso\n\t * @createdate 2021-07-27\n\t * @updatedate 2022-12-13\n\t */\n fileTransition(data: any, fileName: string, file_type: string = ''): void {\n let blob = new Blob([data], { type: file_type });\n let downloadURL = file_type\n ? window.URL.createObjectURL(blob)\n : window.URL.createObjectURL(data);\n let link = document.createElement('a');\n link.href = downloadURL;\n link.download = fileName;\n link.click();\n }\n\n /**\n * Descargar reporte de busqueda excel\n * @author Yeison Sepulveda\n * @createdate 2024-04-04\n */\n downloadReport(type: 'analysis' | 'strategy') {\n let filters: any = {};\n\n if (type === 'analysis') {\n filters = {\n recording_ids: this.dataSource.data\n .filter((record) => record?.analisis === 'COMPLETADO')\n .map((record) => record['recording_id']),\n type: 1,\n };\n } else if (type === 'strategy') {\n filters = {\n recording_ids: this.selection.selected.map(\n (recording) => recording['recording_id']\n ),\n type: 2,\n };\n }\n\n this.viewservice.downloadReport(filters).subscribe(\n (response: any) => {\n this.fileTransition(response, 'reporte.xlsx');\n },\n (error) => {\n console.error('Error en la solicitud:', error);\n }\n );\n }\n}\n","
\n
\n
\n
\n \n Campaña\n \n \n {{ type.name }}\n \n \n La campaña es\n requerida\n \n
\n\n
\n \n Fecha\n \n \n \n \n \n \n Por\n favor, seleccione un rango de fechas\n \n
\n\n
\n \n
\n
\n
\n \n
\n\n
\n\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n
{{ tHeaders[column] }} {{ element[column] }} \n \n \n \n {{ tHeaders[column] }} \n \n Pendiente\n \n \n \n \n \n \n \n \n \n {{ tHeaders[column] }} \n \n {{ tHeaders[column] }}\n \n {{ element[column] }}\n \n \n No Aplica\n \n
No existe información relacionada
\n\n \n \n\n
\n
\n\n
","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\nimport { map } from 'rxjs/operators';\nimport { CampaignInterface } from '../interfaces/CampaignInterface';\nimport { PositionInterface } from '../interfaces/PositionInterface';\n\n\nconst RRHH_URL = environment.RRHH_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RrhhService {\n\n headersFile;\n headers;\n\n constructor(private http: HttpClient, private authService: AuthService) {\n this.headersFile = {\n responseType: \"blob\"\n };\n }\n\n\n\n /**\n * Consulta las campañas activas en recursos humanos\n * @returns\n */\n getPositions(): Observable {\n return this.http.get(`${RRHH_URL}positions/`)\n .pipe( map( (dashes:PositionInterface[]) => dashes ));\n }\n\n}\n","import { Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { ControlService } from 'src/app/modules/calidad/services/control.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport Swal from 'sweetalert2';\nimport { DialogGrupoComponent } from '../dialog-grupo/dialog-grupo.component';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-tabla-control',\n templateUrl: './tabla-control.component.html',\n styleUrls: ['./tabla-control.component.sass']\n})\nexport class TablaControlComponent implements OnInit,OnDestroy {\n private uuid = 'ee7b4cf1-92ef-11ee-b9d1-0242ac120002';\n public config: any;\n\n @Input() campania;\n @Input() idMatriz;\n @Input() matriz;\n dataSource = [];\n displayedColumns:string[] = ['acciones','fecha_creacion','nombre_grupo','campania','supervisor'];\n filtroGrupo:string = '';\n\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions = [5,10,25,50,100];\n @ViewChild(MatPaginator) paginator:MatPaginator;\n\n //Observable para los cambios de la tabla\n subscription:Subscription;\n\n constructor(\n private dialog:MatDialog,\n private router:Router,\n private controlService:ControlService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.getGrupos(this.page,this.pageSize);\n this.subscription = this.controlService.refresh$.subscribe(()=>{\n this.getGrupos(this.page,this.pageSize);\n });\n }\n\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n\n pageEvent(event:any){\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getGrupos(this.page,this.pageSize);\n }\n\n filtro(){\n this.paginator.firstPage();\n this.getGrupos(this.page,this.pageSize);\n }\n\n dialogControl(type,id_grupo?){\n const controlRef = this.dialog.open(DialogGrupoComponent,{\n width:'840px',\n disableClose: true,\n data:{\n type:type,\n id_grupo,\n campania: this.campania,\n idMatriz: this.idMatriz,\n matriz: this.matriz,\n },\n });\n }\n\n detailGrupo(idGrupo){\n this.router.navigateByUrl(`/mios/calidad/grupo/${idGrupo}`);\n }\n\n getGrupos(page,pageSize){\n const params = {\n nombre: '',\n numeroReg: pageSize,\n page,\n idMatriz: this.idMatriz,\n }\n if (this.filtroGrupo != '') {\n params.nombre = this.filtroGrupo;\n }\n\n this.controlService.getGroups(params).subscribe((resp:any)=>{\n this.dataSource = resp.data;\n this.length = resp.total;\n });\n }\n\n deleteGrupoById(id_grupo){\n Swal.fire({\n icon:'warning',\n title: this.config.modal.title,\n html: this.config.modal.html,\n showCancelButton: true,\n cancelButtonText: this.config.modal.cancel,\n confirmButtonText: this.config.modal.accept,\n reverseButtons: true,\n width: '810px',\n padding: '2em 7em',\n }).then((result)=>{\n if (result.isConfirmed) {\n this.controlService.deleteGrupoById(id_grupo).subscribe((resp:any)=>{\n if (resp.respuesta.codigo === 202) {\n Tools.swalSuccess(this.config.modal.excellent, this.config.modal.deleteOk);\n }else {\n Swal.fire({\n icon: 'error',\n title: '¡Oops!',\n text: this.config.modal.deleteError,\n showConfirmButton: false,\n timer: 2500\n })\n }\n });\n }\n });\n }\n\n}\n","
\n
\n
\n \n {{config.labels.filterByGroup}}\n \n \n \n
\n
\n \n
\n
\n
\n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n
\n \n \n {{config.labels.creationDate}}{{ element.matriz.created_at | date:'dd/MM/yyyy' }}{{config.labels.groupName}}{{ element.matriz.nombre }}{{config.labels.campaign}}{{ campania.name }}{{config.labels.supervisor}}{{ element.matriz.nombre_supervisor }}
{{config.labels.noRecords}}
\n\n \n
\n
\n","import {\n Component,\n OnInit,\n EventEmitter,\n Output,\n OnChanges,\n Input,\n} from '@angular/core';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { VicidialService } from './services/vicidial.service';\nimport { interval } from 'rxjs';\nimport { delay } from 'rxjs/operators';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormsRequestService } from 'src/app/modules/crm/services/rest/forms-request.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { VicidialWalletService } from './services/vicidial-wallet.service';\nimport { CrudService } from 'src/app/shared/basic-crud-page-service/crud.service';\nimport { environment } from 'src/environments/environment';\nimport { fadeInOnEnterAnimation, fadeOutAnimation } from 'angular-animations';\n\nconst { VOICEBOT_URL } = environment;\n\n@Component({\n selector: 'app-vicidial-voz',\n templateUrl: './vicidial-voz.component.html',\n styleUrls: ['./vicidial-voz.component.sass'],\n animations: [\n fadeInOnEnterAnimation(),\n fadeOutAnimation()\n ]\n})\nexport class VicidialVozComponent implements OnInit {\n constructor(\n private vicidialService: VicidialService,\n private destroyService: DestroyComponentService,\n private activatedRoute: ActivatedRoute,\n private notificationService: AlertsService,\n private formsRequestService: FormsRequestService,\n private authService: AuthService,\n public route: ActivatedRoute,\n private alertsService: AlertsService,\n private vicidialWalletService: VicidialWalletService,\n private crudService: CrudService\n ) {\n this.route.paramMap.subscribe((params) => {\n this.formId = params.get('id');\n });\n this.rrhhId = this.authService.getUser().rrhh_id;\n\n this.campaignId = this.authService.getUser().rrhh.campaign_id;\n }\n campaignSelected = false;\n optionsIVR: string[] = [];\n subscribeIntervalXfer = null;\n subscribeIntervalConnected = null;\n subscribeIntervalPause = null;\n subscribeIntervalPauseXfer = null;\n formId;\n rrhhId;\n isTransfer = false;\n phone2: number = null;\n voz = true;\n vozButton = true;\n @Output() viewPhoneButton: EventEmitter =\n new EventEmitter();\n @Output() callResponse: EventEmitter = new EventEmitter();\n viewPhoneState = true;\n stateMute = false;\n vozState = 'register';\n callingXfer = false;\n telephone: number = null;\n callPause = false;\n callXferPause = false;\n dtmfVar: number;\n myVars: any = null;\n configCheckResponse;\n groupSelected = null;\n inCommingResponse = null;\n callActive = false;\n manualDialCallResponse = null;\n manualDialCalLookUpResponse = null;\n manDiaLlogCallEndResponse = null;\n logoutAction = true;\n parkingActive = false;\n viewDTMF = false;\n callInBound = true;\n pauseToTypify = false;\n campagentstatct = 0;\n CloserSelectBlended = 0;\n errorNotAgentChannel = false;\n select_skills: boolean = true;\n\n mm = 0;\n ss = 0;\n ms = 0;\n isRunning = false;\n timerId;\n\n mmXfer = 0;\n ssXfer = 0;\n msXfer = 0;\n isRunningXfer = false;\n timerIdXfer;\n\n mmPause = 0;\n ssPause = 0;\n msPause = 0;\n isRunningPause = false;\n timerIdPause;\n\n mmPauseXfer = 0;\n ssPauseXfer = 0;\n msPauseXfer = 0;\n isRunningPauseXfer = false;\n timerIdPauseXfer;\n\n disableHangout = true;\n isLogin = false;\n @Output() vicidialActive = new EventEmitter();\n campaignId: number;\n @Input() inputPhoneDisabled: boolean;\n @Input()\n public set phoneDial(phoneDial: number) {\n if (phoneDial != null && this.isLogin) {\n this.telephone = phoneDial;\n this.changeToDialCallManual();\n }\n }\n\n vicidialStatus;\n vicidialConfigs: any = [];\n /**\n\tpaparamToConfigCheckrams paramatros de canal\n Check Config es un metodo que permite mantener la sesion del agente activa, este metodo recibe como respuesta\n Estados y canales de comunicacion del agente, Por ahora se ejecuta cada 2.5 sec\n */\n\n stendCheckRequest;\n\n inCommingRequest;\n inCommingActivated = false;\n inCommingRun = false;\n\n manDiaLlookCaLLRequest;\n beginManualDialgCall = new Date();\n tryLookCallAgain = true;\n timeInDiall;\n\n statusStringOptions = [\n {\n key: 'logout',\n name: 'Cerrar Sesion',\n },\n {\n key: 'ready',\n name: 'Listo',\n },\n {\n key: 'incall',\n name: 'En Llamada',\n },\n {\n key: 'conectado',\n name: 'En Llamada',\n },\n {\n key: 'pause',\n name: 'Pausado',\n },\n {\n key: 'logout',\n name: 'Cerrar Sesion',\n },\n ];\n\n pauseOptions = [\n { key: 'LOGIN', name: 'LOGIN' },\n { key: 'ACW', name: 'ACW' },\n { key: 'PRETU', name: 'Pre-turno' },\n { key: 'CAPA', name: 'Capacitación' },\n { key: 'BREAK', name: 'Break' },\n { key: 'BANO', name: 'Baño' },\n { key: 'ALMU', name: 'Almuerzo' },\n { key: 'PAC', name: 'Pausa Activa' },\n { key: 'FEED', name: 'Feedback' },\n { key: 'COACH', name: 'Coaching' },\n { key: 'FALLT', name: 'Falla Técnica' },\n { key: 'PAPRO', name: 'Pausa Productiva' },\n { key: 'WHAT', name: 'Whatsapp' },\n { key: 'EMAIL', name: 'Email' },\n { key: 'REDSO', name: 'Red Social' },\n { key: 'VILLA', name: 'Video Llamada' },\n { key: 'CHAT', name: 'Chat' },\n { key: 'BACK', name: 'Backoffice' }\n ];\n\n currentPause;\n\n onChangePause(event){\n this.pause(event.value.key);\n }\n\n isOptionDisabled(index){\n return index === 0 || index === 1;\n }\n\n /**\n Funcion que permite realizar el login en plataforma Vicidial\n\tcampaign_id id de campaña en la que se encuentra registrado el usuario.\n */\n paramToConfigCheck: any = {};\n /**\n\tpaparamToConfigCheckrams paramatros de canal\n Check Config es un metodo que permite mantener la sesion del agente activa, este metodo recibe como respuesta\n Estados y canales de comunicacion del agente, Por ahora se ejecuta cada 2.5 sec\n */\n checkStatusLocal;\n errorNetwork = false;\n\n /**\n * Metodo que inicia la marcacion 3 Way\n * Cuando no se quiere poner la llamada principal en parking entonces se ejecuta este metodo desde el (click)\n */\n xferLookCallResponse = null;\n beginCallTimexFer;\n dataCallSumary = null;\n showButtonCallSumary = false;\n\n /**\n * @author Fabian Duran\n * @createdate 2024-09-03\n * Metodo que retorna el resumen de la llamada analizado por la IA de voicebot.\n */\n onClickButtonResBot(): void {\n if (this.dataCallSumary) this.dataCallSumary = null;\n else {\n const dataCall = JSON.parse(localStorage.getItem('varsVicidial'));\n if (dataCall && dataCall.comments) {\n this.crudService.getData({ url: `${VOICEBOT_URL}voice_ia/call/${dataCall.comments}/` }).subscribe(res => {\n this.dataCallSumary = {\n customerSentiment: res.feeling,\n keywords: res.key_words ? res.key_words : 'No registra',\n summaryOfConversation: res.summary ? res.summary : 'No registra'\n };\n });\n }\n }\n }\n\n ngOnInit(): void {\n this.getVicidialConfigs();\n this.vicidialService.pauseActiveObservable.subscribe((value) => {\n this.pauseToTypify = value;\n /**\n\t El responsable de ejecutar esto es el sendAnswer que existe en formview (cuando se guarda la tipificiacion)\n\t */\n if (value == false && this.inCommingActivated) {\n this.hangUp(true);\n // Cuando el agente ya se a contectado anteriormente y se finaliza la tipificacion se pone a algente nuevamente en el grupo y ready\n // this.selectGroup();\n } else if (value == false && !this.inCommingActivated) {\n this.hangUp(false);\n // Marcaciones manuales, cuando la crea la tipificiacion se debe poner al agente en pause\n }\n });\n\n /**\n\t Cambios que estado que vienen de CIU\n\t */\n this.vicidialService.statusCiuObservable.subscribe((resp: any) => {\n this.vicidialStatus = resp[0];\n if (resp[0] === 'PAUSED') {\n this.pause(resp[1]);\n } else if (resp[0] === 'READY' && this.callInBound) {\n this.selectGroup();\n } else if (resp[0] === 'LOGOUT') {\n this.logOut();\n }\n });\n }\n // Servicio que obtiene las configuraciones existentes de vicidial\n getVicidialConfigs() {\n this.vicidialService\n .getVicidialConfigs({ rrhh_id: this.rrhhId })\n .subscribe((resp: any) => {\n this.vicidialConfigs = resp.data;\n console.log(this.vicidialConfigs);\n });\n }\n\n selectCampaign(configVicidial) {\n console.log(configVicidial);\n this.showButtonCallSumary = Boolean(configVicidial.value.vicidial_config.soulvoice);\n this.login(configVicidial.value.vicidialConfig_id);\n this.select_skills = configVicidial.value.vicidial_config.select_skills;\n }\n\n clickHandler() {\n const source = interval(1000);\n this.subscribeIntervalConnected = source.subscribe((val) => {\n this.ss++;\n\n if (this.ss >= 60) {\n this.mm++;\n this.ss = 0;\n }\n });\n this.isRunning = !this.isRunning;\n }\n\n clickHandlerXfer() {\n const source = interval(1000);\n this.subscribeIntervalXfer = source.subscribe((val) => {\n this.ssXfer++;\n\n if (this.ssXfer >= 60) {\n this.mmXfer++;\n this.ssXfer = 0;\n }\n });\n this.isRunningXfer = !this.isRunningXfer;\n }\n\n clickHandlerPause() {\n const source = interval(1000);\n this.subscribeIntervalPause = source.subscribe((val) => {\n this.ssPause++;\n\n if (this.ssPause >= 60) {\n this.mmPause++;\n this.ssPause = 0;\n }\n });\n this.isRunningPause = !this.isRunningPause;\n }\n\n clickHandlerPauseXfer() {\n const source = interval(1000);\n this.subscribeIntervalPauseXfer = source.subscribe((val) => {\n this.ssPauseXfer++;\n\n if (this.ssPauseXfer >= 60) {\n this.mmPauseXfer++;\n this.ssPauseXfer = 0;\n }\n });\n this.isRunningPauseXfer = !this.isRunningPauseXfer;\n }\n\n format(num: number) {\n return (num + '').length === 1 ? '0' + num : num + '';\n }\n\n translateStringStatus() {\n return this.statusStringOptions.find((e) => {\n return e.key == this.vozState;\n }).name;\n }\n\n login(configVicidialId) {\n this.vicidialService\n .login({ vicidialConfig_id: configVicidialId })\n .subscribe(\n (resp: any) => {\n this.campaignSelected = true;\n this.vozState = 'pause';\n localStorage.setItem('varsVicidial', JSON.stringify(resp.data));\n /**\n\t\tmyVars se oobtienen las variables de sesion de vicidial.\n\t */\n this.myVars = resp.data;\n this.campagentstatct = this.cleanString(this.myVars.campagentstatct);\n // let campagentstdisp;\n\n this.optionsIVR = this.myVars.groups.map((e) => {\n return this.cleanString(e);\n });\n\n this.vicidialActive.emit(true);\n /**\n\t Se realiza la consulta del estado de sesion del agente\n\t */\n this.confCheck();\n this.isLogin = true;\n this.currentPause = this.pauseOptions[0];\n },\n (error) => {\n this.notificationService.alertWarning(\n 'Error de Comunicación',\n 'Existe un error de comunicación con Vicidial'\n );\n this.logOut();\n }\n );\n }\n\n confCheck() {\n let campagentstdisp;\n let mdNextCID = '';\n let phoneCustomer = '';\n if (this.inCommingResponse != null) {\n phoneCustomer = this.inCommingResponse.phoneCustomer;\n }\n if (this.manualDialCallResponse != null) {\n mdNextCID = this.manualDialCallResponse.mdNextCID;\n phoneCustomer = this.manualDialCallResponse.phoneCustomer;\n }\n if (\n this.cleanString(this.myVars.agentcallsstatus) == 1 ||\n this.cleanString(this.myVars.callholdstatus) == 1\n ) {\n this.campagentstatct++;\n if (\n this.campagentstatct > this.cleanString(this.myVars.campagentstatctmax)\n ) {\n this.campagentstatct = 0;\n campagentstdisp = 'YES';\n } else {\n campagentstdisp = 'YES';\n }\n } else {\n campagentstdisp = 'YES';\n }\n\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n campaign: this.cleanString(this.myVars.campaign),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n conf_exten: this.cleanString(this.myVars.session_id),\n auto_dial_level: this.cleanString(this.myVars.auto_dial_level),\n campagentstdisp: campagentstdisp, // Validar en que casos es si y en cuales no\n client: 'vdc',\n customer_chat_id: '',\n live_call_seconds: this.ss,\n xferchannel: '',\n check_for_answer: 0,\n MDnextCID: mdNextCID,\n phone_number: phoneCustomer,\n clicks: '',\n extension: this.cleanString(this.myVars.extension), // No borrar, variable propia de soulphone\n };\n this.stendCheckRequest = this.vicidialService\n .extendCheck(params)\n .pipe(delay(3000))\n .subscribe(\n (resp: any) => {\n this.configCheckResponse = resp.data;\n if (\n this.configCheckResponse.agentChannel == undefined ||\n this.configCheckResponse.agentChannel == ''\n ) {\n this.errorNotAgentChannel = true;\n } else {\n this.errorNotAgentChannel = false;\n }\n this.errorNetwork = false;\n this.confCheck();\n this.vicidialService.setPauseStatus(resp.data.Status);\n /*Cuando no recibe una respuesta con Status entonces se hara logout */\n if (!resp.data.Status) this.logOut();\n // if (this.checkStatusLocal == 'READY' && resp.data.Status == 'PAUSED') {\n // \tthis.pause();\n // }\n },\n (error) => {\n this.errorNetwork = true;\n setTimeout((val) => {\n this.confCheck();\n }, 10000);\n }\n );\n }\n\n selectedGroup(value) {\n this.groupSelected = value;\n }\n\n selectGroup() {\n let closer_blended: string = '0';\n let comments: string = '';\n let closer_choice = this.groupSelected\n ? \"' '\" + this.groupSelected.toString().replaceAll(',', ' ') + \"' -'\"\n : '';\n if (this.CloserSelectBlended) {\n closer_blended = '1';\n }\n if(this.select_skills == false){\n comments = 'MGRLOCK';\n closer_choice = 'MGRLOCK- '\n }\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n ACTION: 'regCLOSER',\n format: 'text',\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n comments: comments,\n closer_blended: closer_blended,\n campaign: this.cleanString(this.myVars.campaign),\n qm_phone: '',\n qm_extension: this.cleanString(this.myVars.extension),\n dial_method: this.cleanString(this.myVars.dial_method),\n closer_choice: closer_choice\n };\n this.vicidialService.selectGroup(params).subscribe((resp: any) => {\n this.onReady();\n });\n }\n\n onReady() {\n let closer_blended: string = '0';\n if (this.CloserSelectBlended) {\n closer_blended = '1';\n }\n const pause = {\n key: 'disponible',\n };\n\n this.vicidialService.registerPause(pause).subscribe((resp) => {});\n let stage = 'CLOSER';\n if (closer_blended == '1') stage = 'READY';\n\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n ACTION: 'VDADready',\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n stage: stage, // CLOSER es cuando el blenden es 0\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n agent_log: '',\n wrapup: '',\n campaign: this.cleanString(this.myVars.campaign),\n comments: '',\n qm_extension: this.cleanString(this.myVars.extension),\n dial_method: this.cleanString(this.myVars.dial_method),\n };\n this.vicidialService.setAgentStatus(params).subscribe((resp: any) => {\n this.vozState = 'ready';\n this.inComming();\n setTimeout((e) => {\n this.checkStatusLocal = 'READY';\n }, 3000);\n });\n }\n\n inComming() {\n let closer_blended: string = '0';\n if (this.CloserSelectBlended) {\n closer_blended = '1';\n }\n let stage = 'CLOSER';\n if (closer_blended == '1') stage = 'READY';\n this.inCommingActivated = true;\n this.callInBound = true;\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n orig_pass: this.cleanString(this.myVars.pass),\n campaign: this.cleanString(this.myVars.campaign),\n ACTION: 'VDADcheckINCOMING',\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n phone_login: this.cleanString(this.myVars.phone_login),\n agent_email: '',\n conf_exten: this.cleanString(this.myVars.session_id),\n camp_script: '',\n in_script: '',\n customer_server_ip: '',\n exten: this.cleanString(this.myVars.extension), // this.myVars.recording_exten,\n original_phone_login: this.cleanString(this.myVars.original_phone_login),\n phone_pass: this.cleanString(this.myVars.phone_pass),\n VDRP_stage: stage, // CLOSER es cuando el blenden es 0\n previous_agent_log_id: this.cleanString(\n this.myVars.previous_agent_log_id\n ),\n };\n this.inCommingRequest = this.vicidialService\n .incomming(params)\n .pipe(delay(1000))\n .subscribe((resp: any) => {\n if (resp.data && resp.data.leadId) {\n this.joinToCall();\n // Se enviara api request para marcar el lead como leido, por ahora esto es necesario unicamente para formulario de DataCRM\n // Si el formulario no maneja lead no pasara nada\n this.makeNotificationLeadReaded();\n\n this.clickHandler();\n // Variable con los datos de la llamada\n this.inCommingResponse = resp.data;\n // console.log(resp.data);\n this.monitorConfIncomming();\n this.recheckInconming(resp.data.leadId);\n this.vozState = 'conectado';\n // Si recibe una llamda el incoming se detiene\n this.telephone = resp.data.phoneCustomer;\n //Se almacena el telefono en el local storage para carteras\n this.vicidialWalletService.setVicidialIncommingCallPhone(\n this.telephone\n );\n localStorage.setItem('varsVicidial', JSON.stringify(resp.data));\n\n this.callActive = true;\n this.vicidialService.setCallResponse({\n address1: resp.data.address1 ? resp.data.address1 : null,\n address2: resp.data.address2 ? resp.data.address2 : null,\n address3: resp.data.address3 ? resp.data.address3 : null,\n altPhone: resp.data.altPhone ? resp.data.altPhone : null,\n city: resp.data.city ? resp.data.city : null,\n comments: resp.data.comments ? resp.data.comments : null,\n countryCode: resp.data.countryCode ? resp.data.countryCode : null,\n dateOfBirth: resp.data.dateOfBirth ? resp.data.dateOfBirth : null,\n email: resp.data.email ? resp.data.email : null,\n first: resp.data.first ? resp.data.first : null,\n gender: resp.data.gender ? resp.data.gender : null,\n ivrSelected: resp.data.ivrSelected ? resp.data.ivrSelected : null,\n last: resp.data.last ? resp.data.last : null,\n leadId: resp.data.leadId,\n phoneCustomer: resp.data.phoneCustomer,\n documentType: resp.data.documentType\n ? resp.data.documentType\n : null,\n documentNumber: resp.data.documentNumber\n ? resp.data.documentNumber\n : null,\n uid: resp.data.uniqueId,\n cui: resp.data.mdNextCID,\n postCode: resp.data.postCode ? resp.data.postCode : null,\n province: resp.data.province ? resp.data.province : null,\n state: resp.data.state ? resp.data.state : null,\n tittle: resp.data.tittle ? resp.data.tittle : null,\n });\n this.callResponse.emit({\n address1: resp.data.address1 ? resp.data.address1 : null,\n address2: resp.data.address2 ? resp.data.address2 : null,\n address3: resp.data.address3 ? resp.data.address3 : null,\n altPhone: resp.data.altPhone ? resp.data.altPhone : null,\n city: resp.data.city ? resp.data.city : null,\n comments: resp.data.comments ? resp.data.comments : null,\n countryCode: resp.data.countryCode ? resp.data.countryCode : null,\n dateOfBirth: resp.data.dateOfBirth ? resp.data.dateOfBirth : null,\n email: resp.data.email ? resp.data.email : null,\n first: resp.data.first ? resp.data.first : null,\n gender: resp.data.gender ? resp.data.gender : null,\n ivrSelected: resp.data.ivrSelected ? resp.data.ivrSelected : null,\n last: resp.data.last ? resp.data.last : null,\n leadId: resp.data.leadId,\n phoneCustomer: resp.data.phoneCustomer,\n documentType: resp.data.documentType\n ? resp.data.documentType\n : null,\n documentNumber: resp.data.documentNumber\n ? resp.data.documentNumber\n : null,\n uid: resp.data.uniqueId,\n cui: resp.data.mdNextCID,\n postCode: resp.data.postCode ? resp.data.postCode : null,\n province: resp.data.province ? resp.data.province : null,\n state: resp.data.state ? resp.data.state : null,\n tittle: resp.data.tittle ? resp.data.tittle : null,\n });\n this.inCommingRequest.unsubscribe();\n\n this.pauseToTypify = true;\n this.vicidialService.setPause(true);\n this.disableHangout = false;\n } else {\n this.inComming();\n }\n });\n }\n\n monitorConfIncomming() {\n const date_ob = new Date();\n const date = ('0' + date_ob.getDate()).slice(-2);\n const month = ('0' + (date_ob.getMonth() + 1)).slice(-2);\n const year = date_ob.getFullYear();\n const hours = date_ob.getHours();\n const minutes = date_ob.getMinutes();\n const seconds = date_ob.getSeconds();\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'MonitorConf',\n format: 'text',\n channel:\n 'Local/5' + this.cleanString(this.myVars.session_id) + '@default',\n filename:\n 'OUT_' +\n year +\n month +\n date +\n '-' +\n hours +\n minutes +\n seconds +\n '_' +\n this.myVars.group +\n '_' +\n this.myVars.user +\n '_' +\n this.inCommingResponse.phoneCustomer +\n '_' +\n this.inCommingResponse.mdNextCID, // 20210917-174358_MIOSV2_1032399970_3207671490'\n exten: this.cleanString(this.myVars.recording_exten),\n ext_context: 'default',\n lead_id: this.inCommingResponse.leadId,\n ext_priority: 1,\n FROMvdc: 'YES',\n uniqueid: 'IN',\n FROMapi: '',\n };\n this.vicidialService.monitorConf(params).subscribe((resp) => {});\n }\n\n changeToDialCallManual() {\n // Marcacion Manual\n this.joinToCall();\n this.callInBound = false;\n this.disableHangout = true;\n this.manualDialCalLookUpResponse = null;\n this.tryLookCallAgain = true;\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n ACTION: 'manDiaLnextCaLL',\n conf_exten: this.cleanString(this.myVars.session_id),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n campaign: this.cleanString(this.myVars.campaign),\n ext_context: 'default',\n dial_timeout: this.cleanString(this.myVars.dial_timeout),\n dial_prefix: this.cleanString(this.myVars.dial_prefix),\n campaign_cid: this.cleanString(this.myVars.campaign_cid),\n preview: 'NO',\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n callback_id: '',\n lead_id: '',\n phone_code: '1',\n phone_number: this.telephone,\n list_id: this.cleanString(this.myVars.mdnLisT_id),\n stage: 'lookup',\n use_internal_dnc: this.cleanString(this.myVars.use_internal_dnc),\n use_campaign_dnc: this.cleanString(this.myVars.use_campaign_dnc),\n omit_phone_code: this.cleanString(this.myVars.omit_phone_code),\n manual_dial_filter: this.cleanString(this.myVars.manual_dial_filter),\n manual_dial_search_filter: this.cleanString(\n this.myVars.manual_dial_search_filter\n ),\n vendor_lead_code: '',\n usegroupalias: '0',\n account: '',\n agent_dialed_number: '1', // TIPO MARCACION MANUAL '1'\n agent_dialed_type: 'MANUAL_DIALNOW', // TIPO MARCACION MANUAL 'MANUAL_DIALNOW'\n vtiger_callback_id: this.cleanString(this.myVars.vtiger_callback_id),\n dial_method: this.cleanString(this.myVars.dial_method),\n manual_dial_call_time_check: this.cleanString(\n this.myVars.manual_dial_call_time_check\n ),\n qm_extension: this.cleanString(this.myVars.extension),\n dial_ingroup: '',\n nocall_dial_flag: this.cleanString(this.myVars.nocall_dial_flag),\n cid_lock: this.cleanString(this.myVars.cid_lock),\n last_VDRP_stage: 'PAUSED',\n routing_initiated_recording: this.cleanString(\n this.myVars.routing_initiated_recording\n ),\n exten: this.cleanString(this.myVars.recording_exten),\n recording_filename: this.cleanString(this.myVars.campaign_rec_filename), // POR ESTABLECER\n channel:\n 'Local/5' + this.cleanString(this.myVars.session_id) + '@default', // Se debe sacar de la respuesta del check config\n manual_dial_validation: this.cleanString(\n this.myVars.manual_dial_validation\n ),\n phone_login: this.cleanString(this.myVars.phone_login),\n };\n this.vicidialService.manDialCall(params).subscribe((resp: any) => {\n this.vozState = 'incall';\n this.manualDialCallResponse = resp.data;\n\n this.beginManualDialgCall = new Date();\n this.manDiaLlookCaLL();\n this.monitorConf();\n });\n }\n\n manDiaLlookCaLL() {\n let params = {};\n let phoneCustomer;\n this.timeInDiall = new Date();\n\n /**\n\t\t Si la marcacion manual tiene 20 o mas segundos sin recibir rspuesta se cancelan los intentos\n\t\ty se deja al agente nuevamente en pausa\n\t\t*/\n if ( this.timeInDiall.getTime() - this.beginManualDialgCall.getTime() >= 20000 ) {\n this.tryLookCallAgain = false;\n this.disableHangout = false;\n this.manDiaLlookCaLLRequest.unsubscribe();\n this.hangoutConfDialManual('look');\n this.hangupManualDial('look');\n } else {\n if (this.manualDialCallResponse != null) {\n phoneCustomer = this.manualDialCallResponse.phoneCustomer;\n } else {\n phoneCustomer = this.telephone;\n }\n\n if (this.manualDialCallResponse) {\n params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n ACTION: 'manDiaLlookCaLL',\n conf_exten: this.cleanString(this.myVars.session_id),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n MDnextCID: this.manualDialCallResponse.mdNextCID,\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n lead_id: this.manualDialCallResponse.leadId,\n DiaL_SecondS: this.ss,\n stage: '',\n campaign: this.cleanString(this.myVars.campaign),\n phone_number: phoneCustomer,\n routing_initiated_recording: this.cleanString(\n this.myVars.routing_initiated_recording\n ),\n };\n }\n this.manDiaLlookCaLLRequest = this.vicidialService\n .manDialCallLookUp(params)\n .pipe(delay(1000))\n .subscribe((resp: any) => {\n this.manualDialCalLookUpResponse = resp.data;\n if (this.manualDialCalLookUpResponse) {\n /**\n\t\t Una vez se recibe la respuesta del dial look se realiza unsubcribe\n\t\t */\n this.manDiaLlookCaLLRequest.unsubscribe();\n this.manDiaLlogCallStart();\n this.vicidialService.setCallResponse({\n leadId: this.manualDialCallResponse.leadId,\n phoneCustomer: phoneCustomer,\n uid: resp.data.uid, // Viene del lookcall\n cui: this.manualDialCallResponse.mdNextCID,\n address1: this.manualDialCallResponse.address1\n ? this.manualDialCallResponse.address1\n : null,\n address2: this.manualDialCallResponse.address2\n ? this.manualDialCallResponse.address2\n : null,\n address3: this.manualDialCallResponse.address3\n ? this.manualDialCallResponse.address3\n : null,\n altPhone: this.manualDialCallResponse.altPhone\n ? this.manualDialCallResponse.altPhone\n : null,\n city: this.manualDialCallResponse.city\n ? this.manualDialCallResponse.city\n : null,\n comments: this.manualDialCallResponse.comments\n ? this.manualDialCallResponse.comments\n : null,\n countryCode: this.manualDialCallResponse.countryCode\n ? this.manualDialCallResponse.countryCode\n : null,\n dateOfBirth: this.manualDialCallResponse.dateOfBirth\n ? this.manualDialCallResponse.dateOfBirth\n : null,\n email: this.manualDialCallResponse.email\n ? this.manualDialCallResponse.email\n : null,\n first: this.manualDialCallResponse.first\n ? this.manualDialCallResponse.first\n : null,\n gender: this.manualDialCallResponse.gender\n ? this.manualDialCallResponse.gender\n : null,\n ivrSelected: this.manualDialCallResponse.ivrSelected\n ? this.manualDialCallResponse.ivrSelected\n : null,\n last: this.manualDialCallResponse.last\n ? this.manualDialCallResponse.last\n : null,\n documentType: this.manualDialCallResponse.documentType\n ? resp.data.documentType\n : null,\n documentNumber: this.manualDialCallResponse.documentNumber\n ? resp.data.documentNumber\n : null,\n postCode: this.manualDialCallResponse.postCode\n ? resp.data.postCode\n : null,\n province: this.manualDialCallResponse.province\n ? resp.data.province\n : null,\n state: this.manualDialCallResponse.state ? resp.data.state : null,\n tittle: this.manualDialCallResponse.tittle\n ? resp.data.tittle\n : null,\n });\n this.callResponse.emit({\n leadId: this.manualDialCallResponse.leadId,\n phoneCustomer: phoneCustomer,\n uid: resp.data.uid, // Viene del lookcall\n cui: this.manualDialCallResponse.mdNextCID,\n address1: this.manualDialCallResponse.address1\n ? this.manualDialCallResponse.address1\n : null,\n address2: this.manualDialCallResponse.address2\n ? this.manualDialCallResponse.address2\n : null,\n address3: this.manualDialCallResponse.address3\n ? this.manualDialCallResponse.address3\n : null,\n altPhone: this.manualDialCallResponse.altPhone\n ? this.manualDialCallResponse.altPhone\n : null,\n city: this.manualDialCallResponse.city\n ? this.manualDialCallResponse.city\n : null,\n comments: this.manualDialCallResponse.comments\n ? this.manualDialCallResponse.comments\n : null,\n countryCode: this.manualDialCallResponse.countryCode\n ? this.manualDialCallResponse.countryCode\n : null,\n dateOfBirth: this.manualDialCallResponse.dateOfBirth\n ? this.manualDialCallResponse.dateOfBirth\n : null,\n email: this.manualDialCallResponse.email\n ? this.manualDialCallResponse.email\n : null,\n first: this.manualDialCallResponse.first\n ? this.manualDialCallResponse.first\n : null,\n gender: this.manualDialCallResponse.gender\n ? this.manualDialCallResponse.gender\n : null,\n ivrSelected: this.manualDialCallResponse.ivrSelected\n ? this.manualDialCallResponse.ivrSelected\n : null,\n last: this.manualDialCallResponse.last\n ? this.manualDialCallResponse.last\n : null,\n documentType: this.manualDialCallResponse.documentType\n ? resp.data.documentType\n : null,\n documentNumber: this.manualDialCallResponse.documentNumber\n ? resp.data.documentNumber\n : null,\n postCode: this.manualDialCallResponse.postCode\n ? resp.data.postCode\n : null,\n province: this.manualDialCallResponse.province\n ? resp.data.province\n : null,\n state: this.manualDialCallResponse.state ? resp.data.state : null,\n tittle: this.manualDialCallResponse.tittle\n ? resp.data.tittle\n : null,\n });\n this.disableHangout = false;\n this.pauseToTypify = true;\n\n this.vicidialService.setCallManualResponse({\n leadId: this.manualDialCallResponse.leadId,\n phoneCustomer: this.telephone,\n uid: resp.data.uid, // Viene del lookcall\n cui: this.manualDialCallResponse.mdNextCID,\n address1: this.manualDialCallResponse.address1\n ? this.manualDialCallResponse.address1\n : null,\n address2: this.manualDialCallResponse.address2\n ? this.manualDialCallResponse.address2\n : null,\n address3: this.manualDialCallResponse.address3\n ? this.manualDialCallResponse.address3\n : null,\n altPhone: this.manualDialCallResponse.altPhone\n ? this.manualDialCallResponse.altPhone\n : null,\n city: this.manualDialCallResponse.city\n ? this.manualDialCallResponse.city\n : null,\n comments: this.manualDialCallResponse.comments\n ? this.manualDialCallResponse.comments\n : null,\n countryCode: this.manualDialCallResponse.countryCode\n ? this.manualDialCallResponse.countryCode\n : null,\n dateOfBirth: this.manualDialCallResponse.dateOfBirth\n ? this.manualDialCallResponse.dateOfBirth\n : null,\n email: this.manualDialCallResponse.email\n ? this.manualDialCallResponse.email\n : null,\n first: this.manualDialCallResponse.first\n ? this.manualDialCallResponse.first\n : null,\n gender: this.manualDialCallResponse.gender\n ? this.manualDialCallResponse.gender\n : null,\n ivrSelected: this.manualDialCallResponse.ivrSelected\n ? this.manualDialCallResponse.ivrSelected\n : null,\n last: this.manualDialCallResponse.last\n ? this.manualDialCallResponse.last\n : null,\n documentType: this.manualDialCallResponse.documentType\n ? resp.data.documentType\n : null,\n documentNumber: this.manualDialCallResponse.documentNumber\n ? resp.data.documentNumber\n : null,\n postCode: this.manualDialCallResponse.postCode\n ? resp.data.postCode\n : null,\n province: this.manualDialCallResponse.province\n ? resp.data.province\n : null,\n state: this.manualDialCallResponse.state ? resp.data.state : null,\n tittle: this.manualDialCallResponse.tittle\n ? resp.data.tittle\n : null,\n });\n\n // this.vicidialService.setPause(true);\n } else {\n /**\n\t\t Mientras no se reciba respuesta se vulve a ejecutar el dialLookCall\n\t\t */\n if (this.tryLookCallAgain) this.manDiaLlookCaLL();\n }\n });\n }\n }\n\n monitorConf() {\n let phoneCustomer;\n let mdNextCID;\n let leadId;\n if (this.inCommingResponse != null) {\n phoneCustomer = this.inCommingResponse.phoneCustomer;\n mdNextCID = this.inCommingResponse.mdNextCID;\n leadId = this.inCommingResponse.leadId;\n } else {\n phoneCustomer = this.telephone;\n mdNextCID = this.manualDialCallResponse.mdNextCID;\n leadId = this.manualDialCallResponse.leadId;\n }\n const date_ob = new Date();\n const date = ('0' + date_ob.getDate()).slice(-2);\n const month = ('0' + (date_ob.getMonth() + 1)).slice(-2);\n const year = date_ob.getFullYear();\n const hours = date_ob.getHours();\n const minutes = date_ob.getMinutes();\n const seconds = date_ob.getSeconds();\n let fileName =\n 'OUT_' +\n year +\n month +\n date +\n '-' +\n hours +\n minutes +\n seconds +\n '_' +\n this.cleanString(this.myVars.group) +\n '_' +\n this.cleanString(this.myVars.user) +\n '_' +\n phoneCustomer +\n '_' +\n mdNextCID; // OUT_20231212-13930_SOULPHON_1032399970_null_M2121309300013809855\n if (this.manualDialCallResponse != null) {\n phoneCustomer = this.manualDialCallResponse.phoneCustomer;\n fileName =\n year +\n month +\n date +\n '-' +\n hours +\n minutes +\n seconds +\n '_' +\n phoneCustomer; // 20231212-142517_3144016953\n }\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'MonitorConf',\n format: 'text',\n channel:\n 'Local/5' + this.cleanString(this.myVars.session_id) + '@default',\n filename: fileName,\n exten: this.cleanString(this.myVars.recording_exten),\n ext_context: 'default',\n lead_id: leadId,\n ext_priority: 1,\n FROMvdc: 'YES',\n uniqueid: '',\n FROMapi: '',\n };\n this.vicidialService.monitorConf(params).subscribe((resp) => {});\n }\n\n manDiaLlogCallStart() {\n const pause = {\n key: 'marcacion-manual',\n };\n let phoneCustomer;\n let altDial;\n let listId = this.myVars.mdnLisT_id;\n let calledCount;\n let phoneCode = '';\n\n if (this.manualDialCallResponse != null) {\n phoneCustomer = this.manualDialCallResponse.phoneCustomer;\n listId = this.manualDialCallResponse.listId;\n altDial = 'MAIN';\n calledCount = this.manualDialCallResponse.called_count;\n phoneCode = this.manualDialCallResponse.phoneCode;\n }\n\n if (this.telephone != null) {\n phoneCustomer = this.telephone;\n altDial = 'MANUAL_DIALNOW';\n }\n\n this.vicidialService.registerPause(pause).subscribe((resp) => {});\n\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n format: 'text',\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n ACTION: 'manDiaLlogCaLL',\n stage: 'start',\n uniqueid: this.manualDialCalLookUpResponse.uid,\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n campaign: this.cleanString(this.myVars.campaign),\n lead_id: this.manualDialCallResponse.leadId,\n list_id: listId,\n length_in_sec: this.ss,\n phone_code: phoneCode,\n phone_number: phoneCustomer,\n exten: this.cleanString(this.myVars.recording_exten),\n channel: this.manualDialCalLookUpResponse.channel,\n start_epoch: 0,\n auto_dial_level: this.cleanString(this.myVars.auto_dial_level),\n VDstop_rec_after_each_call: this.cleanString(\n this.myVars.VDstop_rec_after_each_call\n ),\n conf_silent_prefix: this.cleanString(this.myVars.conf_silent_prefix),\n protocol: this.cleanString(this.myVars.protocol),\n extension: this.cleanString(this.myVars.extension),\n ext_context: 'default',\n conf_exten: this.cleanString(this.myVars.session_id),\n user_abb: this.cleanString(this.myVars.user_abb),\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n MDnextCID: this.manualDialCallResponse.mdNextCID,\n inOUT: 'OUT',\n alt_dial: altDial,\n DB: 0,\n agentchannel: this.configCheckResponse.agentChannel,\n conf_dialed: 0,\n leaving_threeway: 0,\n hangup_all_non_reserved: this.cleanString(\n this.myVars.hangup_all_non_reserved\n ),\n blind_transfer: 0,\n dial_method: this.cleanString(this.myVars.dial_method),\n nodeletevdac: 'undefined',\n alt_num_status: 0,\n qm_extension: this.cleanString(this.myVars.extension),\n called_count: calledCount, //Variable que viene de manDiaLnextCaLL\n leave_3way_start_recording_trigger: 0,\n leave_3way_start_recording_filename: '',\n channelrec:\n 'Local/5' + this.cleanString(this.myVars.session_id) + '@default',\n };\n this.vicidialService.manDiaLlogCallStart(params).subscribe((resp: any) => {\n this.vozState = 'conectado';\n this.clickHandler();\n if (this.manualDialCallResponse != null) {\n this.telephone = this.manualDialCallResponse.phoneCustomer;\n }\n });\n }\n\n hangoutCustomerCall(callInBound?) {\n let channel;\n let campaign;\n let mdNextCID;\n let call_server_ip;\n\n if (this.inCommingResponse != null) {\n channel = this.inCommingResponse.channel;\n callInBound\n ? (campaign = this.inCommingResponse.campaign)\n : (campaign = this.myVars.campaign);\n if (campaign == null || campaign == '') {\n campaign = this.myVars.campaign;\n }\n mdNextCID = this.inCommingResponse.mdNextCID ?? '';\n call_server_ip = this.inCommingResponse.serverIP;\n } else {\n call_server_ip = this.myVars.server_ip;\n campaign = this.myVars.campaign;\n if (this.manualDialCalLookUpResponse != null) {\n channel = this.manualDialCalLookUpResponse.channel;\n mdNextCID = this.manualDialCalLookUpResponse.mdNextCID;\n }\n }\n if (this.manualDialCallResponse != null) {\n call_server_ip = '';\n mdNextCID = this.manualDialCallResponse.mdNextCID;\n }\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'Hangup',\n format: 'text',\n channel: channel,\n call_server_ip: call_server_ip,\n queryCID:\n 'HLvdcW' +\n this.cleanString(this.myVars.epoch_sec) +\n '' +\n this.cleanString(this.myVars.user_abb),\n exten: this.cleanString(this.myVars.session_id),\n auto_dial_level: this.cleanString(this.myVars.auto_dial_level),\n campaign: this.cleanString(campaign), // Este es la opcion de ivr por donde se recibe la llamada, se extrae de incoming,\n stage: 'CALLHANGUP',\n nodeletevdac: '',\n log_campaign: this.cleanString(this.myVars.campaign),\n qm_extension: this.cleanString(this.myVars.extension),\n CalLCID: mdNextCID,\n secondS: this.ss,\n };\n this.vicidialService.hangUp(params).subscribe((resp: any) => {\n callInBound ? this.hangout2(false) : this.hangout(false);\n // this.updateDispo();\n });\n }\n\n hangout(callTransfered, leave3Way?) {\n // End de marcacion manual\n let leadId;\n let uniqueId;\n let autoDialLevel;\n let mdNextCID;\n let listId = this.cleanString(this.myVars.mdnLisT_id);\n let phoneCode;\n let phoneNumber;\n let channel;\n let altDial;\n let dialMethod = 'RATIO';\n let calledCount;\n\n if (this.inCommingResponse != null) {\n leadId = this.inCommingResponse.leadId;\n uniqueId = this.inCommingResponse.uniqueId;\n mdNextCID = this.inCommingResponse.mdNextCID;\n listId = this.inCommingResponse.listId;\n phoneCode = this.inCommingResponse.dialCode;\n phoneNumber = this.inCommingResponse.phoneCustomer;\n channel = this.inCommingResponse.channel;\n }\n if (this.manualDialCallResponse != null) {\n leadId = this.manualDialCallResponse.leadId;\n uniqueId = this.manualDialCallResponse.uid;\n mdNextCID = this.manualDialCallResponse.mdNextCID;\n listId = this.manualDialCallResponse.listId;\n phoneCode = this.manualDialCallResponse.dialCode;\n phoneNumber = this.manualDialCallResponse.phoneCustomer;\n channel = this.manualDialCallResponse.channel;\n altDial = 'MAIN';\n dialMethod = 'MANUAL';\n calledCount = this.manualDialCallResponse.called_count;\n }\n if (this.manualDialCalLookUpResponse != null) {\n uniqueId = this.manualDialCalLookUpResponse.uid;\n channel = this.manualDialCalLookUpResponse.channel;\n }\n\n if (this.telephone) {\n phoneNumber = this.telephone;\n phoneCode = '1';\n altDial = 'MANUAL_DIALNOW';\n }\n\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n format: 'text',\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n ACTION: 'manDiaLlogCaLL',\n stage: 'end',\n uniqueid: uniqueId,\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n campaign: this.cleanString(this.myVars.campaign),\n lead_id: leadId,\n list_id: listId,\n length_in_sec: 0,\n phone_code: phoneCode,\n phone_number: phoneNumber,\n exten: callTransfered\n ? this.cleanString(this.myVars.extension)\n : this.cleanString(this.myVars.recording_exten), // SE USA EXTENSION CUANDO LA LLAMADA ES TRANSFERIDO //CUANDO EL COLGADO ES NORMAL this.myVars.recording_exten,\n channel: channel,\n start_epoch: callTransfered ? 0 : this.cleanString(this.myVars.epoch_sec), // CUANDO ES COLGAR LLAMADA NORMAL cleanString(this.myVars.epoch_sec), // POR CONFIRMAR SI LA VARIABLE CORRECTA ES [epoch_sec] | SIP/proxy-180-000000b0 [cuando es llamada entrante]\n auto_dial_level: this.cleanString(this.myVars.auto_dial_level),\n VDstop_rec_after_each_call: this.cleanString(\n this.myVars.VDstop_rec_after_each_call\n ),\n conf_silent_prefix: this.cleanString(this.myVars.conf_silent_prefix),\n protocol: this.cleanString(this.myVars.protocol),\n extension: this.cleanString(this.myVars.extension),\n ext_context: 'default',\n conf_exten: this.cleanString(this.myVars.session_id),\n user_abb: this.cleanString(this.myVars.user_abb),\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n MDnextCID: mdNextCID,\n inOUT: 'OUT',\n alt_dial: altDial,\n DB: 0,\n agentchannel: this.configCheckResponse.agentChannel,\n conf_dialed: 0,\n leaving_threeway: leave3Way ? 1 : 0, // UINCAMENTE PARA SALIR DE 3 WAY\n hangup_all_non_reserved: this.cleanString(\n this.myVars.hangup_all_non_reserved\n ),\n blind_transfer: callTransfered ? 1 : 0, // 0 CUANDO ES NORMAL,\n dial_method: this.cleanString(this.myVars.dial_method),\n nodeletevdac: callTransfered ? 0 : '', // NULL CUANDO ES NORMAL,\n alt_num_status: 0,\n qm_extension: this.cleanString(this.myVars.extension),\n called_count: calledCount,\n leave_3way_start_recording_trigger: 0,\n leave_3way_start_recording_filename: '',\n channelrec:\n 'Local/5' + this.cleanString(this.myVars.session_id) + '@default',\n };\n this.vicidialService.manDiaLlogCaLL(params).subscribe((resp: any) => {\n if (this.manDiaLlookCaLLRequest) this.manDiaLlookCaLLRequest.unsubscribe();\n this.manDiaLlogCallEndResponse = resp.data;\n this.updateLead();\n if(this.manualDialCalLookUpResponse){\n this.updateDispo();\n }\n\n setTimeout(() => {\n if (this.subscribeIntervalConnected) {\n this.subscribeIntervalConnected.unsubscribe();\n }\n this.ss = 0;\n this.mm = 0;\n this.inCommingResponse = null;\n this.manualDialCallResponse = null;\n this.manualDialCalLookUpResponse = null;\n this.manDiaLlogCallEndResponse = null;\n this.telephone = null;\n this.pause('ACW');\n this.currentPause = this.pauseOptions.find(key => key.key == 'ACW');\n this.vicidialService.setHangUp(true);\n this.pauseToTypify = false;\n // Si la variable esta en false se reanurada al agente al grupo y al incoming.\n // if (!this.pauseToTypify) {\n // this.selectGroup();\n // }\n }, 1000);\n });\n }\n\n hangout2(callTransfered, leave3Way?) {\n let leadId;\n let uniqueId;\n let autoDialLevel;\n let mdNextCID;\n let listId;\n let phoneCode;\n let phoneNumber;\n let channel;\n\n if (this.inCommingResponse != null) {\n leadId = this.inCommingResponse.leadId;\n uniqueId = this.inCommingResponse.uniqueId;\n mdNextCID = this.inCommingResponse.mdNextCID;\n listId = this.inCommingResponse.listId;\n phoneCode = this.inCommingResponse.dialCode;\n phoneNumber = this.inCommingResponse.phoneCustomer;\n channel = this.inCommingResponse.channel;\n }\n if (this.manualDialCallResponse != null) {\n leadId = this.manualDialCallResponse.leadId;\n uniqueId = this.manualDialCalLookUpResponse.uid;\n mdNextCID = this.manualDialCalLookUpResponse.mdNextCID;\n listId = this.cleanString(this.myVars.mdnLisT_id);\n phoneCode = 1;\n phoneNumber = this.telephone;\n channel = this.configCheckResponse.agentChannel;\n }\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n format: 'text',\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n ACTION: 'manDiaLlogCaLL',\n stage: 'end',\n uniqueid: uniqueId,\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n campaign: this.cleanString(this.myVars.campaign),\n lead_id: leadId,\n list_id: listId,\n length_in_sec: 0,\n phone_code: phoneCode,\n phone_number: phoneNumber,\n exten: callTransfered\n ? this.myVars.extension\n : this.cleanString(this.myVars.recording_exten), // SE USA EXTENSION CUANDO LA LLAMADA ES TRANSFERIDO //CUANDO EL COLGADO ES NORMAL this.myVars.recording_exten,\n channel: channel,\n // start_epoch: callTransfered ? 0 : this.cleanString(this.myVars.epoch_sec), // CUANDO ES COLGAR LLAMADA NORMAL cleanString(this.myVars.epoch_sec), // POR CONFIRMAR SI LA VARIABLE CORRECTA ES [epoch_sec] | SIP/proxy-180-000000b0 [cuando es llamada entrante]\n start_epoch: 0,\n auto_dial_level: this.cleanString(this.myVars.auto_dial_level),\n VDstop_rec_after_each_call: this.cleanString(\n this.myVars.VDstop_rec_after_each_call\n ),\n conf_silent_prefix: this.cleanString(this.myVars.conf_silent_prefix),\n protocol: this.cleanString(this.myVars.protocol),\n extension: this.cleanString(this.myVars.extension),\n ext_context: 'default',\n conf_exten: this.cleanString(this.myVars.session_id),\n user_abb: this.cleanString(this.myVars.user_abb),\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n MDnextCID: mdNextCID,\n inOUT: 'IN',\n alt_dial: 'MAIN',\n DB: 0,\n agentchannel: this.configCheckResponse.agentChannel,\n conf_dialed: 0,\n leaving_threeway: leave3Way ? 1 : 0, //UINCAMENTE PARA SALIR DE 3 WAY\n hangup_all_non_reserved: 1,\n blind_transfer: callTransfered ? 1 : 0, // 0 CUANDO ES NORMAL,\n dial_method: this.cleanString(this.myVars.dial_method),\n nodeletevdac: callTransfered ? 0 : '', // NULL CUANDO ES NORMAL,\n alt_num_status: 0,\n qm_extension: this.cleanString(this.myVars.extension),\n called_count: callTransfered ? 1 : 1, // 13 CUANDO ES NORMAL,\n leave_3way_start_recording_trigger: 0,\n leave_3way_start_recording_filename: '',\n channelrec:\n 'Local/5' + this.cleanString(this.myVars.session_id) + '@default',\n };\n this.vicidialService.manDiaLlogCaLL(params).subscribe((resp: any) => {\n if (this.subscribeIntervalConnected) {\n this.subscribeIntervalConnected.unsubscribe();\n }\n this.manDiaLlogCallEndResponse = resp.data;\n this.updateLead();\n this.updateDispo();\n setTimeout(() => {\n if (this.subscribeIntervalConnected) {\n this.subscribeIntervalConnected.unsubscribe();\n }\n this.ss = 0;\n this.mm = 0;\n this.inCommingResponse = null;\n this.manualDialCallResponse = null;\n this.manualDialCalLookUpResponse = null;\n this.manDiaLlogCallEndResponse = null;\n this.telephone = null;\n this.pause('ACW');\n this.currentPause = this.pauseOptions.find(key => key.key == 'ACW');\n this.vicidialService.setHangUp(true);\n this.pauseToTypify = false;\n // Si la variable esta en false se reanurada al agente al grupo y al incoming.\n // if (!this.pauseToTypify) {\n // this.selectGroup();\n // }\n }, 1000);\n });\n }\n\n joinToCall() {\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'update_settings',\n format: 'text',\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n campaign: this.cleanString(this.myVars.campaign),\n };\n this.vicidialService.joinToCall(params).subscribe((resp: any) => {});\n }\n\n recheckInconming(leadId) {\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'VDADREcheckINCOMING',\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n campaign: this.cleanString(this.myVars.campaign),\n lead_id: leadId,\n };\n this.vicidialService.recheckInconming(params).subscribe((resp: any) => {});\n }\n\n transferCloser(group) {\n let call_server_ip;\n\n if (this.inCommingResponse != null) {\n call_server_ip = this.inCommingResponse.serverIP;\n } else {\n call_server_ip = this.myVars.server_ip;\n }\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'RedirectVD',\n format: 'text',\n channel: this.inCommingResponse.channel,\n call_server_ip: call_server_ip,\n queryCID:\n 'XLvdcW' +\n this.cleanString(this.myVars.epoch_sec) +\n '' +\n this.cleanString(this.myVars.user_abb),\n exten:\n '990009*' +\n this.cleanString(group) +\n '**' +\n this.cleanString(this.inCommingResponse.leadId) +\n '**' +\n this.cleanString(this.inCommingResponse.phoneCustomer) +\n '*' +\n this.cleanString(this.myVars.user) +\n '**',\n ext_context: 'default',\n ext_priority: '1',\n auto_dial_level: this.cleanString(this.myVars.auto_dial_level),\n campaign: this.cleanString(this.myVars.campaign),\n uniqueid: this.inCommingResponse.uniqueId,\n lead_id: this.inCommingResponse.leadId,\n secondS: this.ss,\n session_id: this.cleanString(this.myVars.session_id),\n CalLCID: this.inCommingResponse.mdNextCID,\n customerparked: 0,\n };\n this.vicidialService.transfer(params).subscribe((resp: any) => {\n this.hangout2(true);\n // this.updateDispo();\n // this.telephone = null;\n // this.inCommingResponse = null;\n // this.selectGroup();\n });\n }\n\n hangoutConfDialManual(state?) {\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n exten: this.cleanString(this.myVars.session_id),\n ACTION: 'HangupConfDial',\n format: 'text',\n ext_context: 'default',\n queryCID:\n 'HTvdcW' +\n this.cleanString(this.myVars.epoch_sec) +\n '' +\n this.cleanString(this.myVars.user_abb),\n log_campaign: this.cleanString(this.myVars.campaign),\n qm_extension: this.cleanString(this.myVars.extension),\n };\n this.vicidialService.hangUp(params).subscribe((resp: any) => {\n if(state != 'look'){\n this.hangoutCustomerCall();\n }\n });\n }\n\n hangupManualDial(state?) {\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n format: 'text',\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n ACTION: 'manDiaLlogCaLL',\n stage: 'end',\n uniqueid: this.manualDialCalLookUpResponse\n ? this.manualDialCalLookUpResponse.uid\n : '',\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n campaign: this.cleanString(this.myVars.campaign),\n lead_id: this.manualDialCalLookUpResponse\n ? this.manualDialCalLookUpResponse.leadId\n : this.manualDialCallResponse.leadId,\n list_id: this.manualDialCallResponse\n ? this.manualDialCallResponse.listId\n : this.cleanString(this.myVars.mdnLisT_id),\n length_in_sec: this.ss,\n phone_code: 1,\n phone_number: this.manualDialCallResponse ? this.manualDialCallResponse.phoneCustomer : this.telephone,\n exten: this.cleanString(this.myVars.recording_exten),\n channel: this.manualDialCalLookUpResponse\n ? this.manualDialCalLookUpResponse.channel\n : '',\n start_epoch: 0, // POR CONFIRMAR SI LA VARIABLE CORRECTA ES [epoch_sec] | SIP/proxy-180-000000b0 [cuando es llamada entrante]\n auto_dial_level: this.cleanString(this.myVars.auto_dial_level),\n VDstop_rec_after_each_call: this.cleanString(\n this.myVars.VDstop_rec_after_each_call\n ),\n conf_silent_prefix: this.cleanString(this.myVars.conf_silent_prefix),\n protocol: this.cleanString(this.myVars.protocol),\n extension: this.cleanString(this.myVars.extension),\n ext_context: 'default',\n conf_exten: this.cleanString(this.myVars.session_id),\n user_abb: this.cleanString(this.myVars.user_abb),\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n MDnextCID: this.manualDialCalLookUpResponse\n ? this.manualDialCalLookUpResponse.mdNextCID\n : this.manualDialCallResponse.mdNextCID,\n inOUT: 'OUT',\n alt_dial: state=='look' ? 'MAIN' : 'MANUAL_DIALNOW',\n DB: 0,\n agentchannel: this.configCheckResponse.agentChannel,\n conf_dialed: 0,\n leaving_threeway: 0,\n hangup_all_non_reserved: 1,\n blind_transfer: 0,\n dial_method: this.cleanString(this.myVars.dial_method),\n nodeletevdac: '',\n alt_num_status: 0,\n qm_extension: this.cleanString(this.myVars.extension),\n called_count: state=='look' ? '1' : '13',\n leave_3way_start_recording_trigger: 0,\n leave_3way_start_recording_filename: '',\n channelrec: 'Local/58600053@default',\n };\n\n this.vicidialService.manDiaLlogCallEnd(params).subscribe((resp: any) => {\n this.manDiaLlogCallEndResponse = resp.data;\n this.updateLead();\n this.updateDispo();\n setTimeout(() => {\n if (this.subscribeIntervalConnected) {\n this.subscribeIntervalConnected.unsubscribe();\n }\n this.ss = 0;\n this.mm = 0;\n this.inCommingResponse = null;\n this.manualDialCallResponse = null;\n this.manualDialCalLookUpResponse = null;\n this.manDiaLlogCallEndResponse = null;\n this.telephone = null;\n this.tryLookCallAgain = false;\n this.vozState = 'pause';\n this.disableHangout = false;\n if (this.manDiaLlookCaLLRequest)\n this.manDiaLlookCaLLRequest.unsubscribe();\n this.pause('ACW');\n this.currentPause = this.pauseOptions.find(key => key.key == 'ACW');\n this.vicidialService.setHangUp(true);\n this.pauseToTypify = false;\n }, 1000);\n });\n }\n\n parking() {\n let call_server_ip;\n let mdNextCID;\n\n if (this.inCommingResponse != null) {\n call_server_ip = this.inCommingResponse.serverIP;\n mdNextCID = this.inCommingResponse.mdNextCID;\n } else {\n call_server_ip = this.myVars.server_ip;\n mdNextCID = this.manualDialCalLookUpResponse.mdNextCID;\n }\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'RedirectToPark',\n format: 'text',\n channel: this.inCommingResponse.channel,\n call_server_ip: call_server_ip,\n queryCID:\n 'LPvdcW' +\n this.cleanString(this.myVars.epoch_sec) +\n '' +\n this.cleanString(this.myVars.user_abb),\n exten: this.cleanString(this.myVars.park_on_extension),\n ext_context: 'default',\n ext_priority: 1,\n extenName: 'park',\n parkedby: 'SIP/' + this.cleanString(this.myVars.extension),\n session_id: this.cleanString(this.myVars.session_id),\n CalLCID: mdNextCID,\n uniqueid: this.inCommingResponse.uniqueId,\n lead_id: this.inCommingResponse.leadId,\n campaign: this.cleanString(this.myVars.campaign),\n group_id: this.groupSelected,\n };\n this.vicidialService.parking(params).subscribe((resp: any) => {\n this.clickHandlerPause();\n this.callPause = true;\n\n // this.onReady();\n });\n }\n\n recoveryParking() {\n let call_server_ip;\n let mdNextCID;\n\n if (this.inCommingResponse != null) {\n call_server_ip = this.inCommingResponse.serverIP;\n mdNextCID = this.inCommingResponse.mdNextCID;\n } else {\n call_server_ip = this.myVars.server_ip;\n mdNextCID = this.manualDialCalLookUpResponse.mdNextCID;\n }\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'RedirectFromPark',\n format: 'text',\n channel: this.inCommingResponse.channel,\n call_server_ip: call_server_ip,\n queryCID:\n 'FPvdcW' +\n this.cleanString(this.myVars.epoch_sec) +\n '' +\n this.cleanString(this.myVars.user_abb),\n exten:\n this.cleanString(this.myVars.server_ip_dialstring) +\n this.cleanString(this.myVars.session_id),\n ext_context: 'default',\n ext_priority: 1,\n session_id: this.cleanString(this.myVars.session_id),\n CalLCID: mdNextCID,\n uniqueid: this.inCommingResponse.uniqueId,\n lead_id: this.inCommingResponse.leadId,\n campaign: this.cleanString(this.myVars.campaign),\n };\n this.vicidialService.parkingRecovery(params).subscribe((resp: any) => {\n this.subscribeIntervalPause.unsubscribe();\n this.mmPause = 0;\n this.ssPause = 0;\n this.msPause = 0;\n this.isRunningPause = false;\n this.timerIdPause;\n this.callPause = false;\n this.parkingActive = false;\n });\n }\n\n updateLead(grupo?) {\n let leadId;\n let phone;\n let title;\n let first_name;\n let middle_initial;\n let last_name;\n let address1;\n let address2;\n let address3;\n let city;\n let state;\n let province;\n let postal_code;\n let country_code;\n let gender;\n let date_of_birth;\n let alt_phone;\n let email;\n let comments;\n let vendorLeadCode;\n let securityPhrase;\n\n if (this.inCommingResponse != null) {\n leadId = this.inCommingResponse.leadId;\n phone = this.inCommingResponse.phoneCustomer;\n title = this.inCommingResponse.title;\n first_name = this.inCommingResponse.first;\n middle_initial = this.inCommingResponse.mi;\n last_name = this.inCommingResponse.last;\n address1 = this.inCommingResponse.address1;\n address2 = this.inCommingResponse.address2;\n address3 = this.inCommingResponse.address3;\n city = this.inCommingResponse.city;\n state = this.inCommingResponse.state;\n province = this.inCommingResponse.province;\n postal_code = this.inCommingResponse.postCode;\n country_code = this.inCommingResponse.countryCode;\n gender = this.inCommingResponse.gender;\n date_of_birth = this.inCommingResponse.dateOfBirth;\n alt_phone = this.inCommingResponse.altPhone;\n email = this.inCommingResponse.email;\n comments = this.inCommingResponse.comments;\n vendorLeadCode = this.inCommingResponse.vendorLeadCode;\n securityPhrase = this.inCommingResponse.campaign;\n } else {\n leadId = this.manualDialCallResponse.leadId;\n phone = this.manualDialCallResponse.phoneCustomer;\n title = this.manualDialCallResponse.title;\n first_name = this.manualDialCallResponse.first;\n middle_initial = this.manualDialCallResponse.mi;\n last_name = this.manualDialCallResponse.last;\n address1 = this.manualDialCallResponse.address1;\n address2 = this.manualDialCallResponse.address2;\n address3 = this.manualDialCallResponse.address3;\n city = this.manualDialCallResponse.city;\n state = this.manualDialCallResponse.state;\n province = this.manualDialCallResponse.province;\n postal_code = this.manualDialCallResponse.postCode;\n country_code = this.manualDialCallResponse.countryCode;\n gender = this.manualDialCallResponse.gender;\n date_of_birth = this.manualDialCallResponse.dateOfBirth;\n alt_phone = this.manualDialCallResponse.altPhone;\n email = this.manualDialCallResponse.email;\n comments = this.manualDialCallResponse.comments;\n vendorLeadCode = this.manualDialCallResponse.vendor_lead_code;\n securityPhrase = this.manualDialCallResponse.show;\n }\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n campaign: this.cleanString(this.myVars.campaign),\n ACTION: 'updateLEAD',\n format: 'text',\n lead_id: leadId,\n vendor_lead_code: this.cleanString(vendorLeadCode), // se debe procesar de la respuesta del incoming\n phone_number: phone,\n title: title,\n first_name: first_name,\n middle_initial: middle_initial,\n last_name: last_name,\n address1: address1,\n address2: address2,\n address3: address3,\n city: city,\n state: state,\n province: province,\n postal_code: postal_code,\n country_code: country_code,\n gender: gender,\n date_of_birth: date_of_birth,\n alt_phone: alt_phone,\n email: email,\n security_phrase: this.cleanString(securityPhrase),\n comments: comments,\n };\n this.vicidialService.updateLead(params).subscribe((resp: any) => {\n // this.transferCloser(grupo);\n });\n }\n\n stateDTMF() {\n this.viewDTMF = !this.viewDTMF;\n }\n\n conectar() {\n this.vozState = 'conectado';\n }\n\n changeVozState(state) {\n this.vozState = state;\n if (state == 'logout') {\n this.logOut();\n }\n if (state == 'pause') {\n this.pause();\n this.currentPause = this.pauseOptions[1];\n }\n }\n\n viewPhone() {\n this.viewPhoneState = !this.viewPhoneState;\n }\n\n call() {\n this.vozState = 'incall';\n }\n\n hangUp(callInBound) {\n // this.clickHandler();\n if (this.subscribeIntervalConnected) {\n this.subscribeIntervalConnected.unsubscribe();\n }\n this.mm = 0;\n this.ss = 0;\n this.ms = 0;\n this.isRunning = false;\n this.timerId = 0;\n this.vozState = 'pause';\n\n if (this.subscribeIntervalPause) {\n this.subscribeIntervalPause.unsubscribe();\n }\n this.mmPause = 0;\n this.ssPause = 0;\n this.msPause = 0;\n this.isRunningPause = false;\n\n if (this.subscribeIntervalXfer) {\n this.subscribeIntervalXfer.unsubscribe();\n }\n this.mmXfer = 0;\n this.ssXfer = 0;\n this.msXfer = 0;\n this.isRunningXfer = false;\n\n if (this.subscribeIntervalPauseXfer) {\n this.subscribeIntervalPauseXfer.unsubscribe();\n }\n this.mmPauseXfer = 0;\n this.ssPauseXfer = 0;\n this.msPauseXfer = 0;\n this.isRunningPauseXfer = false;\n\n if (callInBound) {\n // Colgado de llamada entrante\n this.hangoutCustomerCall(callInBound);\n } else {\n // Caldago de llamada manual\n this.hangoutConfDialManual();\n }\n this.dataCallSumary = null;\n }\n\n logOut() {\n let pause = {\n key: 'offline',\n };\n\n this.vicidialService.registerPause(pause).subscribe((resp) => {});\n this.logoutAction = false;\n let params = {};\n if (this.myVars && this.myVars.server_vicidial) {\n params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n ACTION: 'userLOGout',\n format: 'text',\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n orig_pass: this.cleanString(this.myVars.pass),\n campaign: this.cleanString(this.myVars.campaign),\n conf_exten: this.cleanString(this.myVars.session_id),\n extension: this.cleanString(this.myVars.extension),\n protocol: this.cleanString(this.myVars.protocol),\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n no_delete_sessions: 1,\n phone_ip: '',\n enable_sipsak_messages: '0',\n LogouTKicKAlL: '1',\n ext_context: 'default',\n qm_extension: this.cleanString(this.myVars.extension),\n stage: 'NORMAL',\n pause_trigger: '',\n dial_method: 'RATIO',\n };\n }\n this.stendCheckRequest.unsubscribe();\n this.vicidialService.logout(params).subscribe(\n (resp: any) => {\n this.viewPhoneButton.emit(false);\n // this.stendCheckRequest.unsubscribe();\n if (this.inCommingRequest) this.inCommingRequest.unsubscribe();\n this.vicidialActive.emit(false);\n localStorage.removeItem('varsVicidial');\n this.ngOnDestroy();\n this.isLogin = false;\n },\n (error) => {\n // if(this.errorNetwork){\n this.viewPhoneButton.emit(false);\n this.stendCheckRequest.unsubscribe();\n if (this.inCommingRequest) this.inCommingRequest.unsubscribe();\n this.vicidialActive.emit(false);\n localStorage.removeItem('varsVicidial');\n // }\n }\n );\n this.viewPhone();\n }\n\n pause(key?) {\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n ACTION: 'VDADpause',\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n stage: 'PAUSED',\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n agent_log: '',\n wrapup: '',\n campaign: this.cleanString(this.myVars.campaign),\n dial_method: this.cleanString(this.myVars.dial_method),\n comments: '',\n qm_extension: this.cleanString(this.myVars.extension),\n };\n this.vicidialService.setAgentStatus(params).subscribe((resp: any) => {\n this.vozState = 'pause';\n this.checkStatusLocal = 'PAUSED';\n this.setPauseCode(key);\n if (this.inCommingRequest) {\n this.inCommingRequest.unsubscribe();\n }\n });\n }\n\n setPauseCode(key?) {\n let statusPhone = key;\n if (key == 'training') {\n statusPhone = 'traini';\n }\n if (key == 'feedback') {\n statusPhone = 'feedba';\n }\n if (key == 'llamada-saliente') {\n statusPhone = 'llamad';\n }\n if (key == 'marcacion-manual') {\n statusPhone = 'marcac';\n }\n if (key == 'offline') {\n statusPhone = 'offlin';\n }\n if (key == 'pausa_activa') {\n statusPhone = 'pausa_';\n }\n if (key == 'pre-turno') {\n statusPhone = 'pre-tu';\n }\n if (key == 'break') {\n statusPhone = 'break';\n }\n if (key == 'banio') {\n statusPhone = 'banio';\n }\n if (key == 'Lunch') {\n statusPhone = 'Lunch';\n }\n if (key == 'acw') {\n statusPhone = 'acw';\n }\n if (key == null) {\n statusPhone = 'pre-tu';\n key = 'pre-turno';\n }\n\n const pause = {\n key: key,\n };\n\n this.vicidialService.registerPause(pause).subscribe((resp) => {});\n\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'PauseCodeSubmit',\n format: 'text',\n status: statusPhone,\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n campaign: this.cleanString(this.myVars.campaign),\n extension: this.cleanString(this.myVars.extension),\n protocol: this.cleanString(this.myVars.protocol),\n phone_ip: '',\n enable_sipsak_messages: 0,\n stage: 0,\n campaign_cid: '',\n auto_dial_level: this.cleanString(this.myVars.auto_dial_level),\n MDnextCID: '',\n };\n\n this.vicidialService.setPauseCode(params).subscribe((resp: any) => {});\n }\n\n cleanString(entry) {\n return entry ? entry.replaceAll(\"'\", '') : '';\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n /**\n Esto solo funciona para algunos formularios, los formularios que manejen notificacions de lead por plataformas externas\n al recibir una llamada marcara el lead leido cuando vicidial detecte que la llamada se conecto con el cliente\n */\n makeNotificationLeadReaded() {\n this.formsRequestService\n .getData(`lead/notification/${this.formId}/${this.rrhhId}`)\n .subscribe((res) => {});\n }\n\n transferBlind() {\n let call_server_ip;\n\n if (this.inCommingResponse != null) {\n call_server_ip = this.inCommingResponse.serverIP;\n } else {\n call_server_ip = this.myVars.server_ip;\n }\n let phoneNumber = this.phone2;\n\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'RedirectVD',\n format: 'text',\n channel: this.inCommingResponse.channel,\n call_server_ip: call_server_ip,\n queryCID:\n 'XBvdcW' +\n this.cleanString(this.myVars.epoch_sec) +\n '' +\n this.cleanString(this.myVars.user_abb),\n exten: `123${phoneNumber}`,\n ext_context: 'default',\n ext_priority: '1',\n auto_dial_level: this.cleanString(this.myVars.auto_dial_level),\n campaign: this.cleanString(this.myVars.campaign),\n uniqueid: this.inCommingResponse.uniqueId,\n lead_id: this.inCommingResponse.leadId,\n secondS: this.ss,\n session_id: this.cleanString(this.myVars.session_id),\n CalLCID: this.inCommingResponse.mdNextCID,\n customerparked: 0,\n };\n this.vicidialService.transfer(params).subscribe((resp: any) => {\n this.hangout(true);\n // this.telephone = null;\n // this.phone2 = null;\n // this.inCommingResponse = null;\n // this.selectGroup();\n });\n }\n\n /**\n * Primero se envia la llamada principal al park y despues de inicia la marcacion xFer\n */\n parkCustomerDial() {\n this.parking();\n this.xfer3WayCallDial();\n }\n xfer3WayCallDial() {\n const phoneNumber = this.phone2;\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'Originate',\n format: 'text',\n channel: `Local/123${phoneNumber}@default`,\n queryCID: this.getQueryCIDxFer(), // ??????????????????????\n exten: this.cleanString(this.myVars.session_id),\n ext_context: 'default',\n ext_priority: 1,\n outbound_cid: this.cleanString(this.myVars.outbound_cid),\n usegroupalias: 0,\n preset_name: '',\n campaign: this.cleanString(this.myVars.campaign),\n account: '',\n agent_dialed_number: 1,\n agent_dialed_type: 'XFER_3WAY',\n lead_id: this.inCommingResponse.leadId,\n stage: 0,\n alertCID: 0,\n cid_lock: 0,\n session_id: this.cleanString(this.myVars.session_id),\n call_variables: `__vendor_lead_code=IVR_SOPORTE,__lead_id=${this.inCommingResponse.leadId}`, //IVR_SOPORTE ??????????????????\n };\n this.vicidialService.post('xfer/originate', params).subscribe((resp) => {\n this.beginCallTimexFer = new Date();\n this.dialLookCallXfer();\n this.callingXfer = true;\n });\n }\n dialLookCallXfer() {\n /**\n * Despues de ejecutar el api call que inicia el 3 way se ejecuta el manDialLookCall el cual seg a seg estara escuchando hasta que el\n * contacto atienda la llamada, en ese punto se reibe el canal y el uid de la llamada\n */\n this.timeInDiall = new Date();\n /**\n\t Si la marcacion manual tiene 30 o mas segundos sin recibir rspuesta se cancelan los intentos\n\t y se deja al agente nuevamente en pausa\n\t */\n if (\n this.timeInDiall.getTime() - this.beginCallTimexFer.getTime() >=\n 60000\n ) {\n this.notificationService.alertInfo(\n 'Estado de llamada',\n 'Tiempo de marcación agotado'\n );\n this.callingXfer = false;\n this.manDiaLlookCaLLRequest.unsubscribe();\n throw new Error('Tiempo de marcación agotado');\n }\n\n const lookCallParams = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n ACTION: 'manDiaLlookCaLL',\n conf_exten: this.cleanString(this.myVars.session_id),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n MDnextCID: this.getQueryCIDxFer(),\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n lead_id: this.inCommingResponse.leadId,\n DiaL_SecondS: this.ss,\n stage: 'YES',\n campaign: this.cleanString(this.myVars.campaign),\n phone_number: this.telephone,\n routing_initiated_recording: this.cleanString(\n this.myVars.routing_initiated_recording\n ),\n };\n this.manDiaLlookCaLLRequest = this.vicidialService\n .manDialCallLookUp(lookCallParams)\n .pipe(delay(1000))\n .subscribe((resp: any) => {\n if (resp.data) {\n this.clickHandlerXfer();\n this.callingXfer = false;\n this.isTransfer = true;\n this.manDiaLlookCaLLRequest.unsubscribe();\n this.xferLookCallResponse = resp.data;\n } else {\n this.dialLookCallXfer();\n }\n });\n }\n\n set_length(SLnumber, SLlength_goal, SLdirection) {\n var sLnumber = SLnumber + '';\n var begin_point = 0;\n var number_length = sLnumber.length;\n if (number_length > SLlength_goal) {\n if (SLdirection == 'right') {\n begin_point = number_length - SLlength_goal;\n sLnumber = sLnumber.substr(begin_point, SLlength_goal);\n } else {\n sLnumber = sLnumber.substr(0, SLlength_goal);\n }\n }\n var result = sLnumber + '';\n while (result.length < SLlength_goal) {\n result = '0' + result;\n }\n return result;\n }\n\n getQueryCIDxFer() {\n let leadCID = this.inCommingResponse.leadId;\n let epochCID = this.myVars.epoch_sec;\n if (leadCID.length < 1) {\n leadCID = this.myVars.user_abb;\n }\n leadCID = this.set_length(leadCID, '10', 'left');\n epochCID = this.set_length(epochCID, '6', 'right');\n return 'DC' + epochCID + 'W' + leadCID + 'W';\n }\n\n hangupXFerCall() {\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n ACTION: 'Hangup',\n format: 'text',\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n channel: this.xferLookCallResponse\n ? this.xferLookCallResponse.channel\n : '',\n queryCID:\n 'HXvdcW' +\n this.cleanString(this.myVars.epoch_sec) +\n '' +\n this.cleanString(this.myVars.user_abb),\n log_campaign: this.cleanString(this.myVars.campaign),\n qm_extension: this.cleanString(this.myVars.extension),\n };\n this.vicidialService.post(`hangup`, params).subscribe((resp) => {\n if (this.subscribeIntervalXfer) {\n this.subscribeIntervalXfer.unsubscribe();\n }\n if (this.subscribeIntervalPauseXfer) {\n this.subscribeIntervalPauseXfer.unsubscribe();\n }\n this.mmXfer = 0;\n this.ssXfer = 0;\n this.mmPauseXfer = 0;\n this.ssPauseXfer = 0;\n this.msPauseXfer = 0;\n this.isRunningPauseXfer = false;\n this.callXferPause = false;\n this.phone2 = null;\n this.isTransfer = false;\n /**\n *\n *\n * AQUI VAN LAS REGLAS QUE DEFINAMOS\n *\n *\n *\n */\n });\n }\n\n parkCallXfer() {\n let call_server_ip;\n\n if (this.inCommingResponse != null) {\n call_server_ip = this.inCommingResponse.serverIP;\n } else {\n call_server_ip = this.myVars.server_ip;\n }\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'RedirectToParkXfer',\n format: 'text',\n channel: this.xferLookCallResponse.channel,\n call_server_ip: call_server_ip,\n queryCID:\n 'LXvdcW' +\n this.cleanString(this.myVars.epoch_sec) +\n '' +\n this.cleanString(this.myVars.user_abb),\n exten: this.cleanString(this.myVars.park_on_extension),\n ext_context: 'default',\n ext_priority: 1,\n extenName: 'park',\n parkedby: 'SIP/' + this.cleanString(this.myVars.extension),\n session_id: this.cleanString(this.myVars.session_id),\n CalLCID: this.getQueryCIDxFer(),\n uniqueid: this.xferLookCallResponse.uniqueId,\n lead_id: this.inCommingResponse.leadId,\n campaign: this.cleanString(this.myVars.campaign),\n };\n this.vicidialService.parking(params).subscribe((resp: any) => {\n this.clickHandlerPauseXfer();\n this.callXferPause = true;\n /***\n *\n *\n * AQUI VAN LAS REGLAS QUE DEFINAMOS\n *\n *\n *\n */\n });\n }\n\n recoveryCallXfer() {\n let call_server_ip;\n\n if (this.inCommingResponse != null) {\n call_server_ip = this.inCommingResponse.serverIP;\n } else {\n call_server_ip = this.myVars.server_ip;\n }\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'RedirectFromParkXfer',\n format: 'text',\n channel: this.xferLookCallResponse.channel,\n call_server_ip: call_server_ip,\n queryCID:\n 'FXvdcW' +\n this.cleanString(this.myVars.epoch_sec) +\n '' +\n this.cleanString(this.myVars.user_abb),\n exten: this.cleanString(this.myVars.session_id),\n ext_context: 'default',\n ext_priority: 1,\n session_id: this.cleanString(this.myVars.session_id),\n CalLCID: this.getQueryCIDxFer(),\n uniqueid: this.xferLookCallResponse.uniqueId,\n lead_id: this.inCommingResponse.leadId,\n campaign: this.cleanString(this.myVars.campaign),\n };\n\n this.vicidialService.parkingRecovery(params).subscribe((resp: any) => {\n this.subscribeIntervalPauseXfer.unsubscribe();\n this.mmPauseXfer = 0;\n this.ssPauseXfer = 0;\n this.msPauseXfer = 0;\n this.isRunningPauseXfer = false;\n this.callXferPause = false;\n /***\n *\n *\n * AQUI VAN LAS REGLAS QUE DEFINAMOS\n *\n *\n *\n */\n });\n }\n\n /**\n * Metodo que permite desconectarse del canal con los dos posibles clientes\n */\n redirectXTraNew() {\n let call_server_ip;\n\n if (this.inCommingResponse != null) {\n call_server_ip = this.inCommingResponse.serverIP;\n } else {\n call_server_ip = this.myVars.server_ip;\n }\n /**\n * CUANDO UNA LLAMADA ESTE EN EL PARKING\n */\n if (this.callPause) {\n this.recoveryParking();\n }\n\n let params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'RedirectXtraNeW',\n format: 'text',\n channel: this.inCommingResponse.channel,\n call_server_ip: call_server_ip,\n queryCID:\n 'VXvdcW' +\n this.cleanString(this.myVars.epoch_sec) +\n '' +\n this.cleanString(this.myVars.user_abb),\n exten: 'NEXTAVAILABLE',\n ext_context: 'default',\n ext_priority: 1,\n extrachannel: this.xferLookCallResponse.channel,\n lead_id: this.inCommingResponse.leadId,\n phone_code: 1,\n phone_number: this.inCommingResponse.phoneCustomer,\n filename: 'FIRST',\n campaign: '6786678678', ///?????????????????????????????????????\n session_id: this.cleanString(this.myVars.session_id),\n agentchannel: this.configCheckResponse.agentChannel,\n protocol: this.cleanString(this.myVars.protocol),\n extension: this.cleanString(this.myVars.extension),\n auto_dial_level: this.cleanString(this.myVars.auto_dial_level),\n CalLCID: this.inCommingResponse.mdNextCID,\n customerparked: 0,\n };\n\n this.vicidialService\n .post(`xfer/redirectxtranew`, params)\n .subscribe((resp) => {\n if (this.subscribeIntervalXfer) {\n this.subscribeIntervalXfer.unsubscribe();\n }\n if (this.subscribeIntervalPauseXfer) {\n this.subscribeIntervalPauseXfer.unsubscribe();\n }\n this.mmXfer = 0;\n this.ssXfer = 0;\n this.mmPauseXfer = 0;\n this.ssPauseXfer = 0;\n this.msPauseXfer = 0;\n this.isRunningPauseXfer = false;\n this.callXferPause = false;\n this.phone2 = null;\n this.isTransfer = false;\n /**\n *\n *\n * AQUI VAN LAS REGLAS QUE DEFINAMOS\n *\n *\n *\n */\n this.hangout2(true, true);\n });\n }\n\n hangupBothCalls() {\n this.phone2 = null;\n this.hangupXFerCall();\n this.hangoutCustomerCall(true);\n }\n\n /**\n * DTMF\n */\n option = null;\n sendDTMF() {\n let channel = null;\n if (this.xferLookCallResponse) {\n channel = this.xferLookCallResponse.channel;\n } else if (this.manualDialCalLookUpResponse) {\n channel = this.manualDialCalLookUpResponse.channel;\n }\n\n if (!channel) {\n this.notificationService.alertInfo(\n 'Estado de llamada',\n 'Canal de Comunicación no identificado.'\n );\n this.option = null;\n throw new Error('Canal de Comunicación no identificado.');\n }\n\n // Parametros para pruebas, despues de confirmar borrar\n // * @param server_vicidial (DNS de vicidial)\n // * @param server_ip: 172.10.7.98\n // * @param session_name: 1625665929_30300312359099\n // * @param user: 862925\n // * @param pass: 862925\n // * @param ACTION: SysCIDdtmfOriginate\n // * @param format: text\n // * @param channel: local/8500998@default\n // * @param queryCID: 1\n // * @param exten: 78600051\n // * @param ext_context: default\n // * @param ext_priority: 1\n let params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'SysCIDdtmfOriginate',\n format: 'text',\n channel: this.cleanString(this.myVars.dtmf_send_extension),\n queryCID: this.option,\n exten:\n this.cleanString(this.myVars.dtmf_silent_prefix) +\n this.cleanString(this.myVars.session_id),\n ext_priority: 1,\n ext_context: this.cleanString(this.myVars.ext_context),\n };\n this.vicidialService.post(`dtmf`, params).subscribe((resp) => {\n this.option = null;\n /**\n * Algunas reglas?\n */\n });\n }\n\n /**\n * Funcion que actualiza el estado de tipificacion en vicidial\n * @param Action:\n */\n updateDispo() {\n let leadId;\n let uniqueId;\n let mdNextCID;\n let listId = this.myVars.mdnLisT_id;\n let phoneNumber;\n let recordingFilename = this.cleanString(this.myVars.campaign_rec_filename);\n let recordingId;\n let exten;\n let confExten;\n let calledCount;\n let phoneCode;\n let stage;\n\n if (this.inCommingResponse != null) {\n leadId = this.inCommingResponse.leadId;\n uniqueId = this.inCommingResponse.uniqueId;\n mdNextCID = this.inCommingResponse.mdNextCID;\n phoneNumber = this.inCommingResponse.phoneCustomer;\n phoneCode = this.inCommingResponse.dialCode;\n listId = this.inCommingResponse.listId;\n stage = this.inCommingResponse.campaign;\n }\n if (this.manualDialCallResponse != null) {\n leadId = this.manualDialCallResponse.leadId;\n uniqueId = this.manualDialCalLookUpResponse ? this.manualDialCalLookUpResponse.uid : '';\n mdNextCID = this.manualDialCallResponse.mdNextCID;\n listId = this.manualDialCallResponse.listId;\n phoneNumber = this.manualDialCallResponse.phoneCustomer;\n calledCount = this.manualDialCallResponse.called_count;\n phoneCode = this.manualDialCallResponse.dialCode;\n }\n\n if (this.manDiaLlogCallEndResponse != null) {\n recordingFilename = this.manDiaLlogCallEndResponse.recording_filename;\n exten = this.manDiaLlogCallEndResponse.exten;\n confExten = this.manDiaLlogCallEndResponse.conf_exten;\n recordingId = this.manDiaLlogCallEndResponse.recording_id;\n calledCount = '1';\n }\n if (this.telephone) {\n phoneNumber = this.telephone;\n phoneCode = '1';\n }\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n ACTION: 'updateDISPO',\n format: 'text',\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n orig_pass: this.cleanString(this.myVars.pass),\n dispo_choice: 'MIOS',\n lead_id: leadId,\n campaign: this.cleanString(this.myVars.campaign),\n auto_dial_level: this.cleanString(this.myVars.auto_dial_level),\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n CallBackDatETimE: '',\n list_id: listId,\n recipient: '',\n use_internal_dnc: this.cleanString(this.myVars.use_internal_dnc),\n use_campaign_dnc: this.cleanString(this.myVars.use_campaign_dnc),\n MDnextCID: mdNextCID,\n stage: stage ?? this.cleanString(this.myVars.campaign),\n vtiger_callback_id: this.cleanString(this.myVars.vtiger_callback_id),\n phone_number: phoneNumber,\n phone_code: '1',\n dial_method: this.cleanString(this.myVars.dial_method),\n uniqueid: uniqueId,\n CallBackLeadStatus: '',\n comments: '',\n custom_field_names: '|',\n call_notes: '',\n dispo_comments: '',\n cbcomment_comments: '',\n qm_dispo_code: '',\n email_enabled: 0,\n recording_id: recordingId,\n recording_filename: recordingFilename,\n called_count: calledCount ?? '1',\n parked_hangup: 0,\n phone_login: this.cleanString(this.myVars.phone_login),\n agent_email: '',\n conf_exten: confExten,\n camp_script: '',\n in_script: '',\n customer_server_ip: '',\n exten: exten,\n original_phone_login: this.cleanString(this.myVars.original_phone_login),\n phone_pass: this.cleanString(this.myVars.phone_pass),\n callback_gmt_offset: '',\n callback_timezone: '',\n customer_sec: 0,\n };\n this.vicidialService.updateDispo(params).subscribe((resp: any) => {\n this.clearVariables();\n /***\n *\n *\n * AQUI VAN LAS REGLAS QUE DEFINAMOS\n *\n *\n *\n */\n });\n }\n\n clearVariables() {\n this.manualDialCalLookUpResponse = null;\n this.inCommingResponse = null;\n this.manualDialCallResponse = null;\n }\n\n requestCall() {\n this.manDialNextCall();\n }\n\n manDialNextCall() {\n // Peticion de lista, Marcacion Manual\n this.joinToCall();\n this.callInBound = false;\n this.disableHangout = true;\n this.manualDialCalLookUpResponse = null;\n this.tryLookCallAgain = true;\n const params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n ACTION: 'manDiaLnextCaLL',\n conf_exten: this.cleanString(this.myVars.session_id),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n campaign: this.cleanString(this.myVars.campaign),\n ext_context: 'default',\n dial_timeout: this.cleanString(this.myVars.dial_timeout),\n dial_prefix: this.cleanString(this.myVars.dial_prefix),\n campaign_cid: this.cleanString(this.myVars.campaign_cid),\n preview: 'NO',\n agent_log_id: this.cleanString(this.myVars.agent_log_id),\n callback_id: '',\n lead_id: '',\n phone_code: '',\n phone_number: '',\n list_id: this.cleanString(this.myVars.mdnLisT_id),\n stage: '',\n use_internal_dnc: this.cleanString(this.myVars.use_internal_dnc),\n use_campaign_dnc: this.cleanString(this.myVars.use_campaign_dnc),\n omit_phone_code: this.cleanString(this.myVars.omit_phone_code),\n manual_dial_filter: this.cleanString(this.myVars.manual_dial_filter),\n manual_dial_search_filter: this.cleanString(\n this.myVars.manual_dial_search_filter\n ),\n vendor_lead_code: '0',\n usegroupalias: '',\n account: '',\n agent_dialed_number: '',\n agent_dialed_type: '',\n vtiger_callback_id: this.cleanString(this.myVars.vtiger_callback_id),\n dial_method: this.cleanString(this.myVars.dial_method),\n manual_dial_call_time_check: this.cleanString(\n this.myVars.manual_dial_call_time_check\n ),\n qm_extension: this.cleanString(this.myVars.extension),\n dial_ingroup: '',\n nocall_dial_flag: this.cleanString(this.myVars.nocall_dial_flag),\n cid_lock: this.cleanString(this.myVars.cid_lock),\n last_VDRP_stage: 'PAUSED',\n routing_initiated_recording: this.cleanString(\n this.myVars.routing_initiated_recording\n ),\n exten: this.cleanString(this.myVars.recording_exten),\n recording_filename: this.cleanString(this.myVars.campaign_rec_filename),\n channel:\n 'Local/5' + this.cleanString(this.myVars.session_id) + '@default', // Se debe sacar de la respuesta del check config\n manual_dial_validation: this.cleanString(\n this.myVars.manual_dial_validation\n ),\n phone_login: this.cleanString(this.myVars.phone_login),\n };\n this.vicidialService.manDialCall(params).subscribe((resp: any) => {\n if (resp.data.mdNextCID !== 'HOPPER EMPTY') {\n this.vozState = 'incall';\n this.manualDialCallResponse = resp.data;\n this.beginManualDialgCall = new Date();\n this.vicidialService.setCallResponse({\n address1: resp.data.address1 ? resp.data.address1 : null,\n address2: resp.data.address2 ? resp.data.address2 : null,\n address3: resp.data.address3 ? resp.data.address3 : null,\n altPhone: resp.data.altPhone ? resp.data.altPhone : null,\n city: resp.data.city ? resp.data.city : null,\n comments: resp.data.comments ? resp.data.comments : null,\n countryCode: resp.data.countryCode ? resp.data.countryCode : null,\n dateOfBirth: resp.data.dateOfBirth ? resp.data.dateOfBirth : null,\n email: resp.data.email ? resp.data.email : null,\n first: resp.data.first ? resp.data.first : null,\n gender: resp.data.gender ? resp.data.gender : null,\n ivrSelected: resp.data.ivrSelected ? resp.data.ivrSelected : null,\n last: resp.data.last ? resp.data.last : null,\n leadId: resp.data.leadId,\n phoneCustomer: resp.data.phoneCustomer,\n documentType: resp.data.documentType\n ? resp.data.documentType\n : null,\n documentNumber: resp.data.documentNumber\n ? resp.data.documentNumber\n : null,\n uid: resp.data.uniqueId,\n cui: resp.data.mdNextCID,\n postCode: resp.data.postCode ? resp.data.postCode : null,\n province: resp.data.province ? resp.data.province : null,\n state: resp.data.state ? resp.data.state : null,\n tittle: resp.data.tittle ? resp.data.tittle : null,\n });\n this.callResponse.emit({\n address1: resp.data.address1 ? resp.data.address1 : null,\n address2: resp.data.address2 ? resp.data.address2 : null,\n address3: resp.data.address3 ? resp.data.address3 : null,\n altPhone: resp.data.altPhone ? resp.data.altPhone : null,\n city: resp.data.city ? resp.data.city : null,\n comments: resp.data.comments ? resp.data.comments : null,\n countryCode: resp.data.countryCode ? resp.data.countryCode : null,\n dateOfBirth: resp.data.dateOfBirth ? resp.data.dateOfBirth : null,\n email: resp.data.email ? resp.data.email : null,\n first: resp.data.first ? resp.data.first : null,\n gender: resp.data.gender ? resp.data.gender : null,\n ivrSelected: resp.data.ivrSelected ? resp.data.ivrSelected : null,\n last: resp.data.last ? resp.data.last : null,\n leadId: resp.data.leadId,\n phoneCustomer: resp.data.phoneCustomer,\n documentType: resp.data.documentType\n ? resp.data.documentType\n : null,\n documentNumber: resp.data.documentNumber\n ? resp.data.documentNumber\n : null,\n uid: resp.data.uniqueId,\n cui: resp.data.mdNextCID,\n postCode: resp.data.postCode ? resp.data.postCode : null,\n province: resp.data.province ? resp.data.province : null,\n state: resp.data.state ? resp.data.state : null,\n tittle: resp.data.tittle ? resp.data.tittle : null,\n });\n this.manDiaLlookCaLL();\n this.monitorConf();\n } else {\n this.alertsService.alertInfo(\n 'Solicitud no procesada',\n 'Hopper de marcacion vacio'\n );\n }\n });\n }\n\n rpa() {\n if (this.inCommingResponse != null) {\n this.vicidialService.setStatusRPA(true, this.inCommingResponse.uniqueId);\n } else {\n this.vicidialService.setStatusRPA(\n true,\n this.manualDialCalLookUpResponse.uid\n );\n }\n }\n\n vdRelogin() {\n let params = {\n server_vicidial: this.cleanString(this.myVars.server_vicidial),\n server_ip: this.cleanString(this.myVars.server_ip),\n session_name: this.cleanString(this.myVars.session_name),\n user: this.cleanString(this.myVars.user),\n pass: this.cleanString(this.myVars.pass),\n ACTION: 'OriginateVDRelogin',\n format: 'text',\n channel: 'SIP/' + this.cleanString(this.myVars.extension),\n queryCID:\n 'ACagcW' +\n this.cleanString(this.myVars.epoch_sec) +\n '' +\n this.cleanString(this.myVars.user_abb),\n exten: this.cleanString(this.myVars.session_id),\n ext_context: 'default',\n ext_priority: 1,\n extension: this.cleanString(this.myVars.extension),\n protocol: this.cleanString(this.myVars.protocol),\n phone_ip: this.cleanString(this.myVars.phone_ip),\n enable_sipsak_messages: 0,\n allow_sipsak_messages: 0,\n campaign: this.cleanString(this.myVars.campaign),\n outbound_cid: this.cleanString(this.myVars.outbound_cid),\n };\n this.vicidialService.vdRelogin(params).subscribe((resp: any) => {});\n }\n\n\n}\n","
\n \n
\n\n
\n \n
\n
\n \n \n \n {{ pauseOption.name }}\n \n \n \n \n \n \n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n Seleccione la Campaña\n \n \n {{\n config.vicidial_config.campaign_vicidial }}\n \n \n
\n
\n
\n
Error de\n comunicación, intentando restablecer conexión.
\n
\n
\n
\n
\n Revisar conexión al marcador, y reiniciar servicio.\n
\n \n
\n \n \n
\n
\n \n Seleccione el grupo\n \n {{ group }}\n \n \n
\n \n Blended\n \n
\n \n \n \n \n
\n
\n \n \n Número de teléfono:\n \n \n
\n \n
\n
\n
En espera\n de tipificación del cliente.
\n
\n
\n
\n {{ groupSelected }}\n
\n
En espera\n de llamada entrante...
\n
\n
\n Llamando...\n
\n
\n {{this.manualDialCallResponse?.phoneCustomer}}\n
\n
\n {{ telephone }}\n
\n
\n
\n \n Pausa\n
\n
\n \n Transferir\n
\n
\n \n
\n
5 ? 'red' : 'initial' }\">\n

Llamadas en espera: {{ configCheckResponse?.callsInQueue }}

\n
\n \n
\n
\n
Conectado:
\n
\n {{ inCommingResponse.ivrSelected }}\n
\n
\n
\n
Linea:
\n
{{ telephone }}
\n 0\" >\n
Comments:
\n
{{ inCommingResponse.comments }}
\n
\n
Duración de la llamada actual:
\n
{{ format(mm) }}:{{ format(ss) }}
\n
\n
\n
Canal de contacto:
\n
\n Gestion Outbound -\n Whatsapp
\n
\n
= 1\">\n
Estado:
\n
Dead Call
\n
\n
Acciones:
\n
\n
\n \n Pausa\n
\n
\n \n Pausa\n
{{ format(mmPause) }}:{{ format(ssPause) }}\n
\n
\n
\n \n Transferir\n
\n
\n \n Res Bot\n
\n \n \n \n \n \n \n \n \n
\n \n Número de teléfono:\n \n \n
\n
\n \n \n \n
\n
\n
\n \n
\n
\n
\n
\n Llamando...
\n
\n Conectado\n
\n
\n {{ phone2 }}\n
\n
{{ format(mmXfer) }}:{{ format(ssXfer) }}
\n
\n
\n
\n \n Pausa\n
\n
\n \n Pausa\n
{{ format(mmPauseXfer) }}:{{\n format(ssPauseXfer) }}
\n
\n
\n call_end\n Colgar\n
\n \n \n \n \n \n
\n
\n
\n \n
\n
\n \n DTMF\n
\n \n
\n \n DTMF:\n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { SpeechAnalyticsComponent } from './speech-analytics.component';\nimport { StrategyMenuComponent } from './modules/strategy/strategy-menu/strategy-menu.component';\nimport { AdminComponent } from './modules/configuration-administrator/admin/admin.component';\nimport { NodirigidoComponent } from './modules/nodirigido/nodirigido.component';\nimport { SpeechmenuComponent } from './modules/search-speech/speech-menu/speech-menu.component';\nimport { SpeechChatMainComponent } from './modules/chat-speech/speech-chat-main/speech-chat-main.component';\nimport { HistoryMainMenuComponent } from './modules/search-history/history-main-menu/history-main-menu.component';\nimport { ManagerListEmailsComponent } from './modules/email-manager/pages/manager-list-emails/manager-list-emails.component';\n\nconst routes: Routes = [\n { path: '', component: SpeechAnalyticsComponent },\n { path: 'strategy', component: StrategyMenuComponent},\n { path: 'admin', component: AdminComponent},\n { path: 'search', component: SpeechmenuComponent},\n { path: 'no-dir', component: NodirigidoComponent},\n { path: 'history', component: HistoryMainMenuComponent},\n { path: 'chat', component: SpeechChatMainComponent},\n { path: 'email-manager', component: ManagerListEmailsComponent }\n]\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class SpeechAnalyticsRoutingModule { }\n","import { Component, Inject, OnInit } from '@angular/core';\nimport {FormArray, FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { FormsRequestService } from 'src/app/modules/crm_v2/services/rest/forms-request.service';\nimport { TemplatesService } from 'src/app/modules/crm_v2/services/rest/templates.service';\n\n@Component({\n selector: 'app-save-template',\n templateUrl: './save-template.component.html',\n styleUrls: ['./save-template.component.sass']\n})\n\nexport class SaveTemplateComponent implements OnInit {\n firstStep: FormGroup;\n secondStep: FormGroup;\n thirdStep: FormGroup;\n template: any[] = [];\n form: any;\n\n constructor(private _formBuilder: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public datos: any,\n public formsRequestService: FormsRequestService,\n private destroyService: DestroyComponentService) {\n this.secondStep = this._formBuilder.group({});\n }\n\n ngOnInit() {\n\n this.firstStep = this._formBuilder.group({\n nombre: new FormControl('', [Validators.required, Validators.maxLength(50), Validators.minLength(3)]),\n caracter: new FormControl('', [Validators.required, Validators.maxLength(1), Validators.minLength(1)]),\n });\n\n this.secondStep = this._formBuilder.group({});\n\n this.formsRequestService.getForm(`searchform/${this.datos.idForm}`, 1000, 1).subscribe(res => {\n\n this.form = res.section;\n\n this.form.forEach(sections => {\n sections.fields.forEach(element => {\n this.secondStep.addControl(element.key, new FormControl(''));\n this.secondStep.addControl(element.key + 'radio', new FormControl(''));\n this.secondStep.addControl(element.key + 'check', new FormControl(''));\n });\n });\n\n });\n\n this.thirdStep = this._formBuilder.group({\n fields: this._formBuilder.array([])\n });\n\n this.newFields();\n }\n\n get errorForm1(): any { return this.firstStep.controls; }\n\n get fields(): FormArray {\n return this.thirdStep.get('fields') as FormArray;\n }\n\n newFields(): any {\n const newField = this._formBuilder.group({\n name: new FormControl(''),\n caracter: new FormControl(''),\n option: new FormControl('')\n });\n this.fields.push(newField);\n }\n\n deleteField(indice: number): void {\n this.fields.removeAt(indice);\n }\n\n omitSpecialChar(event): any {\n let k;\n k = event.charCode;\n return((k > 32 && k < 48 || k > 57 && k < 65 || k > 90 && k < 97 || k > 122 && k < 127));\n }\n\n guardar(): void {\n\n /* const template = {\n\n } */\n\n console.log('form1', this.firstStep.getRawValue());\n console.log('form2', this.secondStep.getRawValue());\n console.log('form3', this.thirdStep.getRawValue());\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}","

{{datos.title}}\n \n

\n\n \n\n \n \n \n \n \n \n\n Nombre plantilla\n\n
\n Personaliza la plantilla\n

Escribe el nombre que tendrá la plantilla y el caracter que separara los datos del formulario.

\n
\n\n
\n \n \n Nombre de la plantilla \n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 50 caracteres\n \n\n \n Caracter que separa los datos \n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 1 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 1 caracteres\n \n \n
\n\n \n \n \n \n\n
\n\n \n \n Campos plantilla\n\n
\n Selección de campos del a plantilla\n

Selecciona los campos que deseas que vayan en la plantilla y el caracter que encerrara ese campo.

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

\n\n

Seccion: {{section.name_section}}

\n\n
Seleccionar campo
\n\n
\n\n
¿Incluir nombre del campo?
\n\n

\n
\n\n
{{item.label}}
\n\n
\n \n \n Caracter especial\n \n \n \n
\n\n
\n \n Si\n No\n \n
\n\n \n\n
\n

\n\n
\n \n
\n\n \n \n \n \n \n
\n\n \n \n Campos editables\n\n
\n Añade campos editables\n

Agrega y selecciona los campos editables que quieras para el formulario y el caracter que encerrara ese campo.

\n
\n\n
\n \n
\n\n
\n
\n
¿Incluir nombre del campo?
\n\n
\n\n
\n\n
\n\n \n Nombre del campo\n \n \n\n \n Caracter especial\n \n \n\n \n Si\n No\n \n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n\n
\n\n \n \n \n \n
\n\n
\n\n
\n\n\n\n\n \n \n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nconst AUDITORIA_URL = environment.AUDITORIA_URL;\n@Injectable({\n providedIn: 'root'\n})\nexport class PreguntasService {\n constructor(\n private http:HttpClient,\n private authService:AuthService\n ) { }\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Cristian Gallo\n * @createdate 2021-10-27\n * Servicio que trae los tipos de pregunta bien sea para usarlos como filtro o creación de preguntas.\n */\n getTypeQuestions(){\n return this.http.post(`${AUDITORIA_URL}getTiposPreguntas`,{})\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Cristian Gallo\n * @createdate 2021-10-27\n * Servicio que guarda una nueva pregunta.\n * @param data datos de la pregunta a guardar\n */\n saveQuestion(data:Object){\n let dataForm = {dataform:[data]}\n return this.http.post(`${AUDITORIA_URL}crearPregunta/${this.authService.getUser().rrhh_id}`,dataForm)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Cristian Gallo\n * @createdate 2021-10-27\n * Servicio que trae todas las preguntas creadas para mostrar en una tabla.\n * @param params parametros como N° de pagina, cantidad de registros y filtros.\n */\n getQuestions(params){\n return this.http.get(`${AUDITORIA_URL}listarPreguntas`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Cristian Gallo\n * @createdate 2021-10-27\n * Servicio que actualiza una pregunta.\n * @param data datos de la pregunta a actualizar\n * @param id_question id de la pregunta a actualizar\n */\n updateQuestion(id_question,data){\n return this.http.post(`${AUDITORIA_URL}updatePregunta/${id_question}/${this.authService.getUser().rrhh_id}`,{dataform:[data]})\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Cristian Gallo\n * @createdate 2021-10-27\n * Servicio que actualiza una pregunta.\n * @param data datos de la pregunta a actualizar\n * @param id_question id de la pregunta a actualizar\n */\n getQuestionByID(id_question){\n return this.http.get(`${AUDITORIA_URL}showPregunta/${id_question}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Cristian Gallo\n * @createdate 2021-10-27\n * Servicio que elimina una pregunta.\n * @param id_question id de la pregunta a eliminar.\n */\n removeQuestion(id_question){\n return this.http.post(`${AUDITORIA_URL}eliminarPregunta/${id_question}`,{})\n .pipe(\n catchError(this.handleError)\n );\n }\n deleteOpcion(data){\n return this.http.post(`${AUDITORIA_URL}deleteOpcion`,data)\n .pipe(\n catchError(this.handleError)\n );\n }\n}","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { EMPTY } from 'rxjs';\nimport { map, mergeMap, catchError } from 'rxjs/operators';\nimport { CoachingService } from '../../services/coaching.service';\n\n@Injectable()\nexport class Historialffects {\n \n loadHistorico$ = createEffect(() => this.actions$.pipe(\n ofType('[Historial] Load historial'),\n mergeMap((data:any) => this.coachingSerivce.getHistorialById(data)\n .pipe(\n map((historial:any) => ({ type: '[Historial] Loaded historial', historial }))\n ))\n )\n );\n\n loadHistorialById$ = createEffect(() => this.actions$.pipe(\n ofType('[HistorialById] Load historial'),\n mergeMap((data:any) => this.coachingSerivce.getHistoricoById(data)\n .pipe(\n map((historial:any) => ({ type: '[HistorialById] Loaded historial', historial }))\n ))\n )\n );\n \n constructor(\n private actions$: Actions,\n private coachingSerivce:CoachingService,\n ) {}\n}","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { ClientesService } from '../../services/rest/clientes.service';\nimport * as moment from 'moment';\nimport 'moment-timezone';\n\n@Component({\n selector: 'app-ccomercial-create',\n templateUrl: './ccomercial-create.component.html',\n styleUrls: ['./ccomercial-create.component.sass']\n})\nexport class CcomercialCreateComponent implements OnInit {\n\n contactosForm :FormGroup;\n idcliente: any;\n\n constructor(public dialog:MatDialog,\n public dialogRef: MatDialogRef,\n private clienteservice:ClientesService,\n private alertsService: AlertsService,\n private form: FormBuilder,\n private authService:AuthService, \n @Inject(MAT_DIALOG_DATA) public data: any) { }\n\n ngOnInit(): void {\n this.formControl();\n this.idcliente = this.data.Nidcliente;\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para cancelar la creación del contacto\n */ \n\n opcionCancelar(){\n this.alertsService.alertWarning('¿Estás seguro?','¿Estás seguro de que deseas cancelar este proceso? Recuerda que la información se borrará automáticamente si realizas esta acción.').then((result)=>{\n if(result.isConfirmed){\n this.dialogRef.close();\n }\n });\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para definicion de controles del formulario\n */ \n formControl(): void {\n this.contactosForm = new FormGroup({\n contact_nombre: new FormControl('', [Validators.required, Validators.maxLength(100), Validators.minLength(3)]),\n contact_cargo: new FormControl('', [Validators.required, Validators.maxLength(100), Validators.minLength(1)]),\n contact_email: new FormControl('', [Validators.required, Validators.email ,Validators.maxLength(100), Validators.minLength(1)]),\n contact_phone: new FormControl('', [Validators.required, Validators.maxLength(100), Validators.minLength(7)]),\n fecha_cumpleanos: new FormControl(''),\n id_cliente: new FormControl('')\n });\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para captura de errores de los controles\n */ \n get error(): any { return this.contactosForm.controls; }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para captura de errores de los controles\n */ \n keyPress(event: any) {\n const pattern = /[0-9\\+\\-\\ ]/;\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para la creación del contacto\n */ \n saveContacto(rolForm): void {\n let formData = new FormData();\n let date = this.contactosForm.value.fecha_cumpleanos ? moment(moment(this.contactosForm.value.fecha_cumpleanos).add(1,'days')).tz('America/Bogota').format('YYYY-MM-DD') : '';\n formData.append('nameContact', this.contactosForm.value.contact_nombre);\n formData.append('chargeContact', this.contactosForm.value.contact_cargo);\n formData.append('phoneContact', this.contactosForm.value.contact_phone);\n formData.append('emailContact', this.contactosForm.value.contact_email);\n formData.append('birthdayContact', date);\n formData.append('client_id', this.idcliente);\n\n this.clienteservice.saveContacto(formData).subscribe((resp)=>{\n this.alertsService.alertSuccessWithoutButton('Excelente', 'Contacto Creado');\n\n });\n }\n\n}\n","
\n\n

\n Creacion de contacto\n

\n\n
\n\n \n Nombre\n \n ¡Advertencia!\n Este campo es requerido\n ¡Aún falta!\n Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo\n puedes tener un máximo de 255 caracteres\n \n\n \n Cargo\n \n ¡Advertencia! Este\n campo es requerido\n ¡Aún falta!\n Recibimos mínimo 3 caracteres\n\n \n \n Celular\n \n ¡Advertencia! Este\n campo es requerido\n ¡Aún falta!\n Recibimos mínimo 7 caracteres\n\n \n
\n \n Correo electronico\n \n ¡Advertencia! Este\n campo es requerido\n ¡Aún falta!\n Recibimos mínimo 7 caracteres\n ¡Aún falta! debe\n tener el formato de correo electronico\n \n\n \n Fecha de cumpleaños\n \n \n \n \n \n \n\n\n
\n \n \n\n
\n
\n
\n","import { CrmService } from './../../../services/crm.service';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { ResourcesService } from '../../../services/resources.service';\nimport { Crm2Service } from '../../../services/crm2.service';\n\n@Component({\n selector: 'app-resources-types',\n templateUrl: './resources-types.component.html',\n styleUrls: ['./resources-types.component.sass']\n})\nexport class ResourcesTypesComponent implements OnInit {\n\n\n time = new FormControl(null, [Validators.required, Validators.min(1), Validators.max(1440)]);\n resourceTypes : any[] = [];\n states = false;\n action = 'Guardar';\n typeId = null;\n crmForm : any[] = [];\n crmTwoForm : any[] = [];\n createType = false;\n\n typeForm: FormGroup = this.fb.group({\n 'name' : [null, Validators.required],\n 'key' : [null, [Validators.required, Validators.pattern(/[^ .,\\/#!$%\\^&\\*;:{}=\\-_`~()?¿!¡]/g)]],\n 'booking_time' : [null, [Validators.required, Validators.min(1), Validators.max(1440)]],\n 'id_form_cr' : [],\n 'id_form_crm_two' : [],\n });\n\n\n constructor(private fb: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alertNotification : AlertsService,\n private auth : AuthService,\n private resourcesService : ResourcesService,\n private crmService : CrmService,\n private crmTwoService : Crm2Service,\n ) {\n }\n ngOnInit(): void {\n this.getResourceTypes();\n this.getFormsCrm();\n\n this.auth.getUser().roles.forEach(element => {\n if (element === 'rrhh::usuario') {\n this.states = true;\n }\n });\n }\n\n saveResourceType() {\n if (this.typeForm.valid) {\n if (this.action === 'Guardar') {\n this.alertNotification.alertConfirm('¿Estás seguro? Una vez creado el tipo de recurso, este no se podrá eliminar').then((result) => {\n if (result.isConfirmed) {\n let form = this.typeForm.value;\n \n if(form['id_form_crm_two'] !== \"\" && form['id_form_crm_two'] !== null && form['id_form_crm_two'] !== undefined ){\n form['id_form_cr'] = form['id_form_crm_two']\n form['crm_service'] = 2\n form['id_form_crm_two'] = undefined\n }else{\n form['crm_service'] = 1\n }\n this.resourcesService.createResourceTypes(form).subscribe( res => {\n this.alertNotification.alertSuccess('Tipo de recurso creado con éxito', '');\n this.resourceTypes.push(form);\n this.cancelForm('typeForm', 'createType');\n });\n \n }\n });\n }\n\n if (this.action === 'Editar') {\n let form = this.typeForm.value;\n \n if(form['id_form_crm_two'] !== \"\" && form['id_form_crm_two'] !== null && form['id_form_crm_two'] !== undefined ){\n form['id_form_cr'] = form['id_form_crm_two']\n form['crm_service'] = 2\n form['id_form_crm_two'] = undefined\n }else{\n form['crm_service'] = 1\n }\n\n this.resourcesService.updateResourceTypes(this.typeId, form).subscribe( res => {\n this.alertNotification.alertSuccess('Tipo de recurso editado con éxito', '');\n this.getResourceTypes();\n this.cancelForm('typeForm', 'createType');\n this.action = 'Guardar';\n });\n }\n } else {\n this.typeForm.markAllAsTouched();\n }\n }\n cancelForm(form, arg) {\n this[form].reset();\n this[arg] = !this[arg];\n }\n\n getResourceTypes() {\n this.resourcesService.getResourceTypes(true).subscribe((res: any) => {\n if (res != null) {\n this.resourceTypes = res;\n this.resourceTypes.reverse();\n }\n });\n }\n\n getFormsCrm() {\n this.crmService.getFormsCRM().subscribe((res: any) => {\n this.crmForm = res;\n });\n\n this.crmTwoService.getFormsCRM().subscribe((res: any) => {\n if(Array.isArray(res) == true){\n this.crmTwoForm = res;\n }else{\n for (const key in res) {\n this.crmTwoForm.push(res[key]);\n }\n }\n\n });\n\n }\n\n editTypeInput(type) {\n this.action = 'Editar';\n this.createType = true;\n this.typeId = type.id;\n if(type['crm_service'] == 2){\n type['id_form_crm_two'] = type['id_form_cr']\n this.changeStateForms('crm2');\n }else{\n this.changeStateForms('crm1');\n }\n this.typeForm.patchValue(type);\n this.typeForm.get('name').disable();\n this.typeForm.get('key').disable();\n }\n\n\n getBookingTimeError() {\n if (this.typeForm.get('booking_time').hasError('required')) {\n return 'Este campo es requerido';\n }\n if (this.typeForm.get('booking_time').hasError('min')) {\n return 'El tiempo mínimo es 1 minuto';\n }\n if (this.typeForm.get('booking_time').hasError('max')) {\n return 'El tiempo no debe sobrepasar un día';\n }\n }\n\n /**\n * Metodo que se encarga de cambiar los estados de un selctor\n * @author Juan David Guerrero Vargas\n * @param typeCrm:string {string} tipo de CRM a habilitar\n */\n changeStateForms(typeCrm:string):void{\n let formControlEnable:string = \"\";\n let formControlDisable:string = \"\";\n switch (typeCrm) {\n case 'crm':\n formControlEnable = \"id_form_cr\"\n formControlDisable = \"id_form_crm_two\"\n break;\n case 'crm2':\n formControlEnable = \"id_form_crm_two\"\n formControlDisable = \"id_form_cr\"\n break;\n \n default:\n formControlEnable = \"id_form_cr\"\n formControlDisable = \"id_form_crm_two\"\n break;\n }\n\n if(formControlEnable !== \"\"){\n this.typeForm.get(formControlEnable).enable();\n }\n\n if(formControlDisable !== \"\" && (this.typeForm.get(formControlEnable).value != \"\" && this.typeForm.get(formControlEnable).value != null) ){\n this.typeForm.get(formControlDisable).disable();\n this.typeForm.get(formControlDisable).setValue(null);\n }\n\n if(this.typeForm.get(formControlEnable).value == \"\" || this.typeForm.get(formControlEnable).value == null ){\n this.typeForm.get(formControlDisable).enable();\n this.typeForm.get(formControlDisable).setValue(null);\n }\n\n }\n\n}\n","\n

Tipos de recurso

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

Lista de tipos de recurso

\n \n
\n
\n \n Nombre\n \n Este campo es obligatorio\n \n\n \n Identificador\n \n No debe llevar puntuación ni espacios\n Este campo es obligatorio\n No se admiten espacios o puntuación\n \n\n \n Tiempo de reserva\n \n Mins  \n {{getBookingTimeError()}}\n \n\n \n Formulario CRM1\n \n Ninguno\n \n {{form[\"name_form\"]}} \n \n \n\n \n Formulario CRM2\n \n Ninguno\n \n {{formTwo[\"name_form\"]}} \n \n \n\n
\n \n \n
\n\n
\n \n
\n

No existen tipos de recurso

\n \n \n
\n
\n
{{type.name}}
\n

\n Tiempo de reserva: \n {{type.booking_time}}   Minutos\n

\n
\n\n
\n \n
\n\n \n
\n
\n\n
\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { TemplatesService } from '../../../services/templates.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { fromEventPattern } from 'rxjs';\n\n@Component({\n selector: 'app-tags-new',\n templateUrl: './tags-new.component.html',\n styleUrls: ['./tags-new.component.sass']\n})\nexport class TagsNewComponent implements OnInit {\n\n public tagForm: FormGroup;\n contractTypes: any[] = [];\n contractTypeSelected: number;\n templateTags: any[] = [];\n\n constructor(\n private templateService: TemplatesService,\n public dialogRef: MatDialogRef,\n public snackBar: MatSnackBar,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n ngOnInit(): void {\n this.buildForm();\n this.templateService.getTemplates().subscribe((response: any) => {\n this.contractTypes = response;\n });\n\n this.tagForm.get('contractType').valueChanges.subscribe(resp => {\n this.contractTypeSelected = resp;\n const body = {\n contract_type_id: this.contractTypeSelected,\n paginateOff: true\n };\n this.templateService.getTags(body).subscribe((response: any) => {\n this.templateTags = response;\n });\n });\n }\n\n get error(): any { return this.tagForm.controls; }\n\n buildForm() {\n this.tagForm = new FormGroup({\n id: new FormControl(this.data.tag !== null ? this.data.tag.id : '', []),\n contractOrigin: new FormControl(this.data.tag !== null ? this.data.tag.contract_template_tag_origin_id : '', [Validators.required]),\n contractType: new FormControl(this.data.tag !== null ? this.data.tag.contract_type_id : '', [Validators.required]),\n templateTag: new FormControl({value:this.data.tag !== null ? this.data.tag.contract_template_tag_id : '', disabled:true}, [Validators.required]),\n tagName: new FormControl(this.data.tag !== null ? this.data.tag.key : '', [\n Validators.required,\n Validators.maxLength(20),\n Validators.pattern(/^[a-zA-Z_]+$/)\n ]),\n tagDescription: new FormControl(this.data.tag !== null ? this.data.tag.description : '', [\n Validators.required,\n Validators.maxLength(200)\n ]),\n tagValue: new FormControl({value:this.data.tag !== null ? this.data.tag.value : '', disabled:true}, [Validators.required]),\n source: new FormControl(this.data.tag !== null ? this.data.tag.source : '', [Validators.required]),\n useTemplateTag: new FormControl(this.data.tag && this.data.tag.contract_template_tag_id !== null ? 1 : 2, [Validators.required])\n });\n if (this.data.tag !== null) {\n const body = { contract_type_id: this.tagForm.value.contractType, paginateOff: true };\n this.templateService.getTags(body).subscribe((response: any) => {\n this.templateTags = response;\n });\n\n this.enableFields(this.tagForm.get('useTemplateTag').value);\n }\n\n\n }\n\n onSubmit() {\n const formData = new FormData();\n formData.append(\"id\", this.tagForm.get('id').value);\n formData.append(\"origin\", this.tagForm.get('contractOrigin').value);\n formData.append(\"key\", this.tagForm.get('tagName').value);\n formData.append(\"description\", this.tagForm.get('tagDescription').value);\n formData.append(\"value\", this.tagForm.get('tagValue').value);\n formData.append(\"source\", this.tagForm.get('source').value);\n\n if(this.tagForm.get('contractType').value > 0){\n formData.append(\"contract_type_id\", this.tagForm.get('contractType').value);\n }\n if (this.tagForm.get('templateTag').value) {\n formData.append(\"contract_template_tag_id\", this.tagForm.get('templateTag').value);\n }\n\n if (this.data.tag === null) {\n this.templateService.storeTag(formData).subscribe(\n response => {\n this.snackBar.open('Variable creada satisfactoriamente, ya la puedes usar en tus plantilla', 'cerrar', {\n horizontalPosition: 'center',\n verticalPosition: 'top',\n panelClass: ['green-snackbar'],\n duration: 20000,\n });\n this.dialogRef.close(response);\n },\n error => {\n this.snackBar.open('Error en el proceso, por favor intenta de nuevo', '', {\n horizontalPosition: 'center',\n verticalPosition: 'top',\n panelClass: ['red-snackbar'],\n duration: 20000,\n });\n this.dialogRef.close();\n }\n );\n } else {\n const tagFormValues = this.tagForm.value;\n const tag = {\n id: tagFormValues.id,\n key: tagFormValues.tagName,\n description: tagFormValues.tagDescription,\n value: tagFormValues.tagValue,\n contract_type_id: tagFormValues.contractType > 0 ? tagFormValues.contractType : null,\n contract_template_tag_origin_id: tagFormValues.contractOrigin,\n source: tagFormValues.source,\n contract_template_tag_id: tagFormValues.templateTag\n };\n\n this.templateService.updateTag(tag).subscribe(\n response => {\n this.snackBar.open('Variable actualizada satisfactoriamente, ya la puedes usar en tus plantilla', 'cerrar', {\n horizontalPosition: 'center',\n verticalPosition: 'top',\n panelClass: ['green-snackbar'],\n duration: 20000,\n });\n this.dialogRef.close(response);\n },\n error => {\n this.snackBar.open('Error en el proceso, por favor intenta de nuevo', '', {\n horizontalPosition: 'center',\n verticalPosition: 'top',\n panelClass: ['red-snackbar'],\n duration: 20000,\n });\n this.dialogRef.close();\n }\n );\n }\n }\n\n onCancel() {\n this.dialogRef.close();\n }\n\n /**\n * Método que habilita los campos según si se necesita precondición o no\n * @author Juan Carlos Alonso\n * @createdate 13-09-2023\n */\n enableFields(option:number){\n if(option == 1){\n this.tagForm.get(\"source\").setValue(\"\");\n this.tagForm.get(\"source\").disable();\n this.tagForm.get(\"templateTag\").enable();\n this.tagForm.get(\"tagValue\").enable();\n }else{\n this.tagForm.get(\"templateTag\").setValue(\"\");\n this.tagForm.get(\"tagValue\").setValue(\"\");\n this.tagForm.get(\"templateTag\").disable();\n this.tagForm.get(\"tagValue\").disable();\n this.tagForm.get(\"source\").enable();\n }\n }\n}\n","
\n

Creación de nueva variable

\n

Aquí podrás crear variables necesarias para complementar la información de tus plantillas a cargar,\n recuerda que una variable es un campo que el sistema reemplazará cuando se genere un contrato,\n ej {{ \"${candidate_name}\" }} en todas las plantillas será reemplazada por el nombre del candidato al generar el\n archivo.\n

\n

\n
\n
\n \n Origen\n \n {{ item.name }}\n \n Éste campo es requerido\n \n \n Key\n \n Máximo 20 carácteres\n Éste campo es requerido\n Éste campo no permite espacios en blanco, números ni caracteres especiales a excepción de \"_\"\n \n
\n
\n \n Tipos de contrato\n \n Todos\n {{item?.name}}\n \n Éste campo es requerido\n \n\n \n ¿Precondición?\n \n Si\n No\n \n Éste campo es requerido\n \n\n
\n
\n \n Descripción\n \n Máximo 200 carácteres\n Éste campo es requerido\n \n\n \n Selecciona precondición\n \n {{item?.key}}\n \n Éste campo es requerido\n \n
\n\n
\n \n Contenido\n \n Éste campo es requerido\n \n
\n\n
\n \n Source\n \n Éste campo es requerido\n \n
\n
\n \n \n
\n
\n
\n","import { Component, OnInit, ViewChild } from '@angular/core';\n\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { FormControl } from '@angular/forms';\n\n\nimport * as moment from 'moment';\n\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { InactiveDatesService } from '../../../../services/rest/inactive-dates.service';\nimport { CreateInactiveDatesComponent } from '../create-inactive-dates/create-inactive-dates.component';\n\n@Component({\n selector: 'app-inactive-dates-list',\n templateUrl: './inactive-dates-list.component.html',\n styleUrls: ['./inactive-dates-list.component.sass']\n})\nexport class InactiveDatesListComponent implements OnInit {\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n public filters: any = {\n month: '',\n year: '',\n textFilter: '',\n perPage: 5,\n page: 1,\n paginate: 1,\n };\n\n public monthControl = new FormControl();\n public yearControl = new FormControl();\n public textFilter = new FormControl('');\n\n // MatPaginator Inputs\n public paginatorObject: any = {\n length: 0,\n pageSize: 5,\n page: 1,\n isPage: 1,\n pageSizeOptions: [5, 10, 25, 100],\n };\n\n displayedColumns: string[] = ['acciones', 'inactive_date', 'description'];\n dataSource = new MatTableDataSource();\n\n public months: { id, name }[] = [\n { id: 1, name: 'Enero' },\n { id: 2, name: 'Febrero' },\n { id: 3, name: 'Marzo' },\n { id: 4, name: 'Abril' },\n { id: 5, name: 'Mayo' },\n { id: 6, name: 'Junio' },\n { id: 7, name: 'Julio' },\n { id: 8, name: 'Agosto' },\n { id: 9, name: 'Septiembre' },\n { id: 10, name: 'Octubre' },\n { id: 11, name: 'Noviembre' },\n { id: 12, name: 'Diciembre' }\n ];\n\n public years: { id, name }[] = [];\n\n constructor(public dialog: MatDialog,\n private inactiveDatesService: InactiveDatesService,\n public alertService: AlertsService) {\n }\n\n ngOnInit(): void {\n this.generateArrayOfYears();\n this.getInactiveDates();\n this.monthControl.valueChanges\n .subscribe(resp => {\n this.filters.month = resp;\n this.getInactiveDates();\n });\n this.yearControl.valueChanges\n .subscribe(resp => {\n console.log(resp);\n this.filters.year = resp;\n this.getInactiveDates();\n });\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Obtiene las fechas inactivas para el proceso de vacaciones\n */\n getInactiveDates(): void {\n this.inactiveDatesService.getInactiveDates(this.filters)\n .subscribe(resp => {\n this.dataSource.data = resp.data.data;\n this.dataSource.sort = this.sort;\n this.paginatorObject.length = resp.data.total;\n this.paginatorObject.pageSize = resp.data.per_page;\n });\n }\n\n /**\n * @param value Búsqueda por descripción\n * @author Andrés Buitrago \n * @purpose búsqueda por descripcion de la fecha\n */\n searchByTextFilter(value: string): void {\n this.filters.textFilter = value;\n this.getInactiveDates();\n }\n\n /**\n * @param event objeto del paginador\n * @author Andrés Buitrago \n * @purpose Traer info de la siguiente página\n */\n pageEvent(event: any): void {\n this.filters.perPage = event.pageSize;\n this.filters.page = event.pageIndex + 1;\n this.getInactiveDates();\n }\n\n /**\n * @param item registro de la fecha\n * @author Andrés Buitrago \n * @purpose Eliminar una fecha especifica\n */\n deleteDate(item): void {\n this.alertService.alertConfirm('¿Está seguro de eliminar esta fecha?').then((result) => {\n if (result.isConfirmed) {\n this.inactiveDatesService.deleteInactiveDate(item.id)\n .subscribe(resp => {\n this.alertService.alertSuccess('Eliminado', 'Fecha eliminada correctamente');\n this.getInactiveDates();\n });\n }\n });\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Generar rango de años\n */\n generateArrayOfYears(): void {\n const max = new Date().getFullYear();\n const min = max - 9;\n\n for (let i = max; i >= min; i--) {\n this.years.push({ id: i, name: i });\n }\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Abre el modal para la creacion de una nueva fecha inactiva\n */\n createInactiveDate(): void {\n const dialogDetailNovelty = this.dialog.open(CreateInactiveDatesComponent, {\n width: '45%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Creacion de fecha inactiva'\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogDetailNovelty.afterClosed().subscribe(() => {\n this.getInactiveDates();\n });\n }\n\n}\n","
\n
\n

Días Inactivos

\n

En este espacio podrás gestionar los días inactivos
no olvides,\"El respeto y la\n empatía son clave\"

\n
\n\n
\n\n \n Filtrar por año\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n\n \n Filtrar por mes\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n\n \n Filtrar por descripción\n \n \n \n\n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
Acciones\n \n Fecha Inactiva {{ element.inactive_date }}Descripción{{ element.description }}
No hay datos que coincidan con los filtros
\n \n \n\n
\n\n
\n\n
\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport * as moment from 'moment';\nimport { Subscription } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport { ReportsService } from 'src/app/modules/calidad/services/reports.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport Swal from 'sweetalert2';\nimport { AnalistasCalidadComponent } from '../analistas-calidad/analistas-calidad.component';\nimport { CrearMatrizComponent } from '../crear-matriz/crear-matriz.component';\nimport { EditarMatrizComponent } from '../editar-matriz/editar-matriz.component';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n\tselector: 'app-main-matrices',\n\ttemplateUrl: './main-matrices.component.html',\n\tstyleUrls: ['./main-matrices.component.sass']\n})\nexport class MainMatricesComponent implements OnInit, OnDestroy {\n private uuid = 'b27d928e-9092-11ee-b9d1-0242ac120002';\n public conf: any;\n\n\t//Filtros\n\tfiltroMatriz: string = '';\n\tfiltroFecha = new FormGroup({\n\t\tfechaInicial: new FormControl(),\n\t\tfechaFinal: new FormControl(),\n\t});\n\tfiltroTipo_matriz: string = '';\n\tfiltroCampaign: string = '';\n\tidMatriz;\n\n\tauditar: boolean = false;\n\tcontrol: boolean = false;\n\tjefe: boolean = false;\n\treports: boolean = false;\n\n\t//Control de paginación de la tabla\n\tlength;\n\tpageSize = 10;\n\tpage = 1;\n\tpageSizeOptions: number[] = [10, 25, 100];\n\t@ViewChild(MatPaginator) paginator: MatPaginator;\n\tendText: number;\n\n\tdataSource: [] = [];\n\ttiposMatrices = [];\n\tcampaigns = [];\n\n\t//Observable para los cambios de la tabla\n\tsubscription: Subscription;\n\tconstructor(\n\t\tprivate dialog: MatDialog,\n\t\tprivate router: Router,\n\t\tprivate matrizService: MatrizService,\n\t\tprivate authService: AuthService,\n\t\tprivate reportService: ReportsService,\n private configService: TranslatesService,\n\t) { }\n\n\tngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.conf = resp;\n });\n\t\tthis.getTypeMatrix();\n\t\tthis.getAllMatrix(this.page, this.pageSize);\n\t\tthis.subscription = this.matrizService.refresh$.subscribe(() => {\n\t\t\tthis.getAllMatrix(this.page, this.pageSize);\n\t\t});\n\t\tthis.validateRoute();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscription.unsubscribe();\n\t}\n\n\tnewMatrix() {\n\t\tconst matrizRef = this.dialog.open(CrearMatrizComponent, {\n\t\t\twidth: '840px',\n\t\t\tdisableClose: true,\n\t\t\tdata: {},\n\t\t});\n\t}\n\n\tedit(id) {\n\t\tconst editRef = this.dialog.open(EditarMatrizComponent, {\n\t\t\twidth: '840px',\n\t\t\tdisableClose: true,\n\t\t\tdata: { id_matriz: id },\n\t\t});\n\t}\n\n\tasignarSuper(idMatriz, type) {\n\t\tconst superRef = this.dialog.open(AnalistasCalidadComponent, {\n\t\t\twidth: '732px',\n\t\t\tdisableClose: true,\n\t\t\tdata: {\n\t\t\t\tidMatriz,\n\t\t\t\ttype\n\t\t\t},\n\t\t})\n\t}\n\n\tdetailMatrix(id) {\n\t\tthis.router.navigateByUrl(`/mios/calidad/matriz/detail/${id}`);\n\t}\n\n\tgetTypeMatrix() {\n\t\tthis.matrizService.getTypeMatrix().subscribe((resp: any) => {\n\t\t\tthis.tiposMatrices = resp;\n\t\t})\n\t\tthis.authService.getUser().roles.forEach(rol => {\n\t\t\tif (rol == 'calidad::jefe') {\n\t\t\t\tthis.jefe = true;\n\t\t\t}\n\t\t});\n\n\n\n\t}\n\n\tgetAllMatrix(page, sizePage) {\n\n\t\tconst params = {\n\t\t\tpage: page,\n\t\t\tnumeroReg: sizePage,\n\t\t\tmatriz: '',\n\t\t\tfechaInicial: '',\n\t\t\tfechaFinal: '',\n\t\t\ttipo_matriz: '',\n\t\t\tcampaing: '',\n\t\t}\n\n\n\t\t//Filtros\n\t\tif (this.filtroMatriz != \"\") {\n\t\t\tparams.matriz = this.filtroMatriz\n\t\t}\n\n\t\tif (this.filtroFecha.get('fechaInicial').value != '' && this.filtroFecha.get('fechaInicial').value != null) {\n\t\t\tparams.fechaInicial = moment(this.filtroFecha.get('fechaInicial').value).format('yyyy-MM-DD');\n\t\t}\n\t\tif (this.filtroFecha.get('fechaFinal').value != '' && this.filtroFecha.get('fechaFinal').value != null) {\n\t\t\tparams.fechaFinal = moment(this.filtroFecha.get('fechaFinal').value).format('yyyy-MM-DD');\n\t\t}\n\n\t\tif (this.filtroTipo_matriz != \"\") {\n\t\t\tif (this.filtroTipo_matriz == null) {\n\t\t\t\tparams.tipo_matriz = '';\n\t\t\t} else {\n\t\t\t\tparams.tipo_matriz = this.filtroTipo_matriz\n\t\t\t}\n\t\t}\n\n\t\tif (this.filtroCampaign != '' && this.filtroCampaign != null) {\n\t\t\tparams.campaing = this.filtroCampaign;\n\t\t}\n\n\t\tthis.matrizService.getAllMatrix(params).subscribe((resp: any) => {\n\t\t\tthis.dataSource = resp.data\n\t\t\tthis.length = resp.total\n\t\t\tthis.pageSize = resp.per_page;\n\t\t});\n\t\tthis.matrizService.getCampaings().subscribe((resp: any) => {\n\t\t\tthis.campaigns = resp.data;\n\t\t});\n\t}\n\n\tdisableMatrix(id, estado) {\n\t\tSwal.fire({\n\t\t\ticon: 'warning',\n\t\t\ttitle: this.conf.modal.disableTitle,\n\t\t\tshowCancelButton: true,\n\t\t\tcancelButtonText: this.conf.modal.cancel,\n\t\t\tconfirmButtonText: this.conf.modal.accept,\n\t\t\treverseButtons: true,\n\t\t\twidth: '810px',\n\t\t\tpadding: '2em 7em'\n\t\t}).then(result => {\n\t\t\tif (result.isConfirmed) {\n\t\t\t\tthis.matrizService.disableMatrix(id, estado).subscribe(() => {\n\t\t\t\t\tTools.swalSuccess(this.conf.modal.excellent, this.conf.modal.disableOk)\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t}\n\n\tenableMatrix(id, estado) {\n\t\tSwal.fire({\n\t\t\ticon: 'warning',\n\t\t\ttitle: this.conf.modal.enableTitle,\n\t\t\tshowCancelButton: true,\n\t\t\tcancelButtonText: this.conf.modal.cancel,\n\t\t\tconfirmButtonText: this.conf.modal.accept,\n\t\t\treverseButtons: true,\n\t\t\twidth: '810px',\n\t\t\tpadding: '2em 7em'\n\t\t}).then(result => {\n\t\t\tif (result.isConfirmed) {\n\t\t\t\tthis.matrizService.disableMatrix(id, estado).subscribe(() => {\n\t\t\t\t\tTools.swalSuccess(this.conf.modal.excellent, this.conf.modal.enableOk)\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t}\n\n\tpageEvent(event: any) {\n\t\tthis.pageSize = event.pageSize;\n\t\tthis.page = event.pageIndex + 1;\n\t\tthis.getAllMatrix(this.page, this.pageSize);\n\t}\n\n\tfiltroFechas() {\n\t\tif (this.filtroFecha.get('fechaInicial').value != null && this.filtroFecha.get('fechaFinal').value != null) {\n\t\t\tthis.filtrar();\n\t\t}\n\t}\n\n\tgetReportGeneral(tipo_reporte?, tipo_matriz?) {\n\t\tconst params = {\n\t\t\tfechaInicial: '',\n\t\t\tfechaFinal: '',\n\t\t\ttipoMatriz: tipo_matriz,\n\t\t\ttipoReporte: '',\n\t\t\tnombre: '',\n\t\t\tidMatriz: '',\n\t\t\tcampaing: '',\n\t\t}\n\n\t\tif (this.filtroMatriz != '') {\n\t\t\tparams.nombre = this.filtroMatriz;\n\t\t}\n\n\t\tif (this.idMatriz != '' && this.idMatriz) {\n\t\t\tparams.idMatriz = this.idMatriz;\n\t\t}\n\n\t\tif (this.filtroFecha.get('fechaInicial').value != '' && this.filtroFecha.get('fechaInicial').value != null) {\n\t\t\tparams.fechaInicial = moment(this.filtroFecha.get('fechaInicial').value).format('yyyy-MM-DD');\n\t\t}\n\t\tif (this.filtroFecha.get('fechaFinal').value != '' && this.filtroFecha.get('fechaFinal').value != null) {\n\t\t\tparams.fechaFinal = moment(this.filtroFecha.get('fechaFinal').value).format('yyyy-MM-DD');\n\t\t}\n\n\t\tif (this.filtroTipo_matriz != '') {\n\t\t\tparams.tipoMatriz = this.filtroTipo_matriz;\n\t\t}\n\n\t\tif (tipo_reporte != null && tipo_reporte != '') {\n\t\t\tparams.tipoReporte = tipo_reporte;\n\t\t}\n\n\t\tif (this.filtroCampaign != '' && this.filtroCampaign != null) {\n\t\t\tparams.campaing = this.filtroCampaign;\n\t\t}\n\t\tthis.reportService.getReportGeneral(params).subscribe((resp: any) => {\n\t\t\tTools.downloadFile(resp, 'Auditoria_' + moment(new Date).format('DD_MM_yyy_hh_mm_ss'));\n\t\t\tthis.idMatriz = null;\n\t\t});\n\t}\n\n\tgetReportById(id: number, tipo) {\n\t\tthis.idMatriz = id;\n\t\tthis.getReportGeneral('', tipo);\n\t}\n\n\tfiltrar() {\n\t\tthis.paginator.firstPage();\n\t\tthis.getAllMatrix(this.page, this.pageSize);\n\t}\n\n\tvalidateRoute() {\n\t\tif (this.router.url == '/mios/calidad/auditorias') {\n\t\t\tthis.auditar = true;\n\t\t} else {\n\t\t\tthis.auditar = false;\n\t\t}\n\t\tif (this.router.url == '/mios/calidad/control') {\n\t\t\tthis.control = true;\n\t\t} else {\n\t\t\tthis.control = false;\n\t\t}\n\t\tif (this.router.url == '/mios/calidad/reporteria') {\n\t\t\tthis.reports = true;\n\t\t} else {\n\t\t\tthis.reports = false;\n\t\t}\n\t\tif (window.screen.width >= 1920) {\n\t\t\tthis.endText = 30;\n\t\t} else {\n\t\t\tthis.endText = 15;\n\t\t}\n\t}\n\n\tdetailAuditar(idMatriz) {\n\t\tthis.router.navigateByUrl(`/mios/calidad/auditoria/detail/0/${idMatriz}`);\n\t}\n\n\tdetailControl(idMatriz) {\n\t\tthis.router.navigateByUrl(`/mios/calidad/control/detail/${idMatriz}`);\n\t}\n\n\tdescargaActualizaciones(idMatriz) {\n\t\tthis.matrizService.descargaActualizaciones(idMatriz).subscribe((resp: any) => {\n\t\t\tTools.downloadFile(resp, 'Trazabilidad_' + moment(new Date).format('DD_MM_yyyy_hh_mm'))\n\t\t});\n\t}\n\n\t/**\n\t * Metodo para eliminacion de matrices\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 01/06/22\n\t * @param matriz:any Objeto con la informaicon de la matriz seleccionada\n\t * @return void\n\t */\n\teliminarMatriz(matriz: any): void {\n\n\t\tSwal.fire({\n\t\t\ttitle: this.conf.modal.deleteTitle,\n\t\t\ticon: 'warning',\n\t\t\thtml: this.conf.modal.deleteText,\n\t\t\tshowDenyButton: true,\n\t\t\tconfirmButtonColor: '#00acc1',\n\t\t\tconfirmButtonText: this.conf.modal.accept,\n\t\t\tdenyButtonText: this.conf.modal.cancel,\n\t\t}).then(\n\t\t\t(result) => {\n\t\t\t\tif (result.isConfirmed) {\n\t\t\t\t\tthis.matrizService.deleteMatrix(String(matriz.matriz.id)).subscribe(\n\t\t\t\t\t\t(resp: any) => {\n\t\t\t\t\t\t\tif (resp.respuesta.codigo == 400) {\n\t\t\t\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\t\t\t\ticon: 'warning',\n\t\t\t\t\t\t\t\t\ttitle: this.conf.modal.sorry,\n\t\t\t\t\t\t\t\t\thtml: `

${resp.respuesta.text}

`,\n\t\t\t\t\t\t\t\t\tshowConfirmButton: false,\n\t\t\t\t\t\t\t\t\ttimer: 4500\n\t\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\tthis.getAllMatrix(this.page, this.pageSize);\n\t\t\t\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\t\t\t\ticon: 'success',\n\t\t\t\t\t\t\t\t\ttitle: this.conf.modal.excellent,\n\t\t\t\t\t\t\t\t\thtml: this.conf.modal.deleteOk,\n\t\t\t\t\t\t\t\t\tshowConfirmButton: false,\n\t\t\t\t\t\t\t\t\ttimer: 4500\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\n\n\t}\n\n}\n","
\n
\n
\n \n {{conf.labels.filters.arrays}}\n \n \n \n \n {{conf.labels.filters.date}}\n \n \n \n \n \n \n \n \n \n \n {{conf.labels.filters.arrayTypeLabel}}\n \n {{conf.labels.filters.arrayTypeOptionAll}}\n {{tipo.nombre}}\n \n \n \n {{conf.labels.filters.campaignLabel}}\n \n {{conf.labels.filters.campaignOptionAll}}\n {{campaign.name}}\n \n \n
\n
\n \n
\n
\n
\n
\n

{{conf.labels.actions.createTitle}}

\n \n
\n
\n \n \n
\n \n
\n
\n 33}\" aria-label=\"Button that displays a tooltip when focused or hovered over\"\n [matTooltip]=\"matriz.matriz.nombre\" [matTooltipPosition]=\"'above'\" [matTooltipClass]=\"'tooltip-content'\">{{matriz.matriz.nombre | titlecase | cutText:0:endText}}\n
{{matriz.matriz.tipo_matriz.nombre | titlecase}}
\n
{{matriz.matriz.created_at | date:'dd/MM/yyyy h:mm a'}}
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n
\n
\n \n \n
\n
\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { FormArray, FormControl, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DataAuditoria } from 'src/app/modules/auditoria/interfaces/dataAuditoria.interface';\nimport { AuditoriaService } from 'src/app/modules/auditoria/services/auditoria.service';\nimport { MatrizService } from 'src/app/modules/auditoria/services/matriz.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\nimport { CoachingService } from 'src/app/modules/coaching/services/coaching.service';\nimport {Location} from '@angular/common';\n\n\n@Component({\n selector: 'app-detalle-retroalimentacion',\n templateUrl: './detalle-retroalimentacion.component.html',\n styleUrls: ['./detalle-retroalimentacion.component.sass']\n})\nexport class DetalleRetroalimentacionComponent implements OnInit {\n\n dataSource = [];\n displayedColumns:string[] = ['matriz','fecha_auditoria','calificacion'];\n tipo_matriz:string = '';\n tipo_peso:string = '';\n idMatriz;\n calificacionesForm:FormGroup;\n roles = [];\n is_asesor:boolean = false;\n analista:boolean = false;\n is_jefe:boolean = false;\n is_coaching:boolean = false;\n supervisor:boolean = false;\n verBtns:boolean = false;\n datos;\n data_general:any = [];\n isRetentionMatrix: number = 0;\n showFieldDuration: number = 0;\n constructor(\n private _location: Location,\n private auditoriaService:AuditoriaService,\n private fb:FormBuilder,\n // public retroalimentacionRef:MatDialogRef,\n //@Inject(MAT_DIALOG_DATA) public datos:any,\n private authService:AuthService,\n private router:Router,\n private aRoute:ActivatedRoute,\n private coachService:CoachingService,\n ) { \n \n }\n ngOnInit(): void {\n this.roles = this.authService.getUser().roles;\n //console.log(this.roles);\n this.createForm();\n \n this.aRoute.paramMap.subscribe(params=>{\n this.datos = params.get('id');\n this.getRetroalimentacionById();\n\n });\n\n\n \n }\n\n createForm(){\n this.calificacionesForm = this.fb.group({\n modulos:this.fb.array([]),\n txtAuditoria:[{value:'',disabled:true}],\n retroalimentacion_auditor:[{value:''},[Validators.required]],\n retroalimentacion_supervisor:[{value:'',disabled:true}],\n compromiso_calidad:[{value:'',disabled:true}],\n compromiso_operacion:[{value:'',disabled:true}],\n });\n this.roles.forEach(rol => {\n if (rol == 'auditoria::analista') {\n this.analista = true;\n }\n if (rol == 'auditoria::supervisor') {\n this.supervisor = true;\n }\n if (rol == 'auditoria::asesor') {\n this.is_asesor = true;\n const index = this.displayedColumns.indexOf('tipo_auditoria');\n this.displayedColumns.splice(index,1);\n }\n if (rol == 'auditoria::jefe') {\n this.is_jefe = true;\n }\n \n if (rol == 'coaching::asesor') {\n this.is_coaching = false;\n }else{\n this.is_coaching = true;\n }\n\n });\n if ((this.analista && this.supervisor)) {\n this.calificacionesForm.get('retroalimentacion_auditor').enable();\n this.calificacionesForm.get('retroalimentacion_supervisor').enable();\n }else if (this.analista) {\n this.calificacionesForm.get('retroalimentacion_auditor').enable();\n this.calificacionesForm.get('retroalimentacion_supervisor').setErrors(null);\n }else if (this.supervisor) {\n this.calificacionesForm.get('retroalimentacion_supervisor').enable();\n this.calificacionesForm.get('retroalimentacion_auditor').setErrors(null);\n }else{\n this.calificacionesForm.get('retroalimentacion_auditor').enable();\n this.calificacionesForm.get('retroalimentacion_supervisor').disable();\n this.calificacionesForm.get('retroalimentacion_auditor').setErrors(null);\n this.calificacionesForm.get('retroalimentacion_supervisor').setErrors(null);\n }\n if (this.is_jefe) {\n this.verBtns = false;\n }\n }\n\n getRetroalimentacionById(){\n const modulosForm = this.calificacionesForm.controls['modulos'];\n modulosForm.clear();\n this.auditoriaService.getRetroalimentacionById(this.datos).subscribe((resp:any)=>{\n let datos = [];\n this.isRetentionMatrix = resp[0].auditoria.detalle_matriz.is_retencion_matrix;\n this.showFieldDuration = resp[0].auditoria.detalle_matriz.showFieldDuration;\n this.data_general= resp[0].data_general[0];\n this.idMatriz = resp[0].auditoria.detalle_matriz.id;\n this.tipo_matriz = resp[0].auditoria.detalle_matriz.tipo_matriz.nombre;\n if (resp[0].auditoria.detalle_matriz.tipo_peso) {\n this.tipo_peso = resp[0].auditoria.detalle_matriz.\n tipo_peso.nombre;\n }\n datos.push({\n nombre_matriz: resp[0].auditoria.detalle_matriz.nombre,\n fecha_auditoria: resp[0].auditoria.fecha_llamada,\n tipo_audioria: resp[0].auditoria.tipo_audioria.nombre,\n calificacion: resp[0].auditoria.total_punaje\n });\n this.dataSource = datos;\n resp[0].auditoria.items_afectados.forEach((modulo,iModule) => {\n modulosForm.push(this.fb.group({\n calificacion: [{value:1,disabled:true}],\n created_at: modulo.created_at,\n cumple: modulo.cumple,\n deleted_at: modulo.deleted_at,\n detalle_item: modulo.detalle_item,\n id: modulo.id,\n items: this.fb.array([]),\n matriz_auditoria_id: modulo.matriz_auditoria_id,\n modulo_id: modulo.modulo_id,\n nivel: modulo.nivel,\n no: modulo.no,\n no_aplica: modulo.no_aplica,\n no_cumple: modulo.no_cumple,\n padre_id: modulo.padre_id,\n puntaje: modulo.puntaje,\n puntaje_obtenido: modulo.puntaje_obtenido,\n si: modulo.si,\n tipo_matriz_id: modulo.tipo_matriz_id,\n updated_at: modulo.updated_at,\n }));\n modulo.items.forEach((item) => {\n item.subitems.forEach(subItem => {\n Object.assign(subItem,{calificacion: [{value:1,disabled:true}]});\n });\n (this.modulesForm.at(iModule).get('items') as FormArray).push(this.fb.group({\n calificacion: [{value:1,disabled:true}],\n created_at: item.created_at,\n cumple: item.cumple,\n deleted_at: item.deleted_at,\n detalle_item: item.detalle_item,\n id: item.id,\n matriz_auditoria_id: item.matriz_auditoria_id,\n modulo_id: item.modulo_id,\n nivel: item.nivel,\n no: item.no,\n observacion: item.observacion,\n no_aplica: item.no_aplica,\n no_cumple: item.no_cumple,\n padre_id: item.padre_id,\n puntaje: item.puntaje,\n puntaje_obtenido: item.puntaje_obtenido,\n si: item.si,\n subitems: this.fb.array(item.subitems.map(subItem =>this.fb.group(subItem))),\n tipo_matriz_id: item.tipo_matriz_id,\n updated_at: item.updated_at,\n }));\n });\n });\n this.calificacionesForm.get('txtAuditoria').setValue(resp[0].auditoria.observacion_auditor);\n this.calificacionesForm.get('retroalimentacion_auditor').setValue(resp[0].auditoria.retroalimentacion_auditor);\n this.calificacionesForm.get('retroalimentacion_supervisor').setValue(resp[0].auditoria.retroalimentacion_supervisor);\n this.calificacionesForm.get('compromiso_calidad').setValue(resp[0].auditoria.compromiso_calidad);\n this.calificacionesForm.get('compromiso_operacion').setValue(resp[0].auditoria.compromiso);\n\n if (this.is_asesor && resp[0].auditoria.retroalimentacion_auditor) {\n this.calificacionesForm.get('compromiso_calidad').enable();\n }\n if (this.is_asesor && resp[0].auditoria.retroalimentacion_supervisor) {\n this.calificacionesForm.get('compromiso_operacion').enable();\n }\n if (this.analista && resp[0].auditoria.retroalimentacion_auditor) {\n this.calificacionesForm.get('retroalimentacion_auditor').enable();\n this.verBtns = false;\n }\n if (this.supervisor && resp[0].auditoria.retroalimentacion_supervisor) {\n this.calificacionesForm.get('retroalimentacion_supervisor').disable();\n this.verBtns = false;\n }\n\n if (resp[0].auditoria.compromiso_calidad && resp[0].auditoria.compromiso) {\n this.verBtns = false;\n this.calificacionesForm.get('compromiso_calidad').disable();\n this.calificacionesForm.get('compromiso_operacion').disable();\n }\n if (resp[0].auditoria.compromiso_calidad) {\n this.calificacionesForm.get('compromiso_calidad').disable();\n }\n if (resp[0].auditoria.compromiso) {\n this.calificacionesForm.get('compromiso_operacion').disable();\n }\n\n\n if (this.supervisor) {\n this.calificacionesForm.get('retroalimentacion_auditor').enable();\n this.verBtns = true;\n }else{\n this.calificacionesForm.get('retroalimentacion_auditor').disable();\n }\n\n if(resp[0].auditoria.retroalimentada==1){\n this.verBtns = false;\n this.calificacionesForm.get('retroalimentacion_auditor').disable();\n }\n\n\n });\n }\n\n get modulesForm(){\n return this.calificacionesForm.get('modulos') as FormArray;\n }\n\n updateRetroalimentacionById(){\n this.calificacionesForm.markAllAsTouched();\n if (this.calificacionesForm.invalid) {\n return\n }\n Object.assign(this.calificacionesForm.value,{\n mensaje: `Tienes una nueva retroalimentación en la auditoría ID ${this.datos}.`,\n ruta: '/mios/auditoria/mis-auditorias',\n })\n this.auditoriaService.updateRetroalimentacionById(this.datos,this.calificacionesForm.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess('¡Excelente!','La retroalimentación se ha guardado con éxito.');\n //this.retroalimentacionRef.close();\n this.ngOnInit();\n }else if (resp.respuesta.codigo != 202) {\n Tools.swalError('¡Oops!','Lo sentimos, ha ocurrido un error inesperado y no fue posible guardar la retroalimentación, por favor intenta nuevamente.');\n }\n });\n }\n\n updateAuditoria(){\n let mensaje:string = '';\n if (this.calificacionesForm.get('compromiso_calidad').touched && this.calificacionesForm.get('compromiso_operacion').touched) {\n mensaje = `Compromiso de calidad y de operación registrado en la auditoría ID-${this.datos}.`\n }else if (this.calificacionesForm.get('compromiso_calidad').touched) {\n mensaje = `Compromiso de calidad registrado en la auditoría ID-${this.datos}.`\n }else if (this.calificacionesForm.get('compromiso_operacion').touched) {\n mensaje = `Compromiso operación registrado en la auditoría ID-${this.datos}.`\n }\n this.calificacionesForm.get('compromiso_calidad').enable();\n this.calificacionesForm.get('compromiso_operacion').enable();\n Object.assign(this.calificacionesForm.value,{\n mensaje,\n ruta: '/mios/auditoria/auditoria/detail/1/'+this.idMatriz,\n })\n this.auditoriaService.updateAuditoria(this.datos,this.calificacionesForm.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess('¡Excelente!','La retroalimentación se ha guardado con éxito.');\n //this.retroalimentacionRef.close();\n this.ngOnInit();\n }else if (resp.respuesta.codigo != 202) {\n if (this.calificacionesForm.get('compromiso_calidad').touched && this.calificacionesForm.get('compromiso_operacion').touched) {\n this.calificacionesForm.get('compromiso_calidad').disable();\n this.calificacionesForm.get('compromiso_operacion').disable();\n }else if (this.calificacionesForm.get('compromiso_calidad').touched) {\n this.calificacionesForm.get('compromiso_calidad').disable();\n }else if (this.calificacionesForm.get('compromiso_operacion').touched) {\n this.calificacionesForm.get('compromiso_operacion').disable();\n }\n Tools.swalError('¡Oops!','Lo sentimos, ha ocurrido un error inesperado y no fue posible guardar la retroalimentación, por favor intenta nuevamente.');\n }\n });\n }\n\n nuevoCoaching(){\n this.coachService.coachCalidad(this.datos).subscribe((resp:any)=>{\n if (resp.respuesta.status) {\n if (resp.respuesta.estado === 'Abierto' || resp.respuesta.estado === 'Vencido') {\n window.location.replace('/mios/coaching/solicitud/'+resp.respuesta.id);\n }else{\n window.location.replace('/mios/coaching/finalizado/'+resp.respuesta.id);\n }\n }else{\n window.location.replace('/mios/coaching/auditoria/'+this.datos);\n }\n });\n }\n\n backClicked() {\n this._location.back();\n }\n\n}\n","
\n\n
\n \n
\n\n\n
\n
\n

ID Auditoría - {{datos}}

\n
\n
\n
\n \n\n \n \n \n \n \n\n \n \n \n \n \n\n\n \n \n \n \n \n\n \n \n\n \n \n \n
Matriz {{ element.nombre_matriz}} Fecha de la gestión {{ element.fecha_auditoria | date:'dd/MM/yyyy'}} Calificación {{ element.calificacion | number:'1.0-1'}}
No hay registros para mostrar
\n
\n\n \n Campaña\n \n \n\n\n \n Aliado\n \n \n\n \n Nombre del asesor\n \n \n\n\n \n Etiqueta\n \n \n\n\n \n Fecha llamada Auditada\n \n \n\n \n Número teléfono Auditado\n \n \n\n\n \n Hora contacto asesor cliente\n \n \n\n \n Duración grabación\n \n \n\n \n Skills\n \n \n\n \n Tipificación\n \n \n\n \n Sub tipificación\n \n \n\n\n \n Login\n \n \n\n\n \n Usuario\n \n \n\n\n \n Número de Radicado(Incidencia y CUN)\n \n \n\n\n \n Tienda\n \n \n\n \n Tipo\n \n \n\n\n \n Subtipo PQRS\n \n \n\n \n Segmento\n \n \n\n\n\n \n Año\n \n \n\n\n \n Mes\n \n \n\n \n ¿Es una retención?\n \n \n \n\n \n Observaciones\n \n \n\n \n Voz cliente\n \n \n\n\n \n \n

Total

\n

{{data_general.Calificacion_total}}%

\n
\n\n \n

Cumplimiento

\n

{{data_general.Calificacion_cumplimiento}}%

\n
\n\n \n

No crítico

\n

{{data_general.Calificacion_no_critico}}%

\n
\n\n \n

Crítico usuario final Campaña

\n

{{data_general.Calificacion_usuario_final_campana}}%

\n
\n\n\n \n

Crítico negocio

\n

{{data_general.Calificacion_critico_negocio}}%

\n
\n\n \n

Precisión de error crítico

\n

{{data_general.Calificacion_PEC}}%

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

{{modulo.get('detalle_item').value.sigla}}

\n

{{modulo.get('detalle_item').value.nombre}}

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

{{item.get('detalle_item').value.sigla}}

\n

{{item.get('detalle_item').value.nombre\n |cutText:0:1000}}

\n
\n \n
\n \n Cumple\n No cumple\n N/A\n \n
\n
\n \n Si\n No\n N/A\n \n
\n
\n \n Si\n No\n N/A\n \n
\n
\n
\n

\n Observación: {{ item.get('observacion').value }}

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

\n {{subtItem.get('detalle_item').value.sigla}}

\n \n

\n {{subtItem.get('detalle_item').value.nombre |\n cutText:0:1000}}

\n
\n \n \n Cumple\n No\n cumple\n N/A\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n
\n \n Observación de la auditoría\n \n \n \n Retroalimentación\n \n Por favor ingrese una retroalimentación.\n \n \n Retroalimentación Supervisor\n \n \n \n Compromiso calidad\n \n \n \n Compromiso operación\n \n \n
\n\n\n
\n \n \n \n
\n
\n\n
","import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpErrorResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { MatSnackBar, SimpleSnackBar, _SnackBarContainer } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n\n public lang;\n\n constructor(private snack: MatSnackBar) {}\n\n /**\n * Metodo que intercepta los errores de los servicios globalmente\n * @param request\n * @param next\n */\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n const item = localStorage.getItem('locale');\n this.lang = item ? JSON.parse(item) : 'es';\n return next.handle(request).pipe(\n catchError((err: HttpErrorResponse) => {\n if (err.status === 400 || err.status === 401 || err.status === 404 ) {\n setTimeout( e => {\n this.snack.openFromComponent(BasicSnackbarComponent, {\n data: {\n title : this.lang === 'es' ? 'Error de procedimiento!' : 'Procedural error!',\n message : err.error.message ?? err.error.error,\n },\n duration: 5500,\n verticalPosition: 'top',\n panelClass : ['red-snackbar']\n });\n }, 300);\n }else if( err.status == 500){\n setTimeout( e => {\n this.snack.openFromComponent(BasicSnackbarComponent, {\n data: {\n title : this.lang === 'es' ? 'Error de servidor!' : 'Server error!',\n message : err.error.message ?? err.error.error,\n },\n duration: 3500,\n verticalPosition: 'top',\n panelClass : ['red-snackbar']\n });\n }, 300);\n }else if( err.status == 403){\n setTimeout( e => {\n this.snack.openFromComponent(BasicSnackbarComponent, {\n data: {\n title : this.lang === 'es' ? 'Alerta!' : 'Alert!',\n message : err.error.message ?? err.error.error,\n },\n duration: 5500,\n verticalPosition: 'top',\n panelClass : ['yellow-snackbar']\n });\n }, 300);\n }\n return throwError( err );\n\n })\n );\n }\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-massive-management',\n templateUrl: './massive-management.component.html',\n styleUrls: ['./massive-management.component.css']\n})\nexport class MassiveManagementComponent implements OnInit {\n constructor(\n private matDialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n ngOnInit(): void {\n\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-08-10\n * Metodo que es llamado cuando se gestiona varios correos seleccionados en la vista.\n * @param $event Evento emitido por el componente hijo. \n */\n onCloseDialogWhenSubmitMessage($event: any): void {\n this.matDialogRef.close($event);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-26\n * Metodo que es llamado cuando se da sobre el boton descartar en la modal de gestion.\n */\n onClickCancelButton(): void {\n this.matDialogRef.close();\n }\n}","
\n
Gestión masiva
\n
\n \n
\n
\n
\n \n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n\tselector: 'app-crear-modulo',\n\ttemplateUrl: './crear-modulo.component.html',\n\tstyleUrls: ['./crear-modulo.component.sass']\n})\nexport class CrearModuloComponent implements OnInit {\n private uuid = 'eff904ae-908d-11ee-b9d1-0242ac120002';\n public config: any;\n\n\tmoduleForm: FormGroup;\n\tmodulos = [];\n\tfilteredOptions: Observable;\n\tverError: boolean = true;\n\tcontinue: boolean = true;\n\tnuevo: boolean = false;\n\tpeso: boolean = true;\n\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tpublic moduleRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public datos: any,\n\t\tprivate matrizService: MatrizService,\n private configService: TranslatesService,\n\t) { }\n\n\tngOnInit(): void {\n\t\tthis.createForm();\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n\t}\n\n\tcreateForm() {\n\t\tthis.moduleForm = this.fb.group({\n\t\t\tnombre: ['', [Validators.required]],\n\t\t\tpeso: ['', [Validators.min(this.datos.minimo), Validators.max(this.datos.maximo), Validators.required]],\n\t\t\tis_total: [{ value: false, disabled: true }, []],\n\t\t\terror_critico: [{ value: false, disabled: true }, Validators.required],\n\t\t});\n\n\t\tif (this.datos.tipo_matriz == \"Valor\" || this.datos.tipo_matriz == \"Value\" ) {\n\t\t\tif (this.datos.tipo_peso) {\n\t\t\t\tif (this.datos.tipo_peso == 'Peso en Items' || this.datos.tipo_peso == 'Weight in Items') {\n\t\t\t\t\tthis.peso = true;\n\t\t\t\t\tthis.moduleForm.get('peso').setValue(null);\n\t\t\t\t\tthis.moduleForm.get('peso').disable();\n\t\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t}\n\n\tprivate _filter(value: string): any[] {\n\t\tconst filterValue = value.toLowerCase();\n\t\treturn this.modulos.filter(option => option.nombre.toLowerCase().includes(filterValue));\n\t}\n\n\tdisplayFn(module: any): string {\n\t\treturn module && module ? module : '';\n\t}\n\n\tgetModules() {\n\t\tthis.matrizService.getModules(this.moduleForm.get('nombre').value).subscribe((resp: any) => {\n\t\t\tif (resp.length == 0) {\n\t\t\t\tthis.verError = true\n\t\t\t\tthis.nuevo = true;\n\t\t\t\tthis.moduleForm.get('nombre').setErrors({ invalid: true });\n\t\t\t\tthis.peso = true;\n\t\t\t\tthis.moduleForm.get('error_critico').disable();\n\t\t\t\tthis.continue = true;\n\t\t\t} else {\n\t\t\t\tthis.verError = false;\n\t\t\t\tthis.nuevo = false;\n\t\t\t\tthis.modulos = resp\n\t\t\t\tthis.peso = true;\n\t\t\t\tthis.filteredOptions = this.moduleForm.get('nombre').valueChanges.pipe(\n\t\t\t\t\tstartWith(''),\n\t\t\t\t\tmap(value => this._filter(value))\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\n\tnewModule() {\n\t\tthis.nuevo = false;\n\t\tthis.moduleForm.get('nombre').setErrors(null);\n\t\tif (this.datos.tipo_matriz == \"Cumplimiento\" || this.datos.tipo_matriz == \"Compliance\") {\n\t\t\tthis.peso = true\n\t\t} else {\n\t\t\tif (this.datos.tipo_peso) {\n\t\t\t\tif (this.datos.tipo_peso == 'Peso en Módulos' || this.datos.tipo_peso == 'Weight in Modules') {\n\t\t\t\t\tthis.peso = true;\n\t\t\t\t} else {\n\t\t\t\t\tthis.peso = true;\n\t\t\t\t\tthis.moduleForm.get('peso').setValue(null);\n\t\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.continue = false;\n\t\tthis.moduleForm.get('error_critico').enable();\n\t}\n\n\tsaveModule() {\n\t\tif (this.moduleForm.invalid) {\n\t\t\treturn\n\t\t}\n\t\tif (\n\t\t\tthis.moduleForm.get('error_critico').value\n\t\t\t&& (this.moduleForm.get('peso').value == \"\" || this.moduleForm.get('peso').value == undefined || this.moduleForm.get('peso').value == null)\n\t\t\t&& this.moduleForm.get('is_total').value == false) {\n\t\t\tthis.moduleForm.get('peso').setErrors({ required: true });\n\t\t\treturn;\n\t\t}\n\n const data = {\n idMatriz: this.datos.id_matriz,\n lang: this.configService.lang\n };\n\n\t\tObject.assign(data, this.moduleForm.value);\n\t\tthis.matrizService.newModule(data).subscribe((resp: any) => {\n\t\t\tif (resp.respuesta.codigo == 202) {\n\t\t\t\tTools.swalSuccess(this.config.modal.excellent, this.config.modal.saveOk);\n\t\t\t\tthis.moduleRef.close();\n\t\t\t} else if (resp.respuesta.codigo > 400) {\n\t\t\t\tTools.swalError('¡Oops!', this.config.modal.saveError);\n\t\t\t}\n\t\t}\n\t\t);\n\t}\n\n\t//Obtener los controles del formulario\n\tget errors(): any {\n\t\treturn this.moduleForm.controls;\n\t}\n\n\t/** Metodo que se encarga de habilit el peso\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 16/06/2022\n\t * @param event:any evento de HTML\n\t */\n\thabilitarPeso(event: any): void {\n\t\tif (event.checked) {\n\t\t\tthis.moduleForm.get('peso').setValue('');\n\t\t\tthis.moduleForm.get('peso').disable();\n\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\tthis.moduleForm.get('peso').setValidators(null)\n\t\t} else {\n\t\t\tthis.moduleForm.get('peso').setValue('');\n\t\t\tthis.moduleForm.get('peso').enable();\n\t\t\tif (this.moduleForm.get('error_critico').value) {\n\t\t\t\tthis.moduleForm.get('peso').setValidators([Validators.min(this.datos.minimo), Validators.max(this.datos.maximo), Validators.required])\n\t\t\t\tthis.moduleForm.get('peso').setErrors({ required: true });\n\t\t\t} else {\n\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t\tthis.moduleForm.get('peso').setValidators([Validators.min(this.datos.minimo), Validators.max(this.datos.maximo)])\n\t\t\t}\n\t\t}\n\n\t}\n\n\t/**\n\t * Metodo que habilita check de afectacion total\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 16/06/2022\n\t * @param event :evento de cambio de estado en changue\n\t * @return void\n\t */\n\thabilitaCheck(event: any): void {\n\t\tif (event.checked) {\n\t\t\tthis.moduleForm.get('peso').setValidators([Validators.min(this.datos.minimo), Validators.max(this.datos.maximo), Validators.required])\n\t\t\tthis.moduleForm.get('peso').enable()\n\t\t\tthis.moduleForm.get('is_total').enable();\n\t\t} else {\n\t\t\tthis.moduleForm.get('peso').setValidators(null)\n\t\t\tthis.moduleForm.get('is_total').disable();\n\t\t\tif (this.datos.tipo_matriz == \"Valor\" || this.datos.tipo_matriz == \"Value\") {\n\t\t\t\tif (this.datos.tipo_peso) {\n\t\t\t\t\tif (this.datos.tipo_peso == 'Peso en Items' || this.datos.tipo_peso == 'Weight in Items') {\n\t\t\t\t\t\tthis.peso = true;\n\t\t\t\t\t\tthis.moduleForm.get('peso').setValue(null);\n\t\t\t\t\t\tthis.moduleForm.get('peso').disable();\n\t\t\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.moduleForm.get('peso').setValue([Validators.min(this.datos.minimo), Validators.max(this.datos.maximo), Validators.required]);\n\t\t\t\t\t\tthis.moduleForm.get('peso').enable()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n}\n","\n
\n

{{config.labels.form.title}}

\n \n \n {{config.labels.form.name}}\n \n \n \n \n {{option.nombre}}\n \n \n {{config.labels.errors.noMatches}}\n \n \n \n {{config.labels.form.weight}}\n \n {{config.labels.errors.requiredWeight}}\n {{config.labels.errors.minWeight}} {{ this.datos.minimo }} .\n {{config.labels.errors.maxWeight}} {{ this.datos.maximo }} .\n \n {{config.labels.checkbox.criticalModule}}\n
\n {{config.labels.checkbox.totalAffectation}}\n\n
\n \n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AuditoriaRoutingModule } from './auditoria-routing.module';\nimport { AuditoriaComponent } from './auditoria.component';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { InteligenciaNegociosComponent } from './modules/inteligencia-negocios/inteligencia-negocios.component';\nimport { MatricesComponent } from './modules/matrices/matrices.component';\nimport { TablaPreguntasComponent } from './modules/inteligencia-negocios/components/tabla-preguntas/tabla-preguntas.component';\nimport { TablaInteligenciaNegocioComponent } from './modules/inteligencia-negocios/components/tabla-inteligencia-negocio/tabla-inteligencia-negocio.component';\nimport { CrearPreguntaComponent } from './modules/inteligencia-negocios/components/crear-pregunta/crear-pregunta.component';\nimport { DetallePreguntaComponent } from './modules/inteligencia-negocios/components/detalle-pregunta/detalle-pregunta.component';\nimport { EditarFormularioComponent } from './modules/inteligencia-negocios/components/editar-formulario/editar-formulario.component';\nimport { CrearFormularioComponent } from './modules/inteligencia-negocios/components/crear-formulario/crear-formulario.component';\nimport { MatricesAsignadasComponent } from './modules/inteligencia-negocios/components/matrices-asignadas/matrices-asignadas.component';\nimport { MainMatricesComponent } from './modules/matrices/components/main-matrices/main-matrices.component';\nimport { DetalleMatrizComponent } from './modules/matrices/components/detalle-matriz/detalle-matriz.component';\nimport { CrearMatrizComponent } from './modules/matrices/components/crear-matriz/crear-matriz.component';\nimport { CrearModuloComponent } from './modules/matrices/components/crear-modulo/crear-modulo.component';\nimport { CrearItemComponent } from './modules/matrices/components/crear-item/crear-item.component';\nimport { EditarMatrizComponent } from './modules/matrices/components/editar-matriz/editar-matriz.component';\nimport { EditarModuloComponent } from './modules/matrices/components/editar-modulo/editar-modulo.component';\nimport { CrearSubItemComponent } from './modules/matrices/components/crear-sub-item/crear-sub-item.component';\nimport { EditarSubItemComponent } from './modules/matrices/components/editar-sub-item/editar-sub-item.component';\nimport { EditarItemComponent } from './modules/matrices/components/editar-item/editar-item.component';\nimport { BooleanPipe } from './pipes/boolean.pipe';\nimport { AnalistasAuditoriaComponent } from './modules/matrices/components/analistas-auditoria/analistas-auditoria.component';\nimport { AuditoriasComponent } from './modules/auditorias/auditorias.component';\nimport { DetalleAuditoriaComponent } from './modules/auditorias/components/detalle-auditoria/detalle-auditoria.component';\n\nimport { FormAuditarComponent } from './modules/auditorias/components/form-auditar/form-auditar.component';\nimport { CalificacionAuditoriaComponent } from './modules/auditorias/components/calificacion-auditoria/calificacion-auditoria.component';\nimport { RetroalimentarComponent } from './modules/auditorias/components/retroalimentar/retroalimentar.component';\nimport { TablaRetroalimentarComponent } from './modules/auditorias/components/retroalimentar/components/tabla-retroalimentar/tabla-retroalimentar.component';\nimport { FormInteligenciaComponent } from './modules/auditorias/components/detalle-auditoria/components/form-inteligencia/form-inteligencia.component';\nimport { CutTextPipe } from './pipes/cut-text.pipe';\nimport { DetalleRetroalimentacionComponent } from './modules/auditorias/components/retroalimentar/components/detalle-retroalimentacion/detalle-retroalimentacion.component';\nimport { TablaAuditadoComponent } from './modules/auditorias/components/tabla-auditado/tabla-auditado.component';\nimport { ControlComponent } from './modules/control/control.component';\nimport { DetalleControlComponent } from './modules/control/components/detalle-control/detalle-control.component';\nimport { TimePipe } from './pipes/time.pipe';\nimport { TablaControlComponent } from './modules/control/components/tabla-control/tabla-control.component';\nimport { DialogGrupoComponent } from './modules/control/components/dialog-grupo/dialog-grupo.component';\nimport { DetalleGrupoComponent } from './modules/control/components/detalle-grupo/detalle-grupo.component';\nimport { TablaGrupoComponent } from './modules/control/components/tabla-grupo/tabla-grupo.component';\nimport { AgregarAgenteComponent } from './modules/control/components/agregar-agente/agregar-agente.component';\nimport { MisAuditoriasComponent } from './modules/mis-auditorias/mis-auditorias.component';\nimport { ReporteriaComponent } from './modules/reporteria/reporteria.component';\nimport { UppercaseTextPipe } from './pipes/uppercase-text.pipe';\nimport { PowerbiComponent } from './modules/powerbi/powerbi.component';\nimport { EliminarAuditoriaComponent } from './modules/eliminar-auditoria/eliminar-auditoria.component';\nimport { TablaEliminacionComponent } from './modules/eliminar-auditoria/components/tabla-eliminacion/tabla-eliminacion.component';\nimport { DialogEliminacionComponent } from './modules/eliminar-auditoria/components/dialog-eliminacion/dialog-eliminacion.component';\nimport { ReporteEncuestaComponent } from './modules/reporte-encuesta/reporte-encuesta.component';\nimport { CrudTipificacionComponent } from './modules/crud-tipificacion/crud-tipificacion.component';\n\n\n@NgModule({\n declarations: [\n AuditoriaComponent,\n InteligenciaNegociosComponent,\n MatricesComponent,\n TablaPreguntasComponent,\n TablaInteligenciaNegocioComponent,\n CrearPreguntaComponent,\n DetallePreguntaComponent,\n EditarFormularioComponent,\n MainMatricesComponent,\n CrearFormularioComponent,\n MatricesAsignadasComponent,\n DetalleMatrizComponent,\n CrearMatrizComponent,\n CrearModuloComponent,\n CrearItemComponent,\n EditarMatrizComponent,\n EditarModuloComponent,\n CrearSubItemComponent,\n EditarSubItemComponent,\n EditarItemComponent,\n BooleanPipe,\n AnalistasAuditoriaComponent,\n AuditoriasComponent,\n DetalleAuditoriaComponent,\n FormAuditarComponent,\n CalificacionAuditoriaComponent,\n RetroalimentarComponent,\n TablaRetroalimentarComponent,\n FormInteligenciaComponent,\n CutTextPipe,\n DetalleRetroalimentacionComponent,\n TablaAuditadoComponent,\n ControlComponent,\n DetalleControlComponent,\n TimePipe,\n TablaControlComponent,\n DialogGrupoComponent,\n DetalleGrupoComponent,\n TablaGrupoComponent,\n AgregarAgenteComponent,\n MisAuditoriasComponent,\n ReporteriaComponent,\n UppercaseTextPipe,\n PowerbiComponent,\n EliminarAuditoriaComponent,\n TablaEliminacionComponent,\n DialogEliminacionComponent,\n ReporteEncuestaComponent,\n CrudTipificacionComponent,\n ],\n imports: [\n CommonModule,\n AuditoriaRoutingModule,\n MaterialModule,\n SharedModule\n ],\n providers:[\n TimePipe\n ],\n exports:[\n CutTextPipe\n ]\n})\nexport class AuditoriaModule { }\n","import { SideBarComponent } from './../../../../../mios/side-bar/side-bar.component';\nimport { ScheduleService } from './../../../../../core/services/rest/schedule.service';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { MassMigrationUsersComponent } from 'src/app/modules/ciu/modules/users/mass-migration-users/mass-migration-users.component';\nimport { AuthService } from './../../../../../core/services/rest/auth.service';\nimport { Component, OnInit, ViewChild, ChangeDetectorRef } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { SaveUsersComponent } from '../save-users/save-users.component';\nimport { UsersService } from '../../../services/rest/users.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { EditUsersComponent } from '../edit-users/edit-users.component';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { Location } from '@angular/common';\nimport Swal from 'sweetalert2';\nimport { UserStatusResponseComponent } from '../userStatus-response/userStatus-response.component';\n\n\n@Component({\n selector: 'app-admin-users',\n templateUrl: './admin-users.component.html',\n styleUrls: ['./admin-users.component.sass']\n})\nexport class AdminUsersComponent implements OnInit {\n\n // MatPaginator Inputs\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n show = false;\n filterValue;\n public reactiveForm: FormGroup;\n public queryParams : string = 'page=1&per_page=5';\n public validInit: boolean = true;\n\n\n\n\n displayedColumns: string[] = ['accion', 'name', 'id_number','userName', 'email', 'campaign', 'group', 'applications'];\n dataSource = new MatTableDataSource();\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n constructor(public dialog: MatDialog,\n public userService: UsersService,\n private alertsService: AlertsService,\n private destroyService: DestroyComponentService,\n private location: Location,\n private authService : AuthService,\n private formBuilder: FormBuilder,\n private changeDetectorRef : ChangeDetectorRef,\n private scheduleService : ScheduleService,\n private sideBar: SideBarComponent\n ) {}\n\n ngOnInit(): void {\n this.defineReactiveForm();\n this.getUsers();\n }\n\n get userLog() { return this.authService.decryptToken(); }\n\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que consulta todos los usuarios debidamente paginados para mostrarlos en la tabla\n * @param size tamaño de datos a traer\n * @param page pagina a traer\n */\n getUsers(): void {\n\n if (this.dataSource.filter === ''){\n this.dataSource.filter = null;\n }\n this.userService.getUsersFilter(this.queryParams).subscribe((Response) => {\n if (typeof Response.data.data !== 'undefined') {\n this.dataSource = new MatTableDataSource(Object.values(Response.data.data));\n }else{\n this.dataSource.data = [];\n }\n this.dataSource.sort = this.sort;\n this.length = Response.data.total;\n this.pageSize = Response.data.per_page;\n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se encarga del paginador al momento de cambiar de pagina\n * @param event evento que trae la pagina a listar\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que abre el modal para guardar un usuario\n */\n saveUser(): void{\n\n const dialogRefSave = this.dialog.open(SaveUsersComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear usuario',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogRefSave.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que abre el modal para editar un usuario\n * @param user datos del usuario a editar\n */\n editUser(user: any): void{\n\n const dialogRefEdit = this.dialog.open(EditUsersComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar usuario',\n user\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogRefEdit.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se encarga de la eliminacion de un usuario\n * @param user datos del usuario a eliminar\n */\n deleteUser(user: any): void{\n\n let value = this.alertsService.alertConfirm('¿Desea eliminar este usuario?');\n value.then((result) =>{\n if (result.isConfirmed) {\n this.userService.deleteUser(user.id).subscribe((resp) => {\n this.alertsService.alertSuccess('Eliminado', resp.data);\n this.ngOnInit();\n });\n }\n });\n\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-13\n * @param email envia el email al back para enviar el correo con la ruta de cambio de password\n * Metodo que envia el formulario al servicio\n */\n sendEmail(rrhh_id, email): void{\n\n Swal.fire({\n title: \"¿Estás seguro?\",\n icon: 'warning',\n showCancelButton: true,\n cancelButtonText: \"Cancelar\",\n confirmButtonText: \"Sí, enviar\",\n })\n .then(resultado => {\n const formData = new FormData();\n formData.append( 'rrhh_id' , rrhh_id);\n if (resultado.value) {\n this.authService.validateEmail(formData).subscribe(\n response => {\n if (response.data.response === 'OK') {\n Swal.fire({\n html: `Solicitud enviada al correo ${email}`,\n icon: 'success',\n title : 'Enviado',\n confirmButtonText: 'Aceptar'\n });\n } else if(response.error_code == 401)\n {\n Swal.fire({\n html: `${response.error}`,\n icon: 'error',\n title : 'Error',\n confirmButtonText: 'Aceptar'\n });\n }\n }\n );\n }\n });\n \n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-07\n * Metodo que regula las extenciones de los correos ingresados al formulario\n */\n verifyEmail(email) : boolean{\n let bool = true;\n\n if (/@hotmail/.test(email)) {\n bool = false;\n }\n else if (/@gmail/.test(email)) {\n bool = false;\n }\n else if (/@outlook/.test(email)) {\n bool = false;\n }\n else if (/@yahoo/.test(email)) {\n bool = false;\n }\n else if (/@icloud/.test(email)) {\n bool = false;\n }\n\n return bool;\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-05-06\n * Metodo para mostrar o ocultar filtros avanzados\n */\n Hide() {\n if (this.show == false) {\n this.show = true;\n } else {\n this.show = false;\n }\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-14\n * Metodo que abre el modal para agregar permisos massivamente\n * @param user datos del usuario a editar\n */\n rolMigration(): void{\n\n const dialogRefEdit = this.dialog.open(MassMigrationUsersComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Migración',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogRefEdit.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n\n }\n\n\n\t/**\n\t * Primero valida si existe en la variable el string filter,\n\t\t * en cuyo caso obtiene 'filter={info digitada}', limpiando los demas datos,\n\t\t * luego vuelve a evaluar si existe filter en cuyo caso lo concatena al string\n\t\t * en caso de que no exista arma el string solo con con page y pagezise\n\t * @author Carlos Nieto\n\t * @param event\n\t * @returns string\n\t /**/\n\tpublic ValidateFilterParams(event) : string\n\t{\n\t\tthis.queryParams = \tthis.queryParams.includes(\"filter\") ?\n\t\tthis.queryParams.substring(this.queryParams.indexOf('filter')) : this.queryParams;\n\t\tthis.queryParams = this.queryParams.includes(\"filter\") ?\n\t\t`page=${event.pageIndex + 1}&per_page=${event.pageSize}&${this.queryParams}` :\n\t\t`page=${event.pageIndex + 1}&per_page=${event.pageSize}` ;\n\n\t\treturn this.queryParams;\n\t}\n\n public handleChangePage(event)\n\t{\n\t\tthis.queryParams = this.ValidateFilterParams(event);\n\t\tthis.validInit = false;\n this.destroyService.destroyComponent();\n\t\tthis.getUsers();\n\t}\n\n /* Filter Function */\n\tapplyFilter(filterValue: string): void {\n filterValue = filterValue.trim(); // Remove whitespace\n filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches\n\t\tthis.queryParams = `filter=${filterValue}`;\n this.destroyService.destroyComponent();\n\t\tthis.getUsers();\n this.dataSource.filter = filterValue;\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-01\n * Metodo que se encarga de pasar todos los valores objetos a array\n * @param row dato a convertir\n */\n vaidateData(row)\n {\n return Object.values(row);\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-01\n * Metodo que se encarga de resetear la jornada de un usuario\n * guardando su respectivo log\n * @param user datos de la columna usuario\n */\n scheduleReset(user: any): void{\n\n let value = this.alertsService.alertConfirm('¿Desea reiniciar la jornada este usuario?');\n value.then((result) =>{\n if (result.isConfirmed) {\n let data = {\"responsible_id\":this.userLog.idCiu,\"affected_user\":user.id};\n if(this.userLog.idCiu != user.id )\n {\n this.scheduleService.scheduleReset(data).subscribe((resp) => {\n this.alertsService.alertSuccess('Jornada reiniciada', resp.data);\n this.sideBar.getSchedule();\n this.ngOnInit();\n });\n }else{\n Swal.fire({\n html: `No puedes modificar tu propia jornada.`,\n icon: 'error',\n title : 'Error',\n confirmButtonText: 'Aceptar'\n })\n }\n\n }\n });\n }\n\n\n defineReactiveForm(): void {\n this.reactiveForm = this.formBuilder.group({\n 'filter': ['']\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n backRoute(){\n this.location.back()\n }\n /**\n * @author Daniel Dominguez \n * @createdate 2022-05-04\n * Metodo que se encarga de la modificacion de un usuario a listado o inactivo\n * @param user datos del modificar usuario \n */\n modifyUser(row){\n const commentDialog = this.dialog.open( UserStatusResponseComponent, {\n });\n commentDialog.afterClosed().subscribe(result=>{\n if(!result)\n return\n let message = \"\"\n if(result.state === 36)\n message = `Usuario desactivado exitosamente`\n if(result.state === 3)\n message = `Usuario listado exitosamente`\n this.userService.blockUser(row.id, {...result}).subscribe((resp:any) => {\n if(resp.error){\n this.alertsService.alertError('Error',resp.error)\n return\n }\n \n this.alertsService.alertSuccess('Correcto', message);\n this.ngOnInit();\n }, error=>{\n console.error(error)\n });\n })\n }\n /**\n * @author Daniel Dominguez \n * @createdate 2022-05-05\n * Metodo que se encarga de la modificacion de un usuario a listado o inactivo\n * @param user datos del modificar usuario \n */\n activateUser(row){\n console.log(row)\n let blockUser = row?.hired_user?.state_id\n if(!blockUser || (blockUser && blockUser === 3)){\n this.alertsService.alertError('Usuario listado', 'Por favor comuniquese con area de recursos humanos')\n return\n }\n \n let str = '¿En verdad deseas habilitar el usuario?, recuerda esto' + '\\n' + 'se podra modificar las veces que sea necesario ';\n Swal.fire({\n title: '¿Estás seguro?',\n html: '
' + str + '
',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.userService.restoreUser(row.id).subscribe((resp:any) => {\n if(resp.error){\n this.alertsService.alertError('Error',resp.error)\n return\n }\n this.alertsService.alertSuccess('Restaurado', resp.data);\n this.ngOnInit();\n }, error=>{\n console.error(error)\n })\n }\n });\n }\n}\n","
\n\n
\n \n
\n
\n

Administración de usuarios

\n

Bienvenido al módulo de administración, recuerda que puedes
filtrar por cualquier criterio que encuentres en la tabla.

\n
\n\n
\n\n \n Filtro de búsqueda\n \n \n \n
\n
\n\n
\n \n \n
\n
\n \n \n \n
\n\n
\n\n
\n
\n \n
\n
\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n
Acciones\n \n \n \n \n \n Nombre y apellido {{row.name}} Identificación {{row.id_number}} Nombre de Usuario {{row.username}} Correo {{row.email}} Campaña {{row.campaign}} Grupo {{row.group}} Permisos de ingreso \n {{item.name}} \n
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n\n \n \n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { throwError, Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { catchError } from 'rxjs/operators';\n\nconst CIU_URL = environment.CIU_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GroupsService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-02\n * Servicio que lista todos los groupes del aplicativo ciu\n * @param size tamaño de los datos a traer\n * @param page numero de pagina en la que se ubicara la tabla\n */\n getGroups(size: number, page: number): Observable{\n return this.http.get(`${CIU_URL}groups?n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jose Vicente Silva Rivera\n * @createdate 2021-02-02\n * Servicio que lista todos los groupes del aplicativo por campaña\n * @param size tamaño de los datos a traer\n * @param page numero de pagina en la que se ubicara la tabla\n */\n getGroupsByCampaign(idCampaign: number): Observable{\n return this.http.get(`${CIU_URL}groupByCampaign/?campaign_id=${idCampaign}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Javier Castañeda\n * Método para obtener los grupos\n */\n getAllGroups(){\n return this.http.get(`${CIU_URL}list/groups`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-03\n * Servicio que realiza una busqueda avanzada de groupes por un valor\n * @param size tamaño de los datos a traer\n * @param value valor a buscar\n */\n searchGroup(size: number, value: any): Observable{\n return this.http.get(`${CIU_URL}groups/search?n=` + size + `&q=` + value)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-03\n * Servicio que guarda un group en su respectiva tabla\n * @param group group a guardarse\n */\n saveGroup(group: any): Observable{\n \n return this.http.post(`${CIU_URL}groups`, group)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Servicio que edita un group en su respectiva tabla\n * @param group group a editarse\n */\n editGroup(id: any, group: any): Observable{\n return this.http.put(`${CIU_URL}groups/${id}`, group)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Servicio que borra un group en su respectiva tabla\n * @param idgroup id del group a eliminarse\n */\n deleteGroup(idgroup: any): Observable{\n return this.http.delete(`${CIU_URL}groups/${idgroup}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Nicoll Ramirez\n * Método para descargar el reporte general de los grupos\n */\n downloadReport(): Observable{\n const httpOptions = {responseType: 'blob' as 'json'};\n return this.http.get(`${CIU_URL}groupsReport`,httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Nicoll Ramirez\n * Método para descargar el reporte de un grupo especifico\n */\n downloadGroup(id): Observable{\n const httpOptions = {responseType: 'blob' as 'json'};\n return this.http.get(`${CIU_URL}groupReport/${id}`,httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * Método para obtener los usuarios de un grupo\n */\n getUsersByGroup(groupId: any){\n return this.http.get(`${CIU_URL}getUserByGroupToEdit/${groupId}`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { environment } from '../../../../environments/environment';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthService } from '../../../core/services/rest/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UpdatesService {\n private server = environment.RRHH_URL;\n constructor(private http:HttpClient, private activeRoute: ActivatedRoute, private authService:AuthService) { }\n getUpdates(){\n\n }\n postUpdates(update, file:File){\n const formData = new FormData();\n formData.append('file', file);\n return this.http.post(`${this.server}${update}/import`, formData);\n }\n downloadFormat(update){\n return this.http.get(`${this.server}${update}/export/format`, {responseType:'blob'});\n }\n}\n","import { createAction, props } from \"@ngrx/store\";\nimport { AcompañamientoModel } from \"../../core/interfaces/acompañamiento.interface\";\nimport { HistorialModel } from \"../../core/interfaces/historial.interface\";\n\n/**\n * @author Cristian Gallo\n * @createdate 2021-12-10\n * Action que cargara la información para la tabla de historial de solicitud.\n*/\n\nexport const loadHistorial = createAction(\n '[Historial] Load historial',\n props<{\n idSolicitud,\n numeroReg?:number,\n page?:number,\n }>()\n);\n\nexport const loadedHistorial = createAction(\n '[Historial] Loaded historial',\n props<{ historial:AcompañamientoModel }>()\n);\n\n\nexport const loadHistorialById = createAction(\n '[HistorialById] Load historial',\n props<{ idHistorial }>()\n);\n\nexport const loadedHistorialById = createAction(\n '[HistorialById] Loaded historial',\n props<{ historial:HistorialModel }>()\n);","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { HomeComponent } from './modules/chat/pages/home/home.component';\n\n\nconst routes: Routes = [\n { path: '', component: HomeComponent },\n { path: 'omni', loadChildren: () => import('./modules/chat/chat.module').then( m => m.ChatModule ) },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class LivechatRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { AsyncPipe, CommonModule } from '@angular/common';\n\nimport { CoachingRoutingModule } from './coaching-routing.module';\nimport { CoachingComponent } from './modules/coaching/coaching.component';\nimport { ReporteComponent } from './modules/reporte/reporte.component';\nimport { TablaCoachingComponent } from './modules/coaching/components/tabla-coaching/tabla-coaching.component';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { CoachingAppComponent } from './coaching-app.component';\nimport { FiltroTablaComponent } from './modules/coaching/components/filtro-tabla/filtro-tabla.component';\nimport { NuevoCoachingComponent } from './modules/coaching/components/nuevo-coaching/nuevo-coaching.component';\nimport { DetalleCoachingComponent } from './modules/coaching/components/detalle-coaching/detalle-coaching.component';\nimport { AuditoriaComponent } from './modules/coaching/components/detalle-coaching/components/auditoria/auditoria.component';\nimport { StoreModule } from '@ngrx/store';\nimport { ROOT_REDUCERS_COACHING } from './state/coaching.state';\nimport { EffectsModule } from '@ngrx/effects';\nimport { AuditoriasEffects } from './state/efects/auditoria.efects';\nimport { CalidadModule } from '../calidad/calidad.module';\nimport { CutTextPipe } from '../calidad/pipes/cut-text.pipe';\nimport { SelectsEffects } from './state/efects/selects.efects';\nimport { AcompañamientoEffects } from './state/efects/acompañamiento.efects';\nimport { InfoSolicitudComponent } from './modules/coaching/components/detalle-coaching/components/info-solicitud/info-solicitud.component';\nimport { FormSolicitudComponent } from './modules/coaching/components/detalle-coaching/components/form-solicitud/form-solicitud.component';\nimport { FormAuditoriaCoachingComponent } from './modules/coaching/components/detalle-coaching/components/form-auditoria-coaching/form-auditoria-coaching.component';\nimport { TablaHistoricoComponent } from './modules/coaching/components/detalle-coaching/components/tabla-historico/tabla-historico.component';\nimport { SolicitudEffects } from './state/efects/solicitud.efects';\nimport { PasoPasoComponent } from './modules/coaching/components/paso-paso/paso-paso.component';\nimport { Historialffects } from './state/efects/historial.efects';\nimport { EstadoPipe } from './pipes/estado.pipe';\nimport { DialogHistoricoComponent } from './modules/coaching/components/detalle-coaching/components/dialog-historico/dialog-historico.component';\nimport { FiltrosComponent } from './modules/reporte/components/filtros/filtros.component';\nimport { FormAsesorComponent } from './modules/coaching/components/detalle-coaching/components/form-asesor/form-asesor.component';\nimport { JefeInmediatoComponent } from './modules/jefe-inmediato/jefe-inmediato.component';\nimport { ModalAsignacionesComponent } from './modules/jefe-inmediato/componentes/modal-asignaciones/modal-asignaciones.component';\nimport { MaxTextPipe } from './pipes/max-text.pipe';\nimport { ArrayToStringPipe } from './pipes/array-to-string.pipe';\n\n\n@NgModule({\n declarations: [\n CoachingAppComponent,\n CoachingComponent,\n ReporteComponent, \n TablaCoachingComponent, \n FiltroTablaComponent, \n NuevoCoachingComponent, \n DetalleCoachingComponent, \n AuditoriaComponent, \n InfoSolicitudComponent, \n FormSolicitudComponent, \n FormAuditoriaCoachingComponent, \n TablaHistoricoComponent, \n PasoPasoComponent, \n EstadoPipe, \n DialogHistoricoComponent, \n FiltrosComponent, \n FormAsesorComponent, \n JefeInmediatoComponent, ModalAsignacionesComponent, MaxTextPipe, ArrayToStringPipe, \n \n ],\n imports: [\n CommonModule,\n CoachingRoutingModule,\n SharedModule,\n MaterialModule,\n StoreModule.forFeature('COACHING',ROOT_REDUCERS_COACHING),\n EffectsModule.forFeature([\n AuditoriasEffects,\n SelectsEffects,\n AcompañamientoEffects,\n SolicitudEffects,\n Historialffects\n ]),\n CalidadModule,\n ],\n providers:[\n CutTextPipe,\n AsyncPipe\n ]\n})\nexport class CoachingModule { }\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AuditoriaService } from '../../../../services/auditoria.service';\nimport { Tools } from '../../../../utils/tools.utils';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-dialog-eliminacion',\n templateUrl: './dialog-eliminacion.component.html',\n styleUrls: ['./dialog-eliminacion.component.sass']\n})\nexport class DialogEliminacionComponent implements OnInit {\n private uuid = '8f87d0e0-92d3-11ee-b9d1-0242ac120004';\n public config: any;\n formEliminar:FormGroup;\n\n constructor(\n private fb:FormBuilder,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private eliminarRef:MatDialogRef,\n private auditoriaService:AuditoriaService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.createForm();\n }\n\n createForm(){\n this.formEliminar = this.fb.group({\n observacion:['',Validators.required],\n });\n }\n\n eliminar(){\n this.auditoriaService.deleteAuditoria(this.datos.id,this.formEliminar.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess(this.config.modal.excellent, this.config.modal.deleteOk);\n this.eliminarRef.close();\n } else {\n Tools.swalError('¡Oops!',this.config.modal.deleteError);\n }\n });\n }\n\n}\n","
\n

{{ config.labels.auditDeletion }} - {{ datos.id }}\n \n

\n
\n \n {{ config.labels.deletionObservation }}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { EmailService } from '../../services/email.service';\nimport { MatSelectChange } from '@angular/material/select';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\nimport { Location } from '@angular/common';\n\n@Component({\n selector: 'app-assign-email-user',\n templateUrl: './assign-email-user.component.html',\n styleUrls: ['./assign-email-user.component.css']\n})\nexport class AssignEmailUserComponent implements OnInit {\n adviserSelected: number = null;\n emailConfigSelected: number = null;\n advisersToRolManagerEmail: any[] = [];\n baseFirstList: any[] = [];\n baseSecondList: any[] = [];\n firstList: any[] = [];\n secondList: any[] = [];\n emailsConfig: any[] = [];\n userRol: string = '';\n keyAdmin: string = KEY_ADMIN;\n\n constructor(\n private alertService: AlertsService,\n private emailService: EmailService,\n private matSnackBar: MatSnackBar,\n private authService: AuthService,\n private location: Location\n ) { }\n\n ngOnInit(): void {\n this.getEmailsConfigByRol();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que filtra las listas a traves de una cadena de texto.\n * @param $event Evento emitido por el componente hijo. \n */\n runFilterList($event: any): void {\n if ($event.name === 'FIRST') {\n if ($event.value !== '') this.firstList = this.baseFirstList.filter(item => item.name.toLowerCase().includes($event.value.toLowerCase()));\n else this.firstList = this.baseFirstList;\n } else {\n if ($event.value !== '') this.secondList = this.baseSecondList.filter(item => item.name.toLowerCase().includes($event.value.toLowerCase()));\n else this.secondList = this.baseSecondList;\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que trae las configuraciones de las listas del componente hijo.\n * @param $event Evento emitido por el componente hijo. \n */\n saveConfig($event: any): void {\n const dataAssignEmail = {\n id_rrhh: this.adviserSelected,\n data: $event.secondList.map((item: any) => {\n return { id_email: item.id }\n })\n };\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.emailService.assignEmailForUser(dataAssignEmail).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.cancelProcess();\n });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que emite la cancelacion del proceso. \n */\n cancelProcess(): void {\n this.location.back();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que setea los items entre las listas. \n * @param $event Evento emitido por el componente hijo. \n */\n updateList($event: any): void {\n if ($event.name === 'FIRST') {\n $event.list.forEach((itemList: any) => {\n this.secondList.push(itemList);\n this.firstList = this.firstList.filter(item => itemList.id !== item.id);\n this.baseFirstList = this.baseFirstList.filter(item => itemList.id !== item.id);\n });\n } else {\n $event.list.forEach((itemList: any) => {\n this.firstList.push(itemList);\n this.secondList = this.secondList.filter(item => itemList.id !== item.id);\n this.baseSecondList = this.baseSecondList.filter(item => itemList.id !== item.id);\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-27\n * Metodo que trae las bandejas ya asignadas del usuario seleccionado en el select.\n * @param $event Evento emitido por el select del formulario. \n */\n onChangeSelectedAdviser($event: MatSelectChange): void {\n this.emailService.getConfigEmailByUser($event.value, null, 'false').subscribe(resByUser => {\n this.baseSecondList = resByUser.data.map((item: any) => { return { id: item.id_email, name: item.user_name_email_entrada } });\n this.secondList = this.baseSecondList;\n this.baseFirstList = this.emailsConfig;\n this.baseSecondList.forEach(itemSecondList => {\n this.baseFirstList = this.baseFirstList.filter(itemFirstList => itemSecondList.id !== itemFirstList.id);\n });\n this.firstList = this.baseFirstList;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n this.userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (this.userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que trae los agentes asociados a una cuenta de correo seleccionado. \n * @param $event Evento emitido por el campo. \n */\n onChangeSelectAccountEmail($event: MatSelectChange): void {\n this.emailConfigSelected = $event.value;\n if (this.emailConfigSelected !== 0) {\n this.emailService.getConfigEmailByUser(null, this.emailConfigSelected, 'false').subscribe(res => {\n this.advisersToRolManagerEmail = res.data;\n });\n } else {\n this.emailService.getAdviserByRolManagerEmail().subscribe(res => {\n this.advisersToRolManagerEmail = res.data.map((item: any) => {\n return { id_rrhh: item.rrhh_id, name_user_asignado: item.name };\n });\n });\n }\n }\n}","
\n
\n \n Regresar\n
\n
\n
\n Asignación de correos\n
\n
\n

\n En este espacio podrás asignar los correos a sus respectivos asesores, no olvides,\n
\"El respeto y la empatía son clave\".\n

\n
\n
\n
\n
\n \n Cuenta de correo\n \n Todos los usuarios\n {{ item.name\n }}\n \n \n
\n
\n \n Asesores\n \n {{ item.name_user_asignado }}\n \n \n
\n
\n \n \n
","import { Component, OnInit, OnDestroy, Inject, ViewChild } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, ValidatorFn, Validators, FormBuilder } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { ApplicationsService } from '../../../services/rest/applications.service';\nimport { RolesService } from '../../../services/rest/roles.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { startWith, map } from 'rxjs/operators';\nimport { MenusService } from '../../../services/rest/menus.service';\nimport { ThrowStmt } from '@angular/compiler';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { stringify } from '@angular/compiler/src/util';\n\n@Component({\n selector: 'app-save-rol',\n templateUrl: './save-rol.component.html',\n styleUrls: ['./save-rol.component.sass']\n})\nexport class SaveRolComponent implements OnInit, OnDestroy {\n\n rolForm: FormGroup;\n filteredOptions: Observable;\n applications: any;\n menus: any;\n menusSet: any = [];\n gridPermit: boolean = false;\n actions: any;\n permit: any = [];\n actionsPermit: any;\n options: any;\n\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n newRolComponent: boolean = false;\n\n displayedColumns: string[] = ['modulos'];\n dataSource = new MatTableDataSource();\n\n applicationsAccesToGrid:string[]= [ 'CRM', 'CRM2','CRMNSDP']\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n constructor(private appService: ApplicationsService,\n private rolesService: RolesService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n private menusService: MenusService,\n private fb: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.options = this.fb.group({});\n }\n\n ngOnInit(): void { \n this.formControl();\n this.appService.getApplications().subscribe((resp) => {\n this.applications = resp.data;\n this.setEdit();\n this.filteredOptions = this.rolForm.get('applications').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(applications => applications ? this._filter(applications) : this.applications.slice())\n );\n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.applications.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFn(id: number): string{\n if (!id) { return ''; }\n let index = this.applications.findIndex(resp => resp.id === id);\n return this.applications[index].name;\n\n }\n\n get error(): any { return this.rolForm.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void{\n\n this.rolForm = new FormGroup({\n rol: new FormControl('', [Validators.required, Validators.maxLength(35), Validators.minLength(3)]),\n key: new FormControl('', [Validators.required, Validators.maxLength(35), Validators.minLength(3)]),\n applications: new FormControl('', [this.autocompleteObjectValidator(), Validators.required]),\n menu: new FormControl('')\n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que valida las funciones del autocompetable\n */\n autocompleteObjectValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (typeof control.value === 'string') {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n };\n }\n\n /**\n * @author Daniel Martinez\n * @update Juan David Guerrer Vargas \n * @createdate 2021-02-04\n * Metodo que setea los valores al momento de editar\n */\n async setEdit(){\n if (this.data.type === 'editar') {\n this.rolForm.controls.rol.setValue(this.data.rol.name);\n this.rolForm.controls.key.setValue(this.data.rol.key);\n this.rolForm.controls.applications.setValue(Number(this.data.rol.application_id));\n await this.menusService.getMenus(this.data.rol.application_id).subscribe((respo) => {\n this.menus = respo.data; \n this.appSelected(this.rolForm.get('applications').value);\n });\n this.data.rol.menus.forEach(element => {\n this.menusSet.push(Number(element.id));\n });\n this.rolForm.controls.menu.setValue(this.menusSet);\n console.log(this.rolForm);\n \n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que a partir de una variable enviada desde el administrador de roles crea un nuevo rol o edita un rol\n * @param rolForm datos que recolecta el formulario\n */\n saveRol(rolForm): void {\n\n if (this.data.type === 'crear'){\n const rol = {\n application_id: rolForm.value.applications,\n name: rolForm.value.rol,\n key: rolForm.value.key,\n menu_ids: rolForm.value.menu,\n permissions_crm: this.permit\n };\n\n this.rolesService.saveRol(rol).subscribe((resp) => {\n this.alertsService.alertSuccess('Guardado', resp.data);\n });\n }\n else if (this.data.type === 'editar'){\n this.editRol(rolForm);\n }\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que edita un rol\n * @param rolForm datos que recolecta el formulario\n */\n editRol(rolForm): void {\n\n const rol = {\n application_id: rolForm.value.applications,\n name: rolForm.value.rol,\n key: rolForm.value.key,\n menu_ids: rolForm.value.menu,\n permissions_crm: this.permit\n };\n\n this.rolesService.editRol(this.data.rol.id, rol).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', resp.data);\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-22\n * Metodo que busca los menus de un aplicativo seleccionado\n * @param id id del aplicativo\n */\n appSelected(id: number): void {\n const aplication = this.applications.find( finded => finded.id == id )\n const findAplication = this.applicationsAccesToGrid.find( finded => finded === aplication?.name )\n \n if(findAplication){\n switch (findAplication) {\n case 'CRM':\n this.getModulesCrm(1);\n this.gridPermit = true;\n break;\n case 'CRM2':\n this.getModulesCrm(2);\n this.gridPermit = true;\n break;\n case 'CRMNSDP':\n this.getModulesCrm(3);\n this.gridPermit = true;\n break;\n }\n\n }\n this.menusService.getMenus(id).subscribe((resp) => {\n this.menus = resp.data;\n });\n\n\n }\n\n getModulesCrm(indCRM:number): void {\n let observToSubscribe = undefined\n if(indCRM == 1){\n observToSubscribe = this.rolesService.getModulesCrm();\n }\n if(indCRM == 2){ \n observToSubscribe = this.rolesService.getModulesCrm2();\n }\n if(indCRM == 3){\n observToSubscribe = this.rolesService.getModulesCrmNSDP()\n }\n \n observToSubscribe.subscribe(resp => {\n\n this.dataSource.data = resp.modules;\n this.dataSource.sort = this.sort;\n this.length = resp.total;\n this.pageSize = resp.per_page;\n this.actions = resp.action_permission;\n\n this.actions.forEach(element => {\n this.displayedColumns.push(element.name);\n });\n\n resp.modules.forEach(element => {\n this.actions.forEach(elementActions => {\n this.options.addControl(elementActions.id + '_' + element.id, new FormControl(''));\n });\n });\n\n });\n\n if (this.data.type === 'editar') {\n let observerPermission = undefined;\n const findAplication = this.applicationsAccesToGrid.find( finded => finded === this.data.rol?.application?.name )\n if(findAplication){\n switch (findAplication) {\n case 'CRM':\n observerPermission = this.rolesService.getPermissionsByIdRol(this.data.rol.id); \n break;\n case 'CRM2':\n observerPermission = this.rolesService.getPermissionsByIdRolCRM2(this.data.rol.id); \n break;\n case 'CRMNSDP':\n observerPermission = this.rolesService.getPermissionsByIdRolCRMNSDP(this.data.rol.id); \n\n break;\n }\n }\n observerPermission.subscribe(resp => {\n this.actionsPermit = resp;\n\n this.actionsPermit.forEach(element => {\n this.options.controls[element.action_permission_id + '_' + element.module_id].setValue(true);\n let pusheo = JSON.stringify({'action': element.action_permission_id, 'module': element.module_id});\n this.permit.push(pusheo);\n });\n\n });\n }\n\n\n\n }\n\n setValue(event: any, action: any, module: any): void{\n\n let pusheo = JSON.stringify({'action': action, 'module': module});\n\n if (event){\n\n this.permit.push(pusheo);\n\n } else {\n\n let i = this.permit.indexOf(pusheo);\n\n if ( i !== -1){\n this.permit.splice( i, 1);\n }\n }\n\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","

{{data.title}}\n \n

\n\n
\n\n \n\n \n Nombre del Rol\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 35 caracteres\n \n\n \n Aplicación\n \n \n \n {{option.name}}\n \n \n ¡Advertencia! Este campo es requerido\n Campaña no reconocida. Haga click en una de las opciones de autocompletar\n \n\n \n Rol\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 35 caracteres\n \n\n \n Menús\n \n {{menu.name}}\n \n ¡Advertencia! Este campo es requerido\n \n
\n\n
\n
\n \n \n\n \n \n \n \n \n
\n\n \n
\n \n \n\n \n \n \n \n \n \n \n \n \n
Modulos {{row.label}} {{action.name}} \n\n \n\n \n\n \n\n
No hay datos encontrados
\n \n \n \n \n
\n
\n\n
\n\n \n \n \n \n\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { CrmCialComponent } from './crm-cial.component';\nimport { ClienteConsultaComponent } from './modules/cliente-consulta/cliente-consulta.component';\nimport { ClientesComponent } from './modules/clientes/clientes.component';\nimport { CreopComponent } from './modules/creop/creop.component';\n\n\nconst routes: Routes = [\n \n {path: '',component:CrmCialComponent},\n {path: 'clientes', component:ClientesComponent},\n {path : 'cliente-consulta/:id', component:ClienteConsultaComponent},\n {path : 'creop/:id', component:CreopComponent}\n];\n \n\n\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class CrmCialRoutingModule { }\n","import { ScheduleReportComponent } from './modules/schedule-report/page/schedule-report/schedule-report.component';\nimport { DisabilitiesComponent } from './modules/disabilities/pages/disabilities/disabilities.component';\nimport { VacationsComponent } from './modules/vacations/page/vacations/vacations.component';\nimport { LiquidationsComponent } from './modules/liquidations/pages/liquidations/liquidations.component';\nimport { NovedadesComponent } from './modules/data-nomina/pages/novedades/novedades.component';\nimport { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { NominaComponent } from './nomina.component';\nimport { AdminCampaignsComponent } from './modules/campaigns/admin-campaigns/admin-campaigns.component';\nimport { VacationBossComponent } from './modules/vacations/page/vacation-boss/vacation-boss.component';\nimport { VacationOperationManagerComponent } from './modules/vacations/page/vacation-operation-manager/vacation-operation-manager.component';\nimport { GeneralReportComponent } from './modules/reports/general-report/general-report.component';\nimport { JefeDirectosListComponent } from './modules/jefe-directos/pages/jefe-directos-list/jefe-directos-list.component';\nimport { ReferralsReportComponent } from './modules/referrals/ReferralsReport/ReferralsReport.component';\nimport { ImportDesprendiblesComponent } from './modules/import-desprendibles/import-desprendibles.component';\nimport { VacationConsultantComponent } from './modules/vacations/page/vacation-consultant/vacation-consultant.component';\nimport { DisabilitiesConsultantComponent } from './modules/disabilities/pages/disabilities-consultant/disabilities-consultant.component';\nimport { NovedadesCosultantComponent } from './modules/data-nomina/pages/novedades-cosultant/novedades-cosultant.component';\nimport { LiquidationsImportComponent } from './modules/liquidations-import/liquidations-import.component';\nimport { ImportGreenBookComponent } from './modules/import-green-book/import-green-book.component';\n\nconst routes: Routes = [\n { path: '', component: NominaComponent },\n { path: 'novelties', loadChildren: () => import('./modules/novelties/novelties.module').then(m => m.NoveltiesModule) },\n { path: 'inactivedates', loadChildren: () => import('./modules/inactive-days/inactive-days.module').then(m => m.InactiveDaysModule) },\n { path: 'commissions', loadChildren: () => import('./modules/commissions/commissions.module').then(m => m.CommissionsModule) },\n { path: 'campaigns', component: AdminCampaignsComponent},\n { path: 'noveltieslist', component: NovedadesComponent},\n { path: 'liquidations', component: LiquidationsComponent},\n { path: 'vacations', component: VacationsComponent},\n { path: 'vacationsboss', component: VacationBossComponent},\n { path: 'vacationsoperations', component: VacationOperationManagerComponent},\n { path: 'disabilities', component: DisabilitiesComponent},\n { path: 'schedulereport', component: ScheduleReportComponent},\n { path: 'reports', component: GeneralReportComponent},\n { path: 'boss', loadChildren: () => import('./modules/jefe-directos/jefe-directos.module').then(m => m.JefeDirectosModule)},\n { path: 'extrahours', loadChildren: () => import('./modules/extra-hours/extra-hours.module').then(m => m.ExtraHoursModule) },\n { path: 'countries', loadChildren: () => import('./modules/Countries/Countries.module').then(m => m.CountriesModule) },\n { path: 'assigncampaign', loadChildren: () => import('./modules/manager-campaign/manager-campaign.module').then(m => m.ManagerCampaignModule)},\n { path: 'workersvacation', loadChildren: () => import('./modules/workers-vacation/workers-vacation.module').then(m => m.WorkersVacationModule)},\n { path: 'aprovationlist', loadChildren: ()=> import('./modules/novelties-aprovation/novelties-aprovation.module').then(m => m.NoveltiesAprovationModule)},\n { path: 'saturdayvacations', loadChildren: ()=> import('./modules/saturday-vacations/saturday-vacations.module').then(m => m.SaturdayVacationsModule)},\n { path: 'formulaManager', loadChildren: ()=> import('./modules/formulaManager/formulaManager.module').then(m => m.FormulaManagerModule)},\n { path: 'business', loadChildren: ()=> import('./modules/Business/Business.module').then(m => m.BusinessModule)},\n { path: 'referrals', component: ReferralsReportComponent},\n { path: 'import-desprendibles', component: ImportDesprendiblesComponent},\n { path: 'payroll-permits',loadChildren: ()=> import('./modules/payroll-permits/payroll-permits.module').then(m => m.PayrollPermitsModule )},\n { path: 'vacations-consultant', component: VacationConsultantComponent},\n { path: 'disabilities-consultant', component: DisabilitiesConsultantComponent},\n { path: 'noveltieslist-consultant', component: NovedadesCosultantComponent},\n { path: 'liquidations-import', component: LiquidationsImportComponent},\n { path: 'import-greenbook', component: ImportGreenBookComponent},\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class NominaRoutingModule { }\n","import { createAction, props } from \"@ngrx/store\";\nimport { auditoriaModel } from \"../../core/interfaces/auditoria.interface\";\n\n/**\n * @author Cristian Gallo\n * @createdate 2021-12-10\n * Action que cargara la información de la uditoría.\n*/\n\nexport const loadAuditoria = createAction(\n '[Auditoria] Load auditoria',\n props<{idAuditoria}>()\n);\n\nexport const loadedAuditoria = createAction(\n '[Auditoria] Loaded auditoría',\n props<{ auditoria:auditoriaModel[] }>()\n)","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient } from '@angular/common/http';\n\nconst CRM_URL = environment.CRM_URL;\nconst CRM2_URL = environment.CRM2_URL;\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class FormsCrmRequestService {\n constructor(private http: HttpClient) { }\n\n\n getForm(direction, size, page){\n if (size === 0 || page === 0) {\n return this.http.get(`${CRM_URL}${direction}`);\n } else {\n return this.http.get(`${CRM_URL}${direction}?n=${size}&page=${page}`);\n }\n }\n\n getFormCrm2(direction, size, page){\n if (size === 0 || page === 0) {\n return this.http.get(`${CRM2_URL}${direction}`);\n } else {\n return this.http.get(`${CRM2_URL}${direction}?n=${size}&page=${page}`);\n }\n }\n\n getsearchform(direction,form){\n return this.http.get(`${CRM_URL}${direction}/${form}`);\n }\n\n getsearchformCrm2(direction,form){\n return this.http.get(`${CRM2_URL}${direction}/${form}`);\n }\n}\n","import { Component, OnInit, Output, EventEmitter} from '@angular/core';\nimport { Location, DatePipe } from '@angular/common';\nimport { FormControl, Validators, FormBuilder, FormGroup, FormGroupName} from '@angular/forms';\nimport { ReportsService } from '../../../services/reports.service';\nimport { saveAs as importedSaveAs } from \"file-saver\";\nimport { FileService } from '../../../services/file.service';\nimport * as moment from 'moment';\n\n@Component({\n selector: 'app-reports-main',\n templateUrl: './reports-main.component.html',\n styleUrls: ['./reports-main.component.sass']\n})\nexport class ReportsMainComponent implements OnInit {\n\n maxDate\n today\n filterForm:FormGroup;\n public datePipe = new DatePipe('en-US');\n\n constructor(\n public _location: Location,\n private fb: FormBuilder,\n public ReportsService:ReportsService,\n public fileService : FileService,\n ) { }\n\n ngOnInit(): void {\n\n this.filterForm = new FormGroup ({\n report: new FormControl('',[Validators.required]),\n start_date: new FormControl('', [Validators.required]),\n end_date: new FormControl('',[Validators.required]),\n });\n //Restriccion de maximo 30 dias para evitar sobre carga en el serv\n this.filterForm.controls.start_date.valueChanges.subscribe(\n resp =>{\n this.maxDate = moment(resp).add(30, 'days').format(\"YYYY-MM-DD\");\n }\n )\n }\n getReports(){\n if(this.filterForm.value.report == 'newHireReport' || //ingreso de personal\n this.filterForm.value.report == 'compensationReport' || //caja de compensacion\n this.filterForm.value.report == 'resumeReport' || //hoja de vida\n this.filterForm.value.report == 'arlReport') //reporte arl\n {\n this.export();\n }else{\n let json = {\n report:this.filterForm.value.report,\n start_date : this.datePipe.transform(this.filterForm.value.start_date, 'yyyy-MM-dd'),\n end_date: this.datePipe.transform(this.filterForm.value.end_date, 'yyyy-MM-dd')\n }\n\n this.ReportsService.downloadReport(json).subscribe((res:any)=>{\n importedSaveAs(res, `${this.filterForm.value.report}.xlsx`);\n\n })\n\n }\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-08-04\n * Metodo consulta y exporta\n */\n export()\n {\n let json = {\n report:this.filterForm.value.report,\n start_date : this.datePipe.transform(this.filterForm.value.start_date, 'yyyy-MM-dd'),\n end_date: this.datePipe.transform(this.filterForm.value.end_date, 'yyyy-MM-dd')\n }\n\n this.ReportsService.downloadNewReports(json).subscribe(\n resp => {\n let data : any = resp;\n data = data;\n this.fileService.exportAsExcelFile(data,this.filterForm.value.report);\n }\n );\n }\n\n}\n","
\n \n

Reportes

\n

En esta sección podrás visualizar o descargar todos los reportes

\n
\n \n Reportes Disponibles\n \n Reporte Hoja de vida\n Reporte ARL\n Reporte Ingreso Personal\n Reporte Caja de compensación\n Reporte personal datos cuenta\n Reporte referencias\n Reporte validación de documentos\n \n \n \n Fecha de inicio\n \n \n \n \n \n Fecha de fin\n \n \n \n \n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { CandidateMainComponent } from './modules/candidates/candidate-main/candidate-main.component';\nimport { RequestDetailsComponent } from './modules/requests/request-details/request-details.component';\nimport { RequestsMainComponent } from './modules/requests/requests-main/requests-main.component';\nimport { RrhhComponent } from './rrhh.component';\nimport { GroupsMainComponent } from './modules/training-groups/groups-main/groups-main.component';\nimport { GroupsViewComponent } from './modules/training-groups/groups-view/groups-view.component';\nimport { CvComponent } from './modules/employee/cv/cv.component';\nimport { CertificationsComponent } from './modules/employee/certifications/certifications.component';\nimport { MedicalCandidatesComponent } from './modules/medical-test/medical-candidates/medical-candidates.component';\nimport { CandidateCvComponent } from './modules/candidates/candidate-cv/candidate-cv.component';\nimport { CvViewComponent } from 'src/app/shared/cv-view/cv-view.component';\nimport { PositionsViewComponent } from './modules/positions/positions-view/positions-view.component';\nimport { AssesmentsViewComponent } from './modules/assesments/assesments-view/assesments-view.component';\nimport { AssessmentsDetailComponent } from './modules/assesments/assessments-detail/assessments-detail.component';\nimport { ReportsMainComponent } from './modules/reports/reports-main/reports-main.component';\nimport { UpdatesMainComponent } from './modules/updates/updates-main/updates-main.component';\nimport { CandidateJuridicoNominaDocComponent } from './modules/candidates/candidate-juridico-nomina-doc/candidate-juridico-nomina-doc.component';\nimport { CandidateCvJuridicoNominaDocComponent } from './modules/candidates/candidate-cv-juridico-nomina-doc/candidate-cv-juridico-nomina-doc.component';\nimport {TemplateIndexComponent} from './modules/templates/template-index/template-index.component';\n\nconst routes: Routes = [\n\n { path: '', component: RrhhComponent},\n { path: 'solicitudes', component: RequestsMainComponent },\n { path: 'candidatos', component: CandidateMainComponent },\n { path: 'solicitud/:id', component: RequestDetailsComponent },\n { path: 'grupos-formacion', component: GroupsMainComponent },\n { path: 'grupo-formacion/:id', component: GroupsViewComponent },\n { path: 'hoja-vida', component:CvComponent },\n { path: 'certificados',component:CertificationsComponent },\n { path: 'examenes-medicos',component:MedicalCandidatesComponent },\n { path: 'candidato-cv/:id',component:CandidateCvComponent},\n { path: 'positions', component: PositionsViewComponent},\n { path: 'assessments', component: AssesmentsViewComponent },\n { path: 'assessment/:id', component: AssessmentsDetailComponent},\n { path: 'reportes', component: ReportsMainComponent},\n { path: 'updates', component: UpdatesMainComponent},\n { path: 'candidatos-juridico-nomina', component: CandidateJuridicoNominaDocComponent },\n { path: 'candidatos-cv-juridico-nomina/:id', component: CandidateCvJuridicoNominaDocComponent },\n { path: 'templates', component: TemplateIndexComponent},\n\n\n\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class RrhhRoutingModule { }\n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { delay } from 'rxjs/operators';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\nimport { VacationsService } from 'src/app/modules/nomina/services/rest/vacations.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-vacations-view',\n templateUrl: './vacations-view.component.html',\n styleUrls: ['./vacations-view.component.sass']\n})\nexport class VacationsViewComponent implements OnInit {\n dataInfo: any;\n public realTime: string;\n public scheduleTime: string;\n public endTime: string;\n public noveltyDetailHeight: number;\n\n public showJustifyForm: boolean;\n public showJustifyInfo: boolean;\n public showInput: boolean;\n availableDays = 0;\n businessDays = 0;\n public validDates: boolean;\n\n constructor( @Inject(MAT_DIALOG_DATA) public data: any,\n private alert: AlertsService,\n public dialog: MatDialog,\n private vacation: VacationsService,\n private noveltiesService: NoveltiesService,) { }\n\n ngOnInit() {\n this.vacation.getInfoVacationId(this.data.data.idHoliday).subscribe(resp => {\n this.dataInfo = resp.data;\n this.dataInfo.novelty_type.key = (this.dataInfo.novelty_type.key < 10) ? `0${this.dataInfo.novelty_type.key}` : this.dataInfo.novelty_type.key;\n this.showJustifyInfo = true;\n this.changeDetailHeight(this.dataInfo);\n this.getCalendarWithAvailableDays();\n });\n\n }\n /**\n * @author Daniel Dominguez \n * @createdate 2021-04-27\n * Metodo para asignacion de detalle en primera instancia\n */\n changeDetailHeight(novelty): void {\n if (novelty.responseFirstInstance && (novelty.responseFirstInstance.justify || novelty.responseFirstInstance.response)) { this.noveltyDetailHeight = 240; }\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-05-11\n * Metodo para obtener los dias disponibles y los solicitados\n */\n getCalendarWithAvailableDays(): void {\n let startDate = this.dataInfo?.start_date;\n let endDate = this.dataInfo?.end_date;\n this.noveltiesService.getAvailableDaysForVacationsByUser({ startDate: startDate, endDate: endDate, rrhh_id: this.dataInfo?.rrhh_id}).pipe( delay(1000)).subscribe((respDates) => {\n this.validDates = respDates.data.validDates;\n this.availableDays = respDates.data.availableDays < 0 ? 0 : respDates.data.availableDays;\n this.businessDays = respDates.data.businessDays;\n });\n \n }\n}\n","
\n\n

\n \n \n
\n \n

{{data.data?.name || 'Juan Manuel Gómez'}}

\n
{{data.data?.id_number || 123456789}}\n
\n
\n
\n

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

Solicitud Vacaciones

\n

Desde: {{ dataInfo?.start_date | date:'dd/MM/yyyy' }} Hasta:\n {{dataInfo?.end_date | date:'dd/MM/yyyy' }}

\n

Días disponibles: {{ availableDays }} Días hábiles solicitados:\n {{ businessDays }}

\n
\n\n
\n
\n

Observaciones del trabajador

\n

{{ dataInfo?.first_response?.justify }}

\n
\n\n \n
\n

Estado

\n

{{ dataInfo?.nameState }}

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

Aprobacion jefe de área

\n

Fecha de aprobacion: {{ dataInfo?.first_response?.response == null ? '' : dataInfo?.first_response.updated_at | date:'dd/MM/yyyy' }}

\n

Observaciones jefe de área

\n

{{ dataInfo?.first_response?.response }}

\n

Gestionado por:

\n

{{ dataInfo?.first_response?.aprovationUser }}

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

Respuesta Vacaciones

\n

Fecha de aprobacion: {{ dataInfo?.second_response.updated_at |\n date:'dd/MM/yyyy' }}

\n

Observacion:

\n

{{ dataInfo?.second_response?.response }}

\n

Gestionado por:

\n

{{ dataInfo?.second_response?.aprovationUser }}

\n
\n\n
\n
\n
\n \"vacationIcon\"\n
\n
\n
\n
\n\n\n
","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\nimport { PageEvent } from '@angular/material/paginator';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AssignCategoryComponent } from '../assign-category/assign-category.component';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { EmailService } from '../../services/email.service';\nimport { AssignEmailComponent } from '../assign-email/assign-email.component';\nimport { MassiveManagementComponent } from '../massive-management/massive-management.component';\nimport { NewMessageComponent } from '../new-message/new-message.component';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\n\n@Component({\n selector: 'app-mailing-list',\n templateUrl: './mailing-list.component.html',\n styleUrls: ['./mailing-list.component.css'],\n})\nexport class MailingListComponent implements OnInit, OnChanges {\n mailSelected: any = null;\n mailsSelected: any[] = [];\n checkAllSelect: boolean = false;\n @Input() listMails: any[] = [];\n @Input() configPaginator: PageEvent = null;\n @Input() configEmailsSelected: any[] = [];\n @Input() keyTraySelected: string = '';\n @Input() totalNumberEmails: number = 0;\n @Output() selectMail: EventEmitter = new EventEmitter();\n @Output() changePage: EventEmitter = new EventEmitter();\n @Output() updateMails: EventEmitter = new EventEmitter();\n @Output() moveEmail: EventEmitter = new EventEmitter();\n\n constructor(\n private matDialog: MatDialog,\n private emailService: EmailService,\n private alertService: AlertsService,\n private matSnackBar: MatSnackBar\n ) { }\n\n ngOnInit(): void {\n\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.keyTraySelected?.currentValue !== changes.keyTraySelected?.previousValue) {\n this.mailsSelected = [];\n this.checkAllSelect = false;\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-04\n * Metodo que envia la informacion del email seleccionado al componente padre. \n */\n onClickSelectMail(mail: any): void {\n this.emailService.getEmailById(mail).subscribe(res => {\n this.mailSelected = res.data;\n if (this.mailSelected.key === 'borrador' || this.mailSelected.key === 'salida') {\n this.matDialog.open(NewMessageComponent, {\n width: '70%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-email-manager',\n disableClose: true,\n data: {\n email: this.mailSelected\n }\n }).afterClosed().subscribe(res => {\n if (res) this.updateMails.emit();\n });\n } else {\n this.selectMail.emit(this.mailSelected);\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-05\n * Metodo que emite el cambio de la paginacion al componente padre.\n * @param $event Evento emitido por el paginador. \n */\n onChangePage($event: PageEvent): void {\n this.changePage.emit($event);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-05\n * Metodo que abre la modal para asignar una categoria. \n */\n onClickAssignToCategory(mail: any | any[]): void {\n this.matDialog.open(AssignCategoryComponent, {\n width: '35%',\n autoFocus: false,\n panelClass: 'dialog-padding-assign-category',\n data: {\n mail\n }\n }).afterClosed().subscribe(res => {\n if (res) {\n this.updateMails.emit();\n this.mailsSelected = [];\n this.checkAllSelect = false;\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-11\n * Metodo que añade un correo a la lista de correos seleccionados. \n * @param $event Evento emitido por el checkbox. \n * @param mail Correo seleccionado de la lista. \n */\n onClickCheckboxMail($event: MatCheckboxChange, mail: any): void {\n if ($event.checked) this.mailsSelected.push(mail);\n else this.mailsSelected = this.mailsSelected.filter((item: any) => item.id !== mail.id);\n this.checkAllSelect = this.mailsSelected.length === this.totalNumberEmails ? true : false;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-11\n * Metodo que selecciona todos los correos de la lista de correos. \n * @param $event Evento emitido por el checkbox. \n */\n onClickSelectAllMails($event: MatCheckboxChange): void {\n this.checkAllSelect = $event.checked;\n if ($event.checked) {\n this.listMails.forEach((item: any) => {\n item.mails.forEach((mail: any) => {\n this.mailsSelected.push(mail);\n });\n });\n }\n else this.mailsSelected = [];\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-11\n * Metodo que valida si esta o no seleccionado el correo dentro de la lista de correos seleccionados. \n * @param mail Mail ubicado en la lista de correos. \n * @returns Valor booleano con la respectiva validacion. \n */\n ifSelectedMail(mail: any): boolean {\n return this.mailsSelected.filter((item: any) => item.id === mail.id).length > 0 ? true : false;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-31\n * Metodo que muestra la modal de asignacion de correos.\n */\n onClickShowAssignEmail(): void {\n this.matDialog.open(AssignEmailComponent, {\n width: '40%',\n autoFocus: false,\n panelClass: 'dialog-padding-assign-email',\n data: {\n title: 'Asignación de correo',\n email: this.mailsSelected,\n isEmailReassignment: false,\n configEmailsSelected: this.configEmailsSelected.map(item => item.id_email).toString()\n }\n }).afterClosed().subscribe(res => {\n if (res) {\n this.updateMails.emit();\n this.mailsSelected = [];\n this.checkAllSelect = false;\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-10\n * Metodo que muestra la modal de gestion masiva de correos.\n */\n onClickShowMassiveManagmentEmails(): void {\n this.matDialog.open(MassiveManagementComponent, {\n width: '80%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-massive-management-emails',\n data: {\n emails: this.mailsSelected\n }\n }).afterClosed().subscribe(res => {\n if (res) {\n this.updateMails.emit();\n this.mailsSelected = [];\n this.checkAllSelect = false;\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-20\n * Metodo que elimina los correos seleccionados en la lista.\n */\n deleteEmailsSelected(): void {\n this.alertService.alertWarning('¿Está seguro?', '¿De eliminar el correo? Este quedara almacenado en la bandeja de eliminados.').then(confirm => {\n if (confirm.isConfirmed) {\n const mapIdsEmails = this.mailsSelected.map(item => item.id).toString();\n const formData = new FormData();\n formData.append('email_list', `[${mapIdsEmails}]`);\n this.emailService.deleteEmails(formData).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.updateMails.emit();\n this.mailsSelected = [];\n this.checkAllSelect = false;\n });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-20\n * Metodo que restaura los correos seleccionados en la lista.\n */\n restoreEmailsSelected(): void {\n this.alertService.alertWarning('¿Está seguro?', '¿De restaurar el correo? Este quedara almacenado en la bandeja original.').then(confirm => {\n if (confirm.isConfirmed) {\n const mapIdsEmails = this.mailsSelected.map(item => item.id).toString();\n const formData = new FormData();\n formData.append('email_list', `[${mapIdsEmails}]`);\n this.emailService.restoreEmails(formData).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.updateMails.emit();\n this.mailsSelected = [];\n this.checkAllSelect = false;\n });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-26\n * Metodo que emite los ID de los correo seleccionado para ser movidos.\n */\n onClickMoveEmail(): void {\n this.moveEmail.emit(this.mailsSelected);\n }\n}","
\n
\n
\n 0\" color=\"primary\"\n (change)=\"onClickSelectAllMails($event)\"\n [disabled]=\"(keyTraySelected !== 'cerrados') ? false : true\">\n
0\" class=\"ms-1 mt-1 d-flex\">\n
\n
\n \n \n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n
0; else notMails\" class=\"mt-2\">\n
\n
{{\n category.time }}\n
\n
\n
\n
\n
\n \n
{{\n mail.asunto !== \"\" ? mail.asunto : 'Sin asunto' }}
\n
\n
\n {{ mail.created_at | date: 'short' }}\n
\n
\n
\n
{{ mail.de }}
\n
\n Usuario asignado: \n {{ mail.name_user_asignado !== '' ? mail.name_user_asignado : 'Sin asignar' }}\n
\n
\n
ID\n correo: {{ mail.id }}
\n
\n {{ mail.state_email }}\n
\n
\n
\n
\n
\n
0\">
\n
\n
\n
\n
\n
\n
\n \n
\n
\n No hay correos registrados\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { AuditoriaService } from '../../services/auditoria.service';\n\n@Component({\n selector: 'app-auditorias',\n templateUrl: './auditorias.component.html',\n styleUrls: ['./auditorias.component.sass']\n})\nexport class AuditoriasComponent implements OnInit {\n\n constructor(\n private authService:AuthService,\n private auditoriaService:AuditoriaService,\n ) { }\n\n ngOnInit():void{\n \n }\n\n}\n","
\n\n
\n \n

Auditoría

\n
\n

Aquí podrás auditar tus matrices asignadas. No

\n

olvides, “El respeto y empatía son clave”.

\n
\n\n \n\n
","import { AngularEditorConfig } from '@kolkov/angular-editor';\n\nexport const EDITOR_CONFIG: AngularEditorConfig = {\n editable: false,\n spellcheck: true,\n height: 'auto',\n minHeight: '',\n maxHeight: '',\n minWidth: '0',\n enableToolbar: false,\n showToolbar: false,\n placeholder: '',\n defaultParagraphSeparator: '',\n defaultFontName: '',\n defaultFontSize: '',\n sanitize: false,\n fonts: [],\n customClasses: [\n {\n name: 'Arial',\n class: 'font-arial',\n },\n {\n name: 'Time-New-Roman',\n class: 'font-time-new-roman'\n },\n {\n name: 'Verdana',\n class: 'font-verdana'\n },\n {\n name: 'Calibri',\n class: 'font-calibri'\n },\n ],\n toolbarPosition: 'top',\n toolbarHiddenButtons: [[], []],\n};","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatExpansionPanel } from '@angular/material/expansion';\nimport * as html2pdf from 'html2pdf.js';\nimport { ResultService } from '../../../services/result.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-analytics-voice-general-modal',\n templateUrl: './analytics-voice-general-modal.component.html',\n styleUrls: ['./analytics-voice-general-modal.component.sass']\n})\nexport class AnalyticsVoiceGeneralComponent implements OnInit {\n \n @ViewChild('containerViewReport') containerViewReport: ElementRef;\n @ViewChild('analisisTexto') analisisTexto: MatExpansionPanel;\n @ViewChild('analisisTono') analisisTono: MatExpansionPanel;\n\n view: any[] = [700, 400]; // Tamaño de la gráfica\n showLegend = true;\n showLabels = true;\n isDoughnut = false;\n gradient = false;\n colorScheme = {\n domain: ['#E57373', '#FFF176', '#B0BEC5', '#1565C0']\n };\n colorScheme2 = {\n domain: ['#1565C0', '#B0BEC5', '#FFF176']\n };\n sentimientosData: { name: string; value: number; }[];\n emocionesData: { name: string; value: number; }[];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: any,\n private resultService: ResultService\n ) { }\n\n ngOnInit(): void {\n console.log ('data enviar', this.data);\n this.getResults();\n }\n\n /**\n * Metodo obtener la data para establecer los segmentos de los tiempos muertos por campaña\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n */\n\n getResults(): void {\n this.resultService.massiveAnalyticsResults(this.data).subscribe(\n (response) => {\n console.log('resultado', response);\n if (response && response.length > 0) {\n const result = response[0];\n \n //convertir resultados setimientos en porcentajes\n const sentimientos = result.sentimientos;\n const totalSentimientos = \n parseFloat(sentimientos.pro_neg) + \n parseFloat(sentimientos.pro_neu) + \n parseFloat(sentimientos.pro_pos);\n this.sentimientosData = [\n { name: 'Negativo', value: (parseFloat(sentimientos.pro_neg) / totalSentimientos) * 100 },\n { name: 'Neutral', value: (parseFloat(sentimientos.pro_neu) / totalSentimientos) * 100 },\n { name: 'Positivo', value: (parseFloat(sentimientos.pro_pos) / totalSentimientos) * 100 }\n ];\n \n //convertir emociones en porcentajes\n const emociones = result.emociones;\n const totalEmociones = \n parseFloat(emociones.pro_ang) + \n parseFloat(emociones.pro_hap) + \n parseFloat(emociones.pro_neu) + \n parseFloat(emociones.pro_sad);\n this.emocionesData = [\n { name: 'Enojo', value: (parseFloat(emociones.pro_ang) / totalEmociones) * 100 },\n { name: 'Felicidad', value: (parseFloat(emociones.pro_hap) / totalEmociones) * 100 },\n { name: 'Neutral', value: (parseFloat(emociones.pro_neu) / totalEmociones) * 100 },\n { name: 'Tristeza', value: (parseFloat(emociones.pro_sad) / totalEmociones) * 100 }\n ];\n }\n },\n (error) => {\n console.error('Error al recuperar resultado:', error.message);\n Swal.fire({\n title: 'Error al recuperar la resultado',\n text: error.message,\n icon: 'error',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n );\n }\n\n /**\n * Método asignar valor del label a la grafica de torta\n * @author Yeison Sepulveda\n * @createdate 2024-07-17\n */\n\n pieChartLabel(series: any[], name: string): string {\n const item = series.find(data => data.name === name);\n \n const value = item.value;\n const formattedValue = value % 1 !== 0 ? value.toFixed(2) : value.toString();\n return `${formattedValue}%`;\n }\n\n /**\n * Metodo generar el nombre del documento a descargar\n * @author Yeison Sepulveda\n * @createdate 2024-0-03\n * @return nombre del archivo\n */\n generateFilename(): string {\n const currentDate = new Date().toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n }).replace(/\\//g, '');\n \n const currentTime = new Date().toLocaleTimeString('es-ES', {\n hour: '2-digit',\n minute: '2-digit',\n hour12: false\n }).replace(/:/g, '');\n \n const dateTimeString = `${currentDate}${currentTime}`;\n return `reporte_sentimientos__${dateTimeString}.pdf`;\n }\n\n /**\n * Metodo descarga e imprime pantallazo del modal\n * @update Yeison Sepulveda\n * @updatedate 29-05-2024\n */\n async onClickPrintPdf() {\n this.analisisTexto.open();\n this.analisisTono.open();\n await new Promise(resolve => setTimeout(resolve, 1000));\n const content = this.containerViewReport.nativeElement;\n\n const filename = this.generateFilename();\n const margin = 13;\n\n const options = {\n margin: margin,\n filename: filename,\n image: { type: 'jpeg', quality: 0.98 },\n html2canvas: {\n scale: 2,\n useCORS: true,\n logging: true\n },\n jsPDF: {\n unit: 'mm',\n format: 'tabloid',\n orientation: 'portrait'\n },\n pagebreak: {\n mode: ['avoid-all', 'css', 'legacy']\n }\n };\n\n const testPDF = html2pdf().from(content).set(options).toContainer().toCanvas().toImg().toPdf(); \n testPDF.get('pdf').then(function (pdf) {\n const totalHeight = content.scrollHeight * 0.264583 + 2 * margin; \n pdf.internal.pageSize = { width: 430, height: totalHeight }; \n });\n\n testPDF.save()\n }\n\n}\n","\n \n
\n

Resultados de análisis.

\n \n\n \n \n \n Análisis de tono de voz\n \n
\n
\n \n \n
\n
\n
\n \n \n \n \n Análisis de texto\n \n
\n
\n \n \n
\n
\n
\n\n
\n
\n\n
\n
\n
\n \n
\n
\n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatTabChangeEvent } from '@angular/material/tabs';\nimport { SearchChatComponent } from '../search-chat/search-chat.component';\nimport { SpeechUploadchatComponent } from '../speech-uploadchat/speech-uploadchat.component';\n\n@Component({\n selector: 'app-speech-chat-main',\n templateUrl: './speech-chat-main.component.html',\n styleUrls: ['./speech-chat-main.component.sass']\n})\nexport class SpeechChatMainComponent implements OnInit {\n\n @ViewChild(SpeechUploadchatComponent) speechUploadChatComponent: SpeechUploadchatComponent;\n @ViewChild(SearchChatComponent) searchChatComponent: SearchChatComponent;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n /**\n * Método que se llama cuando cambia la pestaña en el componente de pestañas.\n * @author Yeison Sepulveda\n * @createdate 2024-07-16\n * @param {MatTabChangeEvent} event - El evento de cambio de pestaña de Angular Material.\n */\n\n onTabChange(event: MatTabChangeEvent) {\n if (event.index === 0) {\n this.speechUploadChatComponent.uploadData();\n } else if (event.index === 1) {\n this.searchChatComponent.filterUploads();\n }\n }\n}","
\n
\n
\n Chat analytics\n
\n
\n

\n Este es el módulo de Chat analytics, en este espacio podrás realizar la cargar de los chats, analizarlos\n
\n y aplicar estrategias. No olvides, “El respeto y empatía son clave”.\n

\n
\n
\n
\n \n \n \n \n \n \n \n \n
\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { PageEvent } from '@angular/material/paginator';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { FormContactGroupComponent } from '../form-contact-group/form-contact-group.component';\nimport { ContactGroupService } from '../../services/contact-group.service';\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { EmailService } from '../../services/email.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\n\n@Component({\n selector: 'app-table-contact-group',\n templateUrl: './table-contact-group.component.html',\n styleUrls: ['./table-contact-group.component.css']\n})\nexport class TableContactGroupComponent implements OnInit {\n @Input() dataContactGroup: any[] = [];\n @Input() viewToSelectedGroups: boolean = true;\n @Input() nameFieldSelected: string = null;\n @Input() configPaginator: any = null;\n @Output() sendContactGroupSelected: EventEmitter = new EventEmitter();\n @Output() onChangePaginator: EventEmitter = new EventEmitter();\n @Output() updateContactGroupsList: EventEmitter = new EventEmitter();\n configColumnsTable: any[] = [\n { name: '', key: 'actions' },\n { name: 'Nombre del grupo', key: 'name' },\n { name: 'Correos electrónicos', key: 'email_list' }\n ];\n keysColumnsTable: string[] = [];\n contactGroupSelected: any[] = [];\n emailsConfig: any[] = [];\n\n constructor(\n private alertService: AlertsService,\n private matSnackBar: MatSnackBar,\n private matDialog: MatDialog,\n private contactGroupService: ContactGroupService,\n private authService: AuthService,\n private emailService: EmailService\n ) { }\n\n ngOnInit(): void {\n this.keysColumnsTable = this.configColumnsTable.map(item => item.key);\n this.getEmailsConfigByRol();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-02\n * Metodo que setea la configuracion de la paginacion.\n * @param $event Evento emitido por el paginador. \n */\n onChangePage($event: PageEvent) {\n this.onChangePaginator.emit($event);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-02\n * Metodo que permite vizualizar mas informacion sobre el grupo de contacto.\n * @param contactGroup Grupo de contacto seleccionado de la tabla. \n */\n onClickMoreInfoContactGroup(contactGroup: any) {\n this.matDialog.open(FormContactGroupComponent, {\n width: '80%',\n autoFocus: false,\n data: {\n title: this.viewToSelectedGroups ? 'Vizualizar grupo de contacto' : 'Editar grupo de contacto',\n contactGroup: contactGroup,\n btnText: 'Guardar',\n onlyShow: this.viewToSelectedGroups,\n emailsConfig: this.emailsConfig\n }\n }).afterClosed().subscribe(res => {\n if (res) this.updateContactGroupsList.emit();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que permite eliminar un grupo de contacto seleccionado.\n * @param contactGroup Grupo de contacto seleccionado de la tabla. \n */\n onClickChangeStateContactGroup($event: MatSlideToggleChange, contactGroup: any) {\n const contactGroupWithState = { ...contactGroup, state: $event.checked ? 1 : 2 };\n this.contactGroupService.storeGroupContact(contactGroupWithState).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.updateContactGroupsList.emit();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-02\n * Metodo que permite agregar o quitar un grupo de contacto de la lista de seleccionados.\n * @param $event Evento generado por el checkbox. \n * @param contactGroup Grupo de contacto seleccionado de la tabla. \n */\n onChangeSelectContactGroup($event: MatCheckboxChange, contactGroup: any) {\n if ($event.checked) this.contactGroupSelected.push(contactGroup);\n else this.contactGroupSelected = this.contactGroupSelected.filter(item => item.id !== contactGroup.id);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-02\n * Metodo que envia la lista de grupos de contacto seleccionados al componente padre. \n */\n onSubmitGroupContactSelected(): void {\n this.alertService.alertWarning('¿Está seguro?', '¿De enviar los grupos de contacto seleccionados en la tabla?').then(confirm => {\n if (confirm.isConfirmed) {\n this.sendContactGroupSelected.emit({\n contactGroupSelected: this.contactGroupSelected,\n nameField: this.nameFieldSelected\n });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n}","
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ column.name }} \n {{ element[column.key] }}\n {{ column.name }} \n
\n \n \n
\n \n \n \n \n
{{ column.name }} \n {{ element[column.key] }}\n
No existe información relacionada
\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { EmailAdminService } from '../../services/email-admin.service';\nimport * as moment from 'moment';\nimport { CrudService } from 'src/app/shared/basic-crud-page-service/crud.service';\nimport { environment } from 'src/environments/environment';\n\nconst { SURVEYS_URL } = environment;\n\n@Component({\n selector: 'app-email',\n templateUrl: './email.component.html',\n styleUrls: ['./email.component.css']\n})\nexport class EmailComponent implements OnInit {\n idEmail: number = null;\n questions: any[] = [];\n surveys: any[] = [];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private matDialogRef: MatDialogRef,\n private matSnackBar: MatSnackBar,\n private emailAdminService: EmailAdminService,\n private crudService: CrudService\n ) { }\n\n ngOnInit(): void {\n this.getSurveys().then(_ => {\n const updateQuestion = this.getConfigFormEmail();\n updateQuestion[29].options = this.surveys;\n if (this.data.email !== null) {\n for (let clave in this.data.email) {\n updateQuestion.forEach(item => {\n if (item.key === clave) {\n if (clave === 'auth_type') {\n if (this.data.email[clave] === 1) {\n updateQuestion[19].type = 'text';\n updateQuestion[20].type = 'text';\n updateQuestion[21].type = 'text';\n updateQuestion[19].rules = { required: true };\n updateQuestion[20].rules = { required: true };\n updateQuestion[21].rules = { required: true };\n } else {\n updateQuestion[19].type = 'hidden';\n updateQuestion[20].type = 'hidden';\n updateQuestion[21].type = 'hidden';\n updateQuestion[19].rules = null;\n updateQuestion[20].rules = null;\n updateQuestion[21].rules = null;\n }\n }\n if (clave === 'time_parameterization') {\n if (this.data.email[clave] === 1) {\n updateQuestion[24].type = 'number';\n updateQuestion[24].rules = { required: true };\n updateQuestion[25].show = false;\n updateQuestion[25].range[0].rules = null;\n updateQuestion[25].range[1].rules = null;\n updateQuestion[26].show = false;\n updateQuestion[26].rules = null;\n } else if (this.data.email[clave] === 2) {\n updateQuestion[24].type = 'hidden';\n updateQuestion[24].rules = null;\n updateQuestion[25].show = true;\n updateQuestion[25].range[0].rules = { required: true };\n updateQuestion[25].range[1].rules = { required: true };\n updateQuestion[26].show = false;\n updateQuestion[26].rules = null;\n } else {\n updateQuestion[24].type = 'hidden';\n updateQuestion[24].rules = null;\n updateQuestion[25].show = false;\n updateQuestion[25].range[0].rules = null;\n updateQuestion[25].range[1].rules = null;\n updateQuestion[26].show = true;\n updateQuestion[26].rules = { required: true };\n }\n }\n if (clave !== 'date_initial' && clave !== 'date_range_time_parameterization') item.value = this.data.email[clave];\n if (clave === 'date_initial') item.value = this.data.email[clave] || this.data.email[clave] !== '' ? moment(this.data.email[clave]).format() : moment().format();\n if (clave === 'date_range_time_parameterization') {\n item.range[0].value = this.data.email['date_start'] || this.data.email['date_start'] !== '' ? moment(this.data.email['date_start']).format() : moment().format();\n item.range[1].value = this.data.email['date_end'] || this.data.email['date_end'] !== '' ? moment(this.data.email['date_end']).format() : moment().format();\n }\n }\n });\n }\n this.idEmail = this.data.email.id;\n if (updateQuestion[18].value === 1 && (updateQuestion[23].value === 2 || updateQuestion[23].value === 3)) {\n updateQuestion[27].type = 'time';\n updateQuestion[28].type = 'time';\n updateQuestion[27].rules = { required: true };\n updateQuestion[28].rules = { required: true };\n } else {\n updateQuestion[27].type = 'hidden';\n updateQuestion[28].type = 'hidden';\n updateQuestion[27].rules = null;\n updateQuestion[28].rules = null;\n }\n this.questions = updateQuestion;\n }\n });\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-25\n * Metodo que guarda o actualiza un correo. \n * @param $event Evento emitido por el componente hijo. \n */\n saveEmail($event: any): void {\n const formData = this.idEmail !== null ? { ...$event, id: this.idEmail } : $event;\n this.emailAdminService.storeEmail(formData, this.data.title).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: this.idEmail === null ? 'Se ha creado un nuevo correo con éxito' : 'Se ha actualizado un correo con éxito'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(res);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-10-11\n * Metodo que trae la data del select seleccionado del formulario. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeSelectForm($event: any): void {\n const updateQuestion = Array.from(this.questions);\n if ($event.key === 'auth_type') updateQuestion[18].value = $event.value;\n if ($event.key === 'time_parameterization') updateQuestion[23].value = $event.value;\n if ($event.key === 'auth_type' && $event.value === 1) {\n updateQuestion[19].type = 'text';\n updateQuestion[20].type = 'text';\n updateQuestion[21].type = 'text';\n updateQuestion[19].rules = { required: true };\n updateQuestion[20].rules = { required: true };\n updateQuestion[21].rules = { required: true };\n } else if ($event.key === 'auth_type' && $event.value !== 1) {\n updateQuestion[19].type = 'hidden';\n updateQuestion[20].type = 'hidden';\n updateQuestion[21].type = 'hidden';\n updateQuestion[19].rules = null;\n updateQuestion[20].rules = null;\n updateQuestion[21].rules = null;\n }\n if ($event.key === 'time_parameterization' && $event.value === 1) {\n updateQuestion[24].type = 'number';\n updateQuestion[24].rules = { required: true };\n updateQuestion[25].show = false;\n updateQuestion[25].range[0].rules = null;\n updateQuestion[25].range[1].rules = null;\n updateQuestion[26].show = false;\n updateQuestion[26].rules = null;\n } else if ($event.key === 'time_parameterization' && $event.value === 2) {\n updateQuestion[24].type = 'hidden';\n updateQuestion[24].rules = null;\n updateQuestion[25].show = true;\n updateQuestion[25].range[0].rules = { required: true };\n updateQuestion[25].range[1].rules = { required: true };\n updateQuestion[26].show = false;\n updateQuestion[26].rules = null;\n } else if ($event.key === 'time_parameterization' && $event.value === 3) {\n updateQuestion[24].type = 'hidden';\n updateQuestion[24].rules = null;\n updateQuestion[25].show = false;\n updateQuestion[25].range[0].rules = null;\n updateQuestion[25].range[1].rules = null;\n updateQuestion[26].show = true;\n updateQuestion[26].rules = { required: true };\n }\n if (updateQuestion[18].value === 1 && (updateQuestion[23].value === 2 || updateQuestion[23].value === 3)) {\n updateQuestion[27].type = 'time';\n updateQuestion[28].type = 'time';\n updateQuestion[27].rules = { required: true };\n updateQuestion[28].rules = { required: true };\n } else {\n updateQuestion[27].type = 'hidden';\n updateQuestion[28].type = 'hidden';\n updateQuestion[27].rules = null;\n updateQuestion[28].rules = null;\n }\n this.questions = updateQuestion;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-10-12\n * Metodo que trae la configuracion del formulario para las cuentas de correo. \n */\n getConfigFormEmail(): any[] {\n return [\n { typeInput: 'input', type: 'hidden', key: 'area_id', label: 'Área', rules: { required: false }, value: 1 },\n { typeInput: 'input', type: 'text', key: 'host_email_entrada', label: 'Host de entrada', rules: { required: true }, value: '' },\n { typeInput: 'input', type: 'text', key: 'host_email_salida', label: 'Host de salida', rules: { required: true }, value: '' },\n { typeInput: 'input', type: 'number', key: 'port_email_entrada', label: 'Puerto email de entrada', rules: { required: true }, value: '' },\n { typeInput: 'input', type: 'number', key: 'port_email_salida', label: 'Puerto email de salida', rules: { required: true }, value: '' },\n { typeInput: 'input', type: 'text', key: 'encryption_email_entrada', label: 'Encriptación de entrada', rules: { required: true }, value: '' },\n { typeInput: 'input', type: 'text', key: 'encryption_email_salida', label: 'Encriptación de salida', rules: { required: true }, value: '' },\n { typeInput: 'input', type: 'text', key: 'user_name_email_entrada', label: 'Correo de entrada', rules: { required: true, email: true }, value: '' },\n { typeInput: 'input', type: 'text', key: 'user_name_email_salida', label: 'Correo de salida', rules: { required: true, email: true }, value: '' },\n { typeInput: 'input', type: 'password', hide: true, key: 'password_email_entrada', label: 'Contraseña de entrada', rules: { required: true }, value: '' },\n { typeInput: 'input', type: 'password', hide: true, key: 'password_email_salida', label: 'Contraseña de salida', rules: { required: true }, value: '' },\n { typeInput: 'input', type: 'text', key: 'protocol_email_entrada', label: 'Protocolo de entrada', rules: { required: true }, value: '' },\n { typeInput: 'input', type: 'text', key: 'protocol_email_salida', label: 'Protocolo de salida', rules: { required: true }, value: '' },\n { typeInput: 'input', type: 'hidden', key: 'configuracion_form_answer', label: 'Configuración form answer', rules: { required: false }, value: '{}' },\n { typeInput: 'select', key: 'requiere_firma_personal', label: 'Requiere firma de personal', rules: { required: true }, value: '', options: [{ value: 1, text: 'Si' }, { value: 0, text: 'No' }] },\n { typeInput: 'input', type: 'hidden', key: 'salida_email_area', label: 'Salida email area', rules: { required: false }, value: 0 },\n { typeInput: 'select', key: 'activo', label: '¿Activo?', rules: { required: true }, value: '', options: [{ value: 1, text: 'Si' }, { value: 0, text: 'No' }] },\n { typeInput: 'input', type: 'number', key: 'form_id', label: 'Formulario de CRM', rules: { required: true }, value: '' },\n { typeInput: 'select', key: 'auth_type', label: 'Tipo de autenticación', rules: { required: true }, value: '', options: [{ value: 0, text: 'Autenticación básica' }, { value: 1, text: 'Outlook Azure' }, { value: 2, text: 'Zimbra' }] },\n { typeInput: 'input', type: 'hidden', key: 'client_id', label: 'Id del cliente Azure', rules: null, value: '' },\n { typeInput: 'input', type: 'hidden', key: 'tenant_id', label: 'Tenant del cliente Azure', rules: null, value: '' },\n { typeInput: 'input', type: 'hidden', key: 'client_secret', label: 'Llave secreta del cliente - Azure', rules: null, value: '' },\n { typeInput: 'input', type: 'hidden', key: 'validate_cert_email', label: 'Valida certificado del email', rules: { required: false }, value: 1 },\n { typeInput: 'select', key: 'time_parameterization', label: 'Parametrización de tiempo', rules: { required: true }, value: 1, options: [{ value: 1, text: 'Rango inicial de dias' }, { value: 2, text: 'Rango por fechas' }, { value: 3, text: 'Rango inicial' }] },\n { typeInput: 'input', type: 'number', key: 'number_days', label: 'Numero de dias', rules: { required: true }, value: '0' },\n {\n typeInput: 'date-range', key: 'date_range_time_parameterization', show: false, range: [\n { key: 'date_start', rules: null, value: moment().format() },\n { key: 'date_end', rules: null, value: moment().format() },\n ]\n },\n { typeInput: 'date', key: 'date_initial', rules: null, value: moment().format(), show: false },\n { typeInput: 'input', type: 'hidden', key: 'start_time', label: 'Hora inicial', rules: null, value: '01:00' },\n { typeInput: 'input', type: 'hidden', key: 'end_time', label: 'Hora final', rules: null, value: '23:59' },\n { typeInput: 'select', key: 'survey_id', label: 'Nombre de la encuesta', rules: null, value: null, options: [] },\n { typeInput: 'input', type: 'number', key: 'limit', label: 'Límite de vencidos', rules: null, value: 0 }\n ];\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-22\n * Metodo que actualiza la propiedad hide de los campos del formulario. \n * @param $event Evento emitido por el componente hijo \n */\n updateHideTextField($event: number): void {\n this.questions[$event].hide = !this.questions[$event].hide;\n this.questions[$event].type = this.questions[$event].hide ? 'password' : 'text';\n }\n /**\n * Método que lista las encuestas públicas registradas en el sistema.\n * @returns Observable con la respuesta de las encuestas.\n */\n async getSurveys(): Promise {\n return this.crudService.getData({ url: `${SURVEYS_URL}surveys/list/publics` }).toPromise().then(res => {\n this.surveys = [];\n for (const key in res.surveys) this.surveys.push({ value: parseInt(key), text: res.surveys[key] });\n });\n }\n}","
\n
\n \n
\n
\n
\n
\n {{ data.title }}\n
\n \n
\n 0\"\n [questions]=\"questions\" \n (sendQuestions)=\"saveEmail($event)\" \n (changeValueSelect)=\"onChangeSelectForm($event)\" \n (sendIndexField)=\"updateHideTextField($event)\">\n
\n
","/* (ignored) */","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ResourcesCreateComponent } from './resources-create/resources-create.component';\nimport { ResourcesMainComponent } from './resources-main/resources-main.component';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { ResourcesRulesComponent } from './resources-rules/resources-rules.component';\nimport { DaysPipe } from '../bookings/booking-create/days.pipe';\nimport { WeekDaysPipe } from './resources-rules/week-days.pipe';\nimport { ResourcesTypesComponent } from './resources-types/resources-types.component'\n\n\n\n\n@NgModule({\n declarations: [ResourcesCreateComponent, ResourcesMainComponent, ResourcesRulesComponent, WeekDaysPipe, ResourcesTypesComponent],\n imports: [\n CommonModule,\n SharedModule,\n MaterialModule\n ],\n providers: [ DaysPipe],\n})\nexport class ResourcesModule { }\n","import { Component, OnInit } from '@angular/core';\nimport {MatDialogRef} from '@angular/material/dialog';\nimport {CandidatesService} from '../../../services/candidates.service';\nimport {MatSnackBar} from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-personal-reference-up',\n templateUrl: './personal-reference-up.component.html',\n styleUrls: ['./personal-reference-up.component.sass']\n})\nexport class PersonalReferenceUpComponent implements OnInit {\n\n selectedFile: File | null = null;\n fileName: string;\n\n constructor(\n public dialogRef: MatDialogRef,\n public candidateService: CandidatesService,\n public snackBar: MatSnackBar,\n ) { }\n\n ngOnInit(): void {\n this.getReferenceFileName();\n }\n\n onSubmit() {\n this.upPersonalReferenceTemplate();\n }\n\n onFileChange(event: any ) {\n this.selectedFile = event.target.files[0];\n }\n\n onCancel() {\n this.dialogRef.close();\n }\n\n getReferenceFileName() {\n this.candidateService.getReferenceFileName().subscribe((resp: any ) => {\n this.fileName = resp.basename;\n });\n }\n\n upPersonalReferenceTemplate() {\n const data = {\n template: this.selectedFile,\n };\n\n this.candidateService.upPersonalReferenceTemplate(data).subscribe(\n response => {\n this.snackBar.open('Tu plantilla ha sido procesada satisfactoriamente'\n , 'cerrar', {\n horizontalPosition: 'center',\n verticalPosition: 'top',\n panelClass: ['green-snackbar'],\n duration: 20000,\n });\n },\n error => {\n this.snackBar.open('El documento cargado no ha podido ser procesado correctamente'\n , '', {\n horizontalPosition: 'center',\n verticalPosition: 'top',\n panelClass: ['red-snackbar'],\n duration: 20000,\n });\n });\n\n this.dialogRef.close();\n }\n\n}\n","
\n

Cargar nueva versión de plantilla

\n

Aquí podrás cargar o actualizar la plantilla, recuerda que al subir un archivo reemplazaras\n el existente

\n
\n
\n
Archivo existente: {{fileName}}
\n
\n \n \n
\n

\n
\n \n \n
\n
\n
\n","import { VacationsService } from './../../../../services/rest/vacations.service';\nimport { DatePipe } from '@angular/common';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { UsersService } from 'src/app/modules/ciu/services/rest/users.service';\nimport { CampaignsService } from 'src/app/modules/nomina/services/rest/campaigns.service';\nimport { VacationsResponseComponent } from '../vacations-response/vacations-response.component';\nimport { VacationsViewComponent } from '../vacations-view/vacations-view.component';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport * as moment from 'moment';\n\n@Component({\n selector: 'app-vacation-consultant',\n templateUrl: './vacation-consultant.component.html',\n styleUrls: ['./vacation-consultant.component.sass']\n})\nexport class VacationConsultantComponent implements OnInit {\n// MatPaginator Inputs\nlength;\npageSize = 5;\npage = 1;\nisPage = 1;\npageSizeOptions: number[] = [ 5, 10, 25, 100 ];\n\n// paginator for reversions\nlength2;\npageSize2 = 5;\npage2 = 1;\nisPage2 = 1;\npageSizeOptions2: number[] = [ 5, 10, 25, 100 ];\n\ndisplayedColumns: string[] = [ 'acciones', 'fecha', 'nombre', 'numero', 'estado', 'campana' ];\ndisplayedColumns2: string[] = [ 'acciones', 'fecha', 'nombre', 'numero', 'campana', 'codigo', 'action', 'value', 'estado' ];\ndataSource = new MatTableDataSource();\ndataSourceReversions = new MatTableDataSource();\n\nreportForm: FormGroup;\nreversionForm: FormGroup;\nCampaings: any;\nfilterControl = new FormControl();\nfilterControl2 = new FormControl();\nstates: any = [ { id: 1, name: 'En revisión' }, { id: 2, name: 'Aprobado' }, { id: 3, name: 'Rechazado' }, {id: 4, name: 'Pendiente aprobación jefe'} ];\n@ViewChild(MatSort, { static: true }) sort: MatSort;\n@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n@ViewChild(MatPaginator, { static: true }) paginator2: MatPaginator;\n\ndocument: any = '';\nstartDate: any = '';\nendDate: any = '';\nidCampaing: any;\nidState: any = 1;\n\ndocuments: any = [];\nidTypeDoc: any;\nidTypeDoc2: any;\n\ntypeDocument = new FormControl();\ntypeDocument2 = new FormControl();\n\nstartDateRever: any;\nendDateRever: any;\n\nconstructor(public dialog: MatDialog,\n private service: CampaignsService,\n public userService: UsersService,\n private vacation: VacationsService,\n private alertsService: AlertsService,\n private users: CandidatesService\n) {\n}\n\nngOnInit() {\n this.reportForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n\n this.reversionForm = new FormGroup({\n startDate: new FormControl(''),\n endDate: new FormControl(''),\n campaignId: new FormControl(''),\n docType: new FormControl(1),\n document: new FormControl('')\n });\n\n this.filterControl2.setValue(1);\n this.service.getAllCampaigns().subscribe(resp => {\n this.Campaings = resp.data;\n });\n\n this.getVacationsForReversions(this.pageSize2, this.page2);\n\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.idTypeDoc = resp;\n this.getVacations(1, this.pageSize, this.page);\n });\n this.typeDocument.setValue(1);\n\n // filtro de campania | tab: solicitudes\n this.filterControl.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idCampaing = resp;\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n // filtro de estado | tab: solicitudes\n this.filterControl2.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idState = resp;\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n\n // form reversiones\n // filtro campania | tab: reversiones\n this.reversionFormControls.campaignId.valueChanges.subscribe(resp => {\n this.resetPaginator(2);\n this.getVacationsForReversions(this.pageSize, this.page);\n });\n\n // filtro tipo doc | tab: reversiones\n this.reversionFormControls.docType.valueChanges.subscribe(resp => {\n if (this.reversionFormControls.document.value) {\n this.getVacationsForReversions(this.pageSize, this.page);\n }\n });\n}\n\nget reversionFormControls() {\n return this.reversionForm.controls;\n}\n\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-04-26\n * Metodo de paginación\n */\npageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getVacations(this.idState, this.pageSize, this.page);\n}\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-04-27\n * Modal de solicitud\n */\nviewJustification(element?): void {\n const dialogNewgroup = this.dialog.open(VacationsResponseComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'vacaciones',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n\n}\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-04-28\n * Modal de solicitud rechazada\n */\nviewJustification2(element?): void {\n const dialogNewgroup = this.dialog.open(VacationsViewComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'vacaciones',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n\n}\n\n/**\n * Modal para cambiar el estado de la reversion de vacaciones\n * @author Andres Buitrago\n * @created 2021-10-22\n */\nchangeReversionStatus(vacation, state): void {\n this.alertsService.alertConfirm('¿Está seguro de modificar el estado?').then(result => {\n if (result.isConfirmed) {\n this.vacation.changeStatusReversion(vacation.id, state).subscribe((resp) => {\n this.alertsService.alertSuccess('Modificación realizada', 'Proceso realizado correctamente');\n this.getVacationsForReversions(this.pageSize2, this.page2);\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n }\n });\n}\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-04-26\n * Metodo para capturar el documento a filtrar\n */\nonBlurMethod(e) {\n this.resetPaginator(1);\n this.document = e;\n this.getVacations(this.idState, this.pageSize, this.page);\n}\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-04-26\n * Metodo para capturar el documento a filtrar\n */\nonBlurMethodDocumentReversion(e) {\n this.resetPaginator(2);\n this.getVacationsForReversions(this.pageSize, this.page);\n}\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-04-26\n * Metodo para capturar el rango de fechas a filtrar\n */\ndateRangeChange() {\n this.resetPaginator(1);\n const date1: Date = this.reportForm.controls.start.value;\n const date2: Date = this.reportForm.controls.end.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n this.getVacations(this.idState, this.pageSize, this.page);\n}\n\n/**\n * @author Andres Buitrago\n * @createdate 2021-10-22\n * Metodo para capturar el rango de fechas a filtrar en el tab de reversiones\n */\ndateRangeChangeReversions() {\n this.resetPaginator(2);\n const date1: Date = this.reversionFormControls.startDate.value;\n const date2: Date = this.reversionFormControls.endDate.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDateRever = dateStart;\n this.endDateRever =dateEnd;\n this.getVacationsForReversions(this.pageSize, this.page);\n}\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-04-28\n * Metodo para filtrar fecha, campaña y rango de fechas\n */\ngetVacations(state, pageSi, page, exportData: boolean = false): void {\n this.vacation.getVacationsBy({\n state,\n idTipDoc: this.idTypeDoc,\n document: this.document,\n campaign_id: this.idCampaing,\n startDate: this.startDate,\n endDate: this.endDate,\n exportData\n }, pageSi, page).subscribe(resp => {\n if (!exportData) {\n this.dataSource = resp.data.data;\n this.length = resp.data.total;\n } else {\n importedSaveAs(resp, 'reporte_vacaciones_nomina.xlsx');\n }\n });\n}\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-04-28\n * Metodo para filtrar fecha, campaña y rango de fechas\n */\ngetVacationsForReversions(pageSi, page, exportData: boolean = false) {\n this.vacation.getVacationsForReversions({\n docType: this.reversionFormControls.docType.value,\n document: this.reversionFormControls.document.value,\n campaignId: this.reversionFormControls.campaignId.value,\n startDate: this.startDateRever,\n endDate: this.endDateRever,\n exportData\n }, pageSi, page).subscribe(resp => {\n if (!exportData) {\n this.dataSourceReversions = resp.data.data;\n this.length2 = resp.data.total;\n } else {\n importedSaveAs(resp, 'reporte_vacaciones_reversion_nomina.xlsx');\n }\n });\n}\n\nresetPaginator(numPaginator): void {\n if (numPaginator === 1) {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n } else {\n this.length2 = 0;\n this.pageSize2 = 5;\n this.page2 = 1;\n this.paginator2.firstPage();\n }\n}\n\nselectView(element: any){\n if(element.noveltyStateKey == 'aprobada-jefe-area' && element.fullName.includes('extemporáneas')){\n return false;\n }\n if(element.noveltyStateKey == 'aprobada-jefe-area' || element.noveltyStateKey == 'cancelacion-vacaciones' || element.noveltyStateKey == 'aprobada-gerente-operaciones'){\n return true;\n }\n return false;\n}\n\n}\n","
\n
\n

Novedades de vacaciones

\n

En este espacio podrás revisar y/o gestionar las novedades de vacaciones de
los trabajadores, no olvides,\"El\n respeto y la\n empatiá son clave\"

\n
\n\n \n \n
\n \n Filtrar por fecha\n \n \n \n \n \n \n \n\n \n Filtrar por identificación\n \n \n {{item.key}}\n \n \n\n \n Filtrar por campaña\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n\n \n Filtrar por estado\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n\n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n Fecha {{element.fechaSolicitud | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}} Estado{{element.noveltyState}} Campaña{{element.campaignName}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n
\n
\n
\n \n
\n \n Filtrar por fecha\n \n \n \n \n \n \n \n\n \n Filtrar por campaña\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n\n \n Filtrar por identificación\n \n \n {{item.key}}\n \n \n\n\n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n \n Fechas\n {{element.fechaSolicitud | date:\"dd-MM-yyyy\"}} | {{element.fechaFinSolicitud | date:\"dd-MM-yyyy\"}}\n Nombre trabajador {{element.name}}Número de identificación{{element.docNumber}} Campaña{{element.campaignName}}Novedad{{element.noveltyKey+' - '+element.fullName}}Acción{{ (element.extra?.reversion?.action == 'modify') ? 'Nuevas Fechas' : 'Cancelar Solicitud' }}Nuevas Fechas{{ (element.extra?.reversion?.action == 'modify') ? element.extra?.reversion?.startDate+' | '+element.extra?.reversion?.endDate : 'No aplica' }} Estado{{element.novelty_state.name}}
No hay reversiones
\n \n \n
\n
\n
\n
\n
\n","import { CandidatesService } from './../../../../../rrhh/services/candidates.service';\nimport { DisabilitiesViewComponent } from './../disabilities-view/disabilities-view.component';\nimport { DisabilitiesResponseComponent } from './../disabilities-response/disabilities-response.component';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\nimport { CampaignsService } from 'src/app/modules/nomina/services/rest/campaigns.service';\nimport { DatePipe } from '@angular/common';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { DisabilitiesService } from 'src/app/modules/nomina/services/rest/disabilities.service';\nimport { PermitViewComponent } from '../../../../../juridica/modules/permit/pages/permit-view/permit-view.component';\n\n@Component({\n selector: 'app-disabilities-consultant',\n templateUrl: './disabilities-consultant.component.html',\n styleUrls: ['./disabilities-consultant.component.sass']\n})\nexport class DisabilitiesConsultantComponent implements OnInit {\n// MatPaginator Inputs\nlength;\npageSize = 5;\npage = 1;\nisPage = 1;\npageSizeOptions: number[] = [5, 10, 25, 100];\n\nlength3;\npageSize3 = 5;\npage3 = 1;\nisPage3 = 1;\npageSizeOptions3: number[] = [5, 10, 25, 100];\n\ndisplayedColumns: string[] = ['acciones', 'fecha', 'nombre', 'numero', 'tipo', 'estado', 'campana'];\ndataSource = new MatTableDataSource();\ndataSource3 = new MatTableDataSource();\n\nreportForm: FormGroup;\nreportForm3: FormGroup;\nCampaings: any;\nfilterControl = new FormControl();\nfilterControl3 = new FormControl();\nstateType = new FormControl('');\nstateType2 = new FormControl();\ntypeDocument = new FormControl();\ntypeDocument2 = new FormControl();\ntypeDocument3 = new FormControl();\nstates = [{ id: 1, name: 'En revisión' }, { id: 2, name: 'Aprobado' }, { id: 3, name: 'Rechazado' }];\nidType = '27';\nidState = '';\nidType3 = '40';\nidState3 = 4; // permisos aprobados\n@ViewChild(MatSort, { static: true }) sort: MatSort;\n@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n@ViewChild(MatPaginator, { static: true }) paginator3: MatPaginator;\n\ndocument: any;\nstartDate: any = '';\nendDate: any;\nidCampaing: any;\nidTypeDoc: any;\ndocuments: any = [];\n\n// permisos\ndocument3: any;\nstartDate3: any = '';\nendDate3: any;\nidCampaing3: any;\nidTypeDoc3: any;\n\nconstructor(public dialog: MatDialog, private service: CampaignsService, private disabilities: DisabilitiesService, private users: CandidatesService) {\n}\n\nngOnInit() {\n this.reportForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n this.reportForm3 = new FormGroup({\n start3: new FormControl(),\n end3: new FormControl()\n });\n // Estados\n this.stateType.valueChanges.subscribe(resp => {\n this.resetPaginator(2);\n this.idState = resp;\n console.log(resp);\n this.getNovelieties(this.idType, this.pageSize, this.page);\n });\n\n //documento\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.idTypeDoc = resp;\n this.getNovelieties(this.idType, this.pageSize, this.page);\n });\n this.typeDocument.setValue(1);\n\n // tipo doc - tab permisos\n this.typeDocument3.setValue(1);\n this.typeDocument3.valueChanges.subscribe(resp => {\n this.idTypeDoc3 = resp;\n this.getPermits(this.pageSize3, this.page3);\n });\n\n\n //campaña\n this.filterControl.valueChanges.subscribe(resp => {\n this.resetPaginator(2);\n this.idCampaing = resp;\n this.getNovelieties(this.idType, this.pageSize, this.page);\n });\n\n // filtro de campañas para permisos\n this.filterControl3.valueChanges.subscribe(resp => {\n this.resetPaginator(3);\n this.idCampaing3 = resp;\n this.getPermits(this.pageSize3, this.page3);\n });\n this.service.getAllCampaigns().subscribe(resp => {\n this.Campaings = resp.data;\n });\n this.getPermits(this.pageSize3, this.page3);\n}\n\n/**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Metodo de paginación\n */\npageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getNovelieties(this.idType, this.pageSize, this.page);\n}\n\npageEvent3(event: any): void {\n this.pageSize3 = event.pageSize;\n this.page3 = Number(event.pageIndex + 1);\n this.getPermits(this.pageSize3, this.page3);\n}\n\n\n/**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Modal de justificación\n */\nviewJustification(element?): void {\n const dialogNewgroup = this.dialog.open(DisabilitiesResponseComponent, {\n width: '70%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getNovelieties(this.idType, this.pageSize, this.page);\n });\n\n}\n\n/**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Modal de detalle de la incapacidad\n */\nviewJustification2(element?): void {\n const dialogNewgroup = this.dialog.open(DisabilitiesViewComponent, {\n width: '70%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getNovelieties(this.idType, this.pageSize, this.page);\n });\n\n}\n\n/**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Modal de detalle de permiso\n */\nviewJustification3(element?): void {\n const dialogNewgroup = this.dialog.open(PermitViewComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'ver',\n title: 'Detalle permiso',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getPermits(this.pageSize, this.page);\n });\n\n}\n\n/**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Metodo para capturar el documento a filtrar\n */\nonBlurMethod(e) {\n this.resetPaginator(2);\n this.document = e;\n this.getNovelieties(this.idType, this.pageSize, this.page);\n}\n\n/**\n * @author Daniel Dominguez \n * @createdate 2021-05-12\n * Metodo para capturar el documento a filtrar\n */\nonBlurMethod3(e) {\n this.resetPaginator(3);\n this.document3 = e;\n this.getPermits(this.pageSize3, this.page3);\n}\n\n/**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Metodo para capturar el rango de fechas a filtrar\n */\ndateRangeChange() {\n this.resetPaginator(2);\n const date1: Date = this.reportForm.controls.start.value;\n const date2: Date = this.reportForm.controls.end.value;\n const dateStart: string|null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string|null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n this.getNovelieties(this.idType, this.pageSize, this.page);\n}\n\n/**\n * @author Daniel Dominguez \n * @createdate 2021-05-12\n * Metodo para capturar el rango de fechas a filtrar\n */\ndateRangeChange3(): void {\n this.resetPaginator(3);\n const date1: Date = this.reportForm3.controls.start3.value;\n const date2: Date = this.reportForm3.controls.end3.value;\n const dateStart: string|null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string|null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate3 = dateStart;\n this.endDate3 = dateEnd;\n this.getPermits(this.pageSize3, this.page3);\n\n}\n\n/**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Metodo para filtrar los pendientes\n */\ngetNovelieties(type, pageSi, page) {\n this.disabilities.getDisabilitiesBy({\n state: this.idState,\n idTipDoc: this.idTypeDoc,\n document: this.document,\n campaign: this.idCampaing,\n novelty_date1: this.startDate,\n novelty_date2: this.endDate\n }, pageSi, page).subscribe(resp => {\n this.dataSource = resp.data.data;\n console.log(resp.data.data);\n this.length = resp.data.total;\n });\n}\n\n/**\n * @author Daniel Dominguez \n * @createdate 2021-07-02\n * Metodo para filtrar los permisos que fueron aprobados\n */\ngetPermits(pageSi3, page3, exportData: boolean = false) {\n this.disabilities.getPermitsByFilters({\n idTipDoc: this.idTypeDoc3,\n document: this.document3,\n campaign: this.idCampaing3,\n novelty_date1: this.startDate3,\n novelty_date2: this.endDate3,\n 'export': exportData\n }, pageSi3, page3).subscribe(resp => {\n if (exportData) {\n importedSaveAs(resp, 'reporte_permisos_aprobados.xlsx');\n } else {\n this.dataSource3 = resp.data.data;\n this.length3 = resp.data.total;\n }\n });\n}\n\n\n/**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Metodo de descargar reporte de incapacidades\n */\ndownloadReport() {\n this.disabilities.getDisabilitiesBy({\n state: this.idState,\n idTipDoc: this.idTypeDoc,\n document: this.document,\n campaign: this.idCampaing,\n novelty_date1: this.startDate,\n novelty_date2: this.endDate\n }, '', '', true).subscribe(resp => {\n importedSaveAs(resp, 'reporte_incapacidades.xlsx');\n });\n}\n\n/**\n * @author Daniel Dominguez \n * @purpose resetea el paginador\n */\nresetPaginator(numPaginator): void {\n if (numPaginator === 2) {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n } else if (numPaginator === 3) {\n this.length3 = 0;\n this.pageSize3 = 5;\n this.page3 = 1;\n this.paginator3.firstPage();\n }\n}\n\n}","
\n
\n

Novedades de incapacidad

\n

En este espacio podrás revisar y/o gestionar las novedades de
incapacidades, no olvides,\"El respeto y la\n empatía son clave\"

\n
\n \n \n \n Estado\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n \n Fecha\n \n \n \n \n \n \n \n \n Identificación\n \n \n {{item.key}}\n \n \n \n Campaña\n \n Todos\n \n {{item?.name}}\n \n \n \n\n \n\n\n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n Fecha {{element.novelty_date_start | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}}Tipo de novedad{{element.noveltyTypeName}} Estado{{element.stateName}} Campaña{{element.campaignName}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n\n
\n
\n \n \n Fecha\n \n \n \n \n \n \n \n \n Identificación\n \n \n {{item.key}}\n \n \n \n Campaña\n \n Todos\n \n {{item?.name}}\n \n \n \n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n Fecha {{element.novelty_date_start | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}}Tipo de novedad{{element.noveltyTypeName}} Estado{{element.stateName}} Campaña{{element.campaignName}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n\n
\n
\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\r\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\r\nimport { MatChipInputEvent } from '@angular/material/chips';\r\nimport { EDITOR_CONFIG } from './ConfigAngularEditor';\r\nimport { FormGroup, FormControl, Validators, FormGroupDirective } from \"@angular/forms\";\r\nimport { GestionadorCorreosService } from \"./services/gestionador-correos.services\";\r\nimport Swal from \"sweetalert2\";\r\nimport { MatDialogRef } from \"@angular/material/dialog\";\r\n\r\n@Component({\r\n selector: 'app-gestionador-correos',\r\n templateUrl: './gestionador-correos.component.html',\r\n styleUrls: ['./gestionador-correos.component.scss'],\r\n})\r\nexport class GestionadorCorreosComponent implements OnInit {\r\n formGestionadorCorreos: FormGroup;\r\n addOnBlur = true;\r\n separatorKeysCodes: number[] = [ENTER, COMMA];\r\n editorConfig = EDITOR_CONFIG;\r\n\r\n listDesde: any[] = [];\r\n listPara: string[] = [];\r\n listCopia: string[] = [];\r\n listCopiaOculta: string[] = [];\r\n listFiles: any = [];\r\n\r\n ifValidEmails: boolean = false;\r\n messageValidEmails: string = '';\r\n plantillasHtml: any[] = [];\r\n\r\n constructor(public servicesGestionadorCorreo: GestionadorCorreosService, private dialogRef: MatDialogRef) {}\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que inicializa la configuracion del formulario y llena los correos de salida. \r\n */\r\n ngOnInit(): void {\r\n this.formGestionadorCorreos = new FormGroup({\r\n emailSalida: new FormControl('', [Validators.required]),\r\n asunto: new FormControl('', [Validators.required]),\r\n emailBody: new FormControl('', [Validators.required]),\r\n plantillaHtml: new FormControl(null, [])\r\n });\r\n this.formGestionadorCorreos.get('emailBody').clearValidators();\r\n this.formGestionadorCorreos.get('emailBody').updateValueAndValidity();\r\n this.getEmailExit();\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que llama al backend para traer los correos de salida. \r\n */\r\n getEmailExit(): void {\r\n this.servicesGestionadorCorreo.getEmailsByExit().subscribe(res => {\r\n this.listDesde = res.emails.map(item => { \r\n return {\r\n email: item.email,\r\n id: `${item.id} - ${item.email} - ${item.name} - ${item.origin}` \r\n }\r\n });\r\n this.plantillasHtml = res.emailTemplates;\r\n });\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que valida cada uno de los correos registrados en los chip list. \r\n * @param listEmails Lista de correos los cuales van a ser validados.\r\n * @param nameList Nombre de la lista a validar.\r\n */\r\n validateListCorreos(listEmails: string[], nameList: string): void {\r\n if (listEmails.length > 0) {\r\n for (let i = 0; i < listEmails.length; i ++) {\r\n if (/^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i.test(listEmails[i])) {\r\n this.ifValidEmails = true;\r\n } else {\r\n this.ifValidEmails = false;\r\n if (nameList === 'listPara') this.messageValidEmails = 'Correos invalidos en la lista \"Para\"';\r\n if (nameList === 'listCopia') this.messageValidEmails = 'Correos invalidos en la lista \"Con copia\"';\r\n if (nameList === 'listCopiaOculta') this.messageValidEmails = 'Correos invalidos en la lista \"Con copia oculta\"';\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que agrega una cadena de texto a cada uno de los chip list.\r\n * @param event Manejador de eventos de los mat chip.\r\n * @param nameChipList Nombre del list chip en el cual se van agregar una cadena de texto. \r\n */\r\n addItemByChipList(event: MatChipInputEvent, nameChipList: string): void {\r\n const input = event.input;\r\n const value = (event.value || '').trim();\r\n if (nameChipList === 'listPara') if (value) this.listPara.push(value);\r\n if (nameChipList === 'listCopia') if (value) this.listCopia.push(value);\r\n if (nameChipList === 'listCopiaOculta')\r\n if (value) this.listCopiaOculta.push(value);\r\n if (input) input.value = '';\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que elimina una cadena de texto dentro un chip list.\r\n * @param item Cadena de texto seleccionada dentro del chip list. \r\n * @param nameChipList Nombre del chip list en el cual se va a remover el elemento.\r\n */\r\n removeItemByChipList(item: string, nameChipList: string): void {\r\n if (nameChipList === 'listPara') {\r\n const index = this.listPara.indexOf(item);\r\n if (index >= 0) this.listPara.splice(index, 1);\r\n }\r\n if (nameChipList === 'listCopia') {\r\n const index = this.listCopia.indexOf(item);\r\n if (index >= 0) this.listCopia.splice(index, 1);\r\n }\r\n if (nameChipList === 'listCopiaOculta') {\r\n const index = this.listCopiaOculta.indexOf(item);\r\n if (index >= 0) this.listCopiaOculta.splice(index, 1);\r\n }\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que agrega un archivo a la lista de archivos. \r\n */\r\n addFile(): void {\r\n const inputFile = document.getElementById('inputFile') as HTMLInputElement;\r\n if (inputFile) {\r\n for (let i = 0; i < inputFile.files!.length; i++) {\r\n const file = inputFile!.files![i];\r\n this.listFiles.push({\r\n file,\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que elimina un archivo de la lista de archivos. \r\n * @param nameFile Nombre del archivo a eliminar. \r\n */\r\n removeFile(nameFile: string): void {\r\n const filterListFiles = this.listFiles.filter(\r\n (item: any) => item.file.name !== nameFile\r\n );\r\n this.listFiles = filterListFiles;\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que retorna los errores generados por el formulario. \r\n */\r\n get error(): any {\r\n return this.formGestionadorCorreos.controls;\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-03\r\n * Metodo que captura todas las etiquetas y almacena el src de la imagen. \r\n * @param form Instancia del formulario principal enviado desde el submit. \r\n */\r\n getImageByEmailBody(form: any): string[] {\r\n const containerBody = document.getElementById('bodyEmail');\r\n containerBody.innerHTML = form.value.emailBody;\r\n const arrayImage = containerBody.querySelectorAll('img');\r\n const listImageBase = [];\r\n if (arrayImage.length > 0) {\r\n for (let i = 0; i < arrayImage.length; i ++) {\r\n listImageBase.push(arrayImage[i].getAttribute('src'));\r\n }\r\n }\r\n return listImageBase;\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que valida las listas y realiza el llamado al submit del formulario. \r\n * @param form Instancia del formulario principal enviado desde el submit. \r\n */\r\n validateForm(form: any): void {\r\n if (form.status === 'VALID') {\r\n if (this.listPara.length > 0) {\r\n this.validateListCorreos(this.listPara, 'listPara');\r\n this.validateListCorreos(this.listCopia, 'listCopia');\r\n this.validateListCorreos(this.listCopiaOculta, 'listCopiaOculta');\r\n if (this.ifValidEmails) {\r\n if (this.validateSizeFiles(this.listFiles)) {\r\n this.sendEmail(form);\r\n } else {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Error',\r\n text: 'Los archivos adjuntos superan las 25 MB'\r\n });\r\n }\r\n } else {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Error',\r\n text: this.messageValidEmails\r\n });\r\n }\r\n } else {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Error',\r\n text: 'Deben haber correos de destino'\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que resetea los valores del formulario y atributos de la clase. \r\n */\r\n resetForm():void {\r\n this.formGestionadorCorreos.reset();\r\n this.formGestionadorCorreos.get('emailSalida').clearValidators();\r\n this.formGestionadorCorreos.get('asunto').clearValidators();\r\n this.formGestionadorCorreos.get('emailBody').clearValidators();\r\n this.formGestionadorCorreos.get('plantillaHtml').clearValidators();\r\n this.formGestionadorCorreos.get('emailSalida').updateValueAndValidity();\r\n this.formGestionadorCorreos.get('asunto').updateValueAndValidity();\r\n this.formGestionadorCorreos.get('emailBody').updateValueAndValidity();\r\n this.formGestionadorCorreos.get('plantillaHtml').updateValueAndValidity();\r\n this.listPara = [];\r\n this.listCopia = [];\r\n this.listCopiaOculta = [];\r\n this.listFiles = [];\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que envia los datos del formulario hacia el backend para el envio de correos. \r\n * @param form Instancia del formulario enviado desde el submit.\r\n */\r\n sendEmail(form: any): void {\r\n const emailConfig = form.value.emailSalida.split(' - ')[0];\r\n const address = form.value.emailSalida.split(' - ')[1];\r\n const name = form.value.emailSalida.split(' - ')[2];\r\n const origin = form.value.emailSalida.split(' - ')[3];\r\n const listImageBase = this.formGestionadorCorreos.get('plantillaHtml').value !== null ? [] : this.getImageByEmailBody(form);\r\n\r\n const formData = new FormData();\r\n formData.append('emailConfig', emailConfig);\r\n formData.append('address', address);\r\n formData.append('name', name);\r\n formData.append('origin', origin);\r\n formData.append('subject', form.value.asunto);\r\n formData.append('body', form.value.emailBody);\r\n formData.append('recipients', JSON.stringify(this.listPara));\r\n formData.append('recipients_cc', JSON.stringify(this.listCopia));\r\n formData.append('recipients_cco', JSON.stringify(this.listCopiaOculta));\r\n formData.append('listImageBase', JSON.stringify(listImageBase));\r\n formData.append('emailTemplate', form.value.plantillaHtml);\r\n for (let i = 0; i < this.listFiles.length; i ++) {\r\n formData.append(`adjunto${i}`, this.listFiles[i].file);\r\n }\r\n \r\n this.servicesGestionadorCorreo.sendEmail(formData).subscribe(res => {\r\n Swal.fire({\r\n title: 'Enhorabuena',\r\n icon: 'success',\r\n text: 'Correo enviado conrrectamente'\r\n });\r\n this.resetForm();\r\n this.dialogRef.close(); \r\n }, error => {\r\n Swal.fire({\r\n title: 'Error',\r\n icon: 'error',\r\n text: 'Error al enviar el correo'\r\n }); \r\n });\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que valida el tamaño total de todos los archivos. \r\n * @param listFiles Lista de archivos para validar su tamaño. \r\n */\r\n validateSizeFiles(listFiles: any) {\r\n const maxSize = 26214400;\r\n let sumSize = 0;\r\n for (let i = 0; i < listFiles.length; i ++) {\r\n const size = parseInt(listFiles[i].file.size);\r\n sumSize += size; \r\n } \r\n const isValid = sumSize < maxSize ? true : false;\r\n return isValid;\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2023-01-24\r\n * Metodo que cambia la plantilla html sobre el cuerpo del correo.\r\n * @param $event Variable que trae toda la informacion del campo. \r\n */\r\n changePlantillaEmailBody($event: any): void {\r\n const idPlantilla = $event.value;\r\n const searchPlantilla = this.plantillasHtml.find(item => { return item.id === idPlantilla });\r\n if (searchPlantilla) this.formGestionadorCorreos.get('emailBody').setValue(searchPlantilla.body);\r\n }\r\n}","
\r\n

Nuevo correo

\r\n \r\n

\r\n En este espacio podrás redactar y configurar el nuevo correo, podrás\r\n seleccionar el remitente desde el cual deseas que se envíe el correo, el o\r\n los destinatarios, si deseas enviar una copia o una copia oculta y\r\n personalizar el texto según se requiera.\r\n

\r\n

Destinatarios

\r\n
\r\n
\r\n \r\n Seleccioné un correo\r\n \r\n \r\n {{ item.email }}\r\n \r\n \r\n \r\n Este campo es requerido\r\n \r\n \r\n
\r\n
\r\n \r\n Para\r\n \r\n \r\n {{ item }}\r\n cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Con copia a\r\n \r\n \r\n {{ item }}\r\n cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Con copia oculta a\r\n \r\n \r\n {{ item }}\r\n cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Detalle de correo

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Este campo es requerido\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ item.file.name }}\r\n cancel\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Adjuntar documento  \r\n \r\n \r\n \r\n
\r\n
0\" class=\"col-5\">\r\n \r\n Plantilla HTML\r\n \r\n {{ plantilla.name }}\r\n \r\n \r\n Este campo es requerido\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Este campo es requerido\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\nimport { MAT_BOTTOM_SHEET_DATA } from '@angular/material/bottom-sheet';\nimport { ChatRestService } from '../../services/chat-rest.service';\n\n@Component({\n selector: 'app-view-users-group',\n templateUrl: './view-users-group.component.html',\n styleUrls: ['./view-users-group.component.sass']\n})\nexport class ViewUsersGroupComponent implements OnInit {\n\n constructor(@Inject(MAT_BOTTOM_SHEET_DATA) public bottomSheetData: any, private chatRestService:ChatRestService, private cdr: ChangeDetectorRef) { }\n users_group:any;\n\n ngOnInit(): void {\n this.getUsersGroup()\n }\n\n /**\n * Método que obtiene un grupo por su id y asigna el valor al formulario de grupo\n * @author Juan Carlos Alonso\n * @createdate 05-06-2024\n * @returns {void} void\n */\n getUsersGroup(){\n this.chatRestService.getGroupById(this.bottomSheetData.idGroup, false).subscribe((resp:any) => {\n this.users_group = resp.group?.participants\n this.cdr.detectChanges()\n })\n }\n\n}\n","\n \n {{ user?.name }}\n \n\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators, ValidatorFn, AbstractControl } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { ApplicationsService } from '../../../services/rest/applications.service';\nimport { DestroyComponentService } from '../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { AuthService } from '../../../../../core/services/rest/auth.service';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Aplication } from '../../class/aplications';\n\n@Component({\n selector: 'app-save-aplications',\n templateUrl: './save-aplications.component.html',\n styleUrls: ['./save-aplications.component.sass']\n})\nexport class SaveAplicationsComponent implements OnInit {\n\n applicationForm: FormGroup;\n filteredOptions: Observable;\n applications: any[] = [{id:1,name:'Si'},{id:2,name:'No'}];\n menus: any;\n menusSet: any = [];\n\n constructor(private applicationService: ApplicationsService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n private AuthService: AuthService,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n }\n\n ngOnInit(): void {\n\n this.formControl();\n this.setEdit();\n \n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.applications.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFn(id: number): string{\n if (!id) { return ''; }\n let index = this.applications.findIndex(resp => resp.id === id);\n return this.applications[index].name;\n\n }\n\n get error(): any { return this.applicationForm.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void{\n\n this.applicationForm = new FormGroup({\n name: new FormControl('', [Validators.required, Validators.maxLength(40), Validators.minLength(3)]),\n key: new FormControl('', [Validators.required, Validators.maxLength(40), Validators.minLength(3)]),\n endpoint: new FormControl('', [Validators.required, Validators.maxLength(100), Validators.minLength(3)]),\n horario: new FormControl('', [Validators.required, Validators.maxLength(100), Validators.minLength(3)]),\n \n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que valida las funciones del autocompetable\n */\n autocompleteObjectValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (typeof control.value === 'string') {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n };\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que setea los valores al momento de editar\n */\n setEdit(): void {\n if (this.data.type === 'editar') {\n\n this.applicationForm.controls.name.setValue(this.data.app.name);\n this.applicationForm.controls.key.setValue(this.data.app.key);\n this.applicationForm.controls.endpoint.setValue(this.data.app.endpoint);\n if(this.data.app.enforce_schedule==1){\n this.applicationForm.controls.horario.setValue(Number(this.data.app.enforce_schedule));\n\n }else {\n this.applicationForm.controls.horario.setValue(Number('2'));\n \n }\n \n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que a partir de una variable enviada desde el administrador de roles crea un nuevo rol o edita un rol\n * @param rolForm datos que recolecta el formulario\n */\n saveApplication(rolForm): void {\n\n if (this.data.type === 'crear'){\n const app = new Aplication();\n\n app.id=0;\n app.name = this.applicationForm.value.name;\n app.endpoint = this.applicationForm.value.endpoint;\n app.key = this.applicationForm.value.key;\n if(this.applicationForm.value.horario==1){\n\n app.enforce_schedule='1';\n }else{\n app.enforce_schedule='0';\n\n }\n this.applicationService.saveApplication(app).subscribe((resp) => {\n this.alertsService.alertSuccess('Guardado', resp.data);\n });\n }\n else if (this.data.type === 'editar'){\n this.editApplication();\n }\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que edita un rol\n * @param rolForm datos que recolecta el formulario\n */\n editApplication(): void {\n \n const app = new Aplication();\n app.id=this.data.app.id;\n app.name = this.applicationForm.value.name;\n app.key = this.applicationForm.value.key;\n app.endpoint = this.applicationForm.value.endpoint;\n if(this.applicationForm.value.horario==1){\n\n app.enforce_schedule='1';\n }else{\n app.enforce_schedule='0';\n\n }\n this.applicationService.editApplication(app).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', resp.data);\n });\n }\n\n \n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","

\n {{ data.title }}\n \n

\n\n
\n\n \n \n \n Nombre Aplicación\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 40 caracteres\n \n \n\n \n \n Llave\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n \n Endpoint\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n \n \n Requiere Horario\n \n \n \n Si\n \n \n No\n \n \n ¡Advertencia! Este campo es requerido\n Haga click en una de las opciones de autocompletar\n \n \n \n \n \n \n \n \n \n
","import { map } from 'rxjs/operators';\nimport { Component, OnInit } from '@angular/core';\nimport { QuestionBase } from 'src/app/core/models/questions-base';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\nQuestionBase;\n@Component({\n selector: 'app-crm',\n templateUrl: './crm.component.html',\n styleUrls: ['./crm.component.sass']\n})\nexport class CrmComponent implements OnInit {\n currentDate;\n constructor() {\n\n }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
\n","import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { interval } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { DashboardDosService } from 'src/app/modules/livechat/services/rest/dashboardDos.service';\nimport { VideollamadaService } from 'src/app/shared/videollamada/services/videollamada.service';\nimport { ModalMeetingsComponent } from '../../components/modal-meetings/modal-meetings.component';\n\n@Component({\n selector: 'app-dashboard-videocall',\n templateUrl: './dashboard-videocall.component.html',\n styleUrls: ['./dashboard-videocall.component.sass']\n})\nexport class DashboardVideocallComponent implements OnInit, AfterViewInit {\n\n public icon_salas: string = 'fi-rr-video-camera';\n public espera: string = 'Video Llamadas en espera';\n public programada: string = 'Video Llamadas programadas';\n public proximas: string = 'Video Llamadas proximas a iniciar';\n public icon_agents: string = 'fi-users';\n public listos: string = 'Disponibles';\n public llamada: string = 'En llamada';\n public desconectados: string = 'Totales';\n public data: any = {};\n public AuthUser: any;\n public datosEnvio: any;\n public interval: any;\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n displayedColumns: string[] = ['first_name', 'id_number', 'adviser_id','client_name', 'client_nic', 'duration'];\n dataSource = new MatTableDataSource();\n\n constructor(private service: DashboardDosService, public dialog: MatDialog, private videoService: VideollamadaService,\n private authService: AuthService, private destroyService: DestroyComponentService) {\n\n this.AuthUser = this.authService.getUser();\n this.videoService.getAdviserById(this.AuthUser.rrhh_id).subscribe(resp => {\n\n this.datosEnvio = {\n \"campaign_id\" : resp.campaign_id\n }\n\n this.service.dashboard(this.datosEnvio).subscribe(resp =>{\n this.datos(resp);\n });\n\n });\n\n }\n\n ngOnInit(): void {\n\n this.interval = interval(5000)\n .pipe(\n mergeMap(() => this.service.dashboard(this.datosEnvio))\n )\n .subscribe(data => this.datos(data));\n\n }\n\n datos(data){\n this.data = data;\n\n data.agentsBusyDetails.forEach(element => {\n\n if(element.start_date !== null){\n element.start_date = new Date( new Date().getTime() - new Date(element.start_date).getTime() );\n }\n\n });\n\n this.dataSource.data = data.agentsBusyDetails;\n }\n\n modal(info){\n this.dialog.open(ModalMeetingsComponent, {\n width: '60%',\n data: info,\n panelClass: 'custom-dialog-container'\n });\n }\n\n ngAfterViewInit() {\n this.dataSource.paginator = this.paginator;\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n this.interval.unsubscribe();\n }\n\n}\n","
\n
\n

Dashboard Video Llamadas

\n

\n En este espacio podrás visualizar los indicadores de gestión de los asesores, No olvides, “El respeto y empatía\n son clave”.\n

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

Asesores

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

Video llamadas

\n
\n\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n
\n\n\n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
Nombre Asesor {{element.adviser.first_name}} {{element.adviser.last_name}} Cedula Asesor {{element.adviser.id_number}} Id Asesor {{element.adviser_id}} Nombre Cliente {{element.client_name}} Nic Cliente {{element.client_nic}} Duración Llamada {{element.start_date | date:'mm:ss'}}
\n \n \n\n \n
\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { InteligenciaService } from 'src/app/modules/auditoria/services/inteligencia.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\nimport Swal from 'sweetalert2';\nimport { MatricesAsignadasComponent } from '../matrices-asignadas/matrices-asignadas.component';\n\n@Component({\n selector: 'app-editar-formulario',\n templateUrl: './editar-formulario.component.html',\n styleUrls: ['./editar-formulario.component.sass']\n})\nexport class EditarFormularioComponent implements OnInit {\n\n /**\n * @author Cristian Gallo\n * Variable para capturar las selecciones realizadas en la tabla de preguntas\n */ \n selections = [];\n\n //Variable para mostrar el formulario\n showForm:boolean = false;\n\n //Variable para habilitar o deshabilitar botones y dragdrop\n questions:boolean = false;\n\n //Variable que almacena las preguntas relacionadas en el formulario\n questionsForm: any[] = [];\n\n //Variable para capturar el id del formulario\n id_form:string = '';\n\n //Variable para indicar la ruta es decir, si para visualizar el formulario o editarlo\n type:string = '';\n\n //Variable para capturar el nombre del formulario o inteligencia de negocio\n nameForm:string = '';\n constructor(\n private aRoute:ActivatedRoute,\n private router:Router,\n private inteligenicaS:InteligenciaService,\n private matriz:MatDialog\n ) { \n\n }\n\n ngOnInit(): void {\n this.enableForm();\n this.getFormById();\n }\n\n /**\n * @author Cristian Gallo\n * Función que verifica si se va a visualizar o editar el formulario\n */ \n enableForm(){\n this.aRoute.paramMap.subscribe(params=>{\n this.id_form = params.get('id');\n this.type = params.get('type');\n if (this.type === \"edit\") {\n this.questions = true;\n }else{\n this.questions = false;\n }\n })\n }\n\n /**\n * @author Cristian Gallo\n * Función para habilitar el formulario para la edición\n */ \n edit(){\n this.router.navigateByUrl(`/mios/calidad/formulario/edit/${this.id_form}`);\n this.questions = true; \n }\n\n /**\n * @author Cristian Gallo\n * Función para cambiar el orden de las preguntas en el dragdrop\n */ \n drop(event: CdkDragDrop) {\n moveItemInArray(this.questionsForm, event.previousIndex, event.currentIndex);\n this.changePosition(event.container.data);\n }\n\n /**\n * @author Cristian Gallo\n * Función para obtener los datos del formulario\n */ \n getFormById(){\n this.inteligenicaS.getFormById(this.id_form).subscribe((resp:any)=>{\n this.nameForm = resp.name;\n this.questionsForm = resp.preguntas_acivas;\n if (this.questionsForm.length > 0) {\n this.showForm = true\n }else{\n this.showForm = false;\n }\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función para obtener la selección de preguntas en la tabla de preguntas\n */ \n selection(event:any[]){\n this.selections = event;\n this.save();\n }\n\n /**\n * @author Cristian Gallo\n * Función para eliminar preguntas del formulario\n */ \n removeQuestion(id_question){\n Swal.fire({\n icon: 'warning',\n title: '¿Deseas eliminar esta pregunta del formulario?',\n showCancelButton: true,\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Confirmar',\n reverseButtons: true,\n width: '840px',\n padding: '2em 4em'\n }).then(result=>{\n if (result.isConfirmed) { \n this.inteligenicaS.questionsForm(this.id_form,'',id_question).subscribe(()=>{\n this.getFormById();\n Tools.swalSuccess('¡Excelente!','Se ha eliminado la pregunta del formulario correctamente');\n });\n }\n })\n }\n\n /**\n * @author Cristian Gallo\n * Función para guardar o confirmar las preguntas seleccionadas en la tabla preguntas\n */ \n save(){\n let newQuestions = [];\n this.selections.forEach(seleccion => {\n newQuestions.push({id:seleccion.id,});\n });\n this.inteligenicaS.questionsForm(this.id_form,newQuestions,'').subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess('¡Excelente!','Tus preguntas se han cargado con éxito.')\n this.getFormById();\n }\n },(err:any)=>{\n }\n );\n }\n\n /**\n * @author Cristian Gallo\n * Función que actualiza la posición de las preguntas\n */ \n changePosition(data:any[]){\n let newPosition = [];\n data.forEach((element,index:number) => {\n element.position = index + 1; \n newPosition.push({\n id: element.pregunta.id,\n position: element.position\n })\n });\n this.inteligenicaS.changePosition(this.id_form,newPosition).subscribe((resp:any)=>{\n this.getFormById();\n });\n }\n\n cancelar(){\n this.router.navigateByUrl(`/mios/calidad/formulario/detail/${this.id_form}`);\n this.questions = false; \n this.getFormById();\n }\n\n matrices(){\n const matrizRef = this.matriz.open(MatricesAsignadasComponent,{\n width: '550px',\n height: '224px',\n disableClose: true,\n data: {id:this.id_form}\n });\n }\n\n}\n","
\n
\n \n
\n
\n

{{nameForm}}

\n

Inteligencia de negocio creada para evaluar la calidad en la operación

\n \n
\n
\n

Preguntas

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

Formulario

\n \n
\n
\n \n

{{selection.pregunta.question}}

\n
\n \n Respuesta\n \n \n
\n
\n \n \n \n {{opcion.name}}\n \n \n Otra\n \n \n ¿Cual?\n \n \n \n
\n
\n \n {{escala}}\n \n
\n
\n \n Opciones\n \n \n {{opcion.name}}\n \n \n
\n
\n \n Fecha\n \n \n \n \n \n \n
\n
\n \n Hora\n \n \n
\n
\n
\n
\n
","import {Component, OnInit} from '@angular/core';\nimport {MatDialog} from '@angular/material/dialog';\nimport {TemplatesService} from '../../../services/templates.service';\nimport {DatePipe} from '@angular/common';\nimport {map} from 'rxjs/operators';\nimport {ProfileService} from '../../../../ciu/services/rest/profile.service';\nimport {TemplateNewComponent} from '../template-new/template-new.component';\nimport {TemplatePreviewComponent} from '../template-preview/template-preview.component';\n\n@Component({\n selector: 'app-templates-list',\n templateUrl: './templates-list.component.html',\n styleUrls: ['./templates-list.component.sass']\n})\nexport class TemplatesListComponent implements OnInit {\n\n templates: any;\n template: any;\n displayedColumns: string[] = ['path', 'name', 'version', 'updated_at', 'responsable'];\n dataSource: any;\n\n constructor(\n private templateService: TemplatesService,\n private datePipe: DatePipe,\n private profileService: ProfileService,\n public dialog: MatDialog,\n ) { }\n\n ngOnInit(): void {\n this.getTemplates();\n\n this.templateService.refreshTemplates$.subscribe(() => {\n this.getTemplates();\n });\n }\n\n getTemplates() {\n this.templateService.getTemplates().pipe(\n map((resp: any[]) => {\n return resp.map(item => {\n item.created_at = this.formatDate(item.created_at);\n item.updated_at = this.formatDate(item.updated_at);\n this.profileService.dataUser(item.responsable_id).subscribe((response => {\n item.responsable = (response as any).fullname;\n }));\n return item;\n });\n })\n ).subscribe((formattedResp: any[]) => {\n this.dataSource = formattedResp;\n });\n }\n\n formatDate(dateStr: string): string {\n if (!dateStr) { return ''; }\n const date = new Date(dateStr);\n return this.datePipe.transform(date, 'dd/MM/yyyy') || '';\n }\n\n preview(contract_template_id: any) {\n this.templateService.showTemplate(contract_template_id).subscribe(resp => {\n this.template = resp;\n const filepath = this.templateService.server.replace('/api/', '') + '/storage/previews/' + this.template.pdf_url;\n\n const dialogRef = this.dialog.open(TemplatePreviewComponent, {\n width: '800px',\n data: {filepath: filepath},\n });\n });\n }\n\n upload(contract_type_id: any) {\n const dialogRef = this.dialog.open(TemplateNewComponent, {\n width: '600px',\n data: {contract_type_id: contract_type_id},\n });\n\n dialogRef.afterClosed().subscribe(result => {\n this.getTemplates();\n });\n }\n}\n","
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
Acciones \n \n \n Nombre {{element.name}} Versión {{element.version}} Fecha de actualización {{element.updated_at_formatted}} Responsable {{element.responsable}}
\n



\n
","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { UsersGroupComponent } from './pages/users-group/users-group.component';\nimport { MeetingsModuleComponent } from './meetings.component';\nimport { DashboardVideocallComponent } from '../livechat/modules/chat/pages/dashboard-videocall/dashboard-videocall.component';\nimport { MeetingsAdminComponent } from './pages/meetings-admin/meetings-admin.component';\nimport { MeetingHistoryComponent } from './pages/meeting-history/meeting-history.component';\nimport { MeetingRequestComponent } from './pages/meeting-request/meeting-request.component';\nimport { UsersSkillComponent } from './pages/users-skill/users-skill.component';\nimport { MeetingsAttentionRangeComponent } from './pages/meetings-attention-range/meetings-attention-range.component';\n\n\nconst routes: Routes = [\n { path: '', component: MeetingsModuleComponent },\n { path: 'usergroup_management', component: UsersGroupComponent},\n { path: 'userskill_management', component: UsersSkillComponent},\n { path: 'dashboard', component: DashboardVideocallComponent},\n { path: 'meetings-admin', component: MeetingsAdminComponent},\n { path: 'meetings-history', component: MeetingHistoryComponent},\n { path: 'meetings-request', component: MeetingRequestComponent},\n { path: 'meetings-attention-range', component: MeetingsAttentionRangeComponent },\n]\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class MeetingRoutingModule { }\n","/* (ignored) */","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-crear-sub-item',\n templateUrl: './crear-sub-item.component.html',\n styleUrls: ['./crear-sub-item.component.sass']\n})\nexport class CrearSubItemComponent implements OnInit {\n private uuid = '1bc11cea-90be-11ee-b9d1-0242ac120003';\n public config: any;\n\n subItemForm:FormGroup\n items = [];\n filteredOptions: Observable;\n verError:boolean = true;\n continue:boolean = true;\n nuevo:boolean = false;\n descripcion:boolean = false;\n mostarDescripciones:boolean = false\n\n constructor(\n private fb:FormBuilder,\n public subItemRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private matrizService:MatrizService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.createForm();\n }\n\n createForm(){\n this.subItemForm = this.fb.group({\n nombre:['',Validators.required],\n descripcion:[''],\n aspectoPositivo:['',Validators.maxLength(100)],\n aspectoNegativo:['',Validators.maxLength(100)],\n aspectoNa:['',Validators.maxLength(100)]\n\n })\n }\n\n\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.items.filter(option => option.nombre.toLowerCase().includes(filterValue));\n }\n\n displayFn(module: any): string {\n return module && module ? module : '';\n }\n\n getSubItems(){\n this.matrizService.getSubtItems(this.subItemForm.get('nombre').value).subscribe((resp:any)=>{\n if (resp.length == 0) {\n this.verError = true\n this.subItemForm.get('nombre').setErrors({invalid:true});\n this.nuevo = true;\n this.descripcion = false;\n this.continue = false;\n this.mostarDescripciones=false\n }else{\n this.verError = false;\n this.nuevo = false;\n this.items = resp\n this.filteredOptions = this.subItemForm.get('nombre').valueChanges.pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n }\n })\n }\n\n\n newSubItem(){\n this.nuevo = false;\n this.subItemForm.get('nombre').setErrors(null);\n this.descripcion = true;\n this.continue = true;\n }\n\n saveSubItem(){\n if (this.subItemForm.invalid) {\n return\n }\n const data = {\n idMatriz: this.datos.id_matriz,\n nivel: 3,\n sigla: this.datos.sigla,\n padre_id: this.datos.id_item,\n error_critico: this.datos.error_critico,\n }\n Object.assign(data,this.subItemForm.value);\n this.matrizService.newSubItem(data).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess(this.config.modal.excellent, this.config.modal.saveOk);\n this.subItemRef.close();\n }else if (resp.respuesta.codigo > 400) {\n Tools.swalError('¡Oops!', this.config.modal.saveError);\n }\n });\n }\n\n\n}\n","\n
\n

{{config.labels.createSubItem}}

\n \n \n {{config.labels.name}}\n \n \n \n \n {{option.nombre}}\n \n \n {{config.labels.noCoincidencias}}\n {{config.labels.required}}\n \n \n \n {{config.labels.description}}\n \n \n \n {{config.labels.positiveAspect}}\n \n {{config.labels.maxLengthExceeded}}\n \n \n {{config.labels.negativeAspect}}\n \n {{config.labels.maxLengthExceeded}}\n \n \n {{config.labels.naAspect}}\n \n {{config.labels.maxLengthExceeded}}\n \n\n
\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport {TemplatesService} from '../../../services/templates.service';\n\n@Component({\n selector: 'app-template-index',\n templateUrl: './template-index.component.html',\n styleUrls: ['./template-index.component.sass']\n})\nexport class TemplateIndexComponent implements OnInit {\n\n constructor(\n private templateService: TemplatesService,\n ) { }\n\n ngOnInit(): void {\n }\n\n onTabChange(): void {\n this.templateService.triggerRefresh();\n }\n}\n","
\n

Administrador contratos

\n

En este espacio podrás administrar las plantillas (minutas) de los diferentes tipos de contratos en el sistema, podrás actualizar sus versiones, habilitarlas o desactivarlas, también verás el histórico de las modificaciones realizadas y administrar las variables para dinamizar las plantillas (minutas)

\n
\n\n\n \n \n \n \n \n \n \n \n \n\n\n","import { Component, OnInit, Input } from '@angular/core';\nimport SwiperCore, { Navigation, Pagination, SwiperOptions } from 'swiper';\n\nSwiperCore.use([Navigation, Pagination]);\n\n@Component({\n selector: 'app-swiper-report-trays',\n templateUrl: './swiper-report-trays.component.html',\n styleUrls: ['./swiper-report-trays.component.css']\n})\nexport class SwiperReportTraysComponent implements OnInit {\n swipperConfigTrays: SwiperOptions = {\n navigation: {\n nextEl: '.swiper-button-next-trays',\n prevEl: '.swiper-button-prev-trays',\n },\n pagination: { clickable: true },\n breakpoints: {\n 640: { slidesPerView: 3, spaceBetween: 10, pagination: { el: '.swiper-pagination-hide' } },\n },\n };\n @Input() cardsReport: any[] = [];\n\n constructor() { }\n\n ngOnInit(): void {\n \n }\n}","
\n \n \n
\n
\n \n
\n
\n
{{ card.value }}
\n
{{ card.text }}
\n
\n
\n
\n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\nimport { throwError, Observable } from 'rxjs';\nimport { environment } from '../../../../../environments/environment';\nimport { catchError } from 'rxjs/operators';\n\nconst CIU_URL = environment.CIU_URL;\n@Injectable({\n providedIn: 'root'\n})\nexport class CampaignService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-03\n * Servicio que lista todas las campañas paginadas\n */\n getCampaigns(): Observable{\n return this.http.get(`${CIU_URL}campaigns/?paginate=0`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-03\n * Servicio que lista todas las campañas sin paginar\n */\n getCampaignsSelect(): Observable{\n return this.http.get(`${CIU_URL}users/getCampaigns`)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSlideToggle } from '@angular/material/slide-toggle';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { MatrizService } from 'src/app/modules/auditoria/services/matriz.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\nimport Swal from 'sweetalert2';\nimport { AnalistasAuditoriaComponent } from '../analistas-auditoria/analistas-auditoria.component';\nimport { CrearItemComponent } from '../crear-item/crear-item.component';\nimport { CrearModuloComponent } from '../crear-modulo/crear-modulo.component';\nimport { CrearSubItemComponent } from '../crear-sub-item/crear-sub-item.component';\nimport { EditarItemComponent } from '../editar-item/editar-item.component';\nimport { EditarModuloComponent } from '../editar-modulo/editar-modulo.component';\nimport { EditarSubItemComponent } from '../editar-sub-item/editar-sub-item.component';\n\n@Component({\n selector: 'app-detalle-matriz',\n templateUrl: './detalle-matriz.component.html',\n styleUrls: ['./detalle-matriz.component.sass']\n})\nexport class DetalleMatrizComponent implements OnInit, OnDestroy {\n\n filtroModulo:string = '';\n checked:boolean = true;\n\n title:string = '';\n tipo:string = '';\n creacion:string = '';\n minimo = 0;\n maximo = 0;\n peso_actual = 0;\n\n id_matriz;\n tipo_peso;\n\n\n modulos_matriz = [];\n items_modulo = [];\n subItems_item = [];\n\n //Observable para los cambios de la matriz\n subscription:Subscription;\n\n constructor(\n private dialog:MatDialog,\n private aRoute:ActivatedRoute,\n private matrizService:MatrizService,\n ) {\n this.aRoute.paramMap.subscribe(params=>{\n this.id_matriz = params.get('id');\n });\n }\n\n ngOnInit(): void {\n this.getMatrixById();\n this.subscription = this.matrizService.refresh$.subscribe(()=>{\n this.getMatrixById();\n })\n }\n\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n \n newModule(){\n const moduleRef = this.dialog.open(CrearModuloComponent,{\n width: '624px',\n disableClose: true,\n data: {\n id_matriz: this.id_matriz,\n tipo_peso:this.tipo_peso,\n tipo_matriz:this.tipo,\n minimo:this.minimo,\n maximo:this.maximo\n }\n })\n }\n\n newItem(id_modulo,sigla,error_critico){\n const itemRef = this.dialog.open(CrearItemComponent,{\n width: '624px',\n disableClose: true,\n data: {\n id_matriz: this.id_matriz, \n id_modulo: id_modulo, \n tipo_peso: this.tipo_peso,\n sigla: sigla,\n error_critico: error_critico,\n tipo_matriz:this.tipo,\n },\n })\n }\n\n\n newSubItem(id_item,sigla,error_critico){\n const subItemRef = this.dialog.open(CrearSubItemComponent,{\n width: '624px',\n disableClose: true,\n data: {\n id_matriz: this.id_matriz, \n id_item: id_item, \n tipo_peso: this.tipo_peso,\n sigla: sigla,\n error_critico: error_critico,\n },\n })\n }\n\n disableModule(id,estado,nombre){\n let mensaje:string = '';\n if (estado) {\n mensaje = `¿Estas seguro de deshabilitar este ${nombre}?`\n }else{\n mensaje = `¿Estas seguro de habilitar este ${nombre}?`\n }\n Swal.fire({\n title:mensaje,\n icon: 'warning',\n showCancelButton:true,\n reverseButtons: true,\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n width: '836px',\n padding: '2em 7em'\n }).then(result=>{\n if (result.isConfirmed) {\n const data = {\n id: id,\n estado: !estado,\n pesoMaxMatriz: this.maximo,\n pesoActual: this.peso_actual,\n idMatriz: this.id_matriz\n }\n this.matrizService.disableModule(data).subscribe((resp:any)=>{\n if (resp) { \n if (resp.respuesta.codigo != 202) {\n Tools.swalError('¡Ups!',resp.respuesta.text)\n }\n }\n });\n }\n })\n }\n\n getMatrixById(){\n this.matrizService.getMatrixById(this.id_matriz).subscribe((resp:any)=>{\n this.title = resp[0].matriz.nombre;\n this.tipo = resp[0].matriz.tipo_matriz.nombre;\n this.creacion = resp[0].matriz.created_at;\n this.minimo = resp[0].matriz.valor_peso_validacion.minimo;\n this.maximo = resp[0].matriz.valor_peso_validacion.maximo;\n if (resp[0].matriz.tipo_peso != null) {\n this.tipo_peso = resp[0].matriz.tipo_peso.nombre;\n }\n this.modulos_matriz = [];\n resp[0].matriz.modulo.forEach(modulo=>{\n if (modulo.nivel == 1) {\n this.modulos_matriz.push(modulo);\n }\n });\n this.peso_actual = resp[0].matriz.peso_actual;\n });\n }\n\n filtrar(){\n const params = {\n modulo: '',\n idMatriz: this.id_matriz\n }\n\n if (this.filtroModulo != '') {\n params.modulo = this.filtroModulo\n }\n this.matrizService.getModulesMatrix(params).subscribe((resp:any)=>{\n this.modulos_matriz = resp;\n });\n }\n\n editModule(id){\n const moduleRef = this.dialog.open(EditarModuloComponent,{\n width: '624px',\n disableClose: true,\n data: {\n id_module: id,\n tipo_peso:this.tipo_peso,\n tipo_matriz:this.tipo,\n minimo:this.minimo,\n maximo:this.maximo\n }\n })\n }\n\n editItem(id,error_critico){\n const itemRef = this.dialog.open(EditarItemComponent,{\n width: '624px',\n disableClose: true,\n data: {\n id_item: id,\n tipo_peso:this.tipo_peso,\n error_critico}\n });\n }\n\n editSubItem(id){\n const subitemRef = this.dialog.open(EditarSubItemComponent,{\n width: '624px',\n disableClose: true,\n data: {id_subItem: id,tipo_peso:this.tipo_peso}\n });\n }\n\n analyst(type){\n const analystRef = this.dialog.open(AnalistasAuditoriaComponent,{\n width: '732px',\n disableClose: true,\n data: {\n id_matriz: this.id_matriz,\n type,\n },\n })\n }\n\n}\n","
\n
\n \n
\n
\n

{{title}}

\n

Matriz de {{tipo}}

\n
\n
Peso en Ítems
\n
{{ tipo_peso }}
\n
\n
Creada el {{creacion | date:'dd/MM/yyyy hh:mm a'}}
\n \n
\n

Rango de peso ( {{maximo}} - {{minimo}} )

\n

Peso actual ({{peso_actual | number:'1.0-3'}})

\n
\n \n Filtrar por módulo\n \n \n \n
\n \n
\n
\n
\n
\n \n \n \n
\n \n \n \n
\n

{{modulo.sigla}}

\n

{{modulo.nombre | cutText:0:54}}

\n
\n \n
\n

Peso({{modulo.peso | number:'1.0-3'}})

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

{{item.sigla}}

\n

{{item.nombre | cutText:0:50}}

\n
\n \n
\n

Peso({{item.peso | number:'1.0-3'}})

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

{{sub_item.sigla}}

\n

{{sub_item.nombre | cutText}}

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from '../../../../environments/environment';\nimport { MeetingsAttentionRangePaginator } from '../pages/meetings-attention-range/interfaces/meetings-attention-range.interface';\n\nconst MEETINGS_URL = environment.MEETINGS_URL;\nconst CHAT_SOUL = environment.CHAT_SOUL;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MeetingsService {\n constructor(private http: HttpClient) {}\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Metodo que lista los asesores de meet\n * @author Yeison Sepulveda\n * @createdate 06-11-2024\n */\n getAdvisersList(): Observable {\n return this.http\n .get(`${MEETINGS_URL}groups/advisersList`)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * Método que muestra todo el listado de grupos\n * @author Yeison Sepulveda\n * @createdate 06-11-2024\n */\n getGroupList(): Observable {\n return this.http\n .get(`${MEETINGS_URL}groups/groupList`)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * Metodo que lista los grupos disponibles\n * @author Yeison Sepulveda\n * @createdate 06-11-2024\n * @param userId Usuario (rrhh_ids) seleccionado en la lista.\n */\n getAvailableGroups(userIds: number[]): Observable {\n const body = { rrhh_ids: userIds };\n return this.http\n .post(`${MEETINGS_URL}groups/availableGroups`, body)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * Metodo que lista los grupos disponibles\n * @author Yeison Sepulveda\n * @createdate 06-11-2024\n * @param userId Usuario (rrhh_ids) seleccionado en la lista.\n */\n getAssociateGroups(userIds: number[]): Observable {\n const body = { rrhh_ids: userIds };\n return this.http\n .post(`${MEETINGS_URL}groups/associatedGroups`, body)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * Metodo que guarda la asociacion entre grupos y asesores.\n * @author Yeison Sepulveda\n * @createdate 06-11-2024\n * @param userId Usuarios (rrhh_ids) seleccionado de la lista.\n * @param groupsId Grupos seleccionadas de la segunda lista.\n */\n saveGroupsUser(userId: number[], groupsId: number[]): Observable {\n const body = { groups_ids: groupsId, rrhh_ids: userId };\n return this.http\n .post(`${MEETINGS_URL}groups/saveGroupsUser`, body)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * Metodo que obtiene las videollamadas vigentes\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n getVideoCalls(\n page: number,\n pageSize: number,\n rol: string,\n rrhh_id: number,\n campaign: string,\n group: string,\n adviser: string\n ): Observable {\n let body = new FormData();\n body.append('page', page.toString());\n body.append('per_page', pageSize.toString());\n body.append('rol', rol);\n body.append('rrhh_id', rrhh_id.toString());\n\n if (campaign) {\n body.append('campaign', campaign);\n }\n if (group) {\n body.append('group', group);\n }\n if (adviser) {\n body.append('adviser', adviser);\n }\n return this.http\n .post(`${MEETINGS_URL}Room/getRooms`, body)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * Metodo que reagenda una videollamada\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n rescheduleVideoCall(data: any): Observable {\n return this.http\n .post(`${MEETINGS_URL}Room/rescheduleRoom`, data)\n .pipe(catchError(this.handleError));\n }\n /**\n * Metodo que cancela una videollamada\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n cancelVideoCall(data: any): Observable {\n return this.http\n .post(`${MEETINGS_URL}Room/cancelRoom`, data)\n .pipe(catchError(this.handleError));\n }\n /**\n * Metodo que obtiene una videollamada por id\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n getVideoCallById(id: any): Observable {\n return this.http\n .get(`${MEETINGS_URL}RoomBy/${id}`)\n .pipe(catchError(this.handleError));\n }\n /**\n * Metodo que obtiene los grupos\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n getGroupListPublic(): Observable {\n return this.http\n .get(`${MEETINGS_URL}groups/groupListPublic`)\n .pipe(catchError(this.handleError));\n }\n /**\n * Metodo que obtiene las campañas\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n getCampaigns(): Observable {\n return this.http\n .get(`${MEETINGS_URL}getCampaings`)\n .pipe(catchError(this.handleError));\n }\n /**\n * Metodo que obtiene los asesores y sus horarios vigentes\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n getAvailableHours(skill_id: number, campaign_id: number): Observable {\n return this.http.get(\n `${MEETINGS_URL}groups/getAvailableHours/${skill_id}/${campaign_id}`\n );\n }\n\n /**\n * Traer listado del historial de agandamientos paginado\n * @author Yeison Sepulveda\n * @createdate 06-12-2024\n * @param filter filtros para la búsqueda.\n * @param paginator configuración de paginación (pageSize y pageIndex).\n */\n getRoomsHistoryPaginate(filter: any, paginator: any): Observable {\n const body = {\n ...filter,\n per_page: paginator.pageSize,\n page: paginator.pageIndex,\n };\n return this.http\n .post(`${MEETINGS_URL}Room/getRoomsHistory`, body)\n .pipe(catchError(this.handleError));\n }\n /**\n * Metodo que obtiene estdos de las salas\n * @author Yeison Sepulveda\n * @createdate 06-12-2024\n */\n getRoomStates(): Observable {\n return this.http\n .get(`${MEETINGS_URL}Rooms/getRoomStates`)\n .pipe(catchError(this.handleError));\n }\n /**\n * Metodo que obtiene estdos de las salas\n * @author Yeison Sepulveda\n * @createdate 06-12-2024\n */\n /**\n * Descargar reporte de excel\n * @author Yeison Sepulveda\n * @createdate 2024-04-04\n * @param filters json de la informacion\n */\n downloadReport(filters) {\n return this.http\n .post(`${MEETINGS_URL}Rooms/downloadReportRooms`, filters, {\n responseType: 'blob' as 'json',\n })\n .pipe(catchError(this.handleError));\n }\n\n /**\n * Metodo que lista los grupos disponibles\n * @author Yeison Sepulveda\n * @createdate 06-11-2024\n * @param userId Usuario (rrhh_ids) seleccionado en la lista.\n * @param id_group id grupo asociado para skill.\n */\n getAvailableSkills(userIds: number[], id_group: number): Observable {\n const body = { rrhh_ids: userIds, id_group: id_group };\n return this.http\n .post(`${MEETINGS_URL}skills/availableSkills`, body)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * Metodo que lista los grupos disponibles\n * @author Yeison Sepulveda\n * @createdate 06-11-2024\n * @param userId Usuario (rrhh_ids) seleccionado en la lista.\n * @param id_group id grupo asociado para skill.\n */\n getAssociateSkills(userIds: number[], id_group: number): Observable {\n const body = { rrhh_ids: userIds, id_group: id_group };\n return this.http\n .post(`${MEETINGS_URL}skills/associatedSkills`, body)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * Metodo que guarda la asociacion entre grupos y asesores.\n * @author Yeison Sepulveda\n * @createdate 06-11-2024\n * @param userId Usuarios (rrhh_ids) seleccionado de la lista.\n */\n saveSkillUser(body: any): Observable {\n return this.http\n .post(`${MEETINGS_URL}skills/saveSkillUser`, body)\n .pipe(catchError(this.handleError));\n }\n\n getCampaignsForRange(\n body: MeetingsAttentionRangePaginator\n ) {\n return this.http\n .post(\n `${MEETINGS_URL}settings/paginate`,\n body\n )\n .pipe(catchError(this.handleError));\n }\n\n updateMeetingRange(body: FormData) {\n return this.http\n .post(`${MEETINGS_URL}settings/update`, body)\n .pipe(catchError(this.handleError));\n }\n\n saveInfoRecording(roomId, startRecordig, endRecording) {\n return this.http\n .post(`${MEETINGS_URL}recordings/saveInfoRecording`, {\n room_id: roomId,\n start_recordig: startRecordig,\n end_recording: endRecording,\n })\n .pipe(catchError(this.handleError));\n }\n\n sendNotificationUserleft(roomId: string, startCallTime: Date) {\n const formattedTime = this.calculateTime(startCallTime);\n\n const body = {\n room_id: roomId,\n flag: 0,\n time: formattedTime,\n };\n\n return this.http\n .post(`${MEETINGS_URL}leavingRoom`, body)\n .pipe(catchError(this.handleError));\n }\n\n calculateTime(startCallTime: Date) {\n const start = new Date(startCallTime);\n const end = new Date();\n\n // Se hace el calculo de la diferencia en milisegundos\n const difference = end.getTime() - start.getTime();\n\n // Se convierte la diferencia a horas, minutos y segundos\n const hours = Math.floor(difference / (1000 * 60 * 60));\n const minutes = Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60));\n const seconds = Math.floor((difference % (1000 * 60)) / 1000);\n\n return `${this.padZero(hours)}:${this.padZero(minutes)}:${this.padZero(seconds)}`;\n }\n\n // Función auxiliar para agregar ceros a la izquierda si es necesario\n private padZero(num: number): string {\n return num < 10 ? `0${num}` : `${num}`;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { ConfigurationComponent } from './modules/configuration/configuration.component';\nimport { ShowReportComponent } from './modules/show-report/show-report.component';\nimport { IndexComponent } from './modules/index/index.component';\n\n\n\nconst routes: Routes = [\n { path: 'configuration', component: ConfigurationComponent },\n { path: 'report', component: ShowReportComponent },\n { path: '', component: IndexComponent },\n\n]\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class SoulBiRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { BpmsComponent } from './bpms.component';\nimport { RequestsComponent } from './modules/requests/requests.component';\n\nconst routes: Routes = [\n\n { path: '', component: BpmsComponent},\n { path: 'solicitudes', component: RequestsComponent }\n // { path: '', pathMatch: 'full', component: RequestsComponent },\n // { path: '**', component: RequestsComponent }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class BpmsRoutingModule { }\n","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { TrainingGroupsService } from '../../../services/training-groups.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { UsersService } from '../../../services/users.service';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA, } from '@angular/material/dialog';\nimport { GroupsCandidateAssignComponent } from '../groups-candidate-assign/groups-candidate-assign.component';\nimport { TrainingCandidateComponent } from '../training-candidate/training-candidate.component';\nimport { AuthService } from '../../../../../core/services/rest/auth.service';\nimport { saveAs as importedSaveAs } from \"file-saver\";\nimport { CandidateActionsComponent } from '../candidate-actions/candidate-actions.component';\nimport { PrebondingComponent } from '../prebonding/prebonding.component';\nimport {MatSnackBar} from '@angular/material/snack-bar';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { AssingUserComponent } from '../../assign-user/assing-user/assing-user.component';\n\n@Component({\n selector: 'app-groups-view',\n templateUrl: './groups-view.component.html',\n styleUrls: ['./groups-view.component.sass']\n})\nexport class GroupsViewComponent implements OnInit {\n\n @ViewChild(MatSort) sort: MatSort;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n displayedColumns: string[] = ['actions', 'name','state', 'id_number', 'mobile_phone', 'email', 'enterprises','campaigns', 'case_glpi'];\n dataSource: MatTableDataSource;\n length: number;\n pageSize: number;\n currentPage = 1;\n showCandidates = false;\n\n noEdit = false;\n\n trainerGroupForm: FormGroup;\n\n groupId;\n trainers: any = [];\n sites: any = [];\n group: any = [];\n groupType:any\n candidates = [];\n\n statesToFilter:any = [];\n\n stateSelected = '';\n identification: any = '';\n email: any = '';\n mobile: any = '';\n bonding:boolean= false\n typeFilter:string = null\n constructor(private activatedRoute: ActivatedRoute,\n private groupsService: TrainingGroupsService,\n private fb: FormBuilder,\n private alert: AlertsService,\n private usersService: UsersService,\n public dialog: MatDialog,\n public auth:AuthService,\n private _snackBar: MatSnackBar,\n private candidatesService:CandidatesService) {\n this.groupId = this.activatedRoute.snapshot.paramMap.get('id');\n this.validateForm();\n }\n\n ngOnInit(): void {\n\n\n this.auth.getUser().roles.forEach(element => {\n if(element == 'rrhh::lider-de-usuarios' || element == 'rrhh::coordinador-de-usuarios'){\n this.bonding = true\n }\n if(element == 'rrhh::lider-formador'){\n this.noEdit = true\n }\n });\n this.groupsService.getValidGroups(`formation/grouptype`).subscribe(res=>{\n this.groupType= res\n })\n this.getTrainers();\n this.getSites();\n this.getGroup();\n this.getStatesToFilter();\n }\n\n getStatesToFilter(){\n this.groupsService.stateToFilter().subscribe( (resp:any) => {\n this.statesToFilter = resp;\n })\n }\n filterByValue(event){\n this.identification=''\n this.email=''\n this.mobile = ''\n this.stateSelected =''\n switch (this.typeFilter) {\n case \"Identificación\":\n this.identification = event;\n break;\n case \"Email\":\n this.email= event\n break;\n case \"Teléfono\":\n this.mobile = event\n break;\n case \"Estado\":\n this.stateSelected = event;\n break;\n }\n this.getCandidates();\n }\n validateForm(){\n this.trainerGroupForm = this.fb.group({\n name:[{value:null,disabled:true},[Validators.required]],\n modality: [{value:null,disabled:true},[Validators.required]],\n capacity:[{value:null,disabled:true},[Validators.required]],\n mode_rescue: [{value:null,disabled:true},[Validators.required]],\n start: [{value:null,disabled:true},[Validators.required]],\n end: [{value:null,disabled:true},[Validators.required]],\n ubication: [{value:null,disabled:true},[Validators.required]],\n description: [{value:null,disabled:true},[Validators.required]],\n user_trainer_id: [{value:null,disabled:true},[Validators.required]],\n user_responsable_id: [{value:null,disabled:true},[Validators.required]],\n medicalTests:[{value:null,disabled:true}],\n group_type_id:[{value:null,disabled:true}],\n segment:[{value:null,disabled:true}],\n case_glpi:[{value:null,disabled:true}],\n });\n }\n\n getGroup() {\n this.groupsService.getGroup(this.groupId).subscribe((resp: any) => {\n this.group = resp;\n this.group.start = new Date(resp.start);\n this.group.end = new Date(resp.end);\n this.group.ubication = parseInt(this.group.ubication)\n this.group.modality = parseInt(this.group.modality)\n this.user_trainer_name = this.group.trainerName;\n this.trainerGroupForm.patchValue(this.group);\n });\n }\n\n getTrainers() {\n this.usersService.getUserByRole('formador').subscribe(resp => {\n this.trainers = resp;\n });\n }\n\n getSites(){\n this.usersService.getSites().subscribe(resp => {\n this.sites = resp;\n });\n }\n\n activeEdit() {\n this.trainerGroupForm.disabled? this.trainerGroupForm.enable():this.trainerGroupForm.disable()\n\n }\n\n onTabChanged (event) {\n if (event.index === 1){\n this.getCandidates();\n }\n }\n\n updateGroup() {\n\n this.alert.alertConfirm('¿Desea actualizar los datos de este grupo?').then( e => {\n if(e.isConfirmed){\n this.groupsService.updateGroup(this.groupId, this.trainerGroupForm.getRawValue()).subscribe( resp => {\n this.ngOnInit();\n this.trainerGroupForm.disable();\n this.alert.alertSuccess('¡Actualizado!','Grupo de Formación editado con éxito');\n });\n }\n })\n\n }\n\n getCandidates() {\n this.groupsService.getCandidatesByGroup(this.groupId,{'page':this.currentPage,'state':this.stateSelected,'identification': this.identification, 'email': this.email, 'mobile': this.mobile}).subscribe((resp: any) => {\n this.length = resp.total;\n this.pageSize = resp.per_page;\n this.dataSource = new MatTableDataSource(resp.data);\n this.dataSource.sort = this.sort;\n // this.candidatesByRequest = resp.data;\n });\n }\n\n registerCandidates() {\n const assignGroupDialog = this.dialog.open( GroupsCandidateAssignComponent, {\n minWidth: '80%',\n disableClose: true,\n data: { group: this.group }\n });\n assignGroupDialog.afterClosed().subscribe( (params) => {\n if(params){\n this.getCandidates();\n }\n\n });\n }\n\n getPaginatorData(e){\n this.currentPage = e.pageIndex + 1;\n this.getCandidates();\n }\n commentCandidates(candidate){\n const dialogComment = this.dialog.open( TrainingCandidateComponent,{\n data:{'candidate':candidate,'groupId':this.groupId },\n minWidth:'600px',\n minHeight:'400px'\n })\n dialogComment.afterClosed().subscribe(e => {\n this.getCandidates();\n })\n }\n seeFiles(){\n const dialogRef = this.dialog.open( ExportFiles,{\n width: '516px',\n });\n dialogRef.afterClosed().subscribe(result => {\n if(result){\n this.groupsService.downloadFormat(this.groupId,result).subscribe( (e: any) => {\n importedSaveAs(e, `${result.toUpperCase()}.xlsx`);\n this._snackBar.open('El documento se descargó de manera satisfactoria, revisa en tus descargas.', '', {\n duration: 3200,\n verticalPosition: 'top',\n panelClass : ['green-snackbar']\n });\n })\n }\n });\n }\n\n actionsToCandidates(){\n const candidateActions = this.dialog.open( CandidateActionsComponent, {\n minWidth: '70%',\n data: { group: this.group }\n });\n candidateActions.afterClosed().subscribe( params => {\n if(params == true){\n this.getCandidates();\n }\n\n });\n }\n openPreBonding(){\n this.dialog.open(PrebondingComponent,{\n minWidth: '80%',\n data: { group: this.group }\n })\n }\n getDocuments(id){\n this.candidatesService.getDocumentSummary(id).subscribe(res=>{\n this.dialog.open(DocsSsummary,{\n minWidth: '80%',\n data: { docs: res }\n })\n })\n\n }\n user_trainer_name = null;\n searchUsers(rol){\n const saerchDialog = this.dialog.open( AssingUserComponent, {\n data: { role: rol}\n });\n saerchDialog.afterClosed().subscribe(res=>{\n if(res){\n this.trainerGroupForm.get(`user_trainer_id`).setValue(res.user.rrhh_id)\n this[`user_trainer_name`]= res.user.name\n }\n })\n }\n\n}\n\n\n@Component({\n selector: 'export-files',\n templateUrl: 'export-files.html',\n styleUrls: ['./groups-view.component.sass']\n})\nexport class ExportFiles {\n option:any\n}\n\n@Component({\n selector: 'docs-summary',\n templateUrl: 'docs-summary.html',\n styleUrls: ['./groups-view.component.sass']\n})\nexport class DocsSsummary {\n displayedColumns: string[] = [ 'name', 'attached', 'verified'];\n dataSource\n constructor(@Inject(MAT_DIALOG_DATA) public data: any) {this.dataSource = new MatTableDataSource(this.data.docs);}\n\n}\n","
\n

{{group?.name}}

\n

Formador   {{group?.trainerName}}

\n

Fecha inicio {{group?.start | date:'dd/MM/yyyy'}} - Fecha fin {{group?.end | date:'dd/MM/yyyy'}}

\n

En este espacio podrás visualizar los detalles de la solicitud, detallar los candidatos
que ya han sido cargados a esta solicitud. No olvides, “El respeto y empatía son clave”.

\n \n \n
\n
\n \n\n \n
\n
\n\n \n Nombre\n \n \n \n Modalidad\n \n Presencial\n Remota\n Mixta\n \n \n \n Capacidad\n \n \n \n Rescate\n \n Si\n No\n \n \n \n Fecha Inicio\n \n \n \n \n \n Fecha Fin\n \n \n \n \n \n Ubicación\n \n {{site.name}}\n \n \n \n \n Formador\n \n \n \n \n Habilitar Exámenes Médicos\n \n Habilitado \n No Habilitado \n \n \n \n Caso GLPI\n \n \n \n Tipo de grupo\n \n \n {{group.name}}\n \n \n \n \n Segmento \n \n \n \n Descripción\n \n \n
\n
\n \n \n\n
\n\n
\n
\n\n \n
\n \n Tipo de filtro\n \n Identificación\n Email\n Teléfono\n Estado\n \n \n \n Filtrar por {{typeFilter}}\n \n \n \n \n Filtrar por Estado\n \n {{row.name}}\n \n \n
\n \n \n \n\n
\n\n
\n
\n \n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n
Acciones \n \n \n \n Nombre {{row.name}} Estado \n \n fiber_manual_record   {{row.states.name}}\n # Documento {{row.documentId}} Celular {{row.mobile_phone}} Email {{row.email}} Empresa {{row.enterprises}} Campaña {{row.campaigns}} Ticket GLPI {{row.case_glpi}}
No hay candidatos asociados al grupos de formación.
\n\n \n\n
\n
\n
\n
","\n

Documentos del candidato

\n
\n\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Documento {{element.name}}\n Subido \n \n Pendiente\n Verificado \n \n Pendiente\n \n
\n
","\n

Descargas

\n
\n\n
\n \n Descargar previnculación \n Descargar vinculación \n \n
\n \n
\n\n \n","import { state } from '@angular/animations';\nimport { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst NOMINA_URL = environment.NOMINA_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VacationsService {\n\n constructor(private http: HttpClient) {\n }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Alejandro Castañeda\n * @purpose Servicio para obtener las novedades de vacaciones\n */\n getVacations(state, forViewBoss: any = 0) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', state)\n .set('forBossView', forViewBoss)\n };\n return this.http.get(`${ NOMINA_URL }holidays/showHolidays`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * @author Alejandro Castañeda\n * @purpose Servicio para obtener las novedades de vacaciones por filtro\n */\n getVacationsBy(filters: any, perPage: any = 5, page: any = 1) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', filters.state)\n .set('document', filters.document || '')\n .set('documentType', filters.idTipDoc || '')\n .set('campaign_id', filters.campaign_id || '')\n .set('initial_holiday_date', filters.startDate || '')\n .set('end_holiday_date', filters.endDate || '')\n .set('perPage', perPage)\n .set('page', page || 1)\n .set('forBossView', filters.forBossView || 0)\n .set('export', filters.exportData ? '1' : '0'),\n responseType: filters.exportData ? 'blob' as 'json' : 'json'\n };\n return this.http.get(`${ NOMINA_URL }holidays/showHolidays`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Alejandro Castañeda\n * @purpose Servicio para obtener las novedades de vacaciones por filtro\n */\n getVacationsForReversions(filters: any, perPage: any = 5, page: any = 1) {\n const httpOptions = {\n params: new HttpParams()\n .set('document', filters.document || '')\n .set('docType', filters.docType || '')\n .set('campaignId', filters.campaignId || '')\n .set('startDate', filters.startDate || '')\n .set('endDate', filters.endDate || '')\n .set('perPage', perPage)\n .set('page', page || 1)\n .set('export', filters.exportData ? '1' : '0'),\n responseType: filters.exportData ? 'blob' as 'json' : 'json'\n };\n return this.http.get(`${ NOMINA_URL }vacations/reversions`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * @author Javier Castañeda \n * @purpose Servicio obtiene la información de una novedad de vacaciones\n */\n getInfoVacationId(id: number): Observable {\n return this.http.get(`${ NOMINA_URL }holidays/showHoliday/${ id }`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para aprobar o rechazar una novedad de vacaciones\n */\n changeStatus(id: any, body: any) {\n return this.http.put(`${ NOMINA_URL }holidays/aprovalHolidays/${ id }`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para aprobar o rechazar una reversion de vacaciones\n */\n changeStatusReversion(id: any, stateCode: any) {\n return this.http.put(`${ NOMINA_URL }vacations/${ id }/changeStatus`, { 'state': stateCode })\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andres Buitrago\n * @purpose Servicio para registrar la solicitud de reversion de unas vacaciones\n */\n requestReverseVacation(id: any, body: any) {\n return this.http.put(`${ NOMINA_URL }vacations/${ id }/reversion`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andres Buitrago\n * @purpose Servicio para aprobar/rechazar la solicitud de reversion de unas vacaciones\n */\n changeStatusReverseVacation(id: any, body: any) {\n return this.http.put(`${ NOMINA_URL }vacations/${ id }/changeStatus`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio que obtiene los dias habiles/no habiles de un rango de fechas seleccionado para el proceso de vacaciones\n */\n getAvailableDaysForVacations(data: any): Observable {\n return this.http.post(`${ NOMINA_URL }vacations/checkAvailableDaysReversion`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para obtener listado de usuarios y sus días disponibles de vacaciones\n */\n getavailableDaysVacationsBy(document?: any, documentType?: any, campaign_id?: any, perPage: any = 5, page: any = 1) {\n const httpOptions = {\n params: new HttpParams()\n .set('document', document || '')\n .set('documentType', documentType || '')\n .set('campaign_id', campaign_id || '')\n .set('perPage', perPage)\n .set('page', page || 1)\n };\n return this.http.get(`${ NOMINA_URL }vacations/staffVacationsByAreaDirector`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para obtener reporte de usuarios y sus días disponibles de vacaciones\n */\n getReportavailableDaysVacationsBy(document?: any, documentType?: any, campaign_id?: any, perPage: any = 5, page: any = 1) {\n const httpOptions = {\n params: new HttpParams()\n .set('document', document || '')\n .set('documentType', documentType || '')\n .set('campaign_id', campaign_id || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${ NOMINA_URL }vacations/reportStaffVacationsByAreaDirector`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Johan Soler\n * @purpose Servicio para obtener las novedades de vacaciones por filtro para la vista vacationsBoss pestaña vacations\n */\n getVacationsActive(filters: any, perPage: any = 5, page: any = 1) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', filters.state)\n .set('document', filters.document || '')\n .set('documentType', filters.idTipDoc || '')\n .set('campaign_id', filters.campaign_id || '')\n .set('initial_holiday_date', filters.startDate || '')\n .set('end_holiday_date', filters.endDate || '')\n .set('perPage', perPage)\n .set('page', page || 1)\n .set('export', filters.exportData ? '1' : '0'),\n responseType: filters.exportData ? 'blob' as 'json' : 'json'\n };\n return this.http.get(`${NOMINA_URL}vacation/getVacationApprovedFinalvacations`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Johan Soler\n * \n * @purpose Servicio para obtener las novedades de vacaciones extemporaneas por filtro\n */\n getVacationsExtemporal(filters: any, perPage: any = 5, page: any = 1) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', filters.state)\n .set('document', filters.document || '')\n .set('documentType', filters.idTipDoc || '')\n .set('campaign_id', filters.campaign_id || '')\n .set('initial_holiday_date', filters.startDate || '')\n .set('end_holiday_date', filters.endDate || '')\n .set('perPage', perPage)\n .set('page', page || 1)\n .set('forBossView', filters.forBossView || 0)\n .set('export', filters.exportData ? '1' : '0'),\n responseType: filters.exportData ? 'blob' as 'json' : 'json'\n };\n return this.http.get(`${NOMINA_URL}holidays/getExtemporaneousVacations`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @autor Johan Soler\n * @createDate 17-Jun-2022\n * Metodo para cancelar las vacaciones\n */\n cancelVacation(id: any, data: any) {\n return this.http.post(`${NOMINA_URL}vacation/cancelVacations/${id}`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Johan Soler\n * @purpose Servicio para aprobar o rechazar una novedad de vacaciones\n */\n changeStatusCancelVacation(id: any, body: any) {\n return this.http.post(`${NOMINA_URL}vacation/aprovalCancelVacations/${id}`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Johan Soler\n * @purpose Servicio para aprobar o rechazar una novedad de vacaciones extemporaneas\n */\n changeExtemporalStatus(id: any, body: any) {\n return this.http.post(`${NOMINA_URL}holidays/aprovalExtemporaneousVacations/${id}`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport * as moment from 'moment';\nimport { Subscription } from 'rxjs';\nimport { DataAuditoria } from 'src/app/modules/auditoria/interfaces/dataAuditoria.interface';\nimport { AuditoriaService } from 'src/app/modules/auditoria/services/auditoria.service';\nimport { MatrizService } from 'src/app/modules/auditoria/services/matriz.service';\n\nimport { FormAuditarComponent } from \"../form-auditar/form-auditar.component\";\n\n\n@Component({\n selector: 'app-detalle-auditoria',\n templateUrl: './detalle-auditoria.component.html',\n styleUrls: ['./detalle-auditoria.component.sass']\n})\nexport class DetalleAuditoriaComponent implements OnInit, OnDestroy {\n \n @ViewChild(FormAuditarComponent) FormAuditar;\n\n title:string = '';\n creacion:string = '';\n tipo_auditar = {interna:0,cliente:0};\n verCalificacion:boolean = false;\n dataHijo:DataAuditoria={\n modulos:[],\n tipo_matriz:'',\n tipo_peso:'',\n pesoMinimo:0,\n calificacion:'',\n }\n inteligencia;\n idMatriz;\n maximo = 0;\n peso_actual = 0;\n calificacion = '';\n dataCalificacion = {modulos:[],calificacion:0};\n selected = new FormControl(0);\n\n trimestre_puntaje = 0;\n mes_puntaje = 0;\n hoy_puntaje = 0;\n totales = \"\";\n isRetentionMatrix: number = 0;\n showFieldDuration: number = 0;\n\n\n //Observable para los cambios en los servicios de auditoria\n subscription:Subscription; \n constructor(\n private matrizService:MatrizService,\n private aRoute:ActivatedRoute,\n private auditoriaService:AuditoriaService,\n private router:Router,\n ) { }\n\n ngOnInit(): void {\n this.aRoute.paramMap.subscribe(params=>{\n this.idMatriz = params.get('id');\n this.selected.setValue(params.get('tab'));\n this.ocultar_ver_gestion(params.get('tab'));\n });\n this.getMatrixById();\n this.getPuntajes();\n this.subscription = this.auditoriaService.refresh$.subscribe(()=>{\n //this.getMatrixById();\n });\n\n \n }\n\n\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n\n ocultar_ver_gestion(val){\n console.log(val);\n const div = document.getElementById(\"su_gestion\");\n if(val==1){\n document.getElementById(\"su_gestion\").style.display = \"none\";\n }else{\n document.getElementById(\"su_gestion\").style.display = \"block\";\n }\n }\n\n changePage(event){\n this.selected.setValue(event);\n this.ocultar_ver_gestion(event);\n \n this.router.navigateByUrl(`/mios/auditoria/auditoria/detail/${event}/${this.idMatriz}`);\n\n\n }\n\n getPuntajes(){\n this.auditoriaService.getPuntajes().subscribe((resp:any)=>{\n this.trimestre_puntaje = resp[0].auditoriasTrimestre;\n this.mes_puntaje = resp[0].auditoriasMes;\n this.hoy_puntaje = resp[0].auditoriasHoy;\n });\n }\n\n getMatrixById(){\n let items = [];\n this.matrizService.getMatrixById(this.idMatriz).subscribe((resp:any)=>{\n this.title = resp[0].matriz.nombre;\n this.dataHijo.tipo_matriz = resp[0].matriz.tipo_matriz.nombre;\n this.creacion = moment(resp[0].matriz.created_at).format('DD/MM/yyyy hh:mm a');\n this.dataHijo.pesoMinimo = resp[0].matriz.valor_peso_validacion.minimo;\n this.maximo = resp[0].matriz.valor_peso_validacion.maximo;\n this.peso_actual = resp[0].matriz.peso_actual;\n this.isRetentionMatrix = resp[0].matriz.is_retencion_matrix;\n this.showFieldDuration = resp[0].matriz.showFieldDuration;\n if (resp[0].matriz.tipo_peso) {\n this.dataHijo.tipo_peso = resp[0].matriz.tipo_peso.nombre;\n }\n this.dataHijo.modulos = [];\n if (resp[0].matriz.tiene_inteligenciaNegocio == 1) {\n this.inteligencia = resp[0].matriz.inteligenciaNegocio_id;\n }else{\n this.inteligencia = null\n }\n resp[0].matriz.modulo.forEach(modulo => {\n if (modulo.nivel == 1 && modulo.activo == 1) {\n this.dataHijo.modulos.push(modulo);\n }\n });\n this.dataHijo.modulos.forEach(modulo => {\n modulo.items_modulo.forEach((item,index) => {\n if (item.activo == 1) {\n // modulo.items_modulo.splice(index,1);\n items.push(item);\n }\n });\n modulo.items_modulo = items;\n items = [];\n });\n this.verCalificacion = true;\n });\n }\n\n\n\n cancelar(){ \n this.FormAuditar.cancelar();\n\n }\n saveForm(){ \n this.FormAuditar.saveForm();\n\n }\n \n\n \n\n}\n","
\n
\n \n
\n\n
\n

{{title}}

\n\n
\n

Matriz de {{dataHijo.tipo_matriz}}

\n
\n
Peso en Ítems
\n
{{ dataHijo.tipo_peso }}
\n
\n
Creada el {{creacion}}
\n

Rango de peso ( {{maximo}} - {{dataHijo.pesoMinimo}})

\n

Peso actual ({{peso_actual | number:'1.0-3'}})

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

Su gestión esta resumida en

\n
\n
\n
\n

Auditoria de hoy

\n

{{hoy_puntaje}}

\n
\n
\n

Auditoria del mes

\n

{{mes_puntaje}}

\n
\n
\n
\n\n\n
\n
\n\n \n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n \n
\n\n\n
","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\nimport { Observable } from 'rxjs';\n\nconst RRHH_URL = environment.RRHH_URL;\nconst CIU_URL = environment.CIU_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProfileService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n\n /**\n * Endpoint que retorna los datos desde RRHH,\n * @param id (hired_user_id)\n * @returns Object con la data de candidate table\n * @author Carlos Galindez\n */\n dataUser(id:number){\n return this.http.get(`${RRHH_URL}user/candidate/${id}`);\n }\n /**\n * Endpoint que permite cambiar la contraseña\n * @param id user id (user table CIU)\n * @param pass\n * @returns\n * @author Carlos Galindez\n */\n changePassword(id:number,pass:any){\n const params = new HttpParams( { fromObject: {'password':pass} } );\n return this.http.post(`${CIU_URL}user/password/${id}`,params);\n }\n\n /**\n * Endpoint que permite cambiar la contraseña\n * @param id user id (user table CIU)\n * @param pass\n * @returns\n * @author Carlos Galindez\n */\n changePasswordLogin(id:number,pass:any){\n return this.http.post(`${CIU_URL}user/passwordLogin/${id}`,pass);\n }\n\n /**\n * Endpoint que permite actualizar los daros del usuario\n * @param data\n * @returns\n * @author Carlos Nieto\n */\n editProfile(data){\n return this.http.post(`${CIU_URL}user/update-profile`,data);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-09-30\n * Metodo que genera un nuevo codigo de acceso para la PWA. \n */\n generatePwaAccessCode(): Observable {\n return this.http.get(`${CIU_URL}generatePwaCode`);\n }\n}\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Subject, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\n\nconst calidad_url = environment.CALIDAD_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InteligenciaService {\n\n private _refresh$ = new Subject();\n\n constructor(\n private http:HttpClient,\n private authService:AuthService\n ) { }\n\n get refresh$(){\n return this._refresh$;\n }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n createIntelligence(params){\n return this.http.post(`${calidad_url}crearFormulario/${this.authService.getUser().rrhh_id}`,params)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getForms(params){\n return this.http.get(`${calidad_url}listarFormularios`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getFormById(id){\n return this.http.get(`${calidad_url}verFormulario/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n questionsForm(id_form,params,id_question){\n return this.http.post(`${calidad_url}crearPreguntasForm`,{idForm:id_form,dataform:params,idPregunta:id_question})\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n removeForm(id_form){\n return this.http.post(`${calidad_url}eliminarFormulario/${id_form}`,{})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n changePosition(id_form,params){\n return this.http.post(`${calidad_url}dragdrop`,{idForm:id_form,dataform:params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getMatrix(idForm){\n return this.http.get(`${calidad_url}getMatricesForm?idForm=${idForm}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\n\nconst REPORTS_URL = environment.REPORTS_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportsService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author José Vicente Silva\n * @createdate 2021-02-02\n * Servicio que lista todos los groupes del aplicativo ciu\n * @param size tamaño de los datos a traer\n * @param page numero de pagina en la que se ubicara la tabla\n */\n getReport(reportKey:string): Observable{\n return this.http.get(`${REPORTS_URL}report/tokens?key=${reportKey}` )\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { CampaignsService } from 'src/app/modules/nomina/services/rest/campaigns.service';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-modal-campaign-edit',\n templateUrl: './modal-campaign-edit.component.html',\n styleUrls: ['./modal-campaign-edit.component.sass']\n})\nexport class ModalCampaignEditComponent implements OnInit {\n\n public campaings: any;\n public formCampaign: FormGroup;\n private userRrhhId : any;\n private hired_user:any ;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n public dialog: MatDialog,\n private alert: AlertsService,\n private fb: FormBuilder,\n private serviceCandidate: CandidatesService,\n private serviceCampaign: CampaignsService,\n private authService: AuthService) { }\n\n ngOnInit() {\n this.userRrhhId = this.authService.getUser().rrhh_id;\n\n this.formCampaign = this.fb.group({\n campaignId: ['', Validators.required],\n });\n this.serviceCampaign.getAllCampaigns().subscribe(resp => {\n this.campaings = resp.data;\n });\n this.serviceCandidate.getHiredUserID(this.data.candidateId).subscribe( (resp:any) => {\n if(resp != false){\n this.hired_user = resp;\n this.formCampaign.controls.campaignId.setValue(this.hired_user.campaign_id);\n }\n });\n }\n\n /**\n * @author David Reinoso\n * Metodo para actualizar la campaña del hired_user\n */\n saveCampaig(){\n this.serviceCandidate.changeCampaign(this.hired_user.id, {campaign_id: this.formCampaign.controls.campaignId.value}).subscribe(resp => {\n if(resp){\n this.alert.alertSuccess('Campaña actualizada!', 'Se actualizo la campaña correctamente.');\n this.dialogRef.close('');\n }\n },err => {});\n }\n\n /**\n * @author David Reinoso\n * Metodo para actualizar la campaña en la tabla de asignacion temporal de campaña\n */\n saveTemporalyCampaig(){\n this.serviceCandidate.saveTemporaryCampaignAssignment({\n campaign_id: this.formCampaign.controls.campaignId.value,\n candidate_id: this.data.candidateId,\n rrhh_id: this.userRrhhId\n }).subscribe(resp => {\n if(resp){\n this.alert.alertSuccess('Campaña actualizada!', 'Se actualizo la campaña correctamente.');\n this.dialogRef.close('');\n }\n },err => {});\n }\n\n callMethod(){\n this.serviceCandidate.getHiredUserID(this.data.candidateId).subscribe( (resp:any) => {\n if(resp != false){\n this.saveCampaig();\n }\n this.saveTemporalyCampaig();\n\n });\n }\n\n}\n","
\n\n

\n \n \n

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

Actualizar Campaña

\n
\n
\n \n Selecciona una campaña\n \n Seleccionar\n \n {{item?.name}}\n \n \n ¡Advertencia! Este campo es requerido\n \n
\n
\n \n \n
\n
\n
\n
\n \n
","import { Component, OnInit } from '@angular/core';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { EmailService } from '../../services/email.service';\nimport { TrayService } from '../../services/tray.service';\nimport { MatSelectChange } from '@angular/material/select';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\nimport { Location } from '@angular/common';\n\n@Component({\n selector: 'app-assign-trays-user',\n templateUrl: './assign-trays-user.component.html',\n styleUrls: ['./assign-trays-user.component.css']\n})\nexport class AssignTraysUserComponent implements OnInit {\n adviserSelected: number = null;\n emailConfigSelected: number = null;\n advisersToRolManagerEmail: any[] = [];\n baseFirstList: any[] = [];\n baseSecondList: any[] = [];\n firstList: any[] = [];\n secondList: any[] = [];\n emailsConfig: any[] = [];\n\n constructor(\n private alertService: AlertsService,\n private emailService: EmailService,\n private trayService: TrayService,\n private matSnackBar: MatSnackBar,\n private authService: AuthService,\n private location: Location\n ) { }\n\n ngOnInit(): void {\n this.getEmailsConfigByRol();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que filtra las listas a traves de una cadena de texto.\n * @param $event Evento emitido por el componente hijo. \n */\n runFilterList($event: any): void {\n if ($event.name === 'FIRST') {\n if ($event.value !== '') this.firstList = this.baseFirstList.filter(item => item.name.toLowerCase().includes($event.value.toLowerCase()));\n else this.firstList = this.baseFirstList;\n } else {\n if ($event.value !== '') this.secondList = this.baseSecondList.filter(item => item.name.toLowerCase().includes($event.value.toLowerCase()));\n else this.secondList = this.baseSecondList;\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que trae las configuraciones de las listas del componente hijo.\n * @param $event Evento emitido por el componente hijo. \n */\n saveConfig($event: any): void {\n const dataAssignTrays = {\n id_rrhh: this.adviserSelected,\n data: $event.secondList.map((item: any) => {\n return { id_bandeja: item.id }\n }),\n type: 1\n };\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.trayService.assignTraysForUser(dataAssignTrays).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.cancelProcess();\n });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que emite la cancelacion del proceso. \n */\n cancelProcess(): void {\n this.location.back();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que setea los items entre las listas. \n * @param $event Evento emitido por el componente hijo. \n */\n updateList($event: any): void {\n if ($event.name === 'FIRST') {\n $event.list.forEach((itemList: any) => {\n this.secondList.push(itemList);\n this.firstList = this.firstList.filter(item => itemList.id !== item.id);\n this.baseFirstList = this.baseFirstList.filter(item => itemList.id !== item.id);\n });\n } else {\n $event.list.forEach((itemList: any) => {\n this.firstList.push(itemList);\n this.secondList = this.secondList.filter(item => itemList.id !== item.id);\n this.baseSecondList = this.baseSecondList.filter(item => itemList.id !== item.id);\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-27\n * Metodo que trae las bandejas ya asignadas del usuario seleccionado en el select.\n * @param $event Evento emitido por el select del formulario. \n */\n onChangeSelectedAdviser($event: MatSelectChange): void {\n this.trayService.getTraysByUser($event.value, 1).subscribe(resByUser => {\n this.baseSecondList = resByUser.data.map((item: any) => { return { id: item.id_bandeja, name: item.name } });\n this.secondList = this.baseSecondList;\n this.trayService.getTrays(null, '', false, this.emailConfigSelected, 1).subscribe(resAllTrays => {\n this.baseFirstList = resAllTrays.data;\n this.baseSecondList.forEach(itemSecondList => {\n this.baseFirstList = this.baseFirstList.filter(itemFirstList => itemSecondList.id !== itemFirstList.id);\n });\n this.firstList = this.baseFirstList;\n });\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que trae los agentes asociados a una cuenta de correo seleccionado. \n * @param $event Evento emitido por el campo. \n */\n onChangeSelectAccountEmail($event: MatSelectChange): void {\n this.emailConfigSelected = $event.value;\n this.adviserSelected = null;\n this.emailService.getConfigEmailByUser(null, this.emailConfigSelected, 'false').subscribe(res => {\n this.advisersToRolManagerEmail = res.data;\n });\n }\n}","
\n
\n \n Regresar\n
\n
\n
\n Asignación de bandejas\n
\n
\n

\n En este espacio podrás asignar las bandejas a sus respectivos asesores, no olvides,\n
\"El respeto y la empatía son clave\".\n

\n
\n
\n
\n
\n \n Cuenta de correo\n \n {{ item.name\n }}\n \n \n
\n
\n \n Asesores\n \n {{ item.name_user_asignado }}\n \n \n
\n
\n \n \n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { RequestsService } from '../../../services/requests.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-requests-all',\n templateUrl: './requests-all.component.html',\n styleUrls: ['./requests-all.component.sass']\n})\nexport class RequestsAllComponent implements OnInit {\n\n constructor(\n private requestService: RequestsService,\n private candidateService: CandidatesService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialog: MatDialogRef,\n private alert:AlertsService) {\n\n }\n\n requests = [];\n requestSelected;\n ngOnInit(): void {\n this.getAllRequests();\n }\n\n getAllRequests(){\n this.requestService.getAllRequests(this.data.oldRequestId).subscribe((resp: any) => {\n this.requests = resp;\n })\n }\n selectRequest(value){\n this.requestSelected = value;\n }\n\ntransferRequest(){\n this.alert.alertConfirm('¿Estás seguro?','Realizar el traslado implicará que a este candidato se le deban cargar y validar nuevamente los documentos para su contratación').then(e => {\n if(e.isConfirmed){\n const param = {\n candidateId: this.data.candidateId,\n requestId: this.requestSelected.id,\n userResponsableId: this.requestSelected.user_responsable_id,\n campaign:JSON.stringify(this.requestSelected.campaign),\n oldRequestId:this.data.oldRequestId\n };\n this.candidateService.transferCandidate(param).subscribe((resp: any) => {\n this.alert.alertSuccess('Transferido','El candidato ya forma parte del proceso de convocatoria de la solicitud seleccionada.');\n this.dialog.close(true);\n });\n }\n })\n\n }\n}\n","\n

Transferir Usuario

\n\n
\n \n Solicitudes\n \n \n [{{row.code}}] - {{row.position}}\n \n \n \n
\n
\n\n \n\n\n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n\tselector: 'app-editar-modulo',\n\ttemplateUrl: './editar-modulo.component.html',\n\tstyleUrls: ['./editar-modulo.component.sass']\n})\nexport class EditarModuloComponent implements OnInit {\n\t private uuid = 'ae7dd34c-915a-11ee-b9d1-0242ac120002';\n\t public config: any;\n\n\tmoduleForm: FormGroup;\n\tmodulos = [];\n\tnuevo: boolean = false;\n\tpeso: boolean = false;\n\tverError: boolean = true;\n\tcontinue: boolean = false;\n\tfilteredOptions: Observable;\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tpublic moduleRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public datos: any,\n\t\tprivate matrizService: MatrizService,\n\t\t private configService: TranslatesService,\n\t) { }\n\n\tngOnInit(): void {\n\t\tthis.configService.getConfig(this.uuid).subscribe((resp) => {\n\t this.config = resp;\n\t });\n\t\tthis.createForm();\n\t\tthis.getModuleById();\n\t}\n\tcreateForm() {\n\t\tthis.moduleForm = this.fb.group({\n\t\t\tnombre: ['', [Validators.required]],\n\t\t\tpeso: ['', [Validators.required, Validators.max(this.datos.maximo), Validators.min(this.datos.minimo),Validators.required]],\n\t\t\terror_critico: [false, Validators.required],\n\t\t\tis_total: new FormControl('')\n\t\t});\n\t}\n\tprivate _filter(value: string): any[] {\n\t\tconst filterValue = value.toLowerCase();\n\t\treturn this.modulos.filter(option => option.nombre.toLowerCase().includes(filterValue));\n\t}\n\n\tdisplayFn(module: any): string {\n\t\treturn module && module ? module : '';\n\t}\n\tgetModules() {\n\t\tthis.matrizService.getModules(this.moduleForm.get('nombre').value).subscribe((resp: any) => {\n\t\t\tif (resp.length == 0) {\n\t\t\t\tthis.verError = true\n\t\t\t\tthis.moduleForm.get('nombre').setErrors({ invalid: true });\n\t\t\t\tthis.nuevo = true;\n\t\t\t\tthis.peso = true;\n\t\t\t\tthis.moduleForm.get('error_critico').disable();\n\t\t\t\tthis.continue = true;\n\t\t\t} else {\n\t\t\t\tthis.continue = false;\n\t\t\t\tthis.verError = false;\n\t\t\t\tthis.nuevo = false;\n\t\t\t\tthis.modulos = resp\n\t\t\t\tthis.filteredOptions = this.moduleForm.get('nombre').valueChanges.pipe(\n\t\t\t\t\tstartWith(''),\n\t\t\t\t\tmap(value => this._filter(value))\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\n\tnewModule() {\n\t\tthis.nuevo = false;\n\t\tthis.moduleForm.get('nombre').setErrors(null);\n\t\tthis.continue = false;\n\t\tthis.moduleForm.get('error_critico').enable();\n\t}\n\n\tupdateModule() {\n\t\tif (this.moduleForm.invalid) {\n\t\t\treturn\n\t\t}\n\t\tif (\n\t\t\tthis.moduleForm.get('error_critico').value\n\t\t\t&& (this.moduleForm.get('peso').value == \"\" || this.moduleForm.get('peso').value == undefined || this.moduleForm.get('peso').value == null)\n\t\t\t&& this.moduleForm.get('is_total').value == false) {\n\t\t\tthis.moduleForm.get('peso').setErrors({ required: true });\n\t\t\treturn;\n\t\t}\n\n\t\tconst data = {\n\t\t\tidModulo: this.datos.id_module\n\t\t}\n\t\tObject.assign(data, this.moduleForm.value);\n\t\tthis.matrizService.updateModule(data).subscribe((resp: any) => {\n\t\t\tif (resp.respuesta.codigo == 202) {\n\t\t\t\tTools.swalSuccess(this.config.modal.excellent, this.config.modal.updatedOk);\n\t\t\t\tthis.moduleRef.close();\n\t\t\t} else if (resp.respuesta.codigo > 400) {\n\t\t\t\tTools.swalError('¡Oops!', this.config.modal.updatedError);\n\t\t\t}\n\t\t}, (err: any) => {\n\t\t}\n\t\t);\n\t}\n\n\tgetModuleById() {\n\t\tthis.matrizService.getModuleById(this.datos.id_module).subscribe((resp: any) => {\n\t\t\tthis.moduleForm.setValue({\n\t\t\t\tnombre: resp.nombre,\n\t\t\t\tpeso: resp.peso,\n\t\t\t\terror_critico: resp.error_critico,\n\t\t\t\tis_total: resp.error_critico == 1 && resp.peso == null || resp.peso == 0 ? true : false\n\t\t\t});\n\n\t\t\tif (resp.error_critico == 1 && (resp.peso == null || resp.peso == 0)) {\n\t\t\t\tthis.moduleForm.get('peso').disable();\n\t\t\t} else {\n\t\t\t\tthis.moduleForm.get('peso').enable();\n\t\t\t}\n\t\t\tif (this.datos.tipo_matriz == \"Cumplimiento\") {\n\n\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t} else {\n\t\t\t\tif (this.datos.tipo_peso) {\n\t\t\t\t\tif (this.datos.tipo_peso == 'Peso en Módulos') {\n\t\t\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (resp.peso !== \"\" && resp.peso !== null && resp.peso !== undefined && resp.peso > 0) {\n\t\t\t\t\t\t\tthis.moduleForm.get('peso').enable();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.moduleForm.get('peso').disable();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tchangeCheck(event: any): void {\n\n\t\tif (event.checked) {\n\t\t\tif (this.datos.tipo_peso == 'Peso en Items') {\n\t\t\t\tthis.moduleForm.get('peso').setValue(null);\n\t\t\t\tthis.moduleForm.get('peso').enable();\n\t\t\t}\n\t\t\tthis.moduleForm.get('is_total').enable();\n\t\t\tthis.moduleForm.get('peso').setValidators([Validators.min(this.datos.minimo), Validators.max(this.datos.maximo), Validators.required])\n\t\t} else {\n\t\t\tif (this.datos.tipo_peso == 'Peso en Items') {\n\t\t\t\tthis.moduleForm.get('peso').setValue(null);\n\t\t\t\tthis.moduleForm.get('peso').disable();\n\t\t\t}\n\t\t\tthis.moduleForm.get('peso').setValidators(null)\n\t\t\tthis.moduleForm.get('is_total').setValue(false);\n\t\t\tthis.moduleForm.get('is_total').disable();\n\t\t}\n\t}\n\n\t/** Metodo que se encarga de habilit el peso\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 16/06/2022 \n\t * @param event:any evento de HTML \n\t */\n\thabilitarPeso(event: any): void {\n\t\tif (event.checked) {\n\t\t\tthis.moduleForm.get('peso').setValue('');\n\t\t\tthis.moduleForm.get('peso').disable();\n\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\tthis.moduleForm.get('peso').setValidators(null)\n\t\t} else {\n\t\t\tthis.moduleForm.get('peso').setValue('');\n\t\t\tthis.moduleForm.get('peso').enable();\n\t\t\tif (this.moduleForm.get('error_critico').value) {\n\t\t\t\tthis.moduleForm.get('peso').setValidators([Validators.min(this.datos.minimo), Validators.max(this.datos.maximo), Validators.required])\n\t\t\t\tthis.moduleForm.get('peso').setErrors({ required: true });\n\t\t\t} else {\n\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t\tthis.moduleForm.get('peso').setValidators([Validators.min(this.datos.minimo), Validators.max(this.datos.maximo)])\n\t\t\t}\n\t\t}\n\n\t}\n\n\n\t\n}\n","\n
\n

{{config.labels.editModule}}

\n \n \n {{config.labels.name}}\n \n \n \n \n {{option.nombre}}\n \n \n {{config.labels.requiredName}}\n {{config.labels.noResults}}\n \n \n \n {{config.labels.weight}}\n \n {{config.labels.enterWeight}}\n {{config.labels.minWeight}}\n {{config.labels.maxWeight}}\n \n {{config.labels.isCriticalModule}}\n
\n {{config.labels.isTotalAffectation}}\n\n
\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AdvanceFilterEmailsComponent } from '../../components/advance-filter-emails/advance-filter-emails.component';\nimport { PageEvent } from '@angular/material/paginator';\nimport { CategoryService } from '../../services/category.service';\nimport { EmailService } from '../../services/email.service';\nimport { MatSelectChange } from '@angular/material/select';\nimport { StateService } from '../../services/state.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { TrayService } from '../../services/tray.service';\nimport { AnsService } from '../../services/ans.service';\nimport { CreateMeetingComponent } from '../../components/create-meeting/create-meeting.component';\nimport { MoveEmailTrayComponent } from '../../components/move-email-tray/move-email-tray.component';\nimport { SnackBarService } from '../../services/snack-bar.service';\n\n@Component({\n selector: 'app-email-manager-main',\n templateUrl: './email-manager-main.component.html',\n styleUrls: ['./email-manager-main.component.css']\n})\nexport class EmailManagerMainComponent implements OnInit {\n emailsConfig: any[] = [];\n categories: any[] = [];\n listMails: any[] = [];\n statesTypesMails: any[] = [];\n configPaginator: PageEvent = { length: 0, pageIndex: 0, pageSize: 50 };\n traysEmail: any[] = [];\n emailsExpiration: any[] = [];\n advanceFilters: any = {\n order: 'desc',\n asunto: null,\n contiene_palabras: null,\n de: null,\n para: null,\n date_in: null,\n date_end: null,\n email_list: null,\n id_category: null,\n id_email_state: null,\n id_bandeja: null,\n id_ans: null\n };\n filterOrder: string = 'desc';\n mailSelected: any = null;\n emailsConfigSelected: any[] = [];\n userLogin: any = null;\n textValueFilters: string = null;\n keyTraySelected: string = null;\n checkAllAccountEmails: boolean = false;\n folders: any[] = [];\n\n constructor(\n private matDialog: MatDialog,\n private categoryService: CategoryService,\n private emailService: EmailService,\n private stateService: StateService,\n private authService: AuthService,\n private trayService: TrayService,\n private ansService: AnsService,\n private snackBarService: SnackBarService\n ) { }\n\n ngOnInit(): void {\n this.userLogin = this.authService.getUser();\n this.getEmailsConfig();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-24\n * Metodo que abre la modal para registrar los filtros avanzados. \n */\n openDialogAdvanceFilters(): void {\n this.matDialog.open(AdvanceFilterEmailsComponent, {\n width: '35%',\n autoFocus: false,\n data: {\n filters: this.advanceFilters\n }\n }).afterClosed().subscribe(res => {\n if (res) {\n if (res.hasOwnProperty('clearFilters')) {\n this.resetAdvanceFilters();\n } else {\n this.advanceFilters.asunto = res.affair;\n this.advanceFilters.de = res.from.length > 0 ? res.from.map((item: any) => item.name) : null;\n this.advanceFilters.para = res.to.length > 0 ? res.to.map((item: any) => item.name) : null;\n this.advanceFilters.date_in = res.dateStart !== null ? res.dateStart : null;\n this.advanceFilters.date_end = res.dateEnd !== null ? res.dateEnd : null;\n this.advanceFilters.contiene_palabras = res.containsWords;\n this.advanceFilters.id_email_state = res.state;\n this.configPaginator.pageIndex = 0;\n this.getMails();\n }\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-24\n * Metodo que trae los correos registrados en el sistema. \n */\n getMails(): void {\n if (this.emailsConfigSelected.length > 0) {\n this.setValueTextFilters();\n const idEmailsConfig = this.emailsConfigSelected.map(item => item.id_email).toString();\n this.advanceFilters.email_list = `[${idEmailsConfig}]`;\n this.listMails = [];\n this.emailService.getEmails(this.configPaginator, this.advanceFilters).subscribe(res => {\n const getTypesRangesDates = res.data.data.map((mail: any) => mail.diferencia_en_dias);\n const setTypesRangesDates = new Set(getTypesRangesDates);\n const typesRangesDatesNotDuplicates = [...setTypesRangesDates];\n typesRangesDatesNotDuplicates.forEach((item: string) => {\n const rangeDateWithMails = { time: item, mails: [] };\n rangeDateWithMails.mails = res.data.data.filter((mail: any) => mail.diferencia_en_dias === item);\n this.listMails.push(rangeDateWithMails);\n });\n this.configPaginator.length = res.data.total;\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-29\n * Metodo que captura el key del item seleccionado en el menu y actualiza la lista de correos dependiendo el item seleccionado. \n * @param $event Evento emitido por el menu lateral izquierdo. \n */\n onChangeTraySelected($event: any): void {\n this.advanceFilters.id_bandeja = $event.trayId;\n this.keyTraySelected = $event.trayKey;\n this.mailSelected = null;\n this.getMails();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-29\n * Metodo que camputa la informacion del email seleccionado y la setea sobre la variable. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeSelectedMail($event: any): void {\n this.mailSelected = $event;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-05\n * Metodo que actualiza el estado de la paginacion y el listado de correos. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangePage($event: PageEvent): void {\n this.configPaginator = $event;\n this.getMails();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-05\n * Metodo que trae la categorias registradas en el sistema. A partir del email config seleccionado en la lista. \n */\n getCategories(): void {\n if (this.emailsConfigSelected.length > 0) {\n const stringToIdEmailsConfig = this.emailsConfigSelected.map(item => item.id_email).toString();\n this.categoryService.getCategoriesByIdEmailConfig(stringToIdEmailsConfig).subscribe(res => {\n this.categories = res.data;\n });\n } else {\n this.categories = [];\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-05\n * Metodo que trae las configuraciones de correos de salida registrados en el sistema, a partir del usuario logueado en el sistema. \n */\n getEmailsConfig(): void {\n const idRrhh = this.userLogin.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-14\n * Metodo que filtra el orden de los correos.\n * @param $event Evento emitido por el campo select. \n */\n onChangeFilterOrder($event: MatSelectChange) {\n this.filterOrder = $event.value;\n this.advanceFilters.order = this.filterOrder;\n this.setValueTextFilters();\n this.getMails();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-15\n * Metodo que retorna los estados registrados en el sistema. \n */\n getStates(): void {\n this.stateService.getStates(null, '', false, this.emailsConfigSelected.map(item => item.id_email).toString()).subscribe(res => {\n this.statesTypesMails = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-15\n * Metodo que refresca la data de la vista. \n */\n loadDataPage(): void {\n this.getTraysEmail();\n this.getCategories();\n this.getEmailsConfig();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-28\n * Metodo que actualiza la lista de cnfiguraciones de correo seleccionado. \n * @param $event Evento emitido por el componente hijo. \n */\n updateEmailsConfigSelected($event: any): void {\n if (!$event.allSelectedEmails) {\n if ($event.checked) this.emailsConfigSelected.push($event.emailConfig);\n else this.emailsConfigSelected = this.emailsConfigSelected.filter(item => item.id_email !== $event.emailConfig.id_email);\n } else {\n if ($event.checked) this.emailsConfigSelected = this.emailsConfig;\n else this.emailsConfigSelected = [];\n }\n if (this.emailsConfigSelected.length === 0) {\n this.listMails = [];\n this.mailSelected = null;\n }\n this.checkAllAccountEmails = this.emailsConfig.length === this.emailsConfigSelected.length ? true : false;\n this.advanceFilters.id_bandeja = null;\n this.getTraysEmail();\n this.getCategories();\n this.getAnsByAccountSelected();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-01\n * Metodo que retorna las bandejas registradas en el sistema. \n */\n getTraysEmail(): void {\n if (this.emailsConfigSelected.length > 0) {\n const stringToIdEmailsConfig = this.emailsConfigSelected.map(item => item.id_email).toString();\n this.trayService.getTraysByUserAndEmails(stringToIdEmailsConfig).subscribe(res => {\n this.traysEmail = res.data.bandejas;\n this.folders = res.data.carpetas;\n if (this.traysEmail.length > 0) {\n if (this.advanceFilters.id_bandeja === null) {\n this.advanceFilters.id_bandeja = this.traysEmail[0].id;\n this.keyTraySelected = this.traysEmail[0].key;\n }\n this.getStates();\n this.getMails();\n }\n });\n } else {\n this.traysEmail = [];\n this.folders = [];\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-03\n * Metodo que setea el filtro de categoria.\n * @param $event Evento emitido por el componente hijo. \n */\n updateFilterIdCategory($event: any): void {\n if ($event !== 0) this.advanceFilters.id_category = $event;\n else this.advanceFilters.id_category = null;\n this.getMails();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-03\n * Metodo que setea el filtro de estado.\n * @param $event Evento emitido por el componente hijo. \n */\n updateFilterIdState($event: any): void {\n if ($event !== 0) this.advanceFilters.id_email_state = $event;\n else this.advanceFilters.id_email_state = null;\n this.getMails();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-07\n * Metodo que borra los filtros avanzados.\n * @param isOrderFilterReset Valida si se borra o no el filtro por orden. \n */\n resetAdvanceFilters(): void {\n this.advanceFilters.asunto = null;\n this.advanceFilters.de = null;\n this.advanceFilters.para = null;\n this.advanceFilters.date_in = null;\n this.advanceFilters.date_end = null;\n this.advanceFilters.contiene_palabras = null;\n this.advanceFilters.id_email_state = null;\n this.advanceFilters.order = 'desc';\n this.filterOrder = 'desc';\n this.getMails();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-07\n * Metodo que setea el texto del input sobre los filtros generados en la vista. \n */\n setValueTextFilters(): void {\n let textFilters = '';\n for (const key in this.advanceFilters) {\n if (this.advanceFilters[key] !== null) textFilters += `${key}: ${JSON.stringify(this.advanceFilters[key])} `;\n }\n this.textValueFilters = textFilters;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-14\n * Metodo que recibe el email gestionado desde el formulario de manager message.\n * @param $event Evento emitido por el componente hijo. \n */\n updateDataEmailSelected($event: any): void {\n this.emailService.getEmailById($event).subscribe(res => {\n this.mailSelected = res.data;\n this.getTraysEmail();\n this.mailSelected = null;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-30\n * Metodo que trae los ANS registrados por cuenta seleccionada.\n */\n getAnsByAccountSelected(): void {\n if (this.emailsConfigSelected.length > 0) {\n const stringToIdEmailsConfig = this.emailsConfigSelected.map(item => item.id_email).toString();\n this.ansService.getAnsByAccountsEmailSelected(stringToIdEmailsConfig).subscribe(res => {\n this.emailsExpiration = res.data;\n });\n } else {\n this.emailsExpiration = [];\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-30\n * Metodo que setea el filtro de ANS.\n * @param $event Evento emitido por el componente hijo. \n */\n updateFilterIdAns($event: any): void {\n if ($event !== 0) this.advanceFilters.id_ans = $event;\n else this.advanceFilters.id_ans = null;\n this.getMails();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-10\n * Metodo que setea el filtro de asunto y contiene palabras.\n * @param $event Evento emitido por el campo. \n */\n onChangeFilterSearchGlobal($event: Event): void {\n const value = ($event.target as HTMLInputElement).value;\n if (value !== '') {\n this.advanceFilters.asunto = value;\n this.configPaginator.pageIndex = 0;\n this.getMails();\n } else {\n this.advanceFilters.asunto = null;\n this.configPaginator.pageIndex = 0;\n this.getMails();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-28\n * Metodo que recarga la pagina al asignar un correo a un usuario.\n */\n onAssignEmailUser(): void {\n this.loadDataPage();\n this.mailSelected = null;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-28\n * Metodo que abre la modal para crear una reunion. \n */\n onClickToOpenDialogMeeting(): void {\n const filterEmailOutlook = this.emailsConfig.filter(item => item.auth_type === 1);\n if (filterEmailOutlook.length > 0) {\n this.matDialog.open(CreateMeetingComponent, {\n width: '70%',\n autoFocus: false,\n panelClass: 'dialog-padding-create-meeting',\n maxHeight: '95vh',\n data: {\n emailsConfig: filterEmailOutlook\n }\n });\n } else {\n this.snackBarService.showNotification({ title: '¡Advertencia!', message: 'No se tiene cuentas de correos tipo Outlook para usar esta funcionalidad.' });\n }\n }\n /**\n * @createdate 2024-01-22\n * Metodo que quita el foco del campo cuando realizo el filtro por keyup.\n * @param $event Evento generado por el campo de formulario. \n */\n onKeyupSearchGlobal($event: Event): void {\n ($event.target as HTMLInputElement).blur();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-26\n * Metodo que actualiza la informacion de la vista principal.\n */\n onDeleteOrRestoreEmail(): void {\n this.mailSelected = null;\n this.loadDataPage();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-26\n * Metodo que abre la modal para mover los correos a distintas bandejas.\n * @param $event Id de los correos seleccionados. \n */\n onClickButtonMoveEmails($event: any[]): void {\n const traysAndFolders = [{ name: 'Bandejas', list: this.traysEmail.filter(item => item.id_email_config !== 0) }, { name: 'Carpetas', list: this.folders }];\n traysAndFolders[0].list = traysAndFolders[0].list.filter((item: any) => item.id !== $event[0].id_bandeja);\n traysAndFolders[1].list = traysAndFolders[1].list.filter((item: any) => item.id !== $event[0].id_bandeja);\n this.matDialog.open(MoveEmailTrayComponent, {\n width: '50%',\n autoFocus: false,\n panelClass: 'dialog-padding-move-email',\n data: {\n traysAndFolders: traysAndFolders,\n emails: $event.map(item => item.id)\n }\n }).afterClosed().subscribe(res => {\n if (res) {\n this.mailSelected = null;\n this.loadDataPage();\n }\n });\n }\n}","
\n
\n \n
\n
\n
\n
\n \n Filtro de búsqueda\n \n \n \n
\n
\n \n Filtro de correos\n \n Del más nuevo al más antiguo\n Del más antiguo al más nuevo\n \n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n \"Index\n
\n
Elige un correo para leerlo
\n
No hay nada seleccionado
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
","/* (ignored) */","import { Component, OnInit, Inject } from '@angular/core';\nimport { LeadersService } from './../../../services/leaders.service';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { RequestsService } from './../../../services/requests.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-modal-approve',\n templateUrl: './modal-approve.component.html',\n styleUrls: ['./modal-approve.component.sass']\n})\nexport class ModalApproveComponent implements OnInit {\n\n leaders;\n requestId;\n leaderId;\n constructor(\n private leadersService: LeadersService,\n public dialogRef: MatDialogRef,\n private requestServices: RequestsService,\n private alertService: AlertsService,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n this.requestId = data.id;\n }\n\n ngOnInit(): void {\n this.leadersService.getLideres().subscribe( (leaders:any) => {\n this.leaders = leaders;\n });\n }\n selectLeader(leaderId): void {\n this.leaderId = leaderId;\n }\n asignarSolicitud(): void {\n this.alertService.alertConfirm('¿Está seguro que desea aprobar esta solicitud?').then((result) => {\n if (result.isConfirmed) {\n const params = {\n userAssignedId: this.leaderId\n };\n this.requestServices.appovalRequest(this.requestId, params).subscribe( (resp) => {\n this.alertService.alertSuccess('Asignado', 'Su solicitud se ha asignado correctamente');\n this.dialogRef.close(true);\n });\n }\n });\n }\n}\n","\n\n

Asignar solicitud

\n\n\n\n
\n

Seleccione a que lider asignar la solicitud
para su seguimiento.

\n
\n
\n \n Seleccione un lider\n \n \n {{lider.name}}\n \n \n \n
\n
\n \n\n
\n\n \n \n\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { PageEvent } from '@angular/material/paginator';\nimport { EmailService } from '../../services/email.service';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatSelectChange } from '@angular/material/select';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\nimport { ViewGraphStatesComponent } from '../../components/view-graph-states/view-graph-states.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { interval, Subscription } from 'rxjs';\nimport { fadeInOnEnterAnimation, fadeOutAnimation } from 'angular-animations';\nimport { ViewEmailsStateComponent } from '../../components/view-emails-state/view-emails-state.component';\nimport { CrudService } from 'src/app/shared/basic-crud-page-service/crud.service';\nimport { environment } from 'src/environments/environment';\n\nconst { GESTIONADOR_CORREOS } = environment;\n\n@Component({\n selector: 'app-supervisor-page-main-v2',\n templateUrl: './supervisor-page-main-v2.component.html',\n styleUrls: ['./supervisor-page-main-v2.component.css'],\n animations: [\n fadeInOnEnterAnimation(),\n fadeOutAnimation()\n ]\n})\nexport class SupervisorPageMainV2Component implements OnInit, OnDestroy {\n formReport: FormGroup = new FormGroup({\n emailAccount: new FormControl('', [Validators.required]),\n year: new FormControl('', [Validators.required]),\n months: new FormControl([], [Validators.required])\n });\n cardsReport: any[] = [\n { icon: 'fi-sr-envelope fs-1', value: 0, text: 'Correos', col: 'col-sm-3', styleText: { 'font-size': '24px', 'font-weight': '700' }, styleValue: { 'color': '#51B0CB', 'font-size': '32px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '64px' } },\n { icon: 'fi-rr-arrow-left fs-1', value: 0, text: 'Entrantes', col: 'col-sm-3', styleText: { 'font-size': '24px', 'font-weight': '700' }, styleValue: { 'color': '#51B0CB', 'font-size': '32px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '64px' } },\n { icon: 'fi-rr-arrow-right fs-1', value: 0, text: 'Salientes', col: 'col-sm-3', styleText: { 'font-size': '24px', 'font-weight': '700' }, styleValue: { 'color': '#51B0CB', 'font-size': '32px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '64px' } },\n { icon: 'fi-rr-check fs-1', value: 0, text: 'Cerrados', col: 'col-sm-3', styleText: { 'font-size': '24px', 'font-weight': '700' }, styleValue: { 'color': '#51B0CB', 'font-size': '32px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '64px' } },\n { icon: 'fi-sr-envelope fs-1', value: 0, text: 'Borradores', col: 'col-sm-3', styleText: { 'font-size': '24px', 'font-weight': '700' }, styleValue: { 'color': '#51B0CB', 'font-size': '32px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '64px' } },\n { icon: 'fi-sr-envelope fs-1', value: 0, text: 'Eliminados', col: 'col-sm-3', styleText: { 'font-size': '24px', 'font-weight': '700' }, styleValue: { 'color': '#51B0CB', 'font-size': '32px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '64px' } },\n { icon: 'fi-sr-envelope fs-1', value: 0, text: 'Prioritarios', col: 'col-sm-3', styleText: { 'font-size': '24px', 'font-weight': '700' }, styleValue: { 'color': '#51B0CB', 'font-size': '32px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '64px' } },\n { icon: 'fi-sr-envelope fs-1', value: 0, text: 'Reenviados', col: 'col-sm-3', styleText: { 'font-size': '24px', 'font-weight': '700' }, styleValue: { 'color': '#51B0CB', 'font-size': '32px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '64px' } },\n { icon: 'fi-sr-envelope fs-1', value: 0, text: 'Replica', col: 'col-sm-3', styleText: { 'font-size': '24px', 'font-weight': '700' }, styleValue: { 'color': '#51B0CB', 'font-size': '32px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '64px' } },\n { icon: 'fi-sr-envelope fs-1', value: 0, text: 'Spam', col: 'col-sm-3', styleText: { 'font-size': '24px', 'font-weight': '700' }, styleValue: { 'color': '#51B0CB', 'font-size': '32px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '64px' } },\n { icon: 'fi-sr-envelope fs-1', value: 0, text: 'B. salida', col: 'col-sm-3', styleText: { 'font-size': '24px', 'font-weight': '700' }, styleValue: { 'color': '#51B0CB', 'font-size': '32px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '64px' } },\n ];\n dataTable: any[] = [];\n configColumnsTable: any[] = [\n { name: 'Asesor', key: 'name' },\n { name: 'Entrada', key: 'entradas' },\n { name: 'Enviados', key: 'enviados' },\n { name: 'Por enviar', key: 'por_enviar' },\n { name: 'Cerrados', key: 'cerrados' },\n { name: 'Total', key: 'total' },\n { name: 'Ver', key: 'actions' },\n ];\n configPaginator: any = { length: 0, pageIndex: 0, pageSize: 5 };\n keysColumnsTable: string[] = [];\n emailsConfig: any[] = [];\n years: any[] = [];\n months: any[] = [];\n listToAdvisers: any[] = [];\n adviserSelected: string = '';\n cardsMonths: any[] = [];\n reportByMonths: any[] = [];\n stateButtonSubmit: boolean = false;\n runCallReportCard: boolean = false;\n messageWhenUpdateReportCard: string | null = 'Actualizando información...';\n messageWhenUpdateReportTable: string | null = 'No hay información disponible';\n messageWhenUpdateReportTableStates: string | null = 'No hay información disponible';\n suscribeInterval: Subscription | null = null;\n dataTableSates: any[] = [];\n\n constructor(\n private location: Location,\n private emailService: EmailService,\n private authService: AuthService,\n private matDialog: MatDialog,\n private crudService: CrudService\n ) { }\n\n ngOnInit(): void {\n this.getEmailsConfigByRol();\n this.keysColumnsTable = this.configColumnsTable.map(item => item.key);\n this.getYears();\n }\n\n ngOnDestroy(): void {\n if (this.suscribeInterval) this.suscribeInterval.unsubscribe();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que redirecciona a la pagina anterior visitada. \n */\n backToPreviousPage(): void {\n this.location.back();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que se ejecuta al hacer click sobre el boton descargar reporte. \n */\n onClickDownloadReport(): void {\n if (this.formReport.valid) {\n const formatDataForm = { ...this.formReport.value, months: this.formReport.value.months.toString() };\n this.emailService.downloadExcelReport(formatDataForm).subscribe(res => {\n importedSaveAs(res, 'Reporte');\n });\n } else {\n this.formReport.markAllAsTouched();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que emite el cambio sobre la configuracion de la paginacion.\n * @param $event Evento emitido por el paginador. \n */\n onChangePage($event: PageEvent): void {\n this.configPaginator = $event;\n this.getTableReport();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formReport.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que genera el reporte sobre la vista. \n */\n generateReport(): void {\n if (this.formReport.valid) {\n this.getCardsReport();\n this.getTableReport(true);\n this.getReportByStates();\n this.createIntervalToShowReport();\n } else {\n this.formReport.markAllAsTouched();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-21\n * Metodo que permite crear el intervalo para llamar a los dos servicios de reporte.\n */\n createIntervalToShowReport(): void {\n const time = interval(120000);\n this.suscribeInterval = time.subscribe(_ => {\n this.getCardsReport();\n this.getTableReport();\n this.getReportByStates();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que trae los años registrados en las gestiones de correo. . \n */\n getYears(): void {\n this.emailService.getYearsToReport().subscribe(res => {\n this.years = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que trae los meses registrados en las gestiones de correo realizados en el año seleccionado.\n * @param $event Evento emitido por el campo select. \n */\n getMonths($event: MatSelectChange): void {\n this.emailService.getMonthsByYear($event.value).subscribe(res => {\n this.months = res.data.length > 0 ? res.data.sort((a: any, b: any) => {\n return a.id - b.id;\n }) : [];\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que trae la informacion para generar el reporte sobre las cards.\n */\n getCardsReport(): void {\n this.stateButtonSubmit = true;\n this.runCallReportCard = true;\n this.cardsMonths = [];\n this.reportByMonths = [];\n const formatDataForm = { ...this.formReport.value, months: this.formReport.value.months.toString() };\n this.emailService.getGraphReport(formatDataForm).subscribe(res => {\n this.cardsReport[0].value = res.data.correos;\n this.cardsReport[1].value = res.data.entradas;\n this.cardsReport[2].value = res.data.salientes;\n this.cardsReport[3].value = res.data.cerrados;\n this.cardsReport[4].value = res.data.borradores;\n this.cardsReport[5].value = res.data.eliminados;\n this.cardsReport[6].value = res.data.prioritarios;\n this.cardsReport[7].value = res.data.reenviados;\n this.cardsReport[8].value = res.data.replicas;\n this.cardsReport[9].value = res.data.spam;\n this.cardsReport[10].value = res.data.b_salida;\n for (const key in res.data.category_mes) this.cardsMonths.push({ name: res.data.category_mes[key] });\n for (const key in res.data.grafica) this.reportByMonths.push({ name: key, data: res.data.grafica[key] });\n this.runCallReportCard = false;\n this.stateButtonSubmit = false;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que trae la informacion para generar el reporte sobre la tabla.\n * @param setFilterAdvisers Valida si se seteo o no el filtro de asesores.\n */\n getTableReport(setFilterAdvisers: boolean = false): void {\n this.dataTable = [];\n this.messageWhenUpdateReportTable = 'Actualizando información...';\n this.stateButtonSubmit = true;\n const formatDataForm = { ...this.formReport.value, months: this.formReport.value.months.toString() };\n this.emailService.getTableReport(this.configPaginator, formatDataForm, this.adviserSelected).subscribe(res => {\n this.dataTable = res.data.table.data;\n if (setFilterAdvisers) this.listToAdvisers = res.data.users;\n this.configPaginator.length = res.data.table.total;\n this.messageWhenUpdateReportTable = this.dataTable.length === 0 && 'No existe información relacionada';\n this.stateButtonSubmit = false;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que setea el filtro de asesor seleccionado.\n * @param $event Evento emitido por el select. \n */\n onChangeFilterAdviser($event: MatSelectChange): void {\n this.adviserSelected = $event.value;\n this.configPaginator.pageIndex = 0;\n this.getTableReport();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que muestra la grafica de estados en la modal. \n * @param labels Listado de etiquetas de la grafica. \n * @param data Datos numericos de la grafica. \n */\n showDialogStatesGraph(labels: string[], data: number[]) {\n this.matDialog.open(ViewGraphStatesComponent, {\n autoFocus: false,\n width: '30%',\n data: {\n labels: labels,\n data: data\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que construye la data para la grafica por mes. \n * @param month Mes seleccionado. \n */\n onClickCardMonth(month: string): void {\n const labels = [];\n const data = [];\n const filterMonth = this.reportByMonths.filter(item => month === item.name);\n if (filterMonth.length > 0) {\n for (const key in filterMonth[0].data) {\n labels.push(key);\n data.push(filterMonth[0].data[key]);\n }\n this.showDialogStatesGraph(labels, data);\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que construye la data para la grafica por asesor. \n * @param adviser Asesor seleccionado. \n */\n onClickAdviserTable(adviser: any): void {\n const labels = [];\n const data = [];\n if (Object.keys(adviser.grafica).length > 0) {\n for (const key in adviser.grafica) {\n labels.push(key);\n data.push(adviser.grafica[key]);\n }\n this.showDialogStatesGraph(labels, data);\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-30\n * Metodo que lista en la tabla el reporte de estados mediante los filtros seleccionados. \n */\n getReportByStates(): void {\n this.dataTableSates = [];\n this.messageWhenUpdateReportTableStates = 'Actualizando información...';\n this.stateButtonSubmit = true;\n this.crudService.getData({ \n url: `${GESTIONADOR_CORREOS}dashboard/table_estados`, \n filters: { \n emailConfig: this.formReport.get('emailAccount').value, \n month: `[${this.formReport.get('months').value}]`,\n year: this.formReport.get('year').value, \n } \n }).subscribe(res => {\n this.dataTableSates = res.data;\n this.messageWhenUpdateReportTableStates = this.dataTableSates.length === 0 && 'No existe información relacionada'; \n this.stateButtonSubmit = false;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-30\n * Metodo que abre la modal para listar los correos con el estado seleccionado. \n * @param $event Evento emitido por el componente hijo. \n */\n onClickButtonTableStates($event: any): void {\n this.matDialog.open(ViewEmailsStateComponent, {\n autoFocus: false,\n width: '70%',\n panelClass: 'dialog-padding-validate-email-account',\n data: {\n emailConfig: this.formReport.get('emailAccount').value,\n month: `[${this.formReport.get('months').value}]`,\n year: this.formReport.get('year').value,\n state: $event.element.state_email\n }\n });\n }\n}","
\n
\n \n Regresar\n
\n
\n
\n Reportes de correos\n
\n
\n

En este espacio podrás consultar y/o descargar los reportes de gestión.\n No
olvides, “El respeto y empatía son clave”.

\n
\n
\n
\n
\n
\n
\n \n Cuenta de correo\n \n {{ email.name\n }}\n \n \n El campo es requerido\n \n \n
\n
\n \n Año\n \n {{ item.year }}\n \n \n El campo es requerido\n \n \n
\n
\n \n Mes\n \n {{ item.nombre }}\n \n \n El campo es requerido\n \n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n \n 0\" [cardsMonths]=\"cardsMonths\"\n (onClickMonthSelected)=\"onClickCardMonth($event)\">\n
\n \n
\n
{{ messageWhenUpdateReportCard }}
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n Asesor\n \n Todos los asesores\n {{\n item.name }}\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ column.name }} {{ element[column.key] }} {{ column.name }} \n \n
{{ messageWhenUpdateReportTable }}\n
\n \n \n
\n
\n
","import { createReducer, on } from \"@ngrx/store\";\nimport { HistorialState } from \"../../core/states/historial.state\";\nimport { HistorialByIdState } from \"../../core/states/historialById.state\";\nimport { loadedHistorial, loadedHistorialById } from \"../actions/historial.actions\";\n\nexport const initialState: HistorialState = { historial:null };\nexport const initialStateById: HistorialByIdState = { historial:null };\n\nexport const historialReducer = createReducer(\n initialState,\n on(loadedHistorial,( state, { historial } )=>{\n return {...state, historial}\n })\n);\n\nexport const historialByIdReducer = createReducer(\n initialStateById,\n on(loadedHistorialById,( state, { historial } )=>{\n return {...state, historial}\n })\n);","import { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { BookingCreateComponent } from './../../../modules/reservas/modules/bookings/booking-create/booking-create.component';\nimport { TypeResources } from './../../../modules/reservas/modules/bookings/bookings-main/bookings-main.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ResourcesService } from './../../../modules/reservas/services/resources.service';\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { map, startWith, filter } from 'rxjs/operators';\nimport { QuestionBase } from 'src/app/core/models/questions-base';\nimport { DateAdapter } from '@angular/material/core';\nimport { DynamicFormServiceService } from '../../../core/services/rest/dynamic-form-service.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { RequireMatch } from 'src/app/core/services/utils/question-control.service';\n\ninterface Option {\n id: string,\n name: string\n}\n\n@Component({\n selector: 'shared-form-questions',\n templateUrl: './form-questions.component.html',\n styleUrls: ['./form-questions.component.sass']\n})\nexport class FormQuestionsComponent implements OnInit {\n myControl = new FormControl();\n options: any = [];\n filteredOptions: Observable;\n @Output() addField = new EventEmitter();\n @Output() addDependece = new EventEmitter();\n @Input() question: QuestionBase;\n @Input() idSection: QuestionBase;\n @Input() form: FormGroup;\n nameFile: string;\n oldValue: string;\n\n @Output() addFile = new EventEmitter();\n\n\n constructor(private fb: FormBuilder,\n private adapter: DateAdapter,\n private dynamicService: DynamicFormServiceService,\n private destroyService: DestroyComponentService,\n public resourcesService:ResourcesService,\n private dialog_agenda: MatDialog,\n private route: ActivatedRoute,\n public alertService:AlertsService\n ) {\n this.adapter.setLocale('es');\n }\n\n\n ngOnInit(): void {\n if (this.form.get(this.question.key) !== null) {\n this.oldValue = this.question.value;\n if(this.question.controlType == 'dropdown-request'){\n this.getOptions(this.question)\n .then(() =>{\n let index = this.question.options.findIndex(state => JSON.stringify(state) === JSON.stringify(this.question.value));\n if(index >= 0){\n this.form.controls[this.question.key].setValue(this.question.options[index])\n }\n });\n }\n \n if (this.question.controlType === 'file') {\n if ((this.question.value === null || this.question.value === '') && this.question.nameFile) {\n this.form.controls[this.question.key].setValidators(null);\n this.form.controls[this.question.key].updateValueAndValidity();\n }\n }\n this.filteredOptions = this.form.get(this.question.key).valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(state => state ? this._filter(state) : this.question.options.slice(0, 5))\n );\n }\n \n }\n private _filter(value: string): any[] {\n if (value) {\n const filterValue = value.toLowerCase();\n return this.question.options.filter(state => state.name.toLowerCase().includes(filterValue));\n }\n }\n\n displayFn(id): any {\n if (!id) {\n return '';\n }\n const index = this.question.options.findIndex(state => state.id === id);\n return this.question.options[index].name;\n }\n\n /**\n * @author Karol García\n * @createdate 2021-04-12\n * Método que devuelve el nombre elegido en loa autocomplete\n */\n displayFn2(option): any {\n if (!option) {\n return '';\n }\n let index = this.question.options.findIndex(state => JSON.stringify(state) === JSON.stringify(option));\n return this.question.options[index].name;\n }\n\n\n getErrorMessage() {\n if (this.form.controls[this.question.key]) {\n if (this.form.controls[this.question.key].hasError('required')) {\n return `${this.question.label} es requerido`;\n }\n if (this.form.get(this.question.key).hasError('invalidAutocompleteObject')) {\n return `No es una opción válida`;\n }\n if (this.form.get(this.question.key).hasError('maxlength')) {\n return `${this.question.label} supera el límite de ${this.question.maxLength} caracteres`;\n }\n if (this.form.get(this.question.key).hasError('minlength')) {\n return `${this.question.label} debe tener ${this.question.minLength} mínimo caracteres`;\n }\n if (this.form.get(this.question.key).hasError('email')) {\n return `No es un correo electrónico válido`;\n }\n }\n \n }\n addQuestion(question) {\n this.addField.emit(question);\n }\n optionSelected(event, question) {\n this.editedAdviser(event);\n \n let aux: any;\n aux = {\n idFather: question.id,\n idValue: event,\n idSection: this.idSection\n };\n this.addDependece.emit(aux);\n }\n\n onFileSelected(e, id) {\n this.editedAdviser(e);\n this.question.value = e.target.files[0].name;\n this.question.nameFile = e.target.files[0].name;\n const data = {\n id: id,\n file: e.target.files[0]\n };\n this.addFile.emit(data);\n\n }\n\n /**\n * @author Karol García\n * @createdate 2021-04-13\n * Metodo que consulta las opciones por campo tipo dropdown-request\n * *** IMPORTANTE ********\n * La respuesta debe ser { id : \" STRING \" , name: \"Test\"} Ex. { \"id\":\"1\",\"name\":\"Test\"}\n *\n */\n getOptions(question) {\n var promise = new Promise((resolve) => {\n if(question.apiServe){\n this.dynamicService.getData(question.apiServe,`dropdown/options/${question.key}`).subscribe( (options:any) => {\n if(options.length > 7){\n this.question.controlType ='autocomplete2'\n this.form.controls[this.question.key].setValidators([\n RequireMatch,\n ]);\n }\n this.question.options = options;\n resolve(options);\n });\n }\n });\n return promise;\n }\n\n downloadFile(value: any) {\n if (typeof value.value === 'string' && value.value !== '') {\n const url = value.value.split('/');\n const urlId = url[url.length - 1];\n const data = new FormData();\n data.append( 'url', urlId);\n this.dynamicService.downloadFile(data).subscribe((resp: any) => {\n importedSaveAs(resp, value.nameFile);\n });\n }\n else {\n let urlId = null;\n const data = new FormData();\n if (!value.idValue) {\n urlId = value.value;\n } else {\n urlId = value.idValue;\n }\n data.append( 'url', urlId);\n this.dynamicService.downloadFile(data).subscribe((resp: any) => {\n importedSaveAs(resp, value.nameFile);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n //Valida si el campo fue editado por el asesor y asigna el valor\n editedAdviser(event){\n if (event !== this.oldValue) {\n this.question['edit_by_adviser'] = true;\n }else{\n this.question['edit_by_adviser'] = false;\n }\n }\n\n openAgenda( ){\n\n this.route.params.subscribe(params => {\n this.resourcesService.getResources('resourcetypes', {idForm:params['id']}).subscribe(res=>{\n const resourceTypes = res;\n if( resourceTypes.length == 0 ){\n this.alertService.alertWarning('¡Atención!', \"No hay recursos creados para este formulario\");\n }\n else\n {\n const resourcesDialog = this.dialog_agenda.open( TypeResources, {\n data: { types: resourceTypes}\n });\n resourcesDialog.afterClosed().subscribe(type=>{\n\n\n const reservasDialog = this.dialog_agenda.open( BookingCreateComponent, {\n data: {\n id: type[0][\"id\"],\n type: type[0][\"name\"]\n }\n });\n reservasDialog.afterClosed().subscribe(dateResult => {\n this.form.controls[this.question.key].setValue(dateResult);\n })\n\n\n })\n\n }\n\n\n })\n });\n\n }\n\n}\n","
\n \n \n {{question.label}}\n $  \n
\n
\n \n
\n
\n \n
\n
\n \n \n {{option.name}}\n \n \n
\n
\n \n \n {{option.name}}\n \n \n
\n
\n \n \n {{option.name}}\n \n \n
\n
\n \n \n \n {{option.name}}\n \n \n
\n
\n \n
\n \n \n \n \n
\n \n \n \n
\n
\n \n \n \n {{option.name}}\n \n \n
\n
\n \n
\n
\n \n \n {{option.name}}\n \n \n
\n \n
\n \n calendar_today\n \n \n \n \n \n \n {{getErrorMessage()}}\n \n \n
\n \n \n
\n
\n

{{question.label}}

\n
\n \n \n {{option.name}}\n \n \n
\n
\n
\n
\n \n \n \n
\n \n \n {{question.label}}\n \n = 24\">\n {{question.label | slice:0:23}}...\n \n
\n

\n \n {{question.nameFile}}\n \n = 17\">\n {{question.nameFile | slice:0:16}}...\n \n

\n \n \n
\n
\n \n
\n
\n \n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { ReportsComponent } from './reports.component';\nimport { UserAssignmentReportComponent } from './modules/admin/user-assignment-report/user-assignment-report.component';\nimport { ReportShowComponent } from './modules/report/report-show/report-show.component';\n\nconst routes: Routes = [\n { path: '', component: ReportsComponent },\n { path: 'asignacion-reportes', component: UserAssignmentReportComponent },\n { path: 'ver-reporte', component: ReportShowComponent },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class ReportsRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BpmsRoutingModule } from './bpms-routing.module';\nimport { BpmsComponent } from './bpms.component';\nimport { RequestsModule } from './modules/requests/requests.module';\nimport { SharedModule } from '../../shared/shared.module';\nimport { UsersModule } from './modules/users/users.module';\nimport { SharedFormModule } from './modules/shared-form/shared-form.module';\n\n@NgModule({\n declarations: [BpmsComponent],\n imports: [\n CommonModule,\n BpmsRoutingModule,\n RequestsModule,\n SharedModule,\n UsersModule\n ],\n exports:[\n SharedFormModule\n ]\n})\nexport class BpmsModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { PhoneTransferInterface } from './transfer-form.interface';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\nconst { MEETINGS_URL } = environment;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PhoneTransferFormService {\n constructor(private http: HttpClient, private AuthService: AuthService) {}\n\n generateTransfer(body: PhoneTransferInterface) {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: 'Bearer' + this.AuthService.getToken(),\n }),\n };\n\n return this.http.post(\n `${MEETINGS_URL}Rooms/transferRoom`,\n body,\n httpOptions\n );\n // .subscribe((resp) => {\n // console.log(resp);\n // });\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { PreguntasService } from 'src/app/modules/auditoria/services/preguntas.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-crear-pregunta',\n templateUrl: './crear-pregunta.component.html',\n styleUrls: ['./crear-pregunta.component.sass']\n})\nexport class CrearPreguntaComponent implements OnInit {\n\n //Formulario para la creación de preguntas\n questionForm: FormGroup;\n constructor(\n private fb:FormBuilder,\n public questionRef:MatDialogRef,@Inject(MAT_DIALOG_DATA) public datos:any,\n private preguntaService:PreguntasService\n ) { }\n\n ngOnInit(): void {\n this.createForm();\n }\n\n createForm(){\n this.questionForm = this.fb.group({\n question_type_id: ['',Validators.required],\n question: ['',Validators.required],\n question_type_item_id: [''],\n multiple: this.fb.array([this.fb.group({\n opcion: ''\n }),\n this.fb.group({\n opcion: ''\n })\n ]),\n requerida: [false],\n })\n \n }\n\n changeSelect(){\n if (this.questionForm.get('question_type_id').value == 3) {\n this.questionForm.get('question_type_item_id').setValidators(Validators.required);\n }else{\n this.questionForm.get('question_type_item_id').setValidators(null);\n }\n }\n\n /**\n * @author Cristian Gallo\n * Observador para las opciones para preguntas de selección multiple,\n * el cual retonar todas las opciones que hayan\n */\n get getOptions(){\n return this.questionForm.get('multiple') as FormArray;\n }\n\n /**\n * @author Cristian Gallo\n * Función para guardar una nueva pregunta\n */\n save(){\n this.questionForm.addControl('other_answer', new FormControl(0))\n if (this.questionForm.invalid) {\n return;\n }\n this.preguntaService.saveQuestion(this.questionForm.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo >= 400) {\n Swal.fire({\n icon: 'error',\n title: '¡Oops!',\n text: 'Lo sentimos ha sucedio un error',\n showConfirmButton: false,\n timer: 2500\n })\n return;\n }\n Swal.fire({\n icon: 'success',\n title: '¡Excelente!',\n text: 'La pregunta se ha creado con éxito',\n showConfirmButton: false,\n timer: 2500\n });\n this.questionRef.close();\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función para agregar una nueva opción\n */\n addOption(){\n const option = this.questionForm.controls['multiple'];\n option.push(this.fb.group({\n opcion: [''],\n }));\n }\n\n /**\n * @author Cristian Gallo\n * Función para retirar una opción\n */\n removeOption(item:number){\n const option = this.questionForm.controls['multiple'];\n option.removeAt(item);\n }\n\n}\n","\n
\n

Crear pregunta

\n \n \n Tipo de pregunta\n \n {{tipo.name}}\n \n Por favor seleccione una opción\n \n \n Pregunta\n \n Por favor ingrese una pregunta\n \n
\n
\n
\n \n Opción {{i+1}}\n \n 1\" (click)=\"removeOption(i)\">\n \n
\n
\n \n
\n
\n \n Escala {{opcion.name}}\n \n Por favor selecciona una escala.\n
\n
\n
\n
\n \n Opción {{i+1}}\n \n 1\" (click)=\"removeOption(i)\">\n \n
\n
\n \n
\n Respuesta Obligatoria\n
\n \n \n
\n
","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nimport { environment } from 'src/environments/environment';\nimport { Project } from '../../modules/chat/models/project';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MixinsService {\n\n public url: string;\n\n constructor(private _http: HttpClient) { \n this.url = environment.LIVECHAT_URL;\n }\n\n // Método para sacar ala gente del redis\n logoutRedis(param:any): Observable {\n const headers = new HttpHeaders().set('Content-Type', 'application/json');\n const params = JSON.stringify(param);\n return this._http.post(this.url + 'mixins/logout-agent/', params, {headers: headers});\n }\n\n // Método para notificar agente pegado en redis\n agentStuckInRedis(param:any): Observable {\n const headers = new HttpHeaders().set('Content-Type', 'application/json');\n const params = JSON.stringify(param);\n return this._http.post(this.url + 'mixins/redis-notify-email', params, {headers: headers});\n }\n\n // Método para notificar un problema de conexión\n connectionIssues(param:any, project:string): Observable{\n const headers = new HttpHeaders().set('Content-Type', 'application/json');\n const params = JSON.stringify(param);\n return this._http.post(this.url + `mixins/fails/${project}`, params, {headers: headers});\n }\n\n // Método para notificar un problema de conexión\n getQueueInfo(project: string): Observable {\n const headers = new HttpHeaders().set('Content-Type', 'application/json');\n return this._http.get(this.url + `mixins/queue/${project}`, { headers: headers });\n }\n\n // Método para traer informacion resumida de conversaciones en linea\n getTableDashboardInfo(project: string): Observable{\n const headers = new HttpHeaders().set('Content-Type', 'application/json');\n return this._http.get(this.url + `mixins/dashboard/table/${project}`, { headers: headers });\n }\n}\n","import { Component, OnInit } from \"@angular/core\";\nimport Swal from \"sweetalert2\";\nimport { AuthService } from \"../../core/services/rest/auth.service\";\nimport { NoveltiesService } from \"./services/novelties.service\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\n\n@Component({\n selector: \"app-nomina\",\n templateUrl: \"./nomina.component.html\",\n styleUrls: [\"./nomina.component.sass\"],\n})\nexport class NominaComponent implements OnInit {\n public durationInSeconds = 10;\n nameUser = \"\";\n\n constructor(\n private snackBar: MatSnackBar,\n private noveltiesService: NoveltiesService,\n private authService: AuthService,\n ) { }\n\n ngOnInit(): void {\n const user = this.authService.getUser();\n this.nameUser = user.rrhh.name;\n if (user.schedule_start == null) {\n let str =\n \"Nombre: \" +\n user.rrhh.name +\n \"\\n\" +\n \"número de idenficación: \" +\n user.rrhh.ID_number +\n \"\\n\" +\n \"Campaña: \" +\n user.rrhh.campaign;\n Swal.fire({\n icon: \"error\",\n title: \"Sin asignación de horarios\",\n html: '
' + str + \"
\",\n confirmButtonText: `Enviar notificación`,\n confirmButtonColor: \"#2CABBC\",\n allowOutsideClick: false,\n allowEscapeKey: false,\n }).then((result) => {\n if (result.isConfirmed) {\n this.noveltiesService.sendEmail().subscribe(\n (resp) => {\n this.snackBar.open(resp.data, \"cerrar\", {\n horizontalPosition: \"center\",\n verticalPosition: \"top\",\n duration: this.durationInSeconds * 1000,\n });\n },\n (error) => {\n this.snackBar.open(\n \"No fue posible enviar la solicitud para cargue de mallas\",\n \"cerrar\",\n {\n horizontalPosition: \"center\",\n verticalPosition: \"top\",\n duration: this.durationInSeconds * 1000,\n }\n );\n }\n );\n }\n });\n }\n }\n}\n","\n
\n
\n

Nómina

\n

¡Bienvenid@
{{nameUser}}!

\n

Este es el módulo de Nómina, aquí podrás
ver todas tus novedades, justificarlas, subir
incapacidades, solicitar permisos, entre
otras gestiones.

\n \n
\n\n
\n \"Ilustración_Nomina\"\n
\n\n
\n\n\n
\n

Noticias

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

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

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

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

\n
\n \n \n \n \n
\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { AnsService } from '../../services/ans.service';\n\n@Component({\n selector: 'app-ans',\n templateUrl: './ans.component.html',\n styleUrls: ['./ans.component.css']\n})\nexport class AnsComponent implements OnInit {\n formAns: FormGroup = new FormGroup({\n id: new FormControl(null, []),\n id_email_config: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required]),\n name: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required, Validators.maxLength(15)]),\n day: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required, Validators.min(0), Validators.max(999)]),\n hour: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required, Validators.min(0), Validators.max(999)]),\n minutes: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required, Validators.min(0), Validators.max(999)]),\n color: new FormControl({ value: '#ff0000', disabled: this.data.viewOnly }, [Validators.required]),\n });\n emailsConfig: any[] = [];\n\n constructor(\n private matDialogRef: MatDialogRef,\n private alertService: AlertsService,\n private matSnackBar: MatSnackBar,\n private ansService: AnsService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) { }\n\n ngOnInit(): void {\n if (this.data.ans) {\n this.formAns.get('id').setValue(this.data.ans.id);\n this.formAns.get('id_email_config').setValue(this.data.ans.id_email_config);\n this.formAns.get('name').setValue(this.data.ans.name);\n this.formAns.get('day').setValue(this.data.ans.day);\n this.formAns.get('hour').setValue(this.data.ans.hour);\n this.formAns.get('minutes').setValue(this.data.ans.minutes);\n this.formAns.get('color').setValue(this.data.ans.color);\n }\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formAns.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que guarda o actualiza un ANS. \n */\n saveAns(): void {\n if (this.formAns.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.ansService.storeAns(this.formAns.value).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: this.formAns.value.id === null ? 'Se ha creado un nuevo ANS con éxito' : 'Se ha actualizado un ANS con éxito'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(res);\n });\n }\n });\n } else {\n this.formAns.markAllAsTouched();\n }\n }\n}","
\n
\n \n
\n
\n
\n
{{ data.titleDialog }}
\n \n
\n
\n
\n \n Cuenta de correo\n \n {{ email.name\n }}\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n Nombre de ANS\n \n \n El campo es requerido\n Máximo 15 caracteres\n \n \n
\n
\n
\n
\n Tiempo límite\n
\n \n Escribe el número de días para cada uno de los estados (A tiempo, próximo a vencer y vencido).\n \n
\n
\n
\n
\n \n Días\n \n \n El campo es requerido\n Solo valores positivos\n Máximo tres digitos\n \n \n
\n
\n \n Horas\n \n \n El campo es requerido\n Solo valores positivos\n Máximo tres digitos\n \n \n
\n
\n \n Minutos\n \n \n El campo es requerido\n Solo valores positivos\n Máximo tres digitos\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
","import { Component, OnInit, Inject, ViewChild, ElementRef } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Chart, registerables } from 'chart.js';\nimport { OPTIONS_PIE } from 'src/app/modules/speech-analytics/modules/email-manager/utils/config/charts.config';\nimport { MatAccordion } from '@angular/material/expansion';\nimport { PDF_OPTIONS } from 'src/app/modules/speech-analytics/modules/email-manager/utils/config/pdf.config';\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\nimport * as html2pdf from 'html2pdf.js';\n\n@Component({\n selector: 'app-analysis-result',\n templateUrl: './analysis-result.component.html',\n styleUrls: ['./analysis-result.component.sass']\n})\nexport class AnalysisResultComponent implements OnInit {\n formatDataByResultIa = [];\n sentimentSummary: { motivo: string, sentimiento: string } = { motivo: 'N/R', sentimiento: 'N/R' };\n ctx: any = null;\n canvas: HTMLCanvasElement = null;\n pieChart: Chart<'pie'> = null;\n @ViewChild(MatAccordion) accordion: MatAccordion;\n @ViewChild('container') container: ElementRef;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n Chart.register(...registerables);\n Chart.register(ChartDataLabels);\n }\n\n ngOnInit(): void {\n this.formatDataByResultIa = [\n { title: 'Resumen: ', content: this.validateContent(this.data.result.resumen) },\n { title: 'Intención: ', content: this.validateContent(this.data.result.intencion) },\n { title: 'Entidades principales: ', content: this.validateContent(this.data.result.entidades_principales) },\n { title: 'Palabras clave: ', content: this.validateContent(this.data.result.palabras_clave) },\n { title: 'Puntos clave: ', content: this.validateContent(this.data.result.puntos_clave) },\n { title: 'Temas principales: ', content: this.validateContent(this.data.result.entidades_principales) }\n ];\n this.sentimentSummary.motivo = (this.data.result.analisis_sentimientos && this.data.result.analisis_sentimientos.motivo) ? this.data.result.analisis_sentimientos.motivo : 'N/R';\n this.sentimentSummary.sentimiento = (this.data.result.analisis_sentimientos && this.data.result.analisis_sentimientos.sentimiento) ? this.data.result.analisis_sentimientos.sentimiento : 'N/R';\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-11-19\n * Metodo que permite pintar la grafica con los datos obtenidos.\n */\n paintPieChart(): void {\n const labels = [];\n const data = [];\n for (const key in this.data.result.analisis_sentimientos.probabilidades) {\n labels.push(key);\n data.push(this.data.result.analisis_sentimientos.probabilidades[key]);\n }\n const dataPie = {\n labels: labels,\n datasets: [{\n data: data,\n backgroundColor: this.generateColorsByChart(data.length),\n hoverOffset: 4\n }]\n };\n this.canvas = document.getElementById('pieChart');\n this.ctx = this.canvas.getContext('2d');\n this.pieChart = new Chart(this.ctx, {\n type: 'pie',\n data: dataPie,\n options: OPTIONS_PIE\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-19\n * Metodo que genera colores aleatorios dentro de un array.\n * @param length Longitud del array proveniente de las grafica. \n */\n generateColorsByChart(length: number): Array {\n const arrayColors = [];\n for (let index = 0; index < length; index++) {\n const r = Math.floor(Math.random() * 200) + 55;\n const g = Math.floor(Math.random() * 200) + 55;\n const b = Math.floor(Math.random() * 200) + 55;\n arrayColors.push('rgb(' + r + ',' + g + ',' + b + ', 0.5)');\n }\n return arrayColors;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-20\n * Metodo que valida si hay o no contenido dentro de los resultados de la IA.\n * @param content Contenido del analisis.\n */\n validateContent(content: string | string[]): string {\n if (typeof content === 'string') return (content !== null || content !== '') ? content : 'N/R';\n if (Array.isArray(content)) return (content.length > 0) ? content.join(', ') : 'N/R';\n return 'N/R';\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-20\n * Metodo que imprime el contenido de la modal y lo genera en un PDF.\n */\n onClickPrintPdf(): void {\n this.accordion.openAll();\n const content = this.container.nativeElement;\n const options = PDF_OPTIONS;\n const testPDF = html2pdf().from(content).set(options).toContainer().toCanvas().toImg().toPdf();\n testPDF.get('pdf').then(function (pdf) {\n const totalHeight = content.scrollHeight * 0.264583 + 2 * 13;\n pdf.internal.pageSize = { width: 430, height: totalHeight };\n });\n testPDF.save();\n }\n}","
\n
\n Resultados de análisis\n
\n
\n \n
\n
\n
\n \n  Imprimir\n \n
\n
\n \n \n \n Contenido del correo\n \n \n \n \n \n Resumen e identificación de objetivo\n \n
0; else notData\">\n
\n {{ item.title }}{{ item.content }}\n
\n
\n \n
\n No hay información disponible para mostrar\n
\n
\n
\n \n \n Análisis de sentimientos\n \n
\n
\n Motivo: {{ sentimentSummary.motivo }};\n
\n
\n Sentimiento: {{ sentimentSummary.sentimiento }}\n
\n \n
\n
\n
\n
","/* (ignored) */","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { StateService } from '../../services/state.service';\n\n@Component({\n selector: 'app-state',\n templateUrl: './state.component.html',\n styleUrls: ['./state.component.css']\n})\nexport class StateComponent implements OnInit {\n formState: FormGroup = new FormGroup({\n id: new FormControl(null, []),\n name: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required, Validators.maxLength(30)]),\n id_email_config: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required]),\n is_initial_state: new FormControl({ value: false, disabled: this.data.viewOnly }, []),\n day_green: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required, Validators.min(0), Validators.max(999)]),\n hour_green: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required, Validators.min(0), Validators.max(999)]),\n minutes_green: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required, Validators.min(0), Validators.max(999)]),\n day_yellow: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required, Validators.min(0), Validators.max(999)]),\n hour_yellow: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required, Validators.min(0), Validators.max(999)]),\n minutes_yellow: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required, Validators.min(0), Validators.max(999)]),\n });\n\n constructor(\n private matDialogRef: MatDialogRef,\n private alertService: AlertsService,\n private matSnackBar: MatSnackBar,\n private stateService: StateService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) { }\n\n ngOnInit(): void {\n if (this.data.state) {\n this.formState.get('id').setValue(this.data.state.id);\n this.formState.get('name').setValue(this.data.state.name);\n this.formState.get('id_email_config').setValue(this.data.state.id_email_config);\n this.formState.get('is_initial_state').setValue(this.data.state.is_initial_state);\n this.formState.get('day_green').setValue(this.data.state.day_green);\n this.formState.get('hour_green').setValue(this.data.state.hour_green);\n this.formState.get('minutes_green').setValue(this.data.state.minutes_green);\n this.formState.get('day_yellow').setValue(this.data.state.day_yellow);\n this.formState.get('hour_yellow').setValue(this.data.state.hour_yellow);\n this.formState.get('minutes_yellow').setValue(this.data.state.minutes_yellow);\n }\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-13\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formState.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-13\n * Metodo que guarda o actualiza un estado. \n */\n saveState(): void {\n if (this.formState.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n const addDataColorRed = {\n ...this.formState.value,\n day_red: this.formState.value.day_yellow + 1,\n hour_red: 0,\n minutes_red: 0\n };\n this.stateService.storeState(addDataColorRed).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: this.formState.value.id === null ? 'Se ha creado el estado con éxito' : 'Se ha actualizado el estado con éxito'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(res);\n });\n }\n });\n } else {\n this.formState.markAllAsTouched();\n }\n }\n}","
\n
\n \n
\n
\n
\n
{{ data.titleDialog }}
\n \n
\n
\n
\n \n Nombre del estado\n \n \n El campo es requerido\n Máximo 30 caracteres\n \n \n
\n
\n
\n
\n \n Cuenta de correo\n \n {{ email.name\n }}\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n ¿Es un estado inicial?\n \n
\n
\n
\n
\n Semaforización\n
\n \n Escribe el número de días para cada uno de los estados (A tiempo, próximo a vencer y vencido).\n \n
\n
\n
\n
\n \n Días\n \n \n El campo es requerido\n Solo valores positivos\n Máximo tres digitos\n \n \n
\n
\n \n Horas\n \n \n El campo es requerido\n Solo valores positivos\n Máximo tres digitos\n \n \n
\n
\n \n Minutos\n \n \n El campo es requerido\n Solo valores positivos\n Máximo tres digitos\n \n \n
\n
\n
\n
\n
\n
\n
\n \n Días\n \n \n El campo es requerido\n Solo valores positivos\n Máximo tres digitos\n \n \n
\n
\n \n Horas\n \n \n El campo es requerido\n Solo valores positivos\n Máximo tres digitos\n \n \n
\n
\n \n Minutos\n \n \n El campo es requerido\n Solo valores positivos\n Máximo tres digitos\n \n \n
\n
\n
\n
\n
\n
\n
\n
El último estado no tiene tiempo límite
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { ScheduleService } from '../services/rest/schedule.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScheduleGuard implements CanActivate {\n\n constructor(private scheduleService: ScheduleService, private router: Router) {\n\n }\n\n async canActivate(): Promise {\n\n if (await this.verifyRol()) {\n return true;\n } else {\n this.router.navigate(['/mios/crm']);\n return false;\n }\n }\n\n public async verifyRol(): Promise {\n\n const vari = await this.scheduleService.getScheduleGuard().toPromise();\n\n if (vari === 'started') {\n return true;\n } else {\n return false;\n }\n\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { CdkDragDrop } from '@angular/cdk/drag-drop';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CreateLabelDialogComponent } from '../create-label-dialog/create-label-dialog.component';\nimport { SableService } from '../services/sable.service';\nimport { FormGroup, FormControl, Validators, FormBuilder, FormArray } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport * as moment from 'moment';\nimport { validateNumbersNegative } from '../constantes/custom-validators';\nimport { CrudService } from 'src/app/shared/basic-crud-page-service/crud.service';\nimport { environment } from 'src/environments/environment';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\nconst { SABLE_URL } = environment;\n\n@Component({\n selector: 'app-crear',\n templateUrl: './crear.component.html',\n styleUrls: ['./crear.component.css']\n})\nexport class CrearComponent implements OnInit {\n formCreateDownload: FormGroup = null;\n columnsAutomatic: string[] = [];\n llamadas: any = [];\n campaign: any = [];\n skill_llamadas: any = [];\n servidores: any = [];\n lista_grabaciones: any = [];\n connectors: string[] = ['@', '-', '_'];\n audioLabelingStructure: string = '';\n countRegisters: number = 0;\n rrhhIdUser: number = null;\n maxDate = new Date();\n\n constructor(\n private location: Location,\n private SableService: SableService,\n private matDialog: MatDialog,\n private alertService: AlertsService,\n private formBuilder: FormBuilder,\n private crudService: CrudService,\n private authService: AuthService\n ) { }\n\n ngOnInit(): void {\n this.rrhhIdUser = this.authService.decryptToken().rrhh_id;\n this.crudService.getData({ url: `${SABLE_URL}permisos/get_user_view`, filters: { id_rrhh: this.rrhhIdUser } }).subscribe(res => {\n this.servidores = res.data;\n });\n this.formCreateDownload = new FormGroup({\n idserver: new FormControl('', [Validators.required]),\n campaign: new FormControl('', [Validators.required]),\n call: new FormControl('', [Validators.required]),\n dateStart: new FormControl('', [Validators.required]),\n dateEnd: new FormControl('', [Validators.required]),\n skillCalls: new FormControl([], [Validators.required]),\n recordsOrDownloads: new FormControl('', [validateNumbersNegative]),\n idCall: new FormControl('', []),\n id_agente: new FormControl('', []),\n labels: this.formBuilder.array([]),\n maxRegister: new FormControl(null, [validateNumbersNegative, Validators.pattern(/^\\d+$/)])\n });\n this.addLabel();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-06-16\n * Metodo que retorna el form array del formulario principal. \n */\n get labelsControls(): FormArray {\n return this.formCreateDownload.get('labels') as FormArray;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-16\n * Metodo que añade el form group al form array. \n */\n addLabel(): void {\n this.labelsControls.push(this.newFormGroupLabel());\n this.updateValidatorsConnectors();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-16\n * Metodo que genera un nuevo form group. \n */\n newFormGroupLabel(columnAutomaticValue: string = ''): FormGroup {\n return this.formBuilder.group({\n columnAutomatic: new FormControl(columnAutomaticValue, [Validators.required]),\n connector: new FormControl('', []),\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-16\n * Metodo que elimina un form group del form array.\n * @param index Indice del form array seleccionado. \n */\n deleteLabel(index: number): void {\n this.labelsControls.removeAt(index);\n this.updateValidatorsConnectors();\n this.updateAudioLabelingStructure();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-15\n * Metodo que setea el orden de los elementos dentro del form array. \n * @param formArray Form array del formulario principal. \n * @param fromIndex Indice antiguo. \n * @param toIndex Indice nuevo. \n */\n moveItemInFormArray(formArray: FormArray, fromIndex: number, toIndex: number): void {\n const dir = toIndex > fromIndex ? 1 : -1;\n const item = formArray.at(fromIndex);\n for (let i = fromIndex; i * dir < toIndex * dir; i = i + dir) {\n const current = formArray.at(i + dir);\n formArray.setControl(i, current);\n }\n formArray.setControl(toIndex, item);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-16\n * Metodo que retorna los controles del formulario. \n */\n get errorsForm(): any {\n return this.formCreateDownload.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-15\n * Metodo que redirecciona a la pagina anterior visitada. \n */\n backToPreviousPage(): void {\n this.alertService.alertWarning('¿Estás seguro?', '¿En verdad deseas cancelar el registro para la descarga de las llamadas?').then(confirm => {\n if (confirm.isConfirmed) this.location.back();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-15\n * Metodo que el drag and drop de los campos del formulario. \n * @param $event Evento emitido por el drag and drop al momento de arastrar elementos. \n */\n dragAndDropItem($event: CdkDragDrop): void {\n this.moveItemInFormArray(this.labelsControls, $event.previousIndex, $event.currentIndex);\n this.updateAudioLabelingStructure();\n this.updateValidatorsConnectors();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-15\n * Metodo muestra la modal para crear una etiqueta.\n * Añade una etiqueta mediante el formulario creado. \n */\n openDialogCreateLabel(): void {\n this.matDialog.open(CreateLabelDialogComponent, {\n width: '40%',\n autoFocus: false\n }).afterClosed().subscribe(res => {\n if (res) {\n this.columnsAutomatic.push(res.nameLabel);\n this.labelsControls.push(this.newFormGroupLabel(res.nameLabel));\n this.updateAudioLabelingStructure();\n this.updateValidatorsConnectors();\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-16\n * Metodo que cambia el valor de la variable audioLabelingStructure, dependiendo de la etiqueta seleccionada. \n * @param $event Evento emitido por el select dinamico del drag and drop. \n */\n onChangeSelectConector($event: any) {\n this.updateAudioLabelingStructure();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-15\n * Metodo que actualiza el nombre del etiquetado. \n */\n updateAudioLabelingStructure(): void {\n const arrayLabels = this.formCreateDownload.value.labels;\n const setArrayLabels = arrayLabels.map((item: any) => `${item.columnAutomatic}${item.connector ? item.connector : ''}`);\n this.audioLabelingStructure = setArrayLabels.join('');\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-16\n * Metodo que guarda la configuracion de las descargas. \n */\n generateDownload(): void {\n if (this.formCreateDownload.valid) {\n let listRecordsSelected = [];\n if (this.formCreateDownload.value.maxRegister === null) listRecordsSelected = this.lista_grabaciones;\n if (this.formCreateDownload.value.maxRegister !== null) {\n if (this.formCreateDownload.value.maxRegister >= this.countRegisters) {\n this.alertService.alertError('Error', 'La cantidad de archivos registrados es mayor a la cantidad de archivos totales');\n return;\n }\n listRecordsSelected = this.lista_grabaciones.slice(0, this.formCreateDownload.get('maxRegister').value);\n }\n this.alertService.alertWarning(\n '¿Estás seguro?',\n `¿En verdad deseas generar la descarga de las llamadas?, recuerda que esta acción será definitiva y no se podrá deshacer.
Estructura etiquetado del audio:
${this.audioLabelingStructure}.zip
`).then(async (confirm) => {\n if (confirm.isConfirmed) {\n const dataForm = { ...this.formCreateDownload.value, audioLabel: this.audioLabelingStructure, ListRecord: listRecordsSelected };\n const resSave = await this.SableService.saveConfigDownloads(dataForm).toPromise();\n this.alertService.alertWithAnyProperties('Excelente', resSave.data.mensaje, 'success', 'Continuar').then(isContinue => {\n this.location.back();\n });\n }\n });\n } else {\n this.formCreateDownload.markAllAsTouched();\n }\n }\n /**\n * @author Fabio Garcia\n * @createdate 2023-06-20\n * Metodo que las columnas automaticas y el listado de grabaciones. \n */\n GetColumns(): void {\n if (!this.validateRangeDates()) {\n const dataForm = { ...this.formCreateDownload.value, audioLabel: this.audioLabelingStructure };\n this.SableService.GetDataColumns(dataForm).subscribe(resp => {\n this.columnsAutomatic = resp.data.colums;\n this.lista_grabaciones = resp.data.data;\n this.countRegisters = resp.data.cantidad_registros;\n this.formCreateDownload.get('maxRegister').setValue(null);\n });\n } else {\n this.alertService.alertError('Error', 'El rango máximo de fechas es de 15 días.');\n }\n }\n /**\n * @author Fabio Garcia\n * @createdate 2023-06-20\n * Metodo que trae las configuraciones dependiendo el servidor seleccionado. \n */\n CargarSelects(server: any | null): void {\n this.llamadas = [];\n this.skill_llamadas = [];\n if (!server) return;\n this.crudService.getData({ url: `${SABLE_URL}permisos/get_user_campaings`, filters: { id_rrhh: this.rrhhIdUser, id_server: server } }).subscribe(res => {\n this.campaign = res.data;\n });\n }\n /**\n * @author Fabio Garcia\n * @createdate 2025-01-24\n * Metodo que actualiza el listado de tipo de llamadas mediante la campaña seleccionada. \n */\n onChangeSelectCampaign(): void {\n this.llamadas = [];\n this.skill_llamadas = [];\n if (!this.formCreateDownload.get('idserver').value || !this.formCreateDownload.get('campaign').value) return;\n this.crudService.getData({ url: `${SABLE_URL}get_llamadas/${this.formCreateDownload.get('idserver').value}`, filters: { campaign: this.formCreateDownload.get('campaign').value } }).subscribe(res => {\n this.llamadas = res.data;\n });\n }\n /**\n * @author Fabio Garcia\n * @createdate 2025-01-24\n * Metodo que actualiza el listado de skills de llamadas mediante mediante el tipo de llamada seleccionada. \n*/\n onChangeSelectCall(): void {\n if (!this.formCreateDownload.get('idserver').value || !this.formCreateDownload.get('campaign').value || !this.formCreateDownload.get('call').value ) return;\n this.crudService.getData({ url: `${SABLE_URL}get_skill_llamadas/${this.formCreateDownload.get('idserver').value}`, filters: { campaign: this.formCreateDownload.get('campaign').value, tipo_gestion: this.formCreateDownload.get('call').value } }).subscribe(res => {\n this.skill_llamadas = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-21\n * @updatedate 2023-07-18\n * Metodo que valida si los campos de la primera sección estan llenos.\n * Se añade validaciones sobre los campos numericos. \n * @returns Estado de la validacion. \n */\n validateFirstStepForm(): boolean {\n if (\n this.formCreateDownload.get('idserver').value !== '' &&\n this.formCreateDownload.get('campaign').value !== '' &&\n this.formCreateDownload.get('call').value !== '' &&\n this.formCreateDownload.get('dateStart').value !== '' &&\n this.formCreateDownload.get('skillCalls').value &&\n this.formCreateDownload.get('skillCalls').value.length > 0\n ) {\n if (parseInt(this.formCreateDownload.get('recordsOrDownloads').value) < 0 || parseInt(this.formCreateDownload.get('idCall').value) < 0) return true;\n return false;\n }\n return true;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-22\n * Metodo que valida el rango de fechas seleccionadas del formulario. \n * @returns Booleano con la validacion de la fechas. \n */\n validateRangeDates(): boolean {\n const { dateStart, dateEnd } = this.formCreateDownload.value;\n const momentStart = moment(dateStart);\n const momentEnd = moment(dateEnd);\n const numberDays = momentEnd.diff(momentStart, 'days');\n return numberDays >= 15 ? true : false;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-10-25\n * Metodo que valida el ultimo conector para agregar o quitar una validacion sobre el campo connector. \n */\n updateValidatorsConnectors(): void {\n const lengthArrayForm = this.labelsControls.length - 1;\n for (let i = 0; i < this.labelsControls.controls.length; i++) {\n if (i < lengthArrayForm) {\n this.labelsControls.controls[i].get('connector').setValidators([Validators.required]);\n this.labelsControls.controls[i].get('connector').enable();\n this.labelsControls.controls[i].get('connector').updateValueAndValidity();\n } else {\n this.labelsControls.controls[i].get('connector').setValidators([]);\n this.labelsControls.controls[i].get('connector').setValue('');\n this.labelsControls.controls[i].get('connector').disable();\n this.labelsControls.controls[i].get('connector').updateValueAndValidity();\n }\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2025-10-02\n * Metodo que reinicia el estado del formulario. \n */\n resetFormFilters(): void {\n this.columnsAutomatic = [];\n this.lista_grabaciones = [];\n this.countRegisters = 0;\n this.campaign = [];\n this.skill_llamadas = [];\n this.llamadas = [];\n this.formCreateDownload.reset();\n }\n}","
\n
\n \n Regresar\n
\n
\n
\n Gestor de descargas\n
\n
\n

\n En este espacio podrás realizar la gestión para programar descargas de las
\n llamadas registradas en Vicidial, no olvides, “El respeto y empatía son clave”.\n

\n
\n
\n
\n
\n Descarga de llamadas\n
\n
\n
\n
\n
\n \n Servidor\n \n {{ rw.name }}\n \n \n Este campo es requerido\n \n \n
\n
\n \n Campaña\n \n {{ rw.campaign }}\n \n \n Este campo es requerido\n \n \n
\n
\n \n Llamada\n \n {{ rw.nombre }}\n \n \n Este campo es requerido\n \n \n
\n
\n \n Fecha de las llamadas\n \n \n \n \n \n \n \n Por favor ingrese\n un rango de fecha\n \n \n
\n
\n
\n
\n \n Skills de las llamadas \n \n {{ rw.nombre }}\n \n \n Este campo es requerido\n \n \n
\n
\n \n ID llamada (opcional)\n \n \n
\n
\n \n ID Agente (opcional)\n \n \n
\n
\n \n
\n
\n \n
\n
\n
0; else notRegisters\">\n
\n
\n Registros encontrados: {{ countRegisters }}\n
\n
\n Las descargas deben realizarse en paquetes de máximo 200 registros.\n
\n
\n \n Cantidad de registros a descargar\n \n \n Solo valores numericos\n Solo valores enteros\n \n Si no registra un valor, se procede a descargar el total de grabaciones.\n \n
\n
\n
\n
\n Orden de etiquetado de los audios\n
\n
\n

Elige y organiza los campos que se usan para el etiquetado de los audios.zip

\n
\n
\n
\n
\n Configuración de etiquetado\n
\n
\n \n
\n
\n
\n {{ i + 1\n }}\n
\n
\n
\n \n Columnas automaticas\n \n {{ columns }}\n \n \n Este campo es\n requerido\n \n \n
\n
\n \n Conectores\n \n {{ connector }}\n \n \n Este campo es\n requerido\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n Estructura etiquetado del audio: {{ audioLabelingStructure }}.zip\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n No existen registros para descargar con los\n filtros suministrados.\n
\n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport Swal from 'sweetalert2';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AlertsService {\n constructor() {}\n\n alertSuccess(title: string, text: string, options: any = {}) {\n Swal.fire({\n title,\n html: text,\n icon: 'success',\n showConfirmButton: false,\n timer: 3000,\n ...options,\n });\n }\n\n alertError(title: string, text: string, options: any = {}) {\n Swal.fire({\n title,\n html: text,\n icon: 'error',\n confirmButtonText: 'Aceptar',\n ...options,\n });\n }\n\n dangerError(title: string) {\n const Toast = Swal.mixin({\n toast: true,\n position: 'top-start',\n showConfirmButton: false,\n timer: 10000,\n timerProgressBar: true,\n didOpen: (toast) => {\n toast.addEventListener('mouseleave', Swal.resumeTimer);\n },\n });\n\n Toast.fire({\n icon: 'error',\n title,\n });\n }\n\n alertWarning(\n title: string,\n text: string,\n buttonTextConfirm: string = 'Aceptar',\n buttonTextCancel: string = 'Cancelar',\n options: any = {}\n ) {\n return Swal.fire({\n title,\n html: text,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: buttonTextConfirm,\n cancelButtonText: buttonTextCancel,\n reverseButtons: true,\n ...options\n });\n }\n\n alertQuestion(title: string, text: string) {\n return Swal.fire({\n title,\n html: text,\n imageUrl: 'assets/images/iconQuestion.png',\n showCloseButton: true,\n showConfirmButton: false,\n width: 700,\n });\n }\n\n alertWarningV2(title: string, text: string) {\n return Swal.fire({\n title,\n html: text,\n icon: 'warning',\n });\n }\n\n alertInfo(title: string, text: string) {\n Swal.fire({\n title,\n text,\n icon: 'info',\n confirmButtonText: 'Aceptar',\n });\n }\n\n alertConfirm(title: string, text?: string) {\n return Swal.fire({\n title,\n text,\n icon: 'info',\n showDenyButton: true,\n showCancelButton: false,\n confirmButtonText: `Si`,\n denyButtonText: `No`,\n allowOutsideClick: false,\n });\n }\n\n alertSuccessWithoutButton(title: string, text: string) {\n Swal.fire({\n title,\n html: text,\n icon: 'success',\n showConfirmButton: false,\n timer: 4000,\n });\n }\n\n alertSuccessButtonText(title: string, text: string, btnText: string) {\n Swal.fire({\n title,\n html: text,\n icon: 'success',\n confirmButtonText: btnText,\n });\n }\n\n alertWithAnyProperties(\n title: string,\n html: any,\n icon: any,\n confirmButtonText: string\n ) {\n return Swal.fire({\n title,\n html,\n icon,\n confirmButtonText,\n confirmButtonColor: '#2cabbc',\n });\n }\n\n alertSuccessMovistar(title: string, text: string, options: any = {}) {\n Swal.fire({\n title,\n html: text,\n icon: 'warning',\n showConfirmButton: false,\n timer: 8000,\n ...options,\n });\n }\n\n alertSmallNotification(position: any, icon: any, title: string) {\n const Toast = Swal.mixin({\n toast: true,\n position,\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n didOpen: (toast) => {\n toast.addEventListener('mouseleave', Swal.resumeTimer);\n },\n });\n Toast.fire({\n icon,\n title,\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { GESTIONADOR_CORREOS } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EmailAdminService {\n\n constructor(private httpClient: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-25\n * Metodo que retorna los errores generados por HTTP. \n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-25\n * Metodo que retorna los correos registradas en el sistema.\n * @param paginator Paginador configurado en la vista. \n * @param filter Filtro configurado en la vista. \n */\n getEmails(paginator: any = null, filter: string = ''): Observable {\n const url = paginator === null ? `${GESTIONADOR_CORREOS}emailconfig/showall` : `${GESTIONADOR_CORREOS}emailconfig/showall?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&name=${filter}`;\n return this.httpClient.get(url).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-25\n * Metodo que guardar o actualiza un correo en el sistema. \n * @param email Informacion proveniente del formulario. \n */\n storeEmail(email: any, typeManager: string = 'Crear correo'): Observable {\n const url = typeManager === 'Crear correo' ? `${GESTIONADOR_CORREOS}emailconfig/store` : `${GESTIONADOR_CORREOS}emailconfig/update/${email.id}`;\n return this.httpClient.post(url, email).pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst NOMINA_URL = environment.NOMINA_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DisabilitiesService {\n\n\n constructor(private http: HttpClient) {\n }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Obtiene las novedades de incapacidad\n * @param filters\n * @param perPage\n * @param Page\n * @param exportData\n * @author Daniel Dominguez \n */\n getDisabilitiesBy(filters: any, perPage: any = 5, Page?: any, exportData: boolean = false) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', filters.state)\n .set('documentType', filters.idTipDoc || '')\n .set('document', filters.document || '')\n .set('campaign_id', filters.campaign || '')\n .set('novelty_date1', filters.novelty_date1 || '')\n .set('novelty_date2', filters.novelty_date2 || '')\n .set('perPage', perPage)\n .set('page', Page || 1)\n .set('export', exportData ? '1' : '0'),\n responseType: exportData ? 'blob' as 'json' : 'json'\n };\n return this.http.get(`${ NOMINA_URL }disabilities/all`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Obtiene los permisos aprobados por juridica\n * @param filters Objeto de los posibles filtros usados\n * @param perPage Items por pagina\n * @param page pagina a visualizar\n * @author Andres Buitrago\n */\n getPermitsByFilters(filters: any, perPage: any = 5, page?: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('documentType', filters.idTipDoc || '')\n .set('document', filters.document || '')\n .set('campaign_id', filters.campaign || '')\n .set('novelty_date1', filters.novelty_date1 || '')\n .set('novelty_date2', filters.novelty_date2 || '')\n .set('perPage', perPage)\n .set('export', filters.export ? '1' : '0')\n .set('page', page || 1),\n responseType: filters.export ? 'blob' as 'json' : 'json'\n };\n return this.http.get(`${ NOMINA_URL }permissions/getApprovedPermitsForNomina`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para aprobar o rechazar una novedad\n */\n changeStatus(id: any, body: any) {\n return this.http.put(`${ NOMINA_URL }disabilities/managementdisabilities/${ id }`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para consultar los subtipos de incapacidad\n */\n getSubTypes() {\n return this.http.get(`${ NOMINA_URL }getSubtypes`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio obtiene la información de una novedad a gestionar\n */\n getEventInfoByPayrollNoveltyId(id: any) {\n return this.http.get(`${ NOMINA_URL }getDisability/${ id }`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio obtiene la información de una novedad gestionada\n */\n getInfoByPayrollNoveltyId(id: any) {\n return this.http.get(`${ NOMINA_URL }getDisabilityManaged/${ id }`)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ChatRestService } from '../../services/chat-rest.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { Observable, of } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, map, startWith, tap } from 'rxjs/operators';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { RespNewDateComponent } from 'src/app/modules/schedules/modules/customer-forms/resp-new-date/resp-new-date.component';\n\n@Component({\n selector: 'app-chat-groups',\n templateUrl: './chat-groups.component.html',\n styleUrls: ['./chat-groups.component.sass']\n})\nexport class ChatGroupsComponent implements OnInit {\n //Formulario de grupos\n groupForm: FormGroup\n //Formulario busqueda de usuario\n searchUserForm: FormGroup\n //Input para buscar usuario por documento\n searchByDocument: FormControl = new FormControl(['', []])\n /**Lista de campañas */\n campaigns: any[] = []\n //Lista de usuarios de campañas\n campaignsUsers: any[] = []\n //Lista típos de documentos\n documentTypes: any[] = []\n //Consecuencias\n available_users: any[] = []\n selected_users: any[] = []\n //Valor del selector de elementos\n available_users_value: any[] = []\n selected_users_value: any[] = []\n //Usuario se que asignara en busqueda manual\n searched_user: any = {}\n searched_user_to_add = {}\n //Información del grupo\n group_id: number = 0;\n\n\n\n constructor(\n private chatRestService: ChatRestService,\n private dialogRef: MatDialogRef,\n private authService: AuthService,\n private fb: FormBuilder,\n private alertService: AlertsService,\n @Inject(MAT_DIALOG_DATA) public dialogData: any\n\n ) { }\n\n ngOnInit(): void {\n if (this.getTypeModal == \"edit\") {\n this.getGroup(this.modalGroupId)\n }\n this.getCampaigns()\n this.getDocumentTypes()\n this.initializeForm()\n this.initializeSearchUserForm()\n }\n\n /**\n * Método que inicializa el formulario de grupo\n * @author Juan Carlos Alonso\n * @createdate 05-06-2024\n * @returns {void} void\n */\n initializeForm(): void {\n this.groupForm = this.fb.group({\n group_name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(100)]],\n description: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(100)]],\n campaigns: ['', []]\n })\n\n this.groupForm.get('campaigns').valueChanges\n .pipe(\n tap(() => this.enableCampaigns()),\n debounceTime(700))\n .subscribe(valueCampaigns => {\n if (valueCampaigns.length) {\n this.getCampaignUsers()\n } else {\n this.available_users = []\n }\n })\n\n }\n\n /**\n * Método que inicializa el formulario de busqueda de usuario por documento\n * @author Juan Carlos Alonso\n * @createdate 05-06-2024\n * @returns {void} void\n */\n initializeSearchUserForm(): void {\n this.searchUserForm = this.fb.group({\n document: ['', []],\n document_type: [1, []]\n })\n }\n\n /**\n * Método que obtiene un grupo por su id y asigna el valor al formulario de grupo\n * @author Juan Carlos Alonso\n * @createdate 05-06-2024\n * @returns {void} void\n */\n getGroup(id: number): void {\n this.chatRestService.getGroupById(id, true).subscribe((resp: any) => {\n const obtained_group = resp.group\n this.group_id = obtained_group?.id\n this.selected_users = obtained_group?.participants\n this.selected_users_value = obtained_group?.participants\n this.groupForm.patchValue({ group_name: obtained_group?.name, description: obtained_group?.description })\n })\n }\n\n /**\n* Método que obtiene y asigna la lista de campañas\n* @author Juan Carlos Alonso\n* @createdate 05-06-2024\n* @returns {void} void\n*/\n getCampaigns() {\n this.chatRestService.getCampaigns().subscribe(resp => {\n this.campaigns = resp?.data.map(data => {\n data['disabled'] = false\n return data;\n })\n })\n }\n\n /**\n* Método que obtiene lista de usuarios por campañas\n* @author Juan Carlos Alonso\n* @createdate 05-06-2024\n* @returns {void} void\n*/\n getCampaignUsers() {\n const campaign_ids = this.groupForm.get('campaigns').value\n this.chatRestService.getCampaignsUsers({ campaigns: campaign_ids }).subscribe(resp => {\n this.available_users = resp?.data\n })\n\n }\n\n /**\n* Método que obtiene y asigna la lista de tipos de documento\n* @author Juan Carlos Alonso\n* @createdate 05-06-2024\n* @returns {void} void\n*/\n getDocumentTypes() {\n this.chatRestService.getDocumentTypes().subscribe(resp => {\n this.documentTypes = resp\n })\n\n }\n\n /**\n* Método que obtiene un usuario por documento y tipo de documento\n* @author Juan Carlos Alonso\n* @createdate 05-06-2024\n* @returns {void} void\n*/\n getUserByDocument(event) {\n const document = this.searchUserForm.get('document').value\n const type = this.searchUserForm.get('document_type').value\n if (document !== \"\" && type !== \"\") {\n this.chatRestService.getUserByDocument(type, document).subscribe(resp => {\n this.searched_user = resp.data\n }, error => {\n this.alertService.alertError('¡Atención¡', error.error.message)\n })\n }\n\n\n }\n\n /**\n* Método que reinicia el usuario buscado\n* @author Juan Carlos Alonso\n* @createdate 05-06-2024\n* @returns {void} void\n*/\n clearSearchedUser(confirmation: boolean) {\n if (confirmation) {\n this.searched_user = {}\n this.searched_user_to_add = {}\n this.searchUserForm.patchValue({ document: '', document_type: 1 })\n }\n }\n\n /**\n* Método que asigna el valor del usuario que sera enviado al componente de selector de elementos\n* @author Juan Carlos Alonso\n* @createdate 05-06-2024\n* @returns {void} void\n*/\n setSearchedUserToAdd() {\n this.searched_user_to_add = this.searched_user\n }\n\n /**\n* Método que confirma si no hay ningun usuario encontrado\n* @author Juan Carlos Alonso\n* @createdate 05-06-2024\n* @returns {boolean} boolean\n*/\n isSearchedUserEmpty() {\n return Object.keys(this.searched_user).length === 0\n }\n\n\n /**\n * Metodo que se encarg de obtener el titulo del modal\n * @author Juan David Guerrero Vargas\n * @returns {string} string cadena de texto para el titulo\n */\n get getTitle(): string {\n if (this.dialogData?.title == undefined || this.dialogData.title == \"\") {\n return \"\"\n }\n return this.dialogData.title\n }\n\n /**\n * Metodo que se encarga de retornar cual es tipo de modal a renderizar\n * @author Juan David Guerrero Vargas\n * @returns {string} string\n */\n get getTypeModal(): string {\n return this.dialogData.optenTo\n }\n\n /**\n* Método que retorna la id del grupo\n* @author Juan Carlos Alonso\n* @createdate 05-06-2024\n* @returns {number} number\n*/\n get modalGroupId(): number {\n return this.dialogData.idGroup\n }\n\n /**\n* Método que asigna los valores a la lista de usuarios seleccionables\n* @author Juan Carlos Alonso\n* @createdate 05-06-2024\n* @returns {void} void\n*/\n setAvaiableUsers(users: any[]) {\n this.available_users_value = users;\n }\n /**\n * @author Juan Carlos Alonso\n * @createdate 2023-05-31\n * Método que asigna el valor a los usuarios seleccionadas\n */\n setSelectedUsers(users: any[]) {\n this.selected_users_value = users;\n }\n\n /**\n* Método que valida si se han seleccionado mas de 3 campañas, de ser asi se deshabilitaran las demas campañas\n* @author Juan Carlos Alonso\n* @createdate 05-06-2024\n* @returns {boolean} boolean\n*/\n enableCampaigns() {\n const campaignsSelected = this.groupForm.get('campaigns').value\n if (campaignsSelected.length == 3) {\n this.campaigns.map(campaigns => {\n if (campaignsSelected.find(selected_campaign => selected_campaign == campaigns.id) == undefined) {\n campaigns['disabled'] = true\n } else {\n campaigns['disabled'] = false\n }\n });\n } else {\n this.campaigns.map(campaigns => {\n campaigns['disabled'] = false\n return campaigns;\n })\n }\n\n }\n\n\n /**\n* Método que envía el grupo y lo crea o lo actualiza\n* @author Juan Carlos Alonso\n* @createdate 05-06-2024\n* @returns {void} void\n*/\n save(): void {\n if (this.groupForm.invalid) {\n this.groupForm.markAllAsTouched()\n return\n }\n\n var data = {\n id: this.group_id,\n name: this.groupForm.get('group_name').value,\n description: this.groupForm.get('description').value,\n participants: this.selected_users_value.map(({ isHidden, ...rest }) => rest),\n }\n\n if (this.getTypeModal == 'edit') {\n this.chatRestService.updateGroup(data).subscribe((resp) => {\n this.alertService.alertSuccess('¡Enhorabuena!', resp.message)\n this.dialogRef.close()\n }, (error) => {\n this.alertService.alertError('¡Atención!', error.error.message)\n })\n } else {\n this.chatRestService.createNewGroup(data).subscribe((resp) => {\n this.alertService.alertSuccess('¡Enhorabuena!', resp.message)\n this.dialogRef.close({confirmation: true, group_id: this.group_id})\n }, (error) => {\n this.alertService.alertError('¡Atención!', error.error.message)\n })\n\n }\n\n\n\n }\n\n\n}\n","
\n\n
\n
\n

{{ getTitle }}

\n
\n
\n \n
\n
\n\n\n\n
\n
\n \n Campañas\n \n {{ campaign.name }}\n \n Puedes consultar un máximo de 3 campañas\n \n
\n
\n \n Nombre del grupo\n \n Ingresa el nombre del grupo\n El nombre del grupo debe tener mínimo 3 caracteres\n El nombre del grupo debe tener máximo 100 caracteres\n \n
\n
\n \n Descripción\n \n Ingresa el nombre del grupo\n La descripción debe tener mínimo 3 caracteres\n La descripción debe tener máximo 100 caracteres\n \n
\n
\n\n
\n
\n \n
\n
\n\n
\n
\n

Buscar y agregar usuario

\n
\n\n
\n \n Documento\n \n \n {{document_type.key}}\n \n Ingresa el númnero de documento, el tipo de documento y presiona Enter\n \n
\n\n
\n
\n
\n

{{ searched_user?.name }}

\n
\n
\n \n \n
\n
\n
\n\n
\n\n\n
\n\n\n\n \n \n \n\n\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ConfigTable, Paginator } from 'src/app/shared/basic-crud-page/type';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { TrayComponent } from '../../components/tray/tray.component';\nimport { TrayService } from '../../services/tray.service';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { EmailService } from '../../services/email.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\n\n@Component({\n selector: 'app-folder-page-main',\n templateUrl: './folder-page-main.component.html',\n styleUrls: ['./folder-page-main.component.css']\n})\nexport class FolderPageMainComponent implements OnInit {\n folders: any[] = [];\n filter: string = '';\n filterSelect: number = 0;\n configColumnsTable: ConfigTable[] = [\n { name: '', key: 'actions', type: 'events' },\n { name: 'Nombre', key: 'name' },\n { name: 'Icono', key: 'icon' },\n ];\n configPaginator: Paginator = { length: 0, pageIndex: 0, pageSize: 5 };\n emailsConfig: any[] = [];\n\n constructor(\n private matDialog: MatDialog,\n private matSnackBar: MatSnackBar,\n private trayService: TrayService,\n private emailService: EmailService,\n private authService: AuthService\n ) { }\n\n ngOnInit(): void {\n this.getFolders();\n this.getEmailsConfigByRol();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-01-23\n * Metodo que trae las carpetas registradas en el sistema. \n */\n getFolders(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.trayService.getTrays(this.configPaginator, this.filter, false, this.filterSelect, 2).subscribe(res => {\n this.folders = res.data.data;\n this.configPaginator.length = res.data.total;\n });\n } else {\n if (this.filterSelect !== 0) {\n this.trayService.getTrays(this.configPaginator, this.filter, false, this.filterSelect, 2).subscribe(res => {\n this.folders = res.data.data;\n this.configPaginator.length = res.data.total;\n });\n }\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-23\n * Metodo que setea el filtro emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilter($event: string) {\n this.filter = $event;\n this.configPaginator.pageIndex = 0;\n this.getFolders();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-23\n * Metodo que actualiza el estado de una carpeta. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeStateFolder($event: any): void {\n const setDataTray = { ...$event.item, state: $event.state };\n this.trayService.storeTray(setDataTray).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.getFolders();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-23\n * Metodo que permite ejecutar la modal para crear o actualizar una carpeta. \n * @param folder Bandeja seleccionada de la tabla. \n */\n onClickShowFolder(folder: any = null): void {\n this.matDialog.open(TrayComponent, {\n width: '40%',\n autoFocus: false,\n panelClass: 'dialog-padding-tray',\n data: {\n folder,\n emailsConfig: this.emailsConfig\n }\n }).afterClosed().subscribe(res => {\n if (res) this.getFolders();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-23\n * Metodo que permite actualizar la configuracion de la paginacion.\n * @param $event Evento emitido por el componente hijo. \n */\n onChangePage($event: Paginator): void {\n this.configPaginator = $event;\n this.getFolders();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-23\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-23\n * Metodo que setea el filtro del select emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilterSelect($event: number) {\n this.filterSelect = $event;\n this.configPaginator.pageIndex = 0;\n this.getFolders();\n }\n}","\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class VicidialWalletService {\n private storageSubject = new BehaviorSubject(\n localStorage.getItem('incomming_call_phone')\n );\n\n\tconstructor(private authService: AuthService) {\n window.addEventListener('storage', (event) => {\n if (event.key === 'incomming_call_phone') {\n this.storageSubject.next(event.newValue);\n }\n });\n }\n\n\t/**\n\t * Método que retorna el BehaivorSubject que se actualizara en el momento que una llamada sea recibida\n\t * @author Juan Carlos Alonso\n\t * @createdate 2023-10-03\n\t */\n getVicidialIncommingCallPhone(): Observable{\n return this.storageSubject.asObservable();\n }\n\n /**\n\t * Método que recibe el telefono, lo almacena en el local storage y notifica a la subscripción el cambio\n\t * @author Juan Carlos Alonso\n\t * @createdate 2023-10-03\n * @param phone telefono en formato de texto\n\t*/\n setVicidialIncommingCallPhone(phone:any){\n localStorage.setItem('incomming_call_phone', phone);\n this.storageSubject.next(phone);\n }\n\n /**\n\t * Método que elimina el item del local storage y notifica a la subscripción el cambio\n\t * @author Juan Carlos Alonso\n\t * @createdate 2023-10-03\n * @param phone telefono en formato de texto\n\t*/\n deleteVicidialIncommingCallPhone(){\n localStorage.removeItem('incomming_call_phone');\n this.storageSubject.next(null);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { LeftNavService } from '../services/rest/left-nav.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GroupsGuard implements CanActivate {\n \n constructor(private leftNavService: LeftNavService, private router: Router) {}\n\n async canActivate(): Promise {\n\n if (await this.verifyRol() as boolean) {\n return true;\n } else {\n this.router.navigate(['/mios/crm']);\n return false;\n }\n\n }\n\n public async verifyRol(): Promise {\n\n let band = false;\n const vari = await this.leftNavService.getLeftMenu('crm').toPromise();\n\n for (let element of vari.data) {\n\n if ( element.name === 'Grupos') {\n band = true;\n break;\n }\n }\n\n return band;\n }\n \n}\n","import { JuridicaService } from './../../../../services/juridica.service';\nimport { DatePipe } from '@angular/common';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { CampaignsService } from 'src/app/modules/nomina/services/rest/campaigns.service';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { PermitResponseComponent } from '../permit-response/permit-response.component';\nimport { PermitViewComponent } from '../permit-view/permit-view.component';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { debounceTime } from 'rxjs/operators';\n\n\n@Component({\n selector: 'app-permit-consultant',\n templateUrl: './permit-consultant.component.html',\n styleUrls: ['./permit-consultant.component.sass']\n})\nexport class PermitConsultantComponent implements OnInit {\n // MatPaginator Inputs\n length;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n displayedColumns: string[] = ['acciones', 'fecha', 'nombre', 'numero', 'campana', 'tipo', 'estado'];\n dataSource = new MatTableDataSource();\n\n reportForm: FormGroup;\n reportForm2: FormGroup;\n Campaings: any;\n filterControl = new FormControl();\n filterControl2 = new FormControl(4);\n typeDocument = new FormControl(1);\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatPaginator, { static: true }) paginator2: MatPaginator;\n\n document: any;\n startDate: any = '';\n endDate: any;\n idCampaing: any;\n\n document2: any;\n startDate2: any = '';\n endDate2: any;\n idCampaing2: any;\n\n documents: any = [];\n idTypeDoc: any = 1;\n idTypeDoc2: any;\n states: any = [{ id: 4, name: 'Todos' }, { id: 0, name: 'En revisión' }, { id: 1, name: 'Aprobado' }, { id: 2, name: 'Rechazado' }];\n idState: any = 4;\n\n public documentControl = new FormControl();\n\n\n constructor(public dialog: MatDialog,\n private service: CampaignsService,\n private permit: JuridicaService,\n private users: CandidatesService\n ) {\n\n }\n\n ngOnInit() {\n this.reportForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n this.filterControl2.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idState = resp;\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n //documento\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.idTypeDoc = resp;\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n // Campaña\n this.filterControl.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idCampaing = resp;\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n this.service.getAllCampaigns().subscribe(resp => {\n this.Campaings = resp.data;\n });\n\n this.permit.getPermits(this.idState).subscribe(resp => {\n this.dataSource = resp.data.data;\n this.length = resp.data.total;\n });\n }\n\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Metodo de paginación\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getPermits(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Modal de respuests de permiso\n */\n viewJustification(element): void {\n const dialogNewgroup = this.dialog.open(PermitResponseComponent, {\n width: '70%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Modal de visualizar justificación\n */\n viewJustification2(element): void {\n const dialogNewgroup = this.dialog.open(PermitViewComponent, {\n width: '70%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n\n }\n\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e) {\n this.resetPaginator(1);\n this.document = e;\n this.getPermits(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Metodo para capturar el rango de fechas a filtrar\n */\n dateRangeChange() {\n this.resetPaginator(1);\n const date1: Date = this.reportForm.controls.start.value;\n const date2: Date = this.reportForm.controls.end.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n this.getPermits(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-23\n * Metodo para filtrar los pendientes\n */\n getPermits(type, pageSi, page) {\n if (this.document != null || this.idTypeDoc != null ||this.idCampaing != null || page != null || pageSi != null || this.startDate != null && this.endDate != null) {\n this.permit.getPermitsBy(type, this.idTypeDoc, this.document, this.idCampaing, this.startDate, this.endDate, pageSi, page).subscribe(resp => {\n this.dataSource = resp.data.data;\n this.length = resp.data.total;\n });\n }\n }\n\n /**\n * @author D aniel Dominguez \n * @createdate 2021-06-24\n * Metodo de descarga de reporte de permisos\n */\n downloadReport() {\n this.permit.getReport(this.idState, this.idTypeDoc, this.document, this.idCampaing, this.startDate, this.endDate).subscribe(resp => {\n importedSaveAs(resp, 'reporte_permisos.xlsx');\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose resetea el paginador\n */\n resetPaginator(numPaginator): void {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n }\n\n}\n","
\n
\n

Novedades de permisos

\n

En este espacio podrás revisar y/o gestionar las novedades de
permisos de\n los trabajadores, no olvides,\"El respeto y la empatía son clave\"

\n
\n\n\n \n Estado\n \n \n {{item?.name}}\n \n \n \n\n \n Fecha\n \n \n \n \n \n \n \n\n \n Identificación\n \n \n {{item.key}}\n \n \n\n \n Campaña\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n\n \n \n\n \n \n \n\n
\n \n Fecha {{element.novelty_date_start | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}} Campaña{{element.campaignName}} Tipo{{element.fullName}} Estado {{element.stateName}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n\n
\n\n\n
\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'limitText'\n})\nexport class LimitTextPipe implements PipeTransform {\n transform(value: string, limit: number = 15, trail: string = '...'): string {\n if (!value) return '';\n return value.length > limit ? value.substring(0, limit) + trail : value;\n }\n}","/* (ignored) */","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { ScheduleService } from '../services/rest/schedule.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScheduleGuard implements CanActivate {\n\n constructor(private scheduleService: ScheduleService, private router: Router) {\n\n }\n\n async canActivate(): Promise {\n\n if (await this.verifyRol()) {\n return true;\n } else {\n this.router.navigate(['/mios/crm']);\n return false;\n }\n }\n\n public async verifyRol(): Promise {\n\n const vari = await this.scheduleService.getScheduleGuard().toPromise();\n\n if (vari === 'started') {\n return true;\n } else {\n return false;\n }\n\n }\n\n}\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, Input, OnInit, Output, EventEmitter, OnDestroy, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport * as moment from 'moment';\nimport { Subscription } from 'rxjs';\nimport { QuestionInterface } from 'src/app/modules/calidad/interfaces/question.interface';\nimport { InteligenciaService } from 'src/app/modules/calidad/services/inteligencia.service';\nimport { PreguntasService } from 'src/app/modules/calidad/services/preguntas.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport Swal from 'sweetalert2';\nimport { CrearPreguntaComponent } from '../crear-pregunta/crear-pregunta.component';\nimport { DetallePreguntaComponent } from '../detalle-pregunta/detalle-pregunta.component';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-tabla-preguntas',\n templateUrl: './tabla-preguntas.component.html',\n styleUrls: ['./tabla-preguntas.component.sass']\n})\nexport class TablaPreguntasComponent implements OnInit, OnDestroy {\n private uuid = 'd74571b3-6e8a-4a2a-871b-aafb16d2b1a2';\n public config: any;\n /**\n * @author Cristian Gallo\n * Variable para almacenar los tipos de preguntas\n */\n tiposPreguntas = [];\n\n //Columnas de la tablas\n displayedColumns:string[] = ['acciones','fecha_creacion','tipo_pregunta','pregunta'];\n\n //Variable para el manejo de los datos en la tabla\n dataSource = new MatTableDataSource();\n\n //Variable para almacenar la selección del checkbox\n selection = new SelectionModel(true, []);\n\n //Variable para controlar la activación de los checkbox\n @Input()checkbox:boolean = false;\n\n //Variable para recibir el id de fomulario\n @Input()idForm = '';\n\n //Eventos para actualizar tabla desde el componente padre\n @Output() arraySelection = new EventEmitter()\n @Output() cancelarEvent = new EventEmitter()\n\n //Control de paginación de la tabla\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n @ViewChild(MatPaginator) paginator:MatPaginator;\n\n //Filtros\n filtroPregunta:string = '';\n filtroFecha:string = '';\n filtroTipo_pregunta:string = '';\n\n //Observable para los cambios de la tabla\n subscription:Subscription;\n\n constructor(\n private questionDialog:MatDialog,\n private detailDialog:MatDialog,\n private preguntaService:PreguntasService,\n private inteligenciaS:InteligenciaService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.getQuestions(this.page,this.pageSize);\n this.getTypeQuestions();\n this.subscription = this.inteligenciaS.refresh$.subscribe(()=>{\n this.getQuestions(this.page,this.pageSize);\n });\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n\n /**\n * @author Cristian Gallo\n * Función para visualizar el dialog de crear preguntas\n */\n newQuestion(){\n const questionRef = this.questionDialog.open(CrearPreguntaComponent, {\n width: '840px',\n disableClose: true,\n data: {tiposPreguntas: this.tiposPreguntas}\n });\n questionRef.afterClosed().subscribe(result=>{\n this.getQuestions(this.page,this.pageSize)\n });\n }\n /**\n * @author Cristian Gallo\n * Función para visualizar el dialog detalle y edición de preguntas\n */\n detailQuestion(edit:boolean,id_question){\n const detailRef = this.detailDialog.open(DetallePreguntaComponent,{\n width: '840px',\n disableClose: true,\n data: {edit:edit, id:id_question}\n })\n detailRef.afterClosed().subscribe(result=>{\n if (result == 202) {\n this.getQuestions(this.page,this.pageSize)\n }\n })\n }\n /**\n * @author Cristian Gallo\n * Función para eliminar preguntas\n */\n removeQuestion(id_question){\n Swal.fire({\n icon:'warning',\n title: this.config.actions.remove.title,\n html: '

' + this.config.actions.remove.htmlConfirm + '

' + this.config.actions.remove.htmlBody +'

',\n showCancelButton: true,\n cancelButtonText: this.config.actions.remove.btnCancel,\n confirmButtonText: this.config.actions.remove.btnConfirm,\n reverseButtons: true,\n width: '810px',\n padding: '2em 7em'\n }).then((result)=>{\n if (result.isConfirmed) {\n this.preguntaService.removeQuestion(id_question).subscribe((resp:any)=>{\n if (resp.respuesta.codigo === 202) {\n Swal.fire({\n icon:'success',\n title: this.config.actions.remove.resSuccessTitle,\n text: this.config.actions.remove.resSuccessText,\n showConfirmButton:false,\n timer: 2500\n });\n this.getQuestions(this.page,this.pageSize);\n }else {\n Swal.fire({\n icon: 'error',\n title: this.config.actions.remove.resErrorTitle,\n text: this.config.actions.remove.resErrorText,\n showConfirmButton: false,\n timer: 2500\n })\n }\n },(err:any)=>{\n Swal.fire({\n icon: 'error',\n title: this.config.actions.remove.resError2Title,\n text: this.config.actions.remove.resError2Text,\n showConfirmButton: false,\n timer: 2500\n })\n });\n }\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función para la paginación de la tabla\n */\n pageEvent(event:any){\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getQuestions(this.page,this.pageSize);\n }\n\n filtrar(){\n this.paginator.firstPage();\n this.getQuestions(this.page,this.pageSize);\n }\n\n /**\n * @author Cristian Gallo\n * Función para obtener todas las preguntas creadad y activas\n */\n getQuestions(page,pageSize){\n const params = {\n page: page,\n numeroReg: pageSize,\n pregunta: '',\n fecha: '',\n tipo_pregunta: '',\n idForm: '',\n }\n //Filtros\n if (this.filtroPregunta != \"\") {\n params.pregunta = this.filtroPregunta\n }\n\n if (this.filtroFecha != \"\") {\n if ( this.filtroFecha == null) {\n params.fecha = ''\n }else{\n params.fecha = moment(this.filtroFecha).format('YYYY-MM-DD')\n }\n }\n\n if (this.filtroTipo_pregunta != \"\") {\n if (this.filtroTipo_pregunta == null) {\n params.tipo_pregunta = '';\n }else{\n params.tipo_pregunta = this.filtroTipo_pregunta\n }\n }\n\n if (this.idForm != \"\") {\n params.idForm = this.idForm;\n }\n\n this.preguntaService.getQuestions(params).subscribe((resp:any)=>{\n this.dataSource.data = resp.data\n this.length = resp.total\n this.pageSize = resp.per_page;\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función para obtener los tipos de preguntas existentes\n */\n getTypeQuestions(){\n this.preguntaService.getTypeQuestions().subscribe((resp:any)=>{\n this.tiposPreguntas = resp;\n })\n }\n\n //Control para checkbox\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n //Control para checkbox\n masterToggle() {\n if (this.isAllSelected()) {\n this.selection.clear();\n return;\n }\n\n this.selection.select(...this.dataSource.data);\n }\n\n //Control para checkbox\n checkboxLabel(row?: QuestionInterface): string {\n\n if (!row) {\n return `${this.isAllSelected() ? 'deselect' : 'select'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.id + 1}`;\n }\n\n /**\n * @author Cristian Gallo\n * Función para obtener las filas seleccionadas\n * y envio de las mismas al padre\n */\n selections(){\n this.arraySelection.emit(this.selection.selected);\n this.selection.clear();\n }\n\n cancelar(){\n this.cancelarEvent.emit();\n }\n\n}\n","
\n
\n \n {{config.filters.byQuestion}}\n \n \n \n
\n
\n \n {{config.filters.byDate}}\n \n \n \n \n \n \n
\n
\n \n {{config.filters.byType}}\n \n {{config.filters.all}}\n {{tipo.name}}\n \n \n
\n
\n \n
\n
\n\n
\n
\n \n\n \n \n
\n
\n \n
\n
\n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n
\n \n \n \n \n \n \n {{config.table.createdAt}} {{ element.created_at | date:'dd/MM/yyyy'}} {{config.table.questionType}} {{ element.tipo_pregunta.name }} {{config.table.question}} {{ element.question | cutText}}
{{config.table.nothingToShow}}
\n\n\n \n \n
\n
\n
\n \n \n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AuditoriaComponent } from './auditoria.component';\nimport { AuditoriasComponent } from './modules/auditorias/auditorias.component';\nimport { DetalleAuditoriaComponent } from './modules/auditorias/components/detalle-auditoria/detalle-auditoria.component';\n\nimport { DetalleRetroalimentacionComponent } from './modules/auditorias/components/retroalimentar/components/detalle-retroalimentacion/detalle-retroalimentacion.component';\n\nimport { DetalleControlComponent } from './modules/control/components/detalle-control/detalle-control.component';\nimport { DetalleGrupoComponent } from './modules/control/components/detalle-grupo/detalle-grupo.component';\nimport { ControlComponent } from './modules/control/control.component';\nimport { EditarFormularioComponent } from './modules/inteligencia-negocios/components/editar-formulario/editar-formulario.component';\nimport { InteligenciaNegociosComponent } from './modules/inteligencia-negocios/inteligencia-negocios.component';\nimport { DetalleMatrizComponent } from './modules/matrices/components/detalle-matriz/detalle-matriz.component';\nimport { MatricesComponent } from './modules/matrices/matrices.component';\nimport { MisAuditoriasComponent } from './modules/mis-auditorias/mis-auditorias.component';\nimport { PowerbiComponent } from './modules/powerbi/powerbi.component';\nimport { ReporteriaComponent } from './modules/reporteria/reporteria.component';\nimport { ReporteEncuestaComponent } from './modules/reporte-encuesta/reporte-encuesta.component';\nimport { EliminarAuditoriaComponent } from './modules/eliminar-auditoria/eliminar-auditoria.component';\nimport { CrudTipificacionComponent } from './modules/crud-tipificacion/crud-tipificacion.component';\n\nconst routes: Routes = [\n {path:'', component:AuditoriaComponent},\n {path:'inteligencia-negocios/:tab', component:InteligenciaNegociosComponent},\n {path:'matrices', component:MatricesComponent},\n {path:'auditorias', component:AuditoriasComponent},\n {path:'formulario/:type/:id', component:EditarFormularioComponent},\n {path:'matriz/detail/:id', component:DetalleMatrizComponent},\n {path:'auditoria/detail/:tab/:id', component:DetalleAuditoriaComponent},\n \n {path:'detail-retro/:id', component:DetalleRetroalimentacionComponent},\n\n {path:'control', component:ControlComponent},\n {path:'control/detail/:id', component:DetalleControlComponent},\n {path:'grupo/:id', component:DetalleGrupoComponent},\n {path:'mis-auditorias', component:MisAuditoriasComponent},\n {path:'reporteria', component:ReporteriaComponent},\n {path:'reporte-encuesta', component:ReporteEncuestaComponent},\n {path:'dashboard-powerbi', component:PowerbiComponent},\n {path:'eliminacion', component:EliminarAuditoriaComponent},\n {path:'crud-tipificacion', component:CrudTipificacionComponent},\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class AuditoriaRoutingModule { }\n\n","import { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { empty, Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/internal/operators/catchError';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\n\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClientesService {\n\n CRMURL = environment.CRM_CIAL;\n COMPRAS_URL = environment.COMPRAS_URL;\n RRHH_URL = environment.RRHH_URL;\n\n constructor(private http: HttpClient, private authService: AuthService) {\n\n\n }\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Captura de errores en las peticiones\n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio para busqueda de listado de emepresas\n * @returns json\n */\n getCompany(): Observable {\n return this.http.get(`${this.RRHH_URL}companies`)\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio para busqueda de listado de canales\n * @returns json\n */\n getChannels(): Observable {\n return this.http.get(`${this.CRMURL}getChannel`)\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio para creación de oportunidades\n * @param {json} body json\n * @returns json\n */\n saveOportunities(body): Observable {\n return this.http.post(`${this.CRMURL}saveOportunity`, body)\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio para busqueda de listado de paises\n * @returns json\n */\n getPaises(tpais): Observable {\n let heades = new HttpHeaders().set('Type-content', 'aplication/json')\n return this.http.get(this.CRMURL + 'getCountry/' + tpais, {\n headers: heades\n });\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio para busqueda de municipios por id del pais\n * @param {number} idpais id del pais\n * @returns json\n */\n getMunicipio(idpais: any): Observable {\n let heades = new HttpHeaders().set('Type-content', 'aplication/json')\n return this.http.get(this.CRMURL + 'municipio/' + idpais, {\n headers: heades\n });\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio para busqueda de listado de clientes \n * @returns json\n */\n getClientes(): Observable {\n let heades = new HttpHeaders().set('Type-content', 'aplication/json')\n return this.http.get(`${this.CRMURL}clientes`, {\n headers: heades\n });\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio para busqueda de listado de clientes por filtros\n * @param {string} name nombre cliente \n * @param {number} id_type id tipo de idetificación\n * @param {number} id_number numero de identificación\n * @returns json\n */\n getClientesBy(name, id_type, id_number): Observable {\n const httpOptions = {\n headers: new HttpHeaders().set('Type-content', 'aplication/json'),\n params: new HttpParams()\n .set('name', name || '')\n .set('id_type', id_type || '')\n .set('id_number', id_number || '')\n };\n return this.http.get(`${this.CRMURL}getClientByFilters`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio para busqueda de listado de usuarios con rol comercial\n * @returns json\n */\n getComercialsList(){\n return this.http.get(`${this.CRMURL}getComerciales`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29 \n * Servicio de consulta de listado de usuarios con el rol comercial\n * @param {id} id de la oportunidad a actualizar \n * @param {body} body json | formdata \n * @returns json\n */\n updateOpportunities(id: number, body: any) {\n return this.http.post(`${this.CRMURL}updateOPortunity/${id}`, body).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio para busqueda de lista de contactos por id de cliente\n * @param {number} idClient id cliente\n * @returns json\n */\n getContactsByClient(idClient: number){\n return this.http.get(`${this.CRMURL}getContactByClient/${idClient}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio para busqueda de unidades de facturación\n * @param {number} idOportunidad id oportunidad solo aplica para gestión\n * @returns json\n */\n getUnitFacturation(idOportunidad?) {\n const httpOptions = {\n headers: new HttpHeaders().set('Type-content', 'aplication/json'),\n params: new HttpParams()\n .set('id', idOportunidad || '')\n };\n return this.http.get(`${this.CRMURL}unitfacturation`, httpOptions).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio para busqueda de lineas de servicio\n * @param {number} idOportunidad id de la oportunidad solo aplica para gestión\n * @returns json\n */\n getLineServices(idOportunidad?) {\n const httpOptions = {\n headers: new HttpHeaders().set('Type-content', 'aplication/json'),\n params: new HttpParams()\n .set('id', idOportunidad || '')\n };\n return this.http.get(`${this.CRMURL}serviceline`,httpOptions).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio para crear un cliente\n * @param {json} app json\n * @returns json\n */\n saveCliente(app: any): Observable {\n return this.http.post(`${this.CRMURL}storeClient`, app)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio para actualizar los datos del cliente\n * @param {any} id id cliente\n * @param {json} app json\n * @returns json\n */\n updateCliente(id: any, app: any): Observable {\n //let heades = new HttpHeaders().set('Type-content','application/x-www-form-urlencoded')\n return this.http.post(`${this.CRMURL}updateClient/${id}`, app)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio de cliente por id\n * @param {any} id id cliente\n * @returns json\n */\n searchId(id: any): Observable {\n return this.http.get(`${this.CRMURL}getClientToEdit/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio de busqueda de contacto\n * @param {any} value id \n * @returns json\n */\n searchContacto(value: any): Observable {\n return this.http.get(`${this.CRMURL}searchContacto/` + value)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio de creación de contacto\n * @param {any} app id del contacto \n * @returns json\n */\n saveContacto(app: any) {\n return this.http.post(`${this.CRMURL}contact/create`, app).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio para borrar contacto comercial\n * @param {number} id id del contacto\n * @param {json} body json \n * @returns json\n */\n deleteComercialContact(id: any, body: any = null) {\n return this.http.post(`${this.CRMURL}contact/delete/${id}`, body).pipe(\n catchError(this.handleError)\n );\n }\n}\n\n\n\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { EMPTY } from 'rxjs';\nimport { map, mergeMap, catchError } from 'rxjs/operators';\nimport { CoachingService } from '../../services/coaching.service';\n \n@Injectable()\nexport class SolicitudEffects {\n \n loadAuditorias$ = createEffect(() => this.actions$.pipe(\n ofType('[Solicitud] Load solicitud'),\n mergeMap((data:any) => this.coachingService.getSolicitudById(data.idSolicitud)\n .pipe(\n map(solicitud => ({ type: '[Solicitud] Loaded solicitud', solicitud }))\n ))\n )\n );\n \n constructor(\n private actions$: Actions,\n private coachingService:CoachingService,\n ) {}\n}","import { LiquidationsService } from 'src/app/modules/nomina/services/rest/liquidations.service';\nimport { LiquidationsResponseComponent } from './../liquidations-response/liquidations-response.component';\nimport { DatePipe } from '@angular/common';\nimport { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { CampaignsService } from './../../../../services/rest/campaigns.service';\nimport { UsersService } from 'src/app/modules/ciu/services/rest/users.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\n\n@Component({\n selector: 'app-liquidations',\n templateUrl: './liquidations.component.html',\n styleUrls: ['./liquidations.component.sass']\n})\nexport class LiquidationsComponent implements OnInit {\n\n // MatPaginator Inputs\n length;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n displayedColumns: string[] = ['acciones', 'nombre', 'numero', 'email', 'campana', 'state'];\n dataSource = new MatTableDataSource();\n reportForm: FormGroup;\n Campaings: any;\n filterControl = new FormControl();\n filterControl2 = new FormControl();\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n document: any = '';\n startDate: any = '';\n endDate: any;\n idCampaing: any = 1;\n states: any = [{ id: 1, name: 'Activo' }, { id: 3, name: 'Inactivo' }];\n idState: any = '';\n selected: any = 1;\n\n documents: any = [];\n idTypeDoc: any;\n idTypeDoc2: any;\n\n typeDocument = new FormControl();\n typeDocument2 = new FormControl();\n\n constructor(public dialog: MatDialog,\n private service: CampaignsService,\n public userService: UsersService,\n private liquidations: LiquidationsService,\n private users: CandidatesService) {\n }\n\n ngOnInit() {\n this.service.getAllCampaigns().subscribe(resp => {\n this.Campaings = resp.data;\n });\n this.reportForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n //documento\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.idTypeDoc = resp;\n this.getUsers(this.pageSize, this.page);\n });\n this.typeDocument.setValue(1);\n\n this.filterControl.setValue(1);\n\n this.filterControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.idCampaing = resp;\n this.getUsers(this.pageSize, this.page);\n });\n this.filterControl2.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.idState = resp;\n this.getUsers(this.pageSize, this.page);\n });\n this.service.getAllCampaigns().subscribe(resp => {\n this.Campaings = resp.data;\n });\n this.getUsers(this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-04-12\n * Metodo de paginación\n */\n getUsers(size: number, page: number): void {\n\n this.liquidations.getLiquidationsBy(this.idState, this.idTypeDoc, this.document, this.idCampaing, size, page).subscribe((Response) => {\n this.dataSource.data = Response.data.data;\n this.dataSource.sort = this.sort;\n this.length = Response.data.total;\n this.pageSize = Response.data.per_page;\n });\n\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-04-12\n * Metodo de paginación\n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getUsers(this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-04-12\n * Metodo para ver la HV y otra info del usuario\n */\n viewJustification(element?): void {\n const dialogNewgroup = this.dialog.open(LiquidationsResponseComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getUsers(this.pageSize, this.page);\n });\n\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-04-14\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e) {\n this.resetPaginator();\n this.document = e;\n this.getUsers(this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-04-14\n * Metodo de descarga de reporte\n */\n downloadReport() {\n this.liquidations.getReport(this.idState, this.idTypeDoc, this.document, this.idCampaing).subscribe(resp => {\n importedSaveAs(resp, 'reporte_liquidaciones.xlsx');\n });\n }\n\n resetPaginator(): void {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n }\n\n}\n","
\n
\n

Liquidación

\n

En este espacio podrás revisar y/o gestionar
liquidaciones, no olvides,\"El respeto y la\n empatiá son clave\"

\n
\n\n
\n\n \n Filtrar por estado\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n \n Filtrar por identificación\n \n \n {{item.key}}\n \n \n \n Filtrar por campaña\n \n \n {{item?.name}}\n \n \n \n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n Nombre trabajador {{element.name}}Número de identificación{{element.documento}} Email {{element.email}} Campaña{{element?.campaign?.name}} Estado \n Activo\n Inactivo\n
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n\n
\n\n
\n\n
\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { EMPTY } from 'rxjs';\nimport { map, mergeMap, catchError } from 'rxjs/operators';\nimport { AuditoriaService } from 'src/app/modules/calidad/services/auditoria.service';\n \n@Injectable()\nexport class AuditoriasEffects {\n \n loadAuditorias$ = createEffect(() => this.actions$.pipe(\n ofType('[Auditoria] Load auditoria'),\n mergeMap((data:any) => this.auditoriaService.getRetroalimentacionById(data.idAuditoria)\n .pipe(\n map((auditorias:any) => ({ type: '[Auditoria] Loaded auditoría', auditoria: auditorias }))\n ))\n )\n );\n \n constructor(\n private actions$: Actions,\n private auditoriaService:AuditoriaService,\n ) {}\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'maxText'\n})\nexport class MaxTextPipe implements PipeTransform {\n\n transform(str:string, limit:number, endDots?:boolean): string {\n\n if(str.length >= limit){\n let stringFormat = str.substring(0, (limit - 3));\n if(endDots){\n return stringFormat + \"...\";\n }else{\n return stringFormat \n }\n }else{\n\n return str;\n }\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { RequestsService } from './../../../services/requests.service';\nimport { ModalDeleteComponent } from './../modal-delete/modal-delete.component';\n\nimport { ModalApproveComponent } from './../modal-approve/modal-approve.component';\nimport { ModalAssignRecruiterComponent } from './../modal-assign-recruiter/modal-assign-recruiter.component';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { async } from '@angular/core/testing';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { MatTableDataSource } from '@angular/material/table';\n\n@Component({\n selector: 'app-modal-validate',\n templateUrl: './modal-validate.component.html',\n styleUrls: ['./modal-validate.component.sass']\n})\nexport class ModalValidateComponent implements OnInit {\n\n\n\n displayedColumns: string[] = ['name', 'id_number', 'email', 'actions'];\n\n dataSource: MatTableDataSource;\n responsive = true;\n cols = 1;\n user;\n canEdit= false\n editForm= false\n formSection =[\n {\n name_section:null,\n fields: null,\n type_section: 1,\n collapse: false,\n duplicar: false,\n },\n ]\n constructor(@Inject(MAT_DIALOG_DATA) public datos: any,\n public dialogRef: MatDialogRef,\n private serviceBpms: RequestsService,\n public dialog: MatDialog,\n public alertService: AlertsService,\n private authService: AuthService) {\n this.user = this.authService.getUser();\n\n }\n request: any;\n\n ngOnInit(): void {\n this.serviceBpms.consultarSeguimientoSolicitud(this.datos.item.id).subscribe(response => {\n this.request = response;\n if(this.request.request_state_id != 2 && this.request.request_type_id == 2){\n this.canEdit= true\n }\n this.dataSource = new MatTableDataSource(response.candidates);\n });\n }\n\n close(): void {\n this.dialogRef.close();\n }\n deleteRequest(): void {\n const item = this.datos.item;\n item.idEstadoSolicitud = 2;\n\n const deleteDialog = this.dialog.open(ModalDeleteComponent, {\n width: '60%',\n data: {item},\n disableClose: true,\n });\n\n deleteDialog.afterClosed().subscribe((deleted) => {\n this.dialogRef.close(deleted);\n });\n }\n\n editRequest(): void {\n this.canEdit= false\n this.editForm = true\n this.formSection =[\n {\n name_section:null,\n fields: null,\n type_section: 1,\n collapse: false,\n duplicar: false,\n },\n ]\n this.serviceBpms.consultarSolicitudEditar(this.datos.item.id).subscribe((respuesta: any) => {\n this.formSection[0].name_section = `Editar Solicitud`;\n let formulario = JSON.parse(respuesta.form)\n for ( let i = 0; i < formulario.length; i++) {\n if(formulario[i].key == 'funciones'){\n formulario.splice(i,1);\n }\n }\n this.formSection[0].fields = formulario\n })\n }\n editarSolicitud(res) {\n let formulario = res.answer[0]\n const salary = formulario.asignacionSalarial;\n formulario.asignacionSalarial = salary.replaceAll(',', '');\n\n const solicitud = {\n infoSolicitud: JSON.stringify(formulario),\n };\n\n this.serviceBpms.editarSolicitud(this.datos.item.id, solicitud).subscribe((respuesta: any) => {\n this.alertService.alertSuccess('Actualizado', 'Su solicitud se ha actualizado correctamente');\n this.editForm= false\n this.ngOnInit()\n });\n\n }\n closeEdit(refreshRequests) {\n if(refreshRequests == true){\n this.editForm= false\n if(this.request.request_state_id != 2 && this.request.request_type_id == 2){\n this.canEdit= true\n }\n }\n }\n\n approveRequest(): void {\n // Administrador\n\n if (this.request.request_type_id === 1) {\n this.alertService.alertConfirm('¿Está seguro que desea generar esta solicitud?').then((result) => {\n if (result.isConfirmed) {\n // se asignada automaticamente al administrador\n const params = {\n userAssignedId: this.user.rrhh_id\n };\n this.serviceBpms.appovalRequest(this.request.id, params).subscribe( () => {\n this.alertService.alertSuccess('Aprobada', 'Su solicitud se ha aprobado correctamente');\n this.dialogRef.close(true);\n });\n }});\n } else {\n\n this.alertService.alertConfirm('¿ESta seguro que desea aprobar esta solicitud?').then(e => {\n if(e.isConfirmed){\n const params = {\n userAssignedId: this.user.rrhh_id\n };\n this.serviceBpms.appovalRequest(this.request.id, params).subscribe( () => {\n this.alertService.alertSuccess('Aprobada', 'Solicitud aprobada');\n this.dialogRef.close(true);\n });\n }\n if(e.isDenied){\n this.dialogRef.close(true);\n }\n });\n }\n }\n\n assignRecruiter(): void {\n const assignRecruiterDialog = this.dialog.open(ModalAssignRecruiterComponent, {\n data: {id: this.datos.item.id},\n width: '80%',\n disableClose: true\n });\n\n assignRecruiterDialog.afterClosed().subscribe(() => {\n this.dialogRef.close(true);\n });\n }\n\n\n setCommentary( key,candidateId,commenary ){\n\n\n this.serviceBpms.setCommenty({\n 'requestId':this.request.id,\n 'commentType':key,\n 'candidateId':candidateId,\n 'comment':commenary}).subscribe((respuesta: any) => {\n this.alertService.alertSuccess('Actualizado',\n 'Su solicitud se ha actualizado correctamente');\n this.ngOnInit();\n });\n\n }\n}\n","\n
\n

Detalles solicitud

\n \n
\n\n\n\n
\n Estado actual  \n

Pendiente por aprobar

\n

Solicitud pendiente por asignar a proceso de reclutamiento

\n
\n
\n
\n
\n Consecutivo\n

{{request?.code}}

\n
\n
\n Fecha de creación\n

{{request?.created_at | date:'dd/MM/yyyy' }}

\n
\n
\n Cargo\n

{{request?.request_data.cargo}}

\n
\n
\n Ciudad\n

{{request?.request_data.cities.name}}

\n
\n
\n Jornada de Trabajo\n

{{request?.request_data.jornadaTrabajo.name}}

\n
\n
\n Jornada de Trabajo Inicio\n

{{request?.request_data.horarioTrabajoInicio}}

\n
\n
\n Jornada de Trabajo Fin\n

{{request?.request_data.horarioTrabajoFin}}

\n
\n
\n Disponibilidad\n

{{request?.request_data.disponibilidad.name}}

\n
\n
\n Campaña\n

{{request?.request_data.campana.name}}

\n
\n
\n Empresa\n

{{request?.request_data.companies.name}}

\n
\n
\n Estado solicitud\n

{{request?.state}}

\n
\n
\n Personas Solicitadas\n

{{request?.request_data.personalRequerido}}

\n
\n
\n Personas Requeridas\n

{{request?.request_data.personalSolicitado}}

\n
\n
\n Porcentaje Comisión\n

{{request?.request_data.porcentajeComision}} %

\n
\n
\n Salario\n

{{request?.request_data.asignacionSalarial | currency:'COP'}}

\n
\n
\n Motivo\n

Incremento

\n

Reemplezo

\n
\n
\n A quién reemplaza\n Correo de aprobación\n

{{request?.request_data['correo-de-aprobacion2']}}

\n

{{request?.request_data['a-quien-reemplaza1']}}

\n
\n
\n Tipo de contrato\n

{{request?.request_data.tipoContrato.name}}

\n
\n
\n Modalidad Labor\n

{{request?.request_data.modalidadLabor.name}}

\n
\n
\n Duración de la capacitación\n

{{request?.request_data.duracionCapacitacion.name}} días

\n
\n
\n Remuneracion Capacitación\n

{{request?.request_data.remuneracionCapacitacion.name}}

\n
\n
\n Lugar de trabajo\n

{{request?.request_data.sites.name}}

\n
\n
\n Inicio de operación\n

{{request?.request_data.iniciooperacion | date}}

\n
\n
\n Formación académica\n

{{request?.request_data.formacionAcademica}}

\n
\n
\n Experiencia Requerida\n

{{request?.request_data.experienciaRequerida}}

\n
\n
\n Funciones\n

{{request?.request_data.funciones}}

\n
\n\n
\n Porcentaje Comision\n

{{request?.request_data.porcentajeComision}}

\n
\n
\n Solicitante\n

{{request?.applicant}}

\n
\n
\n Área solicitante\n

{{request?.request_data.cargoSolicitante.name}}

\n
\n
\n Área solicitante\n

{{request?.request_data.areaSolicitante}}

\n
\n
\n Responsable actual\n

{{request?.userResponsable}}

\n
\n
\n Observaciones\n

{{request?.request_data.observaciones}}

\n
\n
\n
\n

Candatos Asociados

\n \n\n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n\n\n \n \n \n \n\n \n \n\n \n \n \n
Nombre {{row.name}} # Documento {{row.documentId}} Email {{row.email}} Acctiones \n \n \n {{row.comentaryState}}\n
No hay candidatos disponibles.
\n\n\n
\n
\n
\n \n
\n\n
\n\n
\n\n\n\n \n \n\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { HistoryService } from 'src/app/modules/speech-analytics/services/history.service';\nimport { ViewService } from 'src/app/modules/speech-analytics/services/view.service';\nimport Swal from 'sweetalert2';\nimport { AdherenciaModalComponent } from '../../search-speech/adherencia-modal/adherencia-modal.component';\nimport { AnalyticsModalComponent } from '../../search-speech/analytics-modal/analytics-modal.component';\nimport { AudioPlayerComponent } from '../../search-speech/audio-player-modal/audio-player-modal.component';\n\n@Component({\n selector: 'app-search-history-nodirigido',\n templateUrl: './search-history-nodirigido.component.html',\n styleUrls: ['./search-history-nodirigido.component.sass'],\n})\nexport class SearchHistoryNodirigidoComponent implements OnInit {\n /**\n * Variables de paginacion\n */\n pageSizeOptions: number[] = [5, 10, 20, 50, 100];\n configPaginator: any = { length: 0, pageSize: 5, pageIndex: 1, previousPageIndex: 0 };\n\n /**\n * Variable de filtros\n */\n formFilters: FormGroup;\n isFiltersAdvancedActive: boolean = false;\n\n /**\n * Selectores\n */\n campaigns_list: any[] = [];\n groups: any[] = [];\n skills: any[] = [];\n tipifications: any[] = [];\n type_call: any[] = [{ type_call: 'Inbound' }, { type_call: 'Outbound' }];\n listStrategys: any[] = [];\n\n /**\n * Columnas de tablas\n */\n displayedColumns: string[] = [\n 'checbox',\n 'date',\n 'user_soul',\n 'name_file',\n 'time_duration',\n 'audio',\n 'analisis',\n 'adherencia',\n ];\n\n /**\n * Cabeceras de tablas\n */\n\n tHeaders:any={\n checbox: \"\", date:'Fecha', user_soul: \"Usuario\", \n name_file: \"Nombre audio\", time_duration: 'Tiempo', audio:'Audio', \n analisis:'Análisis', adherencia:'Adherencia'\n }\n\n /**\n * Variables de seleccion\n */\n selection = new SelectionModel(true, []);\n\n //selectores\n selectedSearch: Set = new Set(); //selest activos busqueda\n\n /**\n * Variables de tabla\n */\n @ViewChild(MatSort) sort: MatSort;\n dataSource = new MatTableDataSource();\n\n strategyControl: FormControl = new FormControl(null);\n\n rrhh_id_user: any;\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n ngOnInit(): void {\n this.filterUserCampaign();\n this.initFormFilters();\n }\n\n constructor(\n private historyService: HistoryService,\n private viewservice: ViewService,\n private dialog: MatDialog\n ) {}\n\n /**\n * Método que se encarga de inicializar los controles apra los filtros\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n initFormFilters(): void {\n this.formFilters = new FormGroup({\n dateStart: new FormControl(null, Validators.required),\n dateEnd: new FormControl(null, Validators.required),\n });\n }\n\n /**\n * Metodo validar rango de fecha\n * @author Yeison sepulveda\n * @createdate 30-08-2024\n * @returns void {void} \n */\n myDateFilter = (d: Date | null): boolean => {\n const today = new Date();\n return d ? d <= today : true;\n };\n\n /**\n * Método para limpiar la selección basado en un parámetro\n * @author Yeison Sepulveda\n * @param param\n */\n searchSelection() {\n this.configPaginator.pageIndex = 0;\n this.selectedSearch.clear();\n this.dataSource.data = [];\n this.paginator.firstPage();\n this.search();\n }\n\n /**\n * Método que determinao si los checbox estan seleccionados o no en la tabal de grabaciones\n * @author Juan David Guerrero Vargas\n * @returns {Boolean}\n */\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n /**\n * Metodo para para seleccionar todos los elementos en la página actual\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n selectAll(): void {\n if (this.isAllSelected()) {\n this.dataSource.data.forEach((row) => {\n this.selection.deselect(row);\n this.selectedSearch.delete(row.recording_id);\n });\n } else {\n this.dataSource.data.forEach((row) => {\n if (\n !this.selection.selected.some(\n (selectedItem: any) =>\n selectedItem.recording_id === row.recording_id\n )\n ) {\n this.selection.select(row);\n this.selectedSearch.add(row.recording_id);\n }\n });\n }\n }\n\n toggleSelection(row: any): void {\n if (this.selection.isSelected(row)) {\n this.selection.deselect(row);\n this.selectedSearch.delete(row.recording_id);\n } else {\n this.selection.select(row);\n this.selectedSearch.add(row.recording_id);\n }\n }\n\n /**\n * Recuperar los selec seleccionados en distintas paginas\n * @author Yeison Sepulveda\n * @param param\n */\n syncSelectionWithStored(param: string) {\n if (param === 'search') {\n this.selection.clear();\n this.dataSource.data.forEach((row) => {\n if (this.selectedSearch.has(row.recording_id)) {\n this.selection.select(row);\n }\n });\n }\n }\n\n /**\n * Metdodo que se encarga de obtener la cantidad de registros en la tabla\n * @author Juan David Guerrero Vargas\n */\n get getTotalDataSource(): number {\n return this.dataSource.data.length;\n }\n\n /**\n * Metodo que se encarga de identificar sis e peude o no relziar la consutla\n */\n get isAviableSearch(): boolean {\n let endDate = this.formFilters.get('dateEnd').value;\n if (\n endDate !== null &&\n endDate !== ''\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Metodo trae las campañas asociadas al usuario\n * @author Yeison sepulveda\n * @createdate 06/05/2023\n * @returns void {void}\n */\n\n filterUserCampaign(): void {\n this.historyService.getCampaigns().subscribe(\n (res) => {\n this.campaigns_list = res.data;\n },\n (error) => {\n this.campaigns_list = [];\n }\n );\n }\n\n /**\n * Método para el consumo y busqueda por los selectores\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n search(): void {\n const filters = {\n start_time: this.formFilters.get('dateStart').value,\n end_time: this.formFilters.get('dateEnd').value,\n };\n\n this.historyService.localSearchDataPaginate(filters, this.configPaginator).subscribe(\n (response) => {\n const data = response.data.data.map((registro: any) => {\n let adherencia;\n if (\n (registro.adherence_percentage === null || registro.adherence_percentage === \"\") &&\n (registro.not_adherence_percentage === null || registro.not_adherence_percentage === \"\")\n ) {\n adherencia = null;\n } else {\n adherencia = `${registro.adherence_percentage}% / ${registro.not_adherence_percentage}%`;\n }\n \n const fecha = new Date(registro.date);\n const year = fecha.getFullYear();\n const month = (fecha.getMonth() + 1).toString().padStart(2, '0');\n const day = fecha.getDate().toString().padStart(2, '0');\n const formattedDate = `${year}-${month}-${day}`;\n \n return {\n checkbox: false,\n recording_id: registro.recording_id,\n date: formattedDate,\n user_soul: registro.user, \n name_file: registro.name_file,\n time_duration: registro.time_duration,\n audio: registro.audio,\n analisis: registro.analisis,\n adherencia: adherencia,\n };\n });\n \n this.dataSource.data = data;\n this.dataSource.sort = this.sort;\n this.configPaginator.length = response.data.total;\n this.syncSelectionWithStored('search');\n },\n (error) => {\n console.error('Error en la solicitud:', error);\n }\n );\n }\n\n /**\n * Método para convertir la diferencia de tiempo entre dos fechas en formato HH:mm:ss.\n * @param startTime La fecha de inicio.\n * @param endTime La fecha de fin.\n * @returns La diferencia de tiempo formateada en HH:mm:ss.\n * @author Yeison Sepulveda\n * @createdate 2024-04-23\n */\n\n convertTimeToHHMMSS(startTime: Date, endTime: Date): string {\n const diferenciaMs = Math.abs(endTime.getTime() - startTime.getTime());\n const tiempoDiferencia = new Date(diferenciaMs);\n\n //extraer\n const horas = tiempoDiferencia.getUTCHours().toString().padStart(2, '0');\n const minutos = tiempoDiferencia\n .getUTCMinutes()\n .toString()\n .padStart(2, '0');\n const segundos = tiempoDiferencia\n .getUTCSeconds()\n .toString()\n .padStart(2, '0');\n\n return `${horas}:${minutos}:${segundos}`;\n }\n\n /**\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * Método que pagina la informacion de la tabla.\n * @param $event Evento emitido por el paginador.\n */\n changePage($event: PageEvent): void {\n this.configPaginator.pageSize = $event.pageSize;\n this.configPaginator.pageIndex = $event.pageIndex + 1;\n this.search();\n }\n\n /**\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * Metodo para abrir el modal reproductor audio\n */\n openAudioModal(recording_id: any): void {\n const dialogRef = this.dialog.open(AudioPlayerComponent, {\n width: '800px',\n data: { recordingId: recording_id },\n });\n }\n\n /**\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * Metodo para abrir el modal de analisis\n */\n openAnalyticsModal(recording_id: any, origen: any): void {\n const dialogRef = this.dialog.open(AnalyticsModalComponent, {\n width: '800px',\n data: { recordingId: recording_id },\n });\n }\n\n /**\n * Método para abrir el modal de resultados de adherencia\n * @author Yeison Sepulveda\n * @createdate 2024-04-30\n */\n AdherenciaModal(recording_id: any): void {\n const dialogRef = this.dialog.open(AdherenciaModalComponent, {\n width: '800px',\n data: { recordingId: recording_id },\n });\n }\n /**\n * Método enviar mensaje swal de error de la grabación\n * @author Yeison Sepulveda\n * @createdate 2024-04-23\n */\n\n errorAnalyticModal() {\n Swal.fire({\n title: '¡Aviso!',\n text: 'Si la transcripción no está disponible, por favor verifica el audio, podría carecer de voz o ser solo tonos. ¡Gracias por tu atención! ',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n\n\t/**\n\t * Método para tratar los datos que retorna el servicio y descargar el archivo.\n\t * @param data data respondida por el servicio\n\t * @param fileName nombre con el que se va a descargar el archivo.\n\t * @param file_type Tipo del archivo \n\t * @author Juan Carlos Alonso\n\t * @createdate 2021-07-27\n\t * @updatedate 2022-12-13 \n\t */\n fileTransition(data: any, fileName: string, file_type: string = ''): void {\n let blob = new Blob([data], { type: file_type });\n let downloadURL = file_type\n ? window.URL.createObjectURL(blob)\n : window.URL.createObjectURL(data);\n let link = document.createElement('a');\n link.href = downloadURL;\n link.download = fileName;\n link.click();\n }\n\n /**\n * Descargar reporte de busqueda excel\n * @author Yeison Sepulveda\n * @createdate 2024-04-04\n */\n downloadReport(type: 'analysis' | 'strategy') {\n let filters: any = {};\n\n if (type === 'analysis') {\n filters = {\n recording_ids: this.dataSource.data\n .filter((record) => record?.analisis === 'COMPLETADO')\n .map((record) => record['recording_id']),\n type: 1,\n };\n } else if (type === 'strategy') {\n filters = {\n recording_ids: this.selection.selected.map(\n (recording) => recording['recording_id']\n ),\n type: 2,\n };\n }\n\n this.viewservice.downloadReport(filters).subscribe(\n (response: any) => {\n this.fileTransition(response, 'reporte.xlsx');\n },\n (error) => {\n console.error('Error en la solicitud:', error);\n }\n );\n }\n}\n","
\n
\n
\n\n
\n \n Fecha\n \n \n \n \n \n \n Por\n favor, seleccione un rango de fechas\n \n
\n\n
\n \n
\n
\n
\n \n
\n\n
\n\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n
{{ tHeaders[column] }} {{ element[column] }} \n \n \n \n {{ tHeaders[column] }} \n \n Pendiente\n \n \n \n \n \n \n \n \n \n {{ tHeaders[column] }} \n \n {{ tHeaders[column] }}\n \n {{ element[column] }}\n \n \n No Aplica\n \n
No existe información relacionada
\n\n \n \n\n
\n
\n\n
","import { Component, OnInit, Input } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { MatDatepickerInput } from '@angular/material/datepicker';\nimport { MatSelectChange } from '@angular/material/select';\nimport { PageEvent } from '@angular/material/paginator';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { EmailService } from '../../services/email.service';\nimport { StateService } from '../../services/state.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AssignEmailComponent } from '../assign-email/assign-email.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\nimport { TrayService } from '../../services/tray.service';\nimport { MatOptionSelectionChange } from '@angular/material/core';\nimport { MoveEmailTrayComponent } from '../move-email-tray/move-email-tray.component';\nimport { MoveEmailAccountComponent } from '../move-email-account/move-email-account.component';\nimport { ManagementHistoryViewComponent } from '../management-history-view/management-history-view.component';\n\n@Component({\n selector: 'app-manager-list-emails',\n templateUrl: './manager-list-emails.component.html',\n styleUrls: ['./manager-list-emails.component.css']\n})\nexport class ManagerListEmailsComponent implements OnInit {\n @Input() titlePage: string = '';\n @Input() descriptionPage: string = '';\n @Input() buttonActionText: string = '';\n @Input() typeManagerList: string = '';\n @Input() showButtonMoveMassiveAccount: boolean = false;\n advanceFilters: any = {\n email_list: null,\n email_list_id: null,\n id_user_asignado: null,\n id_email_state: null,\n date_in: null,\n date_end: null,\n id_bandeja: null,\n supervisor: true,\n };\n dataTable: any[] = [];\n emailsTableSelected: any[] = [];\n configColumnsTable: any[] = [\n { name: '', key: 'actions' },\n { name: 'Correo electrónico', key: 'para' },\n { name: 'Asunto', key: 'asunto' },\n { name: 'Estado', key: 'state_email' },\n { name: 'Bandeja', key: 'nombre_bandeja' },\n { name: 'Fecha - Hora', key: 'fecha_Hora' }\n\n ];\n configPaginator: any = { length: 0, pageIndex: 0, pageSize: 10 };\n keysColumnsTable: string[] = [];\n states: any[] = [];\n emailsConfig: any[] = [];\n agents: any[] = [];\n checkAllEmails: boolean = false;\n traysAndFolders: any[] = [];\n filterTraysAndFolders: any[] = [];\n\n constructor(\n private location: Location,\n private stateService: StateService,\n private emailService: EmailService,\n private matDialog: MatDialog,\n private authService: AuthService,\n private trayService: TrayService\n ) { }\n\n ngOnInit(): void {\n this.keysColumnsTable = this.configColumnsTable.map(item => item.key);\n this.getEmailsConfigByRol();\n this.getStates();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-08-25\n * Metodo que redirecciona a la pagina anterior visitada. \n */\n backToPreviousPage(): void {\n this.location.back();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-25\n * Metodo que actualiza el filtro de cuenta de correo. \n * @param $event Evento emitido por el campo. \n */\n onChangeSelectAccountEmail($event: MatSelectChange): void {\n this.advanceFilters.email_list_id = $event.value;\n this.advanceFilters.id_user_asignado = null;\n this.advanceFilters.id_bandeja = null;\n this.emailService.getConfigEmailByUser(null, this.advanceFilters.email_list_id, 'false').subscribe(res => {\n this.agents = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-25\n * Metodo que actualiza el filtro de estado. \n * @param $event Evento emitido por el campo. \n */\n onChangeSelectState($event: MatSelectChange): void {\n this.advanceFilters.id_email_state = $event.value;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-25\n * Metodo que actualiza el filtro de fecha inicial. \n * @param $event Evento emitido por el campo. \n */\n onChangeFilterDateStart($event: MatDatepickerInput): void {\n this.advanceFilters.date_in = $event.value;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-25\n * Metodo que actualiza el filtro de fecha final. \n * @param $event Evento emitido por el campo. \n */\n onChangeFilterDateEnd($event: MatDatepickerInput): void {\n this.advanceFilters.date_end = $event.value;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-25\n * Metodo que trae los correos registrados en el sistema. \n */\n getEmails(resetPage: boolean = false): void {\n this.checkAllEmails = false;\n this.emailsTableSelected = [];\n if (resetPage) this.configPaginator.pageIndex = 0;\n this.advanceFilters.email_list = `[${this.advanceFilters.email_list_id}]`;\n this.emailService.getEmails(this.configPaginator, this.advanceFilters).subscribe(res => {\n this.dataTable = res.data.data;\n this.configPaginator.length = res.data.total;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-25\n * Metodo que actualiza la lista de correos seleccionados en la tabla.\n * @param $event Evento emitido por el checkbox. \n */\n onChangeCheckboxAllSelected($event: MatCheckboxChange): void {\n this.emailsTableSelected = $event.checked ? this.dataTable.filter(item => item.state_email !== 'Cerrado') : [];\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-25\n * Metodo que actualiza la lista de correos seleccionados en la tabla.\n * @param $event Evento emitido por el checkbox.\n * @param email Informacion del email seleccionado. \n */\n onChangeCheckboxSelected($event: MatCheckboxChange, email: any): void {\n if ($event.checked) this.emailsTableSelected.push(email);\n else this.emailsTableSelected = this.emailsTableSelected.filter(item => item.id !== email.id);\n const totalEmailsCount = this.dataTable.filter(item => item.state_email !== 'Cerrado');\n this.checkAllEmails = this.emailsTableSelected.length === totalEmailsCount.length ? true : false;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-25\n * Metodo que valida si un correo esta o no dentro de la lista de correos seleccionados.\n * @param email Informacion del email seleccionado. \n */\n ifSelectedMail(email: any): boolean {\n return this.emailsTableSelected.filter(item => item.id === email.id).length > 0 ? true : false;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-25\n * Metodo que emite el cambio sobre la configuracion de la paginacion.\n * @param $event Evento emitido por el paginador. \n */\n onChangePage($event: PageEvent): void {\n this.configPaginator = $event;\n this.getEmails();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-26\n * Metodo que retorna los estados registrados en el sistema. \n */\n getStates(): void {\n this.stateService.getStates().subscribe(res => {\n this.states = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-26\n * Metodo que limpia el valor de los filtros avanzados. \n */\n clearValuesAdvanceFilters(): void {\n this.advanceFilters.email_list = null;\n this.advanceFilters.email_list_id = null;\n this.advanceFilters.id_user_asignado = null;\n this.advanceFilters.id_email_state = null;\n this.advanceFilters.date_in = null;\n this.advanceFilters.date_end = null;\n this.advanceFilters.id_bandeja = null;\n this.advanceFilters.supervisor = true;\n this.dataTable = [];\n this.configPaginator.pageIndex = 0;\n this.traysAndFolders = [];\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-26\n * Metodo que abre la modal para reasignar los correos o para mover correos entre bandejas o para mover correos a otras cuentas. \n */\n onClickOpenDialogManager(): void {\n if (this.typeManagerList === 'reassignment-email') this.openDialogAssignEmail();\n else if (this.typeManagerList === 'move-email') this.openDialogMoveEmailTray();\n else if (this.typeManagerList === 'move-email-account') this.openDialogMoveEmailAccount();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que setea el filtro del asesor seleccionado.\n * @param $event Evento emitido por el select del formulario. \n */\n onChangeSelectedAdviser($event: MatSelectChange): void {\n this.advanceFilters.id_user_asignado = $event.value;\n this.getTraysAndFoldersByUser();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que actualiza el filtro de bandeja. \n * @param $event Evento emitido por el campo.\n * @param value Id de la bandeja seleccionada. \n */\n onChangeSelectTray($event: MatOptionSelectionChange, value: number): void {\n this.advanceFilters.id_bandeja = value;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-26\n * Metodo que consulta las bandejas asignadas al usuario seleccionado.\n */\n getTraysAndFoldersByUser(): void {\n this.traysAndFolders = [];\n this.filterTraysAndFolders = [];\n this.trayService.getTraysByUser(this.advanceFilters.id_user_asignado, 1).subscribe(resTrays => {\n const trays = resTrays.data.map((item: any) => { return { id: item.id_bandeja, name: item.name, idEmailConfig: item.id_email_config } });\n this.traysAndFolders.push({ name: 'Bandejas', list: trays });\n if (this.showButtonMoveMassiveAccount) this.traysAndFolders[0].list = this.traysAndFolders[0].list.filter((item: any) => (item.name === 'Recibidos' || item.name === 'Gestión prioritaria') && item.idEmailConfig === 0);\n this.trayService.getTraysByUser(this.advanceFilters.id_user_asignado, 2).subscribe(resFolders => {\n const folders = resFolders.data.map((item: any) => { return { id: item.id_bandeja, name: item.name } });\n this.traysAndFolders.push({ name: 'Carpetas', list: folders });\n this.filterTraysAndFolders.push({ name: 'Bandejas', list: trays.filter((item: any) => item.idEmailConfig !== 0) });\n this.filterTraysAndFolders.push({ name: 'Carpetas', list: folders });\n });\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-30\n * Metodo que muestra la modal para asignar un correo a un asesor.\n */\n openDialogAssignEmail(): void {\n this.matDialog.open(AssignEmailComponent, {\n width: '50%',\n autoFocus: false,\n panelClass: 'dialog-padding-email-reassignment',\n data: {\n title: 'Reasignación de correos',\n email: this.emailsTableSelected,\n isEmailReassignment: true,\n configEmailsSelected: this.advanceFilters.email_list_id\n }\n }).afterClosed().subscribe(res => {\n if (res) {\n this.getEmails();\n this.emailsTableSelected = [];\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-30\n * Metodo que muestra la modal para mover un correo a una bandeja especifica.\n */\n openDialogMoveEmailTray(): void {\n const filterByIdTraysAndFolders = [... this.filterTraysAndFolders];\n filterByIdTraysAndFolders[0].list = filterByIdTraysAndFolders[0].list.filter((item: any) => item.id !== this.advanceFilters.id_bandeja);\n filterByIdTraysAndFolders[1].list = filterByIdTraysAndFolders[1].list.filter((item: any) => item.id !== this.advanceFilters.id_bandeja);\n this.matDialog.open(MoveEmailTrayComponent, {\n width: '50%',\n autoFocus: false,\n panelClass: 'dialog-padding-move-email',\n data: {\n traysAndFolders: filterByIdTraysAndFolders,\n emails: this.emailsTableSelected.map(item => item.id)\n }\n }).afterClosed().subscribe(res => {\n if (res) {\n this.getTraysAndFoldersByUser();\n this.getEmails();\n this.emailsTableSelected = [];\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-30\n * Metodo que muestra la modal para mover un correo a una cuenta especifica.\n * @param massiveMoveEmails Determina si es masiva o no el movimiento de correos entre cuentas. \n */\n openDialogMoveEmailAccount(massiveMoveEmails: boolean = false): void {\n const filterEmailsConfig = this.emailsConfig.filter(item => item.id !== this.advanceFilters.email_list_id);\n this.matDialog.open(MoveEmailAccountComponent, {\n width: '50%',\n autoFocus: false,\n panelClass: 'dialog-padding-move-email-account',\n data: {\n emails: this.emailsTableSelected.map((item: any) => item.id),\n emailsAccount: filterEmailsConfig,\n isMassive: massiveMoveEmails,\n idAccountEmailSelected: this.advanceFilters.email_list_id,\n idTraySelected: this.advanceFilters.id_bandeja\n }\n }).afterClosed().subscribe(res => {\n if (res) {\n this.getTraysAndFoldersByUser();\n this.getEmails();\n this.emailsTableSelected = [];\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-09-09\n * Metodo que se encarga de abrir el detalle del correo\n * @param email correo seleccionado de la tabla.\n */\n showEmailHistory(email: any): void {\n this.emailService.getEmailById(email).subscribe(res => {\n this.matDialog.open(ManagementHistoryViewComponent, {\n width: '95%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-management-history-view',\n data: {\n management: res.data,\n toPreview: true,\n showButtonPrint: true,\n showButtonAddEmail: false,\n showDetails: true\n }\n });\n });\n }\n}","
\n
\n \n Regresar\n
\n
\n
\n {{ titlePage }}\n
\n
\n

{{ descriptionPage }}

\n
\n
\n
\n
\n \n Cuenta de correo\n \n {{ email.name\n }}\n \n \n
\n
\n \n Agente\n \n Correos sin asignar\n {{ agent.name_user_asignado }}\n \n \n
\n
\n \n Bandejas y carpetas\n \n \n \n {{ item.name }}\n \n \n \n \n
\n
\n
\n
\n \n Estado\n \n {{ state.name }}\n \n \n
\n
\n \n Rango de fechas\n \n \n \n \n \n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
0\" class=\"col-md-3\">\n \n
\n \n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n  \n \n {{ column.name }} {{ element[column.key] | limitText:30 }}
No existe información relacionada
\n \n \n
\n
\n
\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Templates } from '../modules/chat/models/templates'\n\n@Pipe({\n name: 'filtertemplate'\n})\nexport class FiltertemplatePipe implements PipeTransform {\n\n transform( template: Templates[], page: number = 0 ): Templates[] {\n console.log ('AQUI ESTOY ********', template)\n return template.slice(page, page + 5);\n }\n\n}\n","/* (ignored) */","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse,\n HttpParams,\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CrudService {\n\n constructor(private httpClient: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-07-16\n * Metodo que retorna un posible error al llamado de una peticion HTTP.\n * @param error Informacion del error\n */\n handleError(error: HttpErrorResponse): Observable {\n const dataError = { status: error.status, message: error.message };\n return throwError(() => dataError);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-07-16\n * Metodo que ejecuta una peticion HTTP por GET.\n * @param url URL de la peticion.\n * @param filters Posibles filtros generados sobre la peticion.\n * @param paginator Paginacion sobre las tablas.\n * @param keysPaginator Nombres de las keys para las pagionaciones en los back.\n */\n getData({ url, filters = null, paginator = null, responseType = 'json', keysPaginator = ['page', 'perPage'] }): Observable {\n let params = new HttpParams();\n if (paginator) {\n params = params.append(keysPaginator[0], paginator.pageIndex + 1)\n .append(keysPaginator[1], paginator.pageSize);\n }\n if (filters) {\n for (const key in filters) {\n if (filters[key] !== null) params = params.append(key, filters[key]);\n }\n }\n return this.httpClient.get(url, { params: params, responseType: responseType as 'json' }).pipe(\n catchError(this.handleError)\n )\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-07-16\n * Metodo que ejecuta una peticion HTTP por POST.\n * @param url URL de la peticion.\n * @param formData Datos del formulario.\n */\n postData({ url, formData, responseType = 'json' }): Observable {\n return this.httpClient.post(url, formData, { responseType: responseType as 'json' }).pipe(\n catchError(this.handleError)\n )\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-07-16\n * Metodo que ejecuta una peticion HTTP por PUT.\n * @param url URL de la peticion.\n * @param formData Datos del formulario.\n */\n putData({ url, formData }): Observable {\n return this.httpClient.put(url, formData).pipe(\n catchError(this.handleError)\n )\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-07-16\n * Metodo que ejecuta una peticion HTTP por DELETE.\n * @param url URL de la peticion.\n * @param id del registro seleccionado.\n */\n deleteData({ url }): Observable {\n return this.httpClient.delete(`${url}`).pipe(\n catchError(this.handleError)\n )\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdminTemplateComponent } from './admin-template/admin-template.component';\nimport { SaveTemplateComponent } from './save-template/save-template.component';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { GenerateTemplateComponent } from './generate-template/generate-template.component';\nimport { TemplatesRoutingModule } from './templates.routing.module';\n\n@NgModule({\n declarations: [AdminTemplateComponent,\n SaveTemplateComponent,\n GenerateTemplateComponent],\n imports: [\n CommonModule,\n MaterialModule,\n SharedModule,\n TemplatesRoutingModule\n ]\n})\nexport class TemplatesModule { }\n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { Observable } from 'rxjs';\n\nconst CRM_URL = environment.CRM_NSDP;\nconst CIU_URL = environment.CIU_URL;\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class FormsRequestService {\n\n // private URL = environment.local_URL\n constructor(private http: HttpClient, private AuthService:AuthService) { }\n\n\n getForm(direction, size, page){\n if (size === 0 || page === 0) {\n return this.http.get(`${CRM_URL}${direction}`);\n } else {\n return this.http.get(`${CRM_URL}${direction}?n=${size}&page=${page}`);\n }\n }\n postForm(direction, form){\n return this.http.post(`${CRM_URL}${direction}/`, form);\n }\n\n postForm1(direction, form){\n return this.http.post(`${CRM_URL}${direction}`, form);\n }\n putForm(direction, form){\n return this.http.put(`${CRM_URL}${direction}/`, form);\n }\n getRols(direction){\n return this.http.get(`${CIU_URL}${direction}/`);\n }\n\n\n getHistory(id){\n return this.http.get(`${CRM_URL}formanswer/historic/${id}`);\n }\n\n getPageHistory(url){\n return this.http.get(`${url}`);\n }\n\n getFormByUser(direction, id, size, page){\n return this.http.get(`${CRM_URL}${direction}${id}?n=${size}&page=${page}`);\n }\n\n postReport(obj){\n return this.http.post(`${CRM_URL}report`, obj, {responseType: 'blob' as 'json'});\n }\n\n\n\n updateInfo(form, id){\n return this.http.post(`${CRM_URL}formanswer/update/${id}`, form);\n }\n\n getPrechargeField(id) {\n return this.http.get(`${CRM_URL}searchPrechargeFields/${id}`)\n }\n\n getPlantilla(parameters){\n return this.http.get(`${CRM_URL}form/dowload/${parameters}`,{responseType: 'blob' as 'json'});\n }\n\n getAssignations(formId) {\n return this.http.get(`${CRM_URL}tray/assignedClients/${formId}`)\n }\n\n getData(endpoint){\n return this.http.get(`${CRM_URL}${endpoint}`);\n }\n\n addSection(request){\n return this.http.post(`${CRM_URL}addSection/`, request);\n }\n\n /**\n * \n * @param formDataMetodo que se encarga de subir el archivos para las opciones de un selector cargable por archivos excel \n * @author Juan David Guerrero Vargas \n * @returns Observable\n */\n uploadFileOptionsToField(formData:FormData,){\n return this.http.post(`${CRM_URL}field-options/import`, formData);\n }\n\n /**\n * Metodo que se encarga de listarlas opciones cargadas para el despelgable por carga\n * @author Juan David Guerrero Vargas \n * @param formId:string {string} id del formulario\n * @param fieldId:string {string} id el campo a cargar\n * @param nameOption?:FormData { FormData} nombre del campo a buscar, parametro opcional de filtrado\n */\n getOptionsUploadTofield(formId:string, fieldId:string, filter:boolean, nameOption?:FormData){\n if(filter == false){\n return this.http.get(`${CRM_URL}field-options/index/${formId}/${fieldId}`);\n }else{\n return this.http.post(`${CRM_URL}field-options/index/${formId}/${fieldId}`, nameOption );\n }\n }\n\n getOptionsUploadFileAll(formId:string, fieldId:string, filter:boolean, nameOption?:FormData){\n if(filter == false){\n return this.http.get(`${CRM_URL}field-options/actives/${formId}/${fieldId}`);\n }else{\n return this.http.post(`${CRM_URL}field-options/actives/${formId}/${fieldId}`, nameOption );\n }\n }\n\n\n /**\n * Metodo que elimina las opciones de un selector cargado por Excel\n * @author Juan David Guerrero Vargas \n * @param listOptions:any[] {any[]}\n * @returns {Observable} \n */\n deleteToOptionsLoad(listOptions:any){\n return this.http.post(`${CRM_URL}field-options/delete-masive`, listOptions );\n }\n\n /**\n * Metodo que se encarga de desbloquear la gestion\n * @param formAnswerId:string {string} numero de formanswerid a desbloquear\n * @returns \n */\n unLockManage(formAnswerId:string){\n return this.http.post(`${CRM_URL}formanswer/unblock`,{ formAnswerId:formAnswerId } );\n }\n\n\n updateToOptionsField(optionsUpdate:any, formId:string, fieldId:string){\n return this.http.post(`${CRM_URL}field-options/change/state/${formId}/${fieldId}`, optionsUpdate );\n\n }\n\n /**\n * Metodo que se encarga de consultar los valores para obtenidos por API\n * @param id_api:strin {string} id del API a consultar\n * @param bodyRequest:any {any} cuerpo de la peticion\n * @returns {Observable} Observable\n */\n getValuesConsumeAPI(id_api:string, bodyRequest:any):Observable{\n return this.http.post(`${CRM_URL}consumir/${id_api}`, bodyRequest);\n }\n\n /**\n * Metodo que retorna los enpoinst configurables \n * @returns {Observable} Observable Observable de enpoints\n */\n getEnpoinst():Observable{\n return this.http.get(`${CRM_URL}consumir/endpoints`);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertsSnackbarService {\n\n constructor(private matSnackBar: MatSnackBar) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-07-16\n * Metodo que muestra una notificacion tipo success.\n * @param title Titulo de la notificacion.\n * @param message Mensaje de la notificacion.\n * @param duration Duracion de la notificacion.\n * @param panelClass Clase CSS de la notificacion.\n */\n showNotification({title = '¡Excelente!', message, duration = 5000, panelClass = 'green-snackbar'}): void {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: { title, message },\n duration,\n verticalPosition: 'top',\n panelClass: [panelClass]\n });\n }\n}","import { Component, OnInit, Input, OnChanges, SimpleChanges, Output, EventEmitter, ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { validateArrayNotEmpty, validateIsEmails, validateSizeFiles } from '../../constantes/custom-validations';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { FormsRequestService } from 'src/app/modules/crm_v2/services/rest/forms-request.service';\nimport { StateService } from '../../services/state.service';\nimport { createDataFormCrmV2 } from '../../constantes/create-data-form-crm';\nimport { DynamicFormV2Component } from 'src/app/shared/dynamic-forms-v2/dynamic-form/dynamic-form.component';\nimport { EmailService } from '../../services/email.service';\nimport { MatSelectChange } from '@angular/material/select';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { TemplateService } from '../../services/template.service';\nimport { CrudService } from 'src/app/shared/basic-crud-page-service/crud.service';\nimport { environment } from 'src/environments/environment';\n\nconst { GESTIONADOR_CORREOS } = environment;\n\n@Component({\n selector: 'app-manager-message',\n templateUrl: './manager-message.component.html',\n styleUrls: ['./manager-message.component.css'],\n \n})\nexport class ManagerMessageComponent implements OnInit, OnChanges {\n @Input() typeManagerMessage: string = 'Enviar';\n @Input() emailSelected: any = null;\n @Input() emailsSelectedByMassiveManager: any[] = [];\n @Input() emailDataDraft: any = null;\n @Output() submitMessage: EventEmitter = new EventEmitter();\n @Output() onClickCancelButton: EventEmitter = new EventEmitter();\n @ViewChild('formCrmComponent') private formCrmComponent: DynamicFormV2Component;\n formNewMessage: FormGroup = null;\n formId: number = null;\n formCrm: any = null;\n states: any[] = [];\n formStructureCrm: any = null;\n validFormCrm: boolean = false;\n emailsConfig: any[] = [];\n userLogin: any = null;\n templates: any[] = [];\n filesToLoadEmail: any[] = [];\n filesToAttachments: any[] = [];\n labels: any[] = [];\n\n constructor(\n private formBuilder: FormBuilder,\n private alertService: AlertsService,\n private matSnackBar: MatSnackBar,\n private formRequestService: FormsRequestService,\n private stateService: StateService,\n private emailService: EmailService,\n private authService: AuthService,\n private templateService: TemplateService,\n private crudService: CrudService\n ) { }\n\n ngOnInit(): void {\n this.userLogin = this.authService.getUser();\n this.setFormGroupByTypeManager();\n this.getEmailsConfig();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.userLogin = this.authService.getUser();\n this.formId = null;\n this.formCrm = null;\n this.setFormGroupByTypeManager();\n this.getEmailsConfig();\n this.filesToAttachments = this.typeManagerMessage === 'Reenviar' ? this.emailSelected.attachments : [];\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que setea la estructura del formulario. \n */\n setFormGroupByTypeManager(): void {\n if (this.typeManagerMessage === 'Enviar' || this.typeManagerMessage === 'Responder' || this.typeManagerMessage === 'Reenviar' || this.typeManagerMessage === 'Enviar borrador') {\n this.formNewMessage = new FormGroup({\n emailConfig: new FormControl(null, [Validators.required]),\n state: new FormControl('', [Validators.required]),\n from: new FormControl({ value: '', disabled: true }, []),\n to: this.formBuilder.array([], [validateArrayNotEmpty, validateIsEmails]),\n cc: this.formBuilder.array([], []),\n cco: this.formBuilder.array([], []),\n subject: new FormControl('', [Validators.required]),\n attachments: this.formBuilder.array([], validateSizeFiles),\n template: new FormControl('', []),\n label: new FormControl('', []),\n message: new FormControl('', [Validators.required])\n });\n if (this.typeManagerMessage === 'Reenviar' || this.typeManagerMessage === 'Enviar') this.formNewMessage.removeControl('state');\n if (this.emailSelected !== null && this.typeManagerMessage === 'Responder') this.addEmailToInput(this.emailSelected.de, 'to');\n if (this.emailSelected !== null && (this.typeManagerMessage === 'Responder' || this.typeManagerMessage === 'Reenviar')) {\n if (this.emailSelected.cc !== \"\") this.addEmailToInput(this.emailSelected.format_cc, 'cc');\n }\n if (this.emailSelected !== null && this.typeManagerMessage === 'Reenviar') this.filesToAttachments = this.emailSelected.attachments;\n if (this.emailSelected !== null && (this.typeManagerMessage === 'Responder' || this.typeManagerMessage === 'Reenviar')) this.formNewMessage.get('subject').setValue(this.emailSelected.asunto);\n this.loadDataEmailDraft();\n } else {\n this.formNewMessage = new FormGroup({\n emailConfig: new FormControl('', []),\n state: new FormControl('', [Validators.required]),\n from: new FormControl({\n value: this.emailsSelectedByMassiveManager.length === 0 ? this.emailSelected.de : this.emailsSelectedByMassiveManager[0].de,\n disabled: true\n }, []),\n description: new FormControl('', [Validators.required, Validators.maxLength(10000)]),\n listEmails: new FormControl({\n value: this.emailsSelectedByMassiveManager.length === 0 ? this.emailSelected.para : this.emailsSelectedByMassiveManager.map(item => item.para).toString(),\n disabled: true\n }, []),\n cc: new FormControl({\n value: this.emailsSelectedByMassiveManager.length === 0 ? this.emailSelected.cc : this.emailsSelectedByMassiveManager.filter(item => item.cc !== '').map(item => item.cc).toString(),\n disabled: true\n }),\n });\n if (this.emailsSelectedByMassiveManager.length === 0) {\n this.getStates(this.emailSelected.email_config_id);\n } else {\n this.getStates(this.emailsSelectedByMassiveManager[0].email_config_id);\n }\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-15\n * Metodo que carga los valores del correo registrados en borrador.\n */\n loadDataEmailDraft(): void {\n if (this.typeManagerMessage === 'Enviar borrador' && this.emailDataDraft !== null) {\n this.formNewMessage.get('emailConfig').setValue(this.emailDataDraft.email_config_id);\n this.formNewMessage.get('state').setValue(this.emailDataDraft.estado);\n this.formNewMessage.get('from').setValue(this.emailDataDraft.de);\n if (this.emailDataDraft.para !== null) this.addEmailToInput(this.emailDataDraft.para, 'to');\n if (this.emailDataDraft.cc !== null) this.addEmailToInput(this.emailDataDraft.cc, 'cc');\n if (this.emailDataDraft.cco !== null) this.addEmailToInput(this.emailDataDraft.cco, 'cco');\n this.formNewMessage.get('subject').setValue(this.emailDataDraft.asunto);\n this.formNewMessage.get('message').setValue(this.emailDataDraft.cuerpo);\n if (this.emailDataDraft.attachments.length > 0) this.filesToLoadEmail = this.emailDataDraft.attachments;\n this.getTemplates();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-16\n * Metodo carga el formulario dependiendo a la configuracion de email cargado. \n */\n loadFormWhenSendDraftEmail(): void {\n if (this.typeManagerMessage === 'Enviar borrador') {\n const searchEmailConfigSelect = this.emailsConfig.find(item => item.id_email === this.formNewMessage.get('emailConfig').value);\n if (searchEmailConfigSelect) {\n this.formId = searchEmailConfigSelect.form_id;\n this.getForm();\n }\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-15\n * Metodo que agrega una cadena de texto sobre los input de correos.\n * @param textEmails Cadena con el correo. \n * @param typeList Nombre del campo con el cual se va a trabajar. \n */\n addEmailToInput(textEmails: string, typeList: string): void {\n const arrayToEmails = textEmails.split(',');\n arrayToEmails.forEach(value => {\n if (value && value !== '') {\n const newFormGroup = this.formBuilder.group({ name: new FormControl(value, [Validators.email]) });\n const arrayForm = this.formNewMessage.get(typeList) as FormArray;\n arrayForm.push(newFormGroup);\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-15\n * Metodo que actualiza la lista de adjuntos cargados en un correo borrador.\n * @param $event Evento emitido por el componente hijo. \n */\n onDeleteFileToLoadEmail($event: any): void {\n this.filesToLoadEmail = this.filesToLoadEmail.filter(file => file.id !== $event);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-30\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formNewMessage.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-04\n * Metodo que obtiene el formulario de CRM mediante el ID. \n */\n getForm(): void {\n this.formRequestService.getForm(`searchform/${this.formId}`, 1000, 1).subscribe(res => {\n this.formCrm = res;\n if (this.emailsSelectedByMassiveManager.length === 0) {\n if (this.typeManagerMessage === 'Responder' || this.typeManagerMessage === 'Guardar información') {\n if (this.emailSelected.id_referencia_crm) {\n const typificationId = this.emailSelected.id_referencia_crm;\n this.formRequestService.getData(`formanswer/show/${typificationId}`).subscribe(res => {\n let preloadDataFormCrm = JSON.parse(res.data.structure_answer);\n this.formCrm.sections = JSON.parse(JSON.stringify(preloadDataFormCrm));\n this.formCrm.sections.forEach((element: any, index: number) => {\n element.fields.forEach((elementInt: any) => {\n elementInt.value = '';\n preloadDataFormCrm[index].fields.forEach((field: any) => {\n if (field.id === elementInt.id) {\n elementInt['newValue'] = field.value;\n if (elementInt.type === 'options') {\n if (field.value === '') {\n elementInt.value = field.value;\n } else {\n elementInt.value = Number(field.value);\n }\n if (elementInt.controlType === 'multiselect') {\n elementInt.value = field.value.split(',').map(Number);\n }\n } else if (elementInt.type === 'others') {\n elementInt.value = field.value;\n elementInt.nameFile = field.nameFile;\n } else if (elementInt.type !== 'options') {\n elementInt.value = field.value;\n }\n }\n });\n });\n });\n });\n } else {\n this.alertService.alertError('Error', 'No se tiene una tipificación sobre el correo.');\n }\n }\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-04\n * Metodo que ejecuta el submit del formulario de CRM.\n * @param $event Evento emitido por el formulario de CRM. \n */\n submitFormCrm($event: any): void {\n this.formStructureCrm = $event;\n this.validFormCrm = $event.isValid;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo valida el tipo de gestion a realizar y hace el llamado al submit del formulario. \n */\n validateTypeManagerForSubmitMail(): void {\n if (this.typeManagerMessage === 'Enviar') {\n this.formCrmComponent.onSubmit();\n this.sendEmail();\n } else if (this.typeManagerMessage === 'Responder') {\n this.formCrmComponent.onSubmit();\n this.replyEmail();\n } else if (this.typeManagerMessage === 'Reenviar') {\n this.resendEmail();\n } else if (this.typeManagerMessage === 'Enviar borrador') {\n this.formCrmComponent.onSubmit();\n this.resendDraftEmail();\n } else {\n this.formCrmComponent.onSubmit();\n this.manageEmail();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-15\n * Metodo que trae los estados registrados en el sistema.\n * @param idEmailConfig ID de configuracion de correo seleccionada. \n */\n getStates(idEmailConfig: string = ''): void {\n this.stateService.getStates(null, '', false, idEmailConfig).subscribe(res => {\n if (this.emailsSelectedByMassiveManager.length === 0) this.states = res.data.filter((item: any) => item.id !== this.emailSelected.id_email_state);\n else this.states = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-31\n * Metodo que trae las configuraciones de correos de salida registrados en el sistema. \n */\n getEmailsConfig(): void {\n const idRrhh = this.userLogin.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data;\n this.loadFormCrmWhenIsManager();\n this.loadFormWhenSendDraftEmail();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-31\n * Metodo que carga el formulario de CRM a partir de la configuracion de email seleccionado.\n * @param $event Evento emitido por el campo select. \n */\n onChangeSelectEmailConfig($event: MatSelectChange): void {\n if (this.typeManagerMessage !== 'Guardar información') {\n this.getStates($event.value);\n this.getLabelsByEmailAccountSelected($event.value);\n const searchEmailConfigSelect = this.emailsConfig.find(item => item.id_email === $event.value);\n if (searchEmailConfigSelect) {\n this.getTemplates();\n this.formNewMessage.get('from').setValue(searchEmailConfigSelect.user_name_email_entrada);\n if (this.typeManagerMessage !== 'Reenviar') {\n this.formId = searchEmailConfigSelect.form_id;\n this.getForm();\n }\n }\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-29\n * Metodo que envia el correo con la data del formulario. \n */\n sendEmail(): void {\n const dataFormCrm = createDataFormCrmV2(this.formStructureCrm, 'typification', this.formCrm);\n if (this.validFormCrm && dataFormCrm && this.formNewMessage.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De enviar el correo?').then(confirm => {\n if (confirm.isConfirmed) {\n this.formRequestService.postForm('formanswer/saveinfo', dataFormCrm).subscribe(resCrm => {\n if (resCrm.data) {\n const formDataMessage = new FormData();\n formDataMessage.append('type', 'nuevo');\n formDataMessage.append('id_referencia_crm', resCrm.data.formAsnwerId);\n formDataMessage.append('recipients', this.formNewMessage.value.to.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cc', this.formNewMessage.value.cc.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cco', this.formNewMessage.value.cco.map((item: any) => item.name).join());\n formDataMessage.append('listImageBase', '');\n formDataMessage.append('email_config_id', this.formNewMessage.value.emailConfig);\n formDataMessage.append('asunto', this.formNewMessage.value.subject);\n formDataMessage.append('cuerpo', this.formNewMessage.value.message);\n this.formNewMessage.value.attachments.forEach((item: any) => {\n formDataMessage.append('files[]', item.file);\n });\n this.emailService.sendEmail(formDataMessage).subscribe(resEmail => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: 'El correo se ha enviado con éxito.'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.submitMessage.emit(this.typeManagerMessage);\n });\n }\n });\n }\n });\n } else {\n this.formNewMessage.markAllAsTouched();\n this.alertService.alertError('Error', 'Error al procesar los formularios');\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-03\n * Metodo que envia el correo a la bandeja de borradores.\n */\n saveMessageToDraftEmail(): void {\n if (this.typeManagerMessage !== 'Guardar información' && this.typeManagerMessage !== 'Enviar borrador') {\n if (!this.valuesFormIsEmpty()) {\n this.alertService.alertWarning('¿Desea guardar el contenido en borradores?', '', 'Si', 'No').then(confirm => {\n if (confirm.isConfirmed) {\n const formDataMessage = new FormData();\n const typeManager = this.typeManagerMessage === 'Enviar' ? 'nuevo' : this.typeManagerMessage === 'Responder' ? 'responder' : 'reenviar';\n formDataMessage.append('id_email', this.emailSelected !== null ? this.emailSelected.id : '');\n formDataMessage.append('type', typeManager);\n formDataMessage.append('recipients', this.formNewMessage.value.to.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cc', this.formNewMessage.value.cc.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cco', this.formNewMessage.value.cco.map((item: any) => item.name).join());\n formDataMessage.append('listImageBase', '');\n formDataMessage.append('email_config_id', this.formNewMessage.value.emailConfig);\n formDataMessage.append('asunto', this.formNewMessage.value.subject);\n formDataMessage.append('cuerpo', this.formNewMessage.value.message);\n formDataMessage.append('filesToResend', this.filesToAttachments.map((item: any) => item.id).join());\n this.formNewMessage.value.attachments.forEach((item: any) => {\n formDataMessage.append('files[]', item.file);\n });\n formDataMessage.append('es_borrador', true.toString());\n this.emailService.sendEmail(formDataMessage).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: 'Mensaje almacenado en borradores'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.submitMessage.emit(this.typeManagerMessage);\n });\n }\n });\n } else {\n this.onClickCancelButton.emit();\n }\n } else {\n this.onClickCancelButton.emit();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-10\n * Metodo que responde a un correo.\n */\n replyEmail(): void {\n const dataFormCrm = createDataFormCrmV2(this.formStructureCrm, 'typification', this.formCrm);\n if (this.validFormCrm && dataFormCrm && this.formNewMessage.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De responder el correo?').then(confirm => {\n if (confirm.isConfirmed) {\n this.formRequestService.postForm('formanswer/saveinfo', dataFormCrm).subscribe(resCrm => {\n if (resCrm.data) {\n const formDataMessage = new FormData();\n formDataMessage.append('id_email', this.emailSelected.id);\n formDataMessage.append('id_referencia_crm', resCrm.data.formAsnwerId);\n formDataMessage.append('type', 'responder');\n formDataMessage.append('estado', this.formNewMessage.value.state);\n formDataMessage.append('recipients', this.formNewMessage.value.to.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cc', this.formNewMessage.value.cc.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cco', this.formNewMessage.value.cco.map((item: any) => item.name).join());\n formDataMessage.append('listImageBase', '');\n formDataMessage.append('email_config_id', this.formNewMessage.value.emailConfig);\n formDataMessage.append('asunto', this.formNewMessage.value.subject);\n formDataMessage.append('cuerpo', this.formNewMessage.value.message);\n this.formNewMessage.value.attachments.forEach((item: any) => {\n formDataMessage.append('files[]', item.file);\n });\n this.emailService.sendEmail(formDataMessage).subscribe(resEmail => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: 'El correo se ha respondido con éxito.'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.submitMessage.emit(this.typeManagerMessage);\n });\n }\n });\n }\n });\n } else {\n this.formNewMessage.markAllAsTouched();\n this.alertService.alertError('Error', 'Error al procesar los formularios');\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-10\n * Metodo que reenvia un correo.\n */\n resendEmail(): void {\n if (this.formNewMessage.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De reenviar el correo?').then(confirm => {\n if (confirm.isConfirmed) {\n const formDataMessage = new FormData();\n formDataMessage.append('id_email', this.emailSelected.id);\n formDataMessage.append('type', 'reenviar');\n formDataMessage.append('recipients', this.formNewMessage.value.to.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cc', this.formNewMessage.value.cc.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cco', this.formNewMessage.value.cco.map((item: any) => item.name).join());\n formDataMessage.append('listImageBase', '');\n formDataMessage.append('email_config_id', this.formNewMessage.value.emailConfig);\n formDataMessage.append('asunto', this.formNewMessage.value.subject);\n formDataMessage.append('cuerpo', this.formNewMessage.value.message);\n formDataMessage.append('filesToResend', this.filesToAttachments.map((item: any) => item.id).join());\n this.formNewMessage.value.attachments.forEach((item: any) => {\n formDataMessage.append('files[]', item.file);\n });\n this.emailService.sendEmail(formDataMessage).subscribe(resEmail => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: 'El correo se ha respondido con éxito.'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.submitMessage.emit(this.typeManagerMessage);\n });\n }\n });\n } else {\n this.formNewMessage.markAllAsTouched();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-10\n * Metodo que gestiona uno o varios correos.\n */\n manageEmail(): void {\n const dataFormCrm = createDataFormCrmV2(this.formStructureCrm, 'typification', this.formCrm);\n if (this.validFormCrm && dataFormCrm && this.formNewMessage.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De gestionar el correo?').then(confirm => {\n if (confirm.isConfirmed) {\n this.formRequestService.postForm('formanswer/saveinfo', dataFormCrm).subscribe(resCrm => {\n if (resCrm.data) {\n const formDataMessage = new FormData();\n formDataMessage.append('id_referencia_crm', resCrm.data.formAsnwerId);\n formDataMessage.append('id_email_state', this.formNewMessage.value.state);\n formDataMessage.append('observacion', this.formNewMessage.value.description);\n if (this.emailsSelectedByMassiveManager.length > 0) {\n const mapIdsEmailMassiveSelected = this.emailsSelectedByMassiveManager.map(email => email.id);\n formDataMessage.append('email_list', `[${mapIdsEmailMassiveSelected.toString()}]`);\n } else {\n formDataMessage.append('email_list', `[${this.emailSelected.id}]`);\n }\n this.emailService.manageEmail(formDataMessage).subscribe(resEmail => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: this.emailsSelectedByMassiveManager.length === 0 ? 'Se ha gestionado el correo con éxito' : 'Se han gestionado los correos masivamente con éxito'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.submitMessage.emit(this.typeManagerMessage);\n });\n }\n });\n }\n });\n } else {\n this.formNewMessage.markAllAsTouched();\n this.alertService.alertError('Error', 'Error al procesar los formularios');\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-11\n * Metodo que setea el mensaje del correo si se seleccionó una plantilla.\n * @param $event Evento emitido por el componente hijo. \n */\n onChangeTemplate($event: number): void {\n const findTemplateSelected = this.templates.find(item => item.id === $event);\n if (findTemplateSelected) this.formNewMessage.get('message').setValue(findTemplateSelected.body);\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-08-11\n * Metodo que trae las platillas registradas en el sistema.\n */\n getTemplates(): void {\n this.templateService.getTemplatesByIdEmailConfig(this.formNewMessage.get('emailConfig').value).subscribe(res => {\n this.templates = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-14\n * Metodo que setea el form id cuando se esta realizando una gestion de tipo guardar informacion.\n */\n loadFormCrmWhenIsManager(): void {\n if (this.typeManagerMessage === 'Guardar información') {\n const idConfigByEmail = this.emailsSelectedByMassiveManager.length === 0 ? this.emailSelected.email_config_id : this.emailsSelectedByMassiveManager[0].email_config_id;\n if (idConfigByEmail) {\n const findFormId = this.emailsConfig.find(item => item.id_email === idConfigByEmail);\n if (findFormId) {\n this.formId = findFormId.form_id;\n this.getForm();\n }\n }\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-16\n * Metodo que reenvia un correo que quedo como borrador.\n */\n resendDraftEmail(): void {\n const dataFormCrm = createDataFormCrmV2(this.formStructureCrm, 'typification', this.formCrm);\n if (this.validFormCrm && dataFormCrm && this.formNewMessage.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De enviar el correo?').then(confirm => {\n if (confirm.isConfirmed) {\n this.formRequestService.postForm('formanswer/saveinfo', dataFormCrm).subscribe(resCrm => {\n if (resCrm.data) {\n const formDataMessage = new FormData();\n formDataMessage.append('id_referencia_crm', resCrm.data.formAsnwerId);\n formDataMessage.append('type', this.emailDataDraft.type);\n formDataMessage.append('estado', this.formNewMessage.value.state);\n formDataMessage.append('recipients', this.formNewMessage.value.to.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cc', this.formNewMessage.value.cc.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cco', this.formNewMessage.value.cco.map((item: any) => item.name).join());\n formDataMessage.append('listImageBase', '');\n formDataMessage.append('email_config_id', this.formNewMessage.value.emailConfig);\n formDataMessage.append('asunto', this.formNewMessage.value.subject);\n formDataMessage.append('cuerpo', this.formNewMessage.value.message);\n formDataMessage.append('filesToResend', this.filesToLoadEmail.map((item: any) => item.id).join());\n this.formNewMessage.value.attachments.forEach((item: any) => {\n formDataMessage.append('files[]', item.file);\n });\n this.emailService.resendDraftEmail(formDataMessage, this.emailDataDraft.id).subscribe(resEmail => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: 'El correo se ha enviado con éxito.'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.submitMessage.emit(this.typeManagerMessage);\n });\n }\n });\n }\n });\n } else {\n this.formNewMessage.markAllAsTouched();\n this.alertService.alertError('Error', 'Error al procesar los formularios');\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-27\n * Metodo que valida si todos los campos del formulario quedan vacios.\n */\n valuesFormIsEmpty(): boolean {\n if (\n this.formNewMessage.value.to.length === 0 &&\n this.formNewMessage.value.subject === '' &&\n this.formNewMessage.value.message === ''\n ) return true;\n return false;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-03\n * Metodo que actualiza los archivos precargados asociados a un correo.\n * @param $event Id del archivo emitido por el componente hijo. \n */\n updatePreloadAttachments($event: number): void {\n this.filesToAttachments = this.filesToAttachments.filter(item => item.id !== $event);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-30\n * Metodo que actualiza la informacion del borrador si la visual se cierra. \n */\n updateDataToCloseEmailDraft(): void {\n if (!this.valuesFormIsEmpty()) {\n const formDataMessage = new FormData();\n formDataMessage.append('type', this.emailDataDraft.type);\n formDataMessage.append('estado', this.formNewMessage.value.state);\n formDataMessage.append('recipients', this.formNewMessage.value.to.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cc', this.formNewMessage.value.cc.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cco', this.formNewMessage.value.cco.map((item: any) => item.name).join());\n formDataMessage.append('listImageBase', '');\n formDataMessage.append('email_config_id', this.formNewMessage.value.emailConfig);\n formDataMessage.append('asunto', this.formNewMessage.value.subject);\n formDataMessage.append('cuerpo', this.formNewMessage.value.message);\n formDataMessage.append('filesToResend', this.filesToLoadEmail.map((item: any) => item.id).join());\n formDataMessage.append('es_borrador', true.toString());\n this.formNewMessage.value.attachments.forEach((item: any) => {\n formDataMessage.append('files[]', item.file);\n });\n this.emailService.resendDraftEmail(formDataMessage, this.emailDataDraft.id).subscribe(resEmail => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: 'Se ha actualizado la información del borrador'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.submitMessage.emit(this.typeManagerMessage);\n });\n } else {\n this.onClickCancelButton.emit();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-18\n * Metodo que lista las etiquetas asociadas a una cuenta de correo.\n * @param idAccountEmail Id de la cuenta de correo seleccionada. \n */\n getLabelsByEmailAccountSelected(idAccountEmail: number): void {\n this.crudService.getData({\n url: `${GESTIONADOR_CORREOS}labels/showall`,\n filters: { state: 1, idAccountEmail }\n }).subscribe(res => {\n this.labels = res;\n })\n }\n}","
\n
\n
Configuración de correo
\n \n Configuración de correo*\n \n {{ item.user_name_email_entrada\n }}\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n
\n \n \n \n \n
Gestión de formulario
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
Estado
\n \n Estado*\n \n {{ item.name }}\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n
Estado
\n \n Estado*\n \n {{ item.name }}\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n
Correo
\n \n
\n
\n
\n
\n \n \n
\n \n \n
\n
\n","import { LOCALE_ID, NgModule } from '@angular/core';\nimport { CommonModule, registerLocaleData } from '@angular/common';\nimport { CandidateCommentsComponent } from './candidate-comments/candidate-comments.component';\nimport { CandidateCreateComponent } from './candidate-create/candidate-create.component';\nimport { CandidateEditComponent } from './candidate-edit/candidate-edit.component';\nimport { CandidateMainComponent, TypeContracts } from './candidate-main/candidate-main.component';\nimport { CandidateUploadComponent } from './candidate-upload/candidate-upload.component';\nimport { SharedModule } from '../../../../shared/shared.module';\nimport { CandidateAssignComponent } from './candidate-assign/candidate-assign.component';\nimport localeCO from '@angular/common/locales/es-CO';\nimport { CandidateCommentEditComponent } from './candidate-comment-edit/candidate-comment-edit.component';\nimport { CandidateAssignTrainerComponent } from './candidate-assign-trainer/candidate-assign-trainer.component';\nimport { CandidateCvComponent, CreateSign } from './candidate-cv/candidate-cv.component';\nimport { CheckAttachmentComponent } from './check-attachment/check-attachment.component';\nimport { ContractCreationComponent, RejectionComment } from './contract-creation/contract-creation.component';\nimport { PipesModule } from 'src/app/shared/pipes/pipes.module';\nimport { SignaturePadModule } from 'angular2-signaturepad';\nimport { CandidateAttachmentsComponent } from './candidate-attachments/candidate-attachments.component';\nimport { SharedFormModule } from 'src/app/modules/bpms/modules/shared-form/shared-form.module';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { CandidateJuridicoNominaDocComponent } from './candidate-juridico-nomina-doc/candidate-juridico-nomina-doc.component';\nimport { CandidateCvJuridicoNominaDocComponent } from './candidate-cv-juridico-nomina-doc/candidate-cv-juridico-nomina-doc.component';\nimport { ModalCampaignEditComponent } from './src/app/modules/rrhh/modules/candidates/modal-campaign-edit/modal-campaign-edit.component';\nimport { AttachmentDeleteFormComponent } from './attachment-delete-form/attachment-delete-form.component';\nimport { AddressFormComponent } from './address-form/address-form.component';\nimport { PersonalReferenceUpComponent } from './personal-reference-up/personal-reference-up.component';\nregisterLocaleData(localeCO, 'es-CO');\n\n\n\n@NgModule({\n declarations: [\n CandidateCommentsComponent,\n CandidateCreateComponent,\n CandidateEditComponent,\n CandidateMainComponent,\n CandidateUploadComponent,\n CandidateAssignComponent,\n CandidateCommentEditComponent,\n CandidateAssignTrainerComponent,\n CandidateCvComponent,\n CheckAttachmentComponent,\n ContractCreationComponent,\n CreateSign,\n RejectionComment,\n CandidateAttachmentsComponent,\n TypeContracts,\n CandidateJuridicoNominaDocComponent,\n CandidateCvJuridicoNominaDocComponent,\n ModalCampaignEditComponent,\n AttachmentDeleteFormComponent,\n AddressFormComponent,\n PersonalReferenceUpComponent,\n ],\n imports: [\n SignaturePadModule,\n CommonModule,\n SharedModule,\n PipesModule,\n SharedFormModule,\n MaterialModule\n\n ],\n providers: [\n {\n provide: LOCALE_ID,\n useValue: 'es-CO'\n }\n ],\n})\nexport class CandidatesModule { }\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { CalidadComponent } from './calidad.component';\nimport { AuditoriasComponent } from './modules/auditorias/auditorias.component';\nimport { DetalleAuditoriaComponent } from './modules/auditorias/components/detalle-auditoria/detalle-auditoria.component';\nimport { DetalleControlComponent } from './modules/control/components/detalle-control/detalle-control.component';\nimport { DetalleGrupoComponent } from './modules/control/components/detalle-grupo/detalle-grupo.component';\nimport { ControlComponent } from './modules/control/control.component';\nimport { EditarFormularioComponent } from './modules/inteligencia-negocios/components/editar-formulario/editar-formulario.component';\nimport { InteligenciaNegociosComponent } from './modules/inteligencia-negocios/inteligencia-negocios.component';\nimport { DetalleMatrizComponent } from './modules/matrices/components/detalle-matriz/detalle-matriz.component';\nimport { MatricesComponent } from './modules/matrices/matrices.component';\nimport { MisAuditoriasComponent } from './modules/mis-auditorias/mis-auditorias.component';\nimport { PowerbiComponent } from './modules/powerbi/powerbi.component';\nimport { ReporteriaComponent } from './modules/reporteria/reporteria.component';\nimport { EliminarAuditoriaComponent } from './modules/eliminar-auditoria/eliminar-auditoria.component';\n\nconst routes: Routes = [\n {path:'', component:CalidadComponent},\n {path:'inteligencia-negocios/:tab', component:InteligenciaNegociosComponent},\n {path:'matrices', component:MatricesComponent},\n {path:'auditorias', component:AuditoriasComponent},\n {path:'formulario/:type/:id', component:EditarFormularioComponent},\n {path:'matriz/detail/:id', component:DetalleMatrizComponent},\n {path:'auditoria/detail/:tab/:id', component:DetalleAuditoriaComponent},\n {path:'control', component:ControlComponent},\n {path:'control/detail/:id', component:DetalleControlComponent},\n {path:'grupo/:id', component:DetalleGrupoComponent},\n {path:'mis-auditorias', component:MisAuditoriasComponent},\n {path:'reporteria', component:ReporteriaComponent},\n {path:'dashboard-powerbi', component:PowerbiComponent},\n {path:'eliminacion', component:EliminarAuditoriaComponent},\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class CalidadRoutingModule { }\n","import { HttpClient } from '@angular/common/http';\nimport { Component, HostListener, Input, OnDestroy, OnInit, SimpleChanges } from '@angular/core';\nimport { PhoneService } from '../vicidial-voz/services/phone.service';\nimport * as JsSIP from 'jssip';\nimport { ConnectingEvent, EndEvent, IncomingEvent, OutgoingEvent, PeerConnectionEvent, RTCSession, RTCSessionEventMap, SDPEvent } from 'jssip/lib/RTCSession';\nimport { CallOptions, RTCSessionEvent, IncomingMessageEvent, OutgoingMessageEvent } from 'jssip/lib/UA';\nimport { VicidialService } from '../vicidial-voz/services/vicidial.service';\nimport { Observable, of } from 'rxjs';\nimport { find, first, map, skipUntil } from 'rxjs/operators';\nimport { PhonePanelService } from './phone.service';\nimport Swal from 'sweetalert2';\nimport { MeetingsComponent } from '../meetings/meetings.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { PhoneTransferFormComponent } from './components/transfer-form/transfer-form.component';\nimport { PhoneTransferFormService } from './components/transfer-form/transfer-form.service';\nimport { VideollamadaService } from '../videollamada/services/videollamada.service';\nimport { environment } from 'src/environments/environment';\nimport { ChangeDetectorRef } from '@angular/core';\n\n\ninterface SoundbarResponse {\n data: {\n soubarAgente: Array<{\n id: number;\n operation_id: number;\n name: string;\n path: string;\n observations: string;\n rank: number;\n dtmf: string;\n created_at: string;\n updated_at: string;\n deleted_at: string | null;\n\n\n }>;\n };\n status: number;\n message: string;\n errors: any[];\n}\n\ninterface StatusInterface {\n id: number,\n name: string,\n class: string\n}\n\ninterface AsteriskUser {\n\n server: string,\n username: string,\n name: string,\n password: string,\n survey_extension: string,\n quees: number[]; // Se agrega el nuevo atributo como un array de números\n\n\n}\n\ninterface TimeRangeInterface {\n start: Date,\n end: Date\n}\n\nconst CONN_STATUS: StatusInterface[] = [\n { id: 1, name: \"Conectado\", class: \"active\" },\n { id: 2, name: \"Conectando\", class: \"warning\" },\n { id: 3, name: \"Sin conexión\", class: \"error\" },\n { id: 4, name: \"Registro falló\", class: \"error\" },\n { id: 5, name: \"Sesión expiró\", class: \"error\" },\n { id: 6, name: \"En llamada\", class: \"in-call\" } // Nuevo estado\n];\n\nconst CALL_STATUS: StatusInterface[] = [\n { id: 1, name: \"En llamada\", class: \"t-active\" },\n { id: 2, name: \"Disponible\", class: \"status-disponible\" },\n { id: 3, name: \"Silenciado\", class: \"status-silenciado\" },\n { id: 4, name: \"Pausado\", class: \"status-pausado\" },\n { id: 5, name: \"Transfiriendo\", class: \"status-transfiriendo\" },\n { id: 6, name: \"Deteniendo\", class: \"status-deteniendo\" },\n { id: 7, name: \"Retomando\", class: \"status-retomando\" },\n { id: 8, name: \"Llamando...\", class: \"status-retomando\" },\n]\n\n\n\n\n@Component({\n selector: 'app-phone',\n templateUrl: './phone.component.html',\n styleUrls: ['./phone.component.sass']\n})\n\n\nexport class PhoneComponent implements OnInit, OnDestroy {\n\n @Input() enableConection: boolean = false;\n public conectionStatus: StatusInterface = null;\n public callStatus: StatusInterface = null;\n localStream: MediaStream = null;\n inputDeviceList: MediaDeviceInfo[];\n outputDeviceList: MediaDeviceInfo[];\n userAgent: JsSIP.UA;\n currentSession: RTCSession;\n outgoingSession: RTCSession;\n incomingSession: RTCSession;\n incomingStreams: MediaStream[];\n incomingStream: MediaStream;\n callId: string = null;\n numberPhone: string = null;\n isVipClient: boolean = false;\n user2user: object = null;\n holdTime: TimeRangeInterface = { start: null, end: null };\n muteTime: TimeRangeInterface = { start: null, end: null };\n showRemoteAudio = false;\n remoteAudio = new Audio();\n public numberOutputCall = \"\";\n\n timeInCall: any[] = [0, 0, 0];\n call_interval;\n campaignId: number = 1;\n ua$: Observable;\n audio: HTMLAudioElement | null = null;\n isPlaying = false; // Para saber si está reproduciendo\n isPaused3 = false; // Para saber si está pausado\n\n soundbarData: any;\n savedUsername: string = '';\n savedPauseReason: string = '';\n savedQuees: number[] = [];\n private reconnectAttempts: number = 0; // Contador de intentos de reconexión\n pauseReasons: Array<{ id: string, name: string }> = []; // Asegúrate de que este array tenga los valores correctos\n selectedPauseReason: any;\n rrhhId!: string;\n extension!: string;\n queues: number[] = []; // Variable para almacenar las colas\n isPaused = false; // Variable para controlar si está pausado o no\n originalAudioTrack = null; // Definir la variable aquí\n private isOnCall = false; // Variable para rastrear si hay una llamada activa\n\n transferCampaign: string;\n public userCampaigns;\n intervalVerifyExten;\n originTransfer;\n userData: any;\n soundbars: any[] = []; // Para almacenar las opciones\n selectedSoundbar: string = ''; // Para almacenar el valor seleccionado\n meetingTransferId: string = '';\n private server = environment.ASTERISK_BACK_URL;\n\n // Register callbacks to desired call events\n eventHandlers: Partial = {\n progress: (e: IncomingEvent | OutgoingEvent) => {\n console.log('%cCall is in progress', 'color:black;background-color:yellow', e);\n //this.openSnackBar('call is in progress');\n },\n failed: (e: EndEvent) => {\n //console.error('%cCall failed: ', e);\n console.error(e, e.message);\n //this.openSnackBar('call failed', 'confirmed');\n },\n ended: (e: EndEvent) => {\n console.log('%cCall ended : ', 'color:white;background-color:red', e);\n //this.openSnackBar('call ended', 'confirmed');\n // this.vicidialService.setInCall(false);\n },\n confirmed: (e: IncomingEvent | OutgoingEvent) => {\n console.log('%cCall confirmed', 'color:black;background-color:lightgreen', e);\n //this.openSnackBar('call is in progress', null, { duration: 2000 });\n },\n peerconnection: (e: PeerConnectionEvent) => {\n console.log('%cOn peerconnection', 'color:black;background-color:orange', e);\n //this.openSnackBar('on peerconnection', null, { duration: 3000 });\n console.log('state', e.peerconnection.getStats());\n e.peerconnection.ontrack = (ev: RTCTrackEvent) => {\n console.log('onaddtrack from remote - ', ev);\n this.remoteAudio.srcObject = ev.streams[0];\n this.remoteAudio.play();\n this.showRemoteAudio = true;\n };\n }\n\n };\n\n getConnectedDevices = async (type: string) => {\n const devices = await navigator.mediaDevices.enumerateDevices();\n if (type === 'audioinput') {\n return this.inputDeviceList = devices.filter(device => device.kind === type);\n }\n if (type === 'audiooutput') {\n return this.outputDeviceList = devices.filter(device => device.kind === type);\n }\n }\n\n callOptions: CallOptions = {\n eventHandlers: this.eventHandlers,\n mediaConstraints: {\n audio: true,\n video: false\n },\n mediaStream: this.localStream\n };\n\n\n\n public user: AsteriskUser = {\n server: null,\n username: null,\n name: null,\n password: null,\n survey_extension: null,\n quees: null, // Se agrega el nuevo atributo como un array de números\n\n };\n sipUA: JsSIP.UA;\n\n /**\n * Estado de minimizacion de la ventana\n */\n statusMinimize: boolean = false\n statusOpenClosePanel: boolean = false;\n\n constructor(\n public dialog: MatDialog,\n private authService: AuthService,\n private phoneService: PhoneService,\n private vicidialService: VicidialService,\n private videoService: VideollamadaService,\n private phonePanelService: PhonePanelService,\n private phoneTransferFormService: PhoneTransferFormService,\n private cdRef: ChangeDetectorRef\n\n ) {\n // this.phonePanelService.statusSeePanelSoulPhone.subscribe(\n // (status:boolean)=>{\n // this.statusOpenClosePanel = status;\n // if(status == true){\n // this.setConnectionStatus(2);\n // this.setCallStatus(2);\n // }\n\n // }\n // )\n }\n ngOnInit(): void {\n this.phonePanelService.statusSeePanelSoulPhone.subscribe(\n (status: boolean) => {\n this.statusOpenClosePanel = status;\n if (status === true) {\n this.setConnectionStatus(2);\n this.setCallStatus(2);\n // this.getPaused(); // Llamada al método getPaused\n\n }\n }\n );\n\n this.userData = this.authService.getUser();\n console.log('Datos de usuario obtenidos:', this.userData);\n\n if (this.userData?.rrhh_id) {\n this.getSoundbarByUserId(this.userData.rrhh_id);\n } else {\n console.error('No se encontró rrhh_id en userData');\n }\n\n this.vicidialService.statusCiuObservable.subscribe((resp) => {\n if (resp[1] === undefined) {\n\n this.connect();\n } else {\n this.userAgent.unregister();\n }\n });\n }\n\n getPaused() {\n this.phoneService.getPaused().subscribe(\n (response: any) => {\n if (response?.data?.pauseCodes) {\n this.pauseReasons = response.data.pauseCodes.map((reason: any) => ({\n ...reason,\n name: reason.name.replace(/-?vicidial/gi, '')\n }));\n console.log('Pause Reasons:', this.pauseReasons);\n } else {\n console.error('No se encontraron códigos de pausa');\n }\n },\n (error) => {\n console.error('Error al obtener los códigos de pausa:', error);\n }\n );\n }\n\n onSelectPauseReason() {\n\n const rrhhId = this.userData?.rrhh_id;\n const pauseReason = this.selectedPauseReason;\n const reasonId = pauseReason?.id;\n const reasonName = pauseReason?.name;\n const extension = this.savedUsername;\n const quees = this.savedQuees;\n\n if (rrhhId && reasonId && reasonName && extension && quees) {\n this.pausar(rrhhId, reasonId, reasonName, extension, quees);\n } else {\n console.error('Faltan datos para pausar');\n }\n }\n\n\n togglePause() {\n const rrhhId = this.userData?.rrhh_id;\n const pauseReason = this.selectedPauseReason;\n const reasonId = pauseReason?.id;\n const reasonName = pauseReason?.name;\n const extension = this.savedUsername;\n const name = this.userData?.name;\n const quees = this.savedQuees;\n\n if (this.isPaused) {\n\n this.reanudar(rrhhId, reasonId, reasonName, extension, quees);\n } else {\n if (rrhhId && pauseReason && extension && name && quees) {\n this.pausar(rrhhId, reasonId, reasonName, extension, quees);\n } else {\n console.error('No se encontró rrhh_id, razón de pausa o configuración del usuario para pausar');\n }\n }\n }\n\n pauseId: number | null = null;\n\n pausar(rrhhId: string, reasonId: number, reasonName: string, extension: string, quees: number[]) {\n\n this.isPaused = true;\n const formattedQueues = quees.map(queue => `Q${queue}`);\n\n const pauseData = {\n queues: formattedQueues,\n interface: `SIP/${extension}`,\n paused: 0,\n reason: reasonName,\n pause_code_id: reasonId,\n rrhh_id: rrhhId\n };\n\n this.phoneService.createPause(pauseData).subscribe(\n (response: any) => {\n const pauseData = response?.data?.pause;\n\n if (pauseData && pauseData.id) {\n this.pauseId = pauseData.id;\n } else {\n console.warn('No se encontró la propiedad pause en la respuesta.');\n }\n },\n (error) => {\n console.error('Error al crear pausa:', error);\n }\n );\n }\n\n reanudar(rrhhId: string, reasonId: number, reasonName: string, extension: string, quees: number[]) {\n if (this.pauseId === null) {\n console.error('No se encontró una pausa activa para reanudar.');\n return;\n }\n\n const resumeData = {\n id: this.pauseId,\n queues: quees.map(queue => `Q${queue}`),\n interface: `SIP/${extension}`,\n paused: 0,\n reason: reasonName,\n pause_code_id: reasonId,\n rrhh_id: rrhhId\n };\n\n this.phoneService.updatePause(resumeData).subscribe(\n (response) => {\n this.isPaused = false;\n this.selectedPauseReason = null;\n this.pauseId = null;\n },\n (error) => {\n console.error('Error al reanudar pausa:', error);\n }\n );\n }\n\n\n getSoundbarByUserId(rrhh_id: string): void {\n if (rrhh_id) {\n this.phoneService.getSoundbar(rrhh_id).subscribe(\n (response: SoundbarResponse) => {\n this.soundbars = response.data.soubarAgente;\n },\n (error) => {\n console.error('Error al obtener el Soundbar:', error);\n }\n );\n } else {\n console.error('No se proporcionó rrhh_id');\n }\n }\n\n getUserConfigs() {\n if (this.validateIfVideoCallIsActive()) {\n this.phonePanelService.setStatusSeePanelSoulPhone = false;\n return;\n }\n\n if (this.enableConection == true) {\n this.setConnectionStatus(2);\n this.phoneService.getUserConfigs(this.campaignId).subscribe(conf => {\n\n this.user.server = conf[\"server\"];\n this.user.username = conf[\"extension\"];\n this.user.name = conf[\"name\"];\n this.user.password = conf[\"extension_pass\"];\n this.user.survey_extension = conf[\"survey_extension\"];\n this.user.quees = conf[\"quees\"] || [];\n\n this.savedUsername = this.user.username;\n this.savedPauseReason = this.user.username;\n this.savedQuees = this.user.quees;\n\n this.connect();\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.getUserConfigs();\n\n }\n\n /**\n * Set contection status\n * @param id: state id\n */\n private setConnectionStatus(id: number) {\n this.conectionStatus = CONN_STATUS.find(st => st.id === id);\n this.cdRef.detectChanges(); // Forzar la detección de cambios\n }\n\n /**\n * Set contection status\n * @param id: state id\n */\n private setCallStatus(id: number) {\n this.callStatus = CALL_STATUS.find(st => st.id == id);\n this.cdRef.detectChanges(); // Forzar la detección de cambios\n\n }\n private isConnectionActive(): boolean {\n return CONN_STATUS.some(status => status.id === 1); // Verifica si el estado es \"Conectado\" (id: 1)\n }\n @HostListener('window:beforeunload', ['$event'])\nonBeforeUnload = (event: BeforeUnloadEvent): void => {\n if (this.isOnCall || this.isConnectionActive()) {\n this.phoneService.markFreeConn().toPromise().then(() => {\n }).catch((error) => {\n console.error('Error al liberar la conexión al cerrar o recargar la página:', error);\n });\n event.returnValue = 'Si cierras o recargas la página, perderás la llamada activa. ¿Estás seguro?';\n this.closeSession();\n }\n};\n\n \n \n\n \n @HostListener('window:keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n \n if ((event.key === 'F5') || (event.ctrlKey && event.key === 'r')) {\n event.preventDefault(); \n\n Swal.fire({\n title: 'Acción no permitida',\n text: 'No puedes recargar la página mientras la llamada está activa.',\n icon: 'error',\n confirmButtonText: 'Entendido'\n });\n }\n }\n \n private blockReload(): void {\n window.addEventListener('beforeunload', this.onBeforeUnload);\n window.addEventListener('keydown', this.onKeyDown);\n }\n \n \n private allowReload(): void {\n window.removeEventListener('beforeunload', this.onBeforeUnload);\n window.removeEventListener('keydown', this.onKeyDown);\n }\n \n \n \n connect(): void {\n const socket = new JsSIP.WebSocketInterface(`wss://${this.user.server}/ws`);\n const configuration = {\n sockets: [socket],\n outbound_proxy_set: `wss://${this.user.server}/ws`,\n uri: `sip:${this.user.username}@${this.user.server}`,\n password: this.user.password,\n register: true,\n session_timers: false,\n register_expires: 3600\n };\n\n this.userAgent = new JsSIP.UA(configuration);\n this.phonePanelService.userAgent = this.userAgent;\n\n this.userAgent.on('registered', (registeredEvent) => {\n console.log('registered: ', registeredEvent.response.status_code, ',', registeredEvent.response.reason_phrase);\n this.setConnectionStatus(1);\n this.vicidialService.setInCall(true);\n this.phoneService.connetionLog(this.user.username, this.campaignId).subscribe();\n this.verifyExten();\n this.blockReload(); // Bloquea la recarga de la página\n });\n\n this.userAgent.on('registrationFailed', (unRegisteredEvent) => {\n this.setConnectionStatus(4);\n console.log('registrationFailed, ', unRegisteredEvent);\n });\n\n this.userAgent.on('registrationExpiring', () => {\n this.connect();\n });\n\n this.userAgent.on('unregistered', () => {\n this.phoneService.markFreeConn().subscribe();\n this.setConnectionStatus(3);\n this.vicidialService.setInCall(false);\n this.ngOnDestroy();\n this.allowReload(); // Permite la recarga cuando la llamada termina\n console.warn('unregistered');\n });\n\n\n this.userAgent.on('newRTCSession', (sessionEvent: RTCSessionEvent) => {\n console.log('onNewRTCSession: ', sessionEvent);\n if (sessionEvent.originator === 'remote') { // incoming call\n\n this.incomingSession = sessionEvent.session;\n this.currentSession = this.incomingSession;\n console.log('remote stream', this.incomingStream);\n this.currentSession.answer({\n mediaConstraints: this.callOptions.mediaConstraints,\n mediaStream: this.callOptions.mediaStream\n });\n this.playIncomingAudio();\n setTimeout(() => {\n\n this.setConnectionStatus(6);\n }, 500); // Ajusta el tiempo según sea necesario\n\n this.currentSession.connection.ontrack = (ev: RTCTrackEvent) => {\n console.log('onaddtrack from remote - ', ev);\n this.remoteAudio.srcObject = ev.streams[0];\n this.remoteAudio.play();\n this.showRemoteAudio = true;\n };\n\n } else {\n console.log('outgoingSession');\n this.outgoingSession = sessionEvent.session;\n this.outgoingSession.on('connecting', (event: ConnectingEvent) => {\n console.log('onConnecting - ', event.request);\n this.currentSession = this.outgoingSession;\n this.outgoingSession = null;\n console.log('call session', this.currentSession);\n });\n\n }\n sessionEvent.session.on('accepted', (event: IncomingEvent | OutgoingEvent) => {\n console.log('onAccepted - ', event);\n if (event.originator === 'remote' && this.currentSession == null) {\n this.currentSession = this.incomingSession;\n this.incomingSession = null;\n console.log('accepted setCurrentSession - ', this.currentSession);\n }\n });\n sessionEvent.session.on('ended', (event: EndEvent) => {\n this.setCallStatus(2);\n this.setConnectionStatus(1);\n\n this.phoneService.endCall(this.callId, event.originator).subscribe();\n\n console.log('%conEnded - ', 'color:white;background-color:red', event);\n this.timeInCall = [0, 0, 0];\n clearInterval(this.call_interval);\n this.numberOutputCall = \"\";\n /*\n if (event.originator === 'remote') {\n this.currentSession = null;\n this.showRemoteAudio = false;\n }\n */\n this.isOnCall = false; // Marca que la llamada terminó\n this.allowReload(); // Permite recargar la página nuevamente\n \n this.playEndedAudio();\n })\n sessionEvent.session.on('confirmed', (event: IncomingEvent | OutgoingEvent) => {\n console.log('%conConfirmed - ', 'color:black;background-color:lightgreen', event);\n this.setConnectionStatus(6); // Mueve la llamada aquí\n this.isOnCall = true; // Marca que la llamada está activa\n this.blockReload(); // Evita la recarga mientras la llamada esté en curso\n \n this.getOperationTransfers();\n if (event.originator == \"local\") {\n //Output call\n this.phoneService.searchCall(this.numberOutputCall).subscribe(call => {\n console.log(call);\n this.callId = call[\"id\"];\n this.numberPhone = call[\"phone_number\"];\n // this.userCampaigns = call[\"campaigns\"];\n\n this.phoneService.setUserToCall(this.user.username, this.callId).subscribe();\n\n });\n }\n else {\n //Llamado de búsqueda en crm por el campo phone: La key del campo en db debe ser siempre \"phone\"\n this.callId = event[\"ack\"][\"from\"][\"_display_name\"];\n this.getOriginTransfer(this.callId);\n this.numberPhone = event[\"ack\"][\"from\"][\"_uri\"][\"_user\"];\n this.phoneService.setUserToCall(this.user.username, this.callId).subscribe(resp => {\n this.isVipClient = resp[\"isVip\"];\n this.user2user = resp[\"user_to_user\"];\n // this.getOperationTransfers();\n\n if (this.user2user && this.user2user['Cedula']) {\n this.vicidialService.setCallResponse({ documentNumber: this.user2user['Cedula'] });\n }\n });\n\n // this.vicidialService.setInCall(true);\n this.vicidialService.setConversationId(this.callId);\n }\n this.setCallStatus(1);\n this.startTimer();\n if (event.originator === 'remote' && this.currentSession == null) {\n this.currentSession = this.incomingSession;\n this.incomingSession = null;\n console.log('%cconfirmed setCurrentSession - ', 'color:black;background-color:kightgreen', this.currentSession);\n }\n });\n sessionEvent.session.on('sdp', (event: SDPEvent) => {\n //console.log('onSDP, type - ', event.type, ' sdp - ', event.sdp);\n });\n\n sessionEvent.session.on('hold', (event) => {\n this.setCallStatus(6);\n setTimeout(() => {\n this.setCallStatus(4);\n }, 3000);\n });\n\n sessionEvent.session.on('unhold', (event) => {\n console.log(\"unholding....\");\n this.setCallStatus(7);\n setTimeout(() => {\n this.setCallStatus(1);\n }, 3000);\n });\n\n sessionEvent.session.on('progress', (event: IncomingEvent | OutgoingEvent) => {\n //this.setConnectionStatus(5);\n console.log('%conProgress - ', 'color:black;background-color:yellow', event.originator);\n if (event.originator === 'remote') {\n console.log('%conProgress, response - ', 'color:black;background-color:yellow', event.response);\n }\n });\n sessionEvent.session.on('peerconnection', (event: PeerConnectionEvent) => {\n console.log('%conPeerconnection - ', 'color:black;background-color:orange', event.peerconnection);\n });\n });\n this.userAgent.start();\n console.log(\"Result: \", this.userAgent.status);\n }\n playIncomingAudio() {\n const incomingAudio = new Audio('assets/sounds/llamada-entrante.mp3');\n incomingAudio.play();\n }\n\n playEndedAudio() {\n const endedAudio = new Audio('assets/sounds/call-ended.mp3');\n endedAudio.play();\n }\n\n async playAudioDuringCall() {\n if (this.isPlaying || !this.selectedSoundbar) {\n return;\n }\n \n const audioUrl = `${this.server}storage/${this.selectedSoundbar}`;\n this.audio = new Audio(audioUrl);\n this.audio.crossOrigin = \"anonymous\";\n this.isPlaying = true;\n this.isPaused3 = false;\n \n try {\n await this.audio.play();\n } catch (error) {\n console.error(\"Error al reproducir el audio: \", error);\n this.isPlaying = false;\n return;\n }\n \n const audioContext = new AudioContext();\n const audioSource = audioContext.createMediaElementSource(this.audio);\n const destination = audioContext.createMediaStreamDestination();\n \n \n const micStream = await navigator.mediaDevices.getUserMedia({ audio: true });\n const micSource = audioContext.createMediaStreamSource(micStream);\n \n const gainNode = audioContext.createGain(); \n audioSource.connect(gainNode);\n micSource.connect(gainNode);\n gainNode.connect(destination); \n audioSource.connect(audioContext.destination);\n \n const peerConnection = this.currentSession.connection;\n if (peerConnection) {\n\n this.originalAudioTrack = peerConnection.getSenders()[0].track;\n \n const mixedAudioTrack = destination.stream.getAudioTracks()[0];\n peerConnection.getSenders()[0].replaceTrack(mixedAudioTrack);\n }\n \n this.audio.addEventListener(\"ended\", () => {\n this.isPlaying = false;\n this.isPaused3 = false;\n if (peerConnection && this.originalAudioTrack) {\n peerConnection.getSenders()[0].replaceTrack(this.originalAudioTrack);\n }\n });\n }\n \n pauseAudio() {\n if (this.audio && this.isPlaying) {\n this.audio.pause();\n this.isPlaying = false;\n this.isPaused3 = true;\n const peerConnection = this.currentSession.connection;\n if (peerConnection && this.originalAudioTrack) {\n }\n }\n }\n \n resumeAudio() {\n if (this.audio && this.isPaused3) {\n this.audio.play();\n this.isPlaying = true;\n this.isPaused3 = false;\n \n \n }\n }\n \n \n \n stopAudio() {\n if (this.audio) {\n this.audio.pause();\n this.audio.currentTime = 0;\n this.isPlaying = false;\n this.isPaused3 = false;\n }\n \n const peerConnection = this.currentSession.connection;\n if (peerConnection && this.originalAudioTrack) {\n // Restaurar la pista original del micrófono\n peerConnection.getSenders()[0].replaceTrack(this.originalAudioTrack);\n }\n }\n \n\n getOriginTransfer(callId) {\n this.phoneService.getOriginTransfer(callId).subscribe(resp => {\n this.originTransfer = resp['name'];\n });\n }\n\n getOperationTransfers() {\n this.phoneService.getOperationTransfers().subscribe(resp => {\n this.userCampaigns = resp;\n });\n }\n\n disconnect() {\n if (this.userAgent) {\n this.userAgent.stop();\n this.userAgent = null; // Cleanup\n this.phonePanelService.userAgent = null;\n } else {\n console.warn('No active SIP connection to close');\n }\n }\n verifyExten() {\n this.intervalVerifyExten = setInterval(() => {\n this.phoneService.verifyExten(this.user.username).subscribe(isVerify => {\n if (isVerify) {\n // No hacer nada si la extensión está verificada\n } else {\n this.closeSession();\n // setTimeout(() => {\n // // Llamar a getUserConfigs antes de reabrir el panel\n\n // // Después de obtener la configuración, reabrir el panel y actualizar el estado\n // this.phonePanelService.setStatusSeePanelSoulPhone = true;\n // this.statusOpenClosePanel = true; // Actualizando el estado local del componente\n // }, 2000); // Esperar 2 segundos antes de reabrir el panel\n }\n });\n }, 20000); // Repetir cada 20 segundos\n }\n\n /**\n * Mute and inmute active call\n */\n mute() {\n if (this.currentSession.isMuted().audio) {\n this.currentSession.unmute();\n this.setCallStatus(1);\n this.muteTime.end = new Date();\n this.phoneService.addMuteTime(this.callId, this.timeDiffSeconds(this.muteTime)).subscribe();\n this.phoneService.changeCallState(this.callId, 1).subscribe();\n this.muteTime = { start: null, end: null };\n }\n else {\n this.muteTime.start = new Date();\n this.currentSession.mute();\n this.setCallStatus(3);\n this.phoneService.changeCallState(this.callId, 4).subscribe();\n\n }\n }\n\n\n /**\n * Hold current call\n */\n public hold() {\n if (this.currentSession.isOnHold().local) {\n this.currentSession.unhold();\n this.holdTime.end = new Date();\n this.phoneService.addHoldTime(this.callId, this.timeDiffSeconds(this.holdTime)).subscribe();\n this.phoneService.changeCallState(this.callId, 1).subscribe();\n this.holdTime = { start: null, end: null };\n\n }\n else {\n this.currentSession.hold();\n this.holdTime.start = new Date();\n this.phoneService.changeCallState(this.callId, 2).subscribe();\n\n }\n\n }\n\n /**\n * Hungup current call\n */\n hungup(): void {\n this.userAgent.terminateSessions();\n }\n\n /**\n * Start a new call\n */\n call(): void {\n this.setCallStatus(8);\n this.connect();\n const sipPhoneNumber = `sip:1245${this.numberOutputCall}@${this.user.server}`;\n const options: CallOptions = this.callOptions;\n this.ua$ = of(this.userAgent);\n this.ua$.pipe(\n find(x => x.isRegistered())\n ).subscribe(() => {\n this.outgoingSession = this.userAgent.call(sipPhoneNumber, options);\n });\n\n\n }\n\n /**\n * Cierra la sesión remota\n */\n /*closeSession() {\n this.vicidialService.setInCall(false);\n this.hungup();\n this.userAgent.unregister();\n this.phoneService.unConnetionLog(this.user.username, this.campaignId).subscribe();\n this.phonePanelService.setStatusSeePanelSoulPhone = false\n this.disconnect();\n this.ngOnDestroy();\n }*/\n async closeSession(): Promise {\n this.vicidialService.setInCall(false); \n this.hungup(); \n this.userAgent.unregister(); \n try {\n \n await this.phoneService.unConnetionLog(this.user.username, this.campaignId).toPromise();\n \n this.phonePanelService.setStatusSeePanelSoulPhone = false;\n this.disconnect(); \n this.ngOnDestroy(); \n } catch (error) {\n console.error('Error al registrar la desconexión', error);\n }\n }\n \n \n\n internalTransfer() {\n const numberTransfer = \"69\" + this.transferCampaign\n console.log(numberTransfer);\n this.transfer(numberTransfer);\n }\n /**\n * Session call transfer\n */\n public transfer(extension: string) {\n const toUser = this.user.username;\n const phoneService = this.phoneService;\n\n // this.vicidialService.setInCall(false);\n this.setCallStatus(5);\n setTimeout(() => {\n this.userAgent.terminateSessions();\n }, 500);\n //clearInterval(transfer_interval);\n clearInterval(this.call_interval);\n\n\n console.log(\"Transfiriendo a..\" + extension);\n this.currentSession.refer(extension, {\n 'eventHandlers': {\n 'accepted': function (e) {\n const data = {\n from_extension: toUser,\n to_extension: extension,\n call_id: this.callId,\n }\n phoneService.logTransferCall(data).subscribe();\n },\n 'failed': function (e) {\n console.log('Transfer failed', e);\n },\n },\n });\n\n }\n\n sendDTMFSequence() {\n this.currentSession.sendDTMF(this.numberOutputCall);\n console.log('DTMF enviado:', this.numberOutputCall);\n }\n\n sendDTMFForSoundbar() {\n // Verificar si se seleccionó algún DTMF\n if (this.selectedSoundbar) {\n // Depurar el valor de selectedSoundbar\n console.log('DTMF seleccionado:', this.selectedSoundbar);\n\n // Enviar el DTMF directamente\n this.currentSession.sendDTMF(this.selectedSoundbar);\n console.log('DTMF enviado:', this.selectedSoundbar);\n } else {\n console.error('No se seleccionó ningún soundbar o DTMF.');\n }\n }\n\n public startTimer() {\n this.call_interval = setInterval(() => {\n this.timeInCall[2]++;\n if (this.timeInCall[2] === 60) {\n this.timeInCall[2] = 0;\n this.timeInCall[1]++;\n if (this.timeInCall[1] === 60) {\n this.timeInCall[1] = 0;\n this.timeInCall[0]++;\n }\n }\n this.timeInCall[0] = String(this.timeInCall[0]).padStart(2, '0'); // Hours\n this.timeInCall[1] = String(this.timeInCall[1]).padStart(2, '0'); // Minutes\n this.timeInCall[2] = String(this.timeInCall[2]).padStart(2, '0'); // Seconds\n }, 1000);\n }\n\n /**\n * Calculate the differemnce in seconds between start and end\n * @param timeRange\n * @returns\n */\n private timeDiffSeconds(timeRange: TimeRangeInterface): number {\n return Math.round((timeRange.end.getTime() - timeRange.start.getTime()) / 1000); // in seconds\n\n }\n\n /**\n * Metodo que se encarga de cambiar el estado de minimizacion del componente\n * @author Juan David Guerrero Vargas\n * @param state:boolean {boolean} Opcional estado de la minimizacion\n */\n public changeState(state?: boolean) {\n if (state !== undefined) {\n this.statusMinimize = state\n }\n this.statusMinimize = !this.statusMinimize\n }\n\n\n /**\n * Metodo que se encarga de desconectar al usuario y cerrar el panel de soulphone\n */\n colsePanelPhone() {\n this.closeSession();\n this.phonePanelService.setStatusSeePanelSoulPhone = false\n }\n\n ngOnDestroy(): void {\n if (this.intervalVerifyExten) {\n clearInterval(this.intervalVerifyExten);\n this.intervalVerifyExten = null;\n }\n }\n\n // Funciones para la transferencias a videollamadas\n async getEmailToTransfer() {\n const { value: email } = await Swal.fire({\n title: 'Input email address',\n input: 'email',\n inputLabel: 'Your email address',\n inputPlaceholder: 'Enter your email address',\n });\n if (email) {\n Swal.fire({\n title: `Transfiriendo a videollamada`,\n text: `Enviando notificación a: ${email}`,\n timer: 6000,\n timerProgressBar: true,\n didOpen: (toast) => {\n toast.onmouseenter = Swal.stopTimer;\n toast.onmouseleave = Swal.resumeTimer;\n },\n });\n }\n }\n\n openMeeting(data?: any) {\n this.dialog.open(MeetingsComponent, {\n disableClose: true,\n hasBackdrop: false,\n data: {\n data: data,\n user: this.userData.rrhh.name,\n },\n });\n }\n\n createVideocallRoom() {\n const body = {\n client_email: '',\n client_nic: '',\n client_phone: this.numberPhone,\n config_id: 1,\n campaign_id: this.userData.rrhh.company_id,\n persist: 0,\n rrhh_id: this.userData.rrhh_id,\n origin_type: 1,\n };\n\n this.dialog\n .open(PhoneTransferFormComponent, {\n data: body,\n })\n .beforeClosed()\n .subscribe((resp) => this.createTransfer(resp));\n }\n\n createTransfer(data) {\n this.phoneTransferFormService\n .generateTransfer(data)\n .subscribe((resp: any) => {\n this.meetingTransferId = `${resp.name}::${resp.id}`;\n this.dialog.open(MeetingsComponent, {\n disableClose: true,\n hasBackdrop: false,\n data: {\n user: this.userData.rrhh.name,\n data: {\n aplicacion: this.meetingTransferId,\n isTransfered: true,\n clientId: data.client_nic,\n callId: this.callId,\n },\n },\n });\n });\n }\n\n validateIfVideoCallIsActive() {\n if (this.videoService.userAgent) {\n Swal.fire({\n title: 'Acción no valida.',\n text: 'Videoatención se encuentra conectado, por favor, desconectar Videoatención para iniciar SOULPhone.',\n icon: 'error',\n confirmButtonColor: '#00acc1',\n });\n return true;\n }\n return false;\n }\n}\n","\n
\n
\n \n \n
\n
\n\n\n \n\n\n \n\n\n\n
\n \n
\n
\n \n {{this.user ? this.user.name : \"\"}}\n refresh\n \n\n \n \n {{\"Ext:\" + this.user.username}}\n \n
\n
\n {{callStatus.name}}
\n {{this.originTransfer}}
\n \n {{\"Tiempo llamada: \"+this.timeInCall.join(\":\")}}
\n \n {{\"Número: \"+this.numberPhone}}
\n Cliente VIP\n
\n
\n
\n
\n {{ item.key }}: {{ item.value }}
\n
\n
\n\n
\n
\n\n \n\n\n
\n\n\n\n
\n \n Número\n \n \n
\n
\n\n\n
\n
\n \n Transferir\n \n \n {{ camp.name }}\n \n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n Soundbar\n \n \n {{ soundbar.name }}\n \n \n \n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n \n\n\n\n\n\n
\n\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n\n\n\n\n
\n
\n \n
\n
\n \n\n
\n
\n \n
\n
\n\n\n
\n\n
","import { Component, OnInit } from '@angular/core';\nimport { ConfigTable, Paginator } from 'src/app/shared/basic-crud-page/type';\nimport { MatDialog } from '@angular/material/dialog';\nimport { StateComponent } from '../../components/state/state.component';\nimport { StateService } from '../../services/state.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { EmailService } from '../../services/email.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\n\n@Component({\n selector: 'app-state-page-main',\n templateUrl: './state-page-main.component.html',\n styleUrls: ['./state-page-main.component.css']\n})\nexport class StatePageMainComponent implements OnInit {\n states: any[] = [];\n filter: string = '';\n filterSelect: number = 0;\n configColumnsTable: ConfigTable[] = [\n { name: '', key: 'actions', type: 'events' },\n { name: 'Nombre', key: 'name' },\n { name: 'A tiempo', key: 'green' },\n { name: 'Próximo a vencer', key: 'yellow' },\n { name: 'Vencido', key: 'red' }\n ];\n configPaginator: Paginator = { length: 0, pageIndex: 0, pageSize: 5 };\n emailsConfig: any[] = [];\n\n constructor(\n private matDialog: MatDialog,\n private stateService: StateService,\n private matSnackBar: MatSnackBar,\n private emailService: EmailService,\n private authService: AuthService\n ) { }\n\n ngOnInit(): void {\n this.getEmailsConfigByRol();\n this.getStates();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-17\n * Metodo que trae la estados registradas en el sistema. \n */\n getStates(): void {\n this.stateService.getStates(this.configPaginator, this.filter, false, this.filterSelect.toString()).subscribe(res => {\n this.states = res.data.data.map((item: any) => {\n return {\n ...item,\n green: `Dias: ${item.day_green} - Horas: ${item.hour_green} - Minutos: ${item.minutes_green}`,\n yellow: `Dias: ${item.day_yellow} - Horas: ${item.hour_yellow} - Minutos: ${item.minutes_yellow}`,\n red: `Dias: ${item.day_red} - Horas: ${item.hour_red} - Minutos: ${item.minutes_red}`,\n }\n });\n this.configPaginator.length = res.data.total;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-17\n * Metodo que setea el filtro emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilter($event: string) {\n this.filter = $event;\n this.configPaginator.pageIndex = 0;\n this.getStates();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-17\n * Metodo que actualiza el estado de un estado. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeStateValueState($event: any): void {\n const setDataState = { ...$event.item, state: $event.state };\n this.stateService.storeState(setDataState).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.getStates();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-17\n * Metodo que permite ejecutar la modal para crear o actualizar un estado. \n * @param state Estado seleccionada de la tabla. \n * @param titleDialog Titulo que va a tener la modal. \n * @param viewOnly Modo de vizualizacion de la modal. \n */\n onClickShowState(state: any = null, titleDialog: string = 'Crear estado', viewOnly: boolean = false): void {\n this.matDialog.open(StateComponent, {\n width: '50%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-edit-state',\n data: {\n titleDialog,\n state,\n viewOnly,\n emailsConfig: this.emailsConfig\n }\n }).afterClosed().subscribe(res => {\n if (res) this.getStates();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-17\n * Metodo que permite actualizar la configuracion de la paginacion.\n * @param $event Evento emitido por el componente hijo. \n */\n onChangePage($event: Paginator): void {\n this.configPaginator = $event;\n this.getStates();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-06\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-06\n * Metodo que setea el filtro del select emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilterSelect($event: number) {\n this.filterSelect = $event;\n this.configPaginator.pageIndex = 0;\n this.getStates();\n }\n}","\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { InteligenciaService } from 'src/app/modules/calidad/services/inteligencia.service';\nimport Swal from 'sweetalert2';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-crear-formulario',\n templateUrl: './crear-formulario.component.html',\n styleUrls: ['./crear-formulario.component.sass']\n})\nexport class CrearFormularioComponent implements OnInit {\n private uuid = 'f02fc8b4-8ff1-11ee-b9d1-0242ac120002';\n public config: any;\n\n formularioForm:FormGroup\n constructor(\n public formularioRef:MatDialogRef, @Inject(MAT_DIALOG_DATA) datos:any,\n private fb:FormBuilder,\n private inteligenciaS:InteligenciaService,\n private router:Router,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.createForm();\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n createForm(){\n this.formularioForm = this.fb.group({\n name: ['',[Validators.required]],\n descripcionform: ['',[Validators.required]],\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función para guardar la inteligencia de negocio\n */\n save(){\n if (this.formularioForm.invalid) {\n return\n }\n this.inteligenciaS.createIntelligence(this.formularioForm.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n this.router.navigateByUrl(`/mios/calidad/formulario/edit/${resp.respuesta.data.id}`);\n this.formularioRef.close();\n Swal.fire({\n icon:'success',\n title: this.config.confirm.successTitle,\n text: this.config.confirm.successText,\n showConfirmButton:false,\n timer: 2500\n });\n }\n });\n }\n\n}\n","\n
\n

{{config.title}}

\n \n \n {{config.fields.biName}}\n \n {{config.rules.form}}\n \n\n \n {{config.fields.description}}\n \n {{config.rules.description}}\n \n\n
\n \n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpErrorResponse, HttpClient } from '@angular/common/http';\nimport { throwError, Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { catchError } from 'rxjs/operators';\n\nconst CRM_URL = environment.CRM2_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TemplatesService {\n\n constructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n getTemplate(id: any, size: any, page: any, busqueda: any): Observable{\n return this.http.get(`${CRM_URL}template/show/${id}?n=${size}&page=${page}&fetch=${busqueda}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n obtenerTemplate(data: FormData): Observable{\n return this.http.post(`${CRM_URL}template/buildTemplate`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n buildTemplateHtml(data: FormData): Observable{\n return this.http.post(`${CRM_URL}template/buildTemplateHtml`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","export const retreatGroup = [\n {\n name: 'Retiros día 0',\n types: [\n {viewValue: 'No se Conecta'},\n {viewValue: 'Duración de la Capacitación'},\n {viewValue: 'Horarios Campaña'},\n {viewValue: 'Tipo de Contrato'},\n {viewValue: 'Pago Capacitación Inicial'},\n {viewValue: 'Salud'},\n {viewValue: 'Temas Familiares'},\n {viewValue: 'Cuidado de los Hijos'},\n {viewValue: 'Estudio'},\n {viewValue: 'Viaje'},\n {viewValue: 'Mejor Oferta Laboral'},\n {viewValue: 'No tienen equipo de computo '},\n {viewValue: 'Internet'},\n {viewValue: 'Doble proceso Selección'},\n {viewValue: 'Oferta Comision'},\n {viewValue: 'Imagen corporativa'},\n {viewValue: 'Modalidad Trabajo'},\n {viewValue: 'Reubicacion entre Campañas'},\n {viewValue: 'Comunicación Colaborador'}\n ]\n },\n {\n name: 'Retiros COS',\n types: [\n {viewValue: 'Ausencias '},\n {viewValue: 'Pierde Producto'},\n {viewValue: 'Políticas de Seguridad'},\n {viewValue: 'Documentación'},\n {viewValue: 'Previnculacón CLARO'},\n {viewValue: 'Adapatación al Proceso'}\n ]\n },\n {\n name: 'Retiros Voluntarios',\n types: [\n {viewValue: 'Salud'},\n {viewValue: 'Temas Familiares'},\n {viewValue: 'Cuidado de los Hijos'},\n {viewValue: 'Duración de la Capacitación'},\n {viewValue: 'Tipo de Contrato'},\n {viewValue: 'Pago Capacitación Inicial'},\n {viewValue: 'Oferta de Selección'},\n {viewValue: 'Horarios Campaña'},\n {viewValue: 'Estudio'},\n {viewValue: 'Viaje'},\n {viewValue: 'Mejor Oferta Laboral'}\n ]\n },\n {\n name: 'Retiros COVID',\n types: [\n {viewValue: 'Cuidadi de los hijos'},\n {viewValue: 'Se daña equipo de computo '},\n {viewValue: 'No tienen equipo de computo '},\n {viewValue: 'Internet'},\n {viewValue: 'No esta de acuerdo con el proceso de OJT presencial'},\n ]\n },\n {\n name: 'Retiros OJT',\n types: [\n {viewValue: 'Abandono'},\n {viewValue: 'No Aprueba Proceso'},\n {viewValue: 'Políticas de Seguridad'},\n {viewValue: 'Cuidado de los Hijos'},\n {viewValue: 'Código de Ética y Conducta'},\n {viewValue: 'Salud'},\n {viewValue: 'Temas Familiares'},\n {viewValue: 'Problemas Nómina'},\n {viewValue: 'Pago Capacitación Inicial'},\n {viewValue: 'Horarrios Campaña'},\n {viewValue: 'Estudio'},\n {viewValue: 'Viaje'},\n {viewValue: 'Mejor Oferta Laboral'},\n {viewValue: 'Herramientas de Trabajo'},\n {viewValue: 'Adaptabilidad'}\n ]\n }\n ];\n\nexport const commentsGroup=[\n {\n name:'Asistencia',\n },\n {\n name:'Falla',\n },\n {\n name:'Retiro',\n },\n {\n name:'Tarde',\n },\n {\n name:'Incapacidad',\n },\n {\n name:'Migrado',\n },\n ]\n\nexport const statusGroup=[\n {\n name:'Viabilidad',\n },\n {\n name:'Alta en SSFF',\n },\n {\n name:'Previnculación',\n },\n {\n name:'Vinculación',\n },\n {\n name:'Validación Usuarios',\n },\n {\n name:'Entrega de Actas Parciales',\n },\n {\n name:'Depuración de Usuarios',\n },\n {\n name:'Entregado',\n }\n ]","/* (ignored) */","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EmailManagerRoutingModule } from './email-manager-routing.module';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { FormsModule } from '@angular/forms';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { EmailManagerComponent } from './email-manager.component';\nimport { EmailManagerMainComponent } from './pages/email-manager-main/email-manager-main.component';\nimport { LeftMenuMainComponent } from './components/left-menu-main/left-menu-main.component';\nimport { MailingListComponent } from './components/mailing-list/mailing-list.component';\nimport { LandingPageEmailManagerComponent } from './pages/landing-page-email-manager/landing-page-email-manager.component';\nimport { AdvanceFilterEmailsComponent } from './components/advance-filter-emails/advance-filter-emails.component';\nimport { NewMessageComponent } from './components/new-message/new-message.component';\nimport { MailFormComponent } from './components/mail-form/mail-form.component';\nimport { AngularEditorModule } from '@kolkov/angular-editor';\nimport { ContactGroupComponent } from './components/contact-group/contact-group.component';\nimport { MailViewComponent } from './components/mail-view/mail-view.component';\nimport { ManagementHistoryComponent } from './components/management-history/management-history.component';\nimport { ManagementHistoryViewComponent } from './components/management-history-view/management-history-view.component';\nimport { CategoryComponent } from './components/category/category.component';\nimport { ManagerMessageComponent } from './components/manager-message/manager-message.component';\nimport { TableContactGroupComponent } from './components/table-contact-group/table-contact-group.component';\nimport { ContactGroupMainComponent } from './pages/contact-group-main/contact-group-main.component';\nimport { FormContactGroupComponent } from './components/form-contact-group/form-contact-group.component';\nimport { AssignCategoryComponent } from './components/assign-category/assign-category.component';\nimport { StateComponent } from './components/state/state.component';\nimport { StatePageMainComponent } from './pages/state-page-main/state-page-main.component';\nimport { CategoryPageMainComponent } from './pages/category-page-main/category-page-main.component';\nimport { TrayPageMainComponent } from './pages/tray-page-main/tray-page-main.component';\nimport { TrayComponent } from './components/tray/tray.component';\nimport { AssignEmailComponent } from './components/assign-email/assign-email.component';\nimport { EmailPageMainComponent } from './pages/email-page-main/email-page-main.component';\nimport { EmailComponent } from './components/email/email.component';\nimport { AssignTraysUserComponent } from './pages/assign-trays-user/assign-trays-user.component';\nimport { AssignEmailUserComponent } from './pages/assign-email-user/assign-email-user.component';\nimport { MassiveManagementComponent } from './components/massive-management/massive-management.component';\nimport { AnsPageMainComponent } from './pages/ans-page-main/ans-page-main.component';\nimport { AnsComponent } from './components/ans/ans.component';\nimport { AssignPriorityComponent } from './components/assign-priority/assign-priority.component';\nimport { AssignPriorityPageMainComponent } from './pages/assign-priority-page-main/assign-priority-page-main.component';\nimport { SupervisorPageMainComponent } from './pages/supervisor-page-main/supervisor-page-main.component';\nimport { EmailReassignmentPageMainComponent } from './pages/email-reassignment-page-main/email-reassignment-page-main.component';\nimport { NewMessageV2Component } from './components/new-message-v2/new-message-v2.component';\nimport { HistoryAcordionMailComponent } from './components/history-acordion-mail/history-acordion-mail.component';\nimport { CreateMeetingComponent } from './components/create-meeting/create-meeting.component';\nimport { FullCalendarModule } from '@fullcalendar/angular';\nimport dayGridPlugin from '@fullcalendar/daygrid';\nimport interactionPlugin from '@fullcalendar/interaction';\nimport { TemplatesPageMainComponent } from './pages/templates-page-main/templates-page-main.component';\nimport { TemplatesComponent } from './components/templates/templates.component';\nimport { ValidateEmailAccountComponent } from './components/validate-email-account/validate-email-account.component';\nimport { FolderPageMainComponent } from './pages/folder-page-main/folder-page-main.component';\nimport { AssignFolderUserComponent } from './pages/assign-folder-user/assign-folder-user.component';\nimport { ManagerListEmailsComponent } from './components/manager-list-emails/manager-list-emails.component';\nimport { MoveEmailToTraysComponent } from './pages/move-email-to-trays/move-email-to-trays.component';\nimport { MoveEmailTrayComponent } from './components/move-email-tray/move-email-tray.component';\nimport { MoveEmailToAccountComponent } from './pages/move-email-to-account/move-email-to-account.component';\nimport { MoveEmailAccountComponent } from './components/move-email-account/move-email-account.component';\nimport { SupervisorPageMainV2Component } from './pages/supervisor-page-main-v2/supervisor-page-main-v2.component';\nimport { ViewGraphStatesComponent } from './components/view-graph-states/view-graph-states.component';\nimport { EmailSupportComponent } from './pages/email-support/email-support.component';\nimport { LimitTextPipe } from './utils/pipes/limit-text.pipe';\nimport { CKEditorModule } from '@ckeditor/ckeditor5-angular';\nimport { SwiperModule } from 'swiper/angular';\nimport { SwiperReportTraysComponent } from './components/swiper-report-trays/swiper-report-trays.component';\nimport { SwiperReportMonthsComponent } from './components/swiper-report-months/swiper-report-months.component';\nimport { LabelPageMainComponent } from './pages/label-page-main/label-page-main.component';\nimport { LabelComponent } from './components/label/label.component';\nimport { ViewEmailsStateComponent } from './components/view-emails-state/view-emails-state.component';\n\nFullCalendarModule.registerPlugins([dayGridPlugin, interactionPlugin]);\n\n@NgModule({\n declarations: [\n EmailManagerComponent,\n EmailManagerMainComponent,\n LeftMenuMainComponent,\n MailingListComponent,\n LandingPageEmailManagerComponent,\n AdvanceFilterEmailsComponent,\n NewMessageComponent,\n MailFormComponent,\n ContactGroupComponent,\n MailViewComponent,\n ManagementHistoryComponent,\n ManagementHistoryViewComponent,\n CategoryComponent,\n ManagerMessageComponent,\n TableContactGroupComponent,\n ContactGroupMainComponent,\n FormContactGroupComponent,\n AssignCategoryComponent,\n StateComponent,\n StatePageMainComponent,\n CategoryPageMainComponent,\n TrayPageMainComponent,\n TrayComponent,\n AssignEmailComponent,\n EmailPageMainComponent,\n EmailComponent,\n AssignTraysUserComponent,\n AssignEmailUserComponent,\n MassiveManagementComponent,\n AnsPageMainComponent,\n AnsComponent,\n AssignPriorityComponent,\n AssignPriorityPageMainComponent,\n SupervisorPageMainComponent,\n EmailReassignmentPageMainComponent,\n NewMessageV2Component,\n HistoryAcordionMailComponent,\n CreateMeetingComponent,\n TemplatesPageMainComponent,\n TemplatesComponent,\n ValidateEmailAccountComponent,\n FolderPageMainComponent,\n AssignFolderUserComponent,\n ManagerListEmailsComponent,\n MoveEmailToTraysComponent,\n MoveEmailTrayComponent,\n MoveEmailToAccountComponent,\n MoveEmailAccountComponent,\n SupervisorPageMainV2Component,\n ViewGraphStatesComponent,\n TemplatesPageMainComponent,\n TemplatesComponent,\n EmailSupportComponent,\n LimitTextPipe,\n SwiperReportTraysComponent,\n SwiperReportMonthsComponent,\n LabelPageMainComponent,\n LabelComponent,\n ViewEmailsStateComponent\n ],\n imports: [\n CommonModule,\n EmailManagerRoutingModule,\n SharedModule,\n FormsModule,\n MaterialModule,\n AngularEditorModule,\n FullCalendarModule,\n CKEditorModule,\n SwiperModule\n ],\n exports: [\n ManagementHistoryViewComponent,\n MailViewComponent,\n ManagerMessageComponent,\n MailFormComponent\n ]\n})\nexport class EmailManagerModule { }\n","import { Component, Inject, OnInit } from '@angular/core';\nimport {FormArray, FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { FormsRequestService } from 'src/app/modules/crm/services/rest/forms-request.service';\nimport { TemplatesService } from 'src/app/modules/crm/services/rest/templates.service';\n\n@Component({\n selector: 'app-save-template',\n templateUrl: './save-template.component.html',\n styleUrls: ['./save-template.component.sass']\n})\n\nexport class SaveTemplateComponent implements OnInit {\n firstStep: FormGroup;\n secondStep: FormGroup;\n thirdStep: FormGroup;\n template: any[] = [];\n form: any;\n\n constructor(private _formBuilder: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public datos: any,\n public formsRequestService: FormsRequestService,\n private destroyService: DestroyComponentService) {\n this.secondStep = this._formBuilder.group({});\n }\n\n ngOnInit() {\n\n this.firstStep = this._formBuilder.group({\n nombre: new FormControl('', [Validators.required, Validators.maxLength(50), Validators.minLength(3)]),\n caracter: new FormControl('', [Validators.required, Validators.maxLength(1), Validators.minLength(1)]),\n });\n\n this.secondStep = this._formBuilder.group({});\n\n this.formsRequestService.getForm(`searchform/${this.datos.idForm}`, 1000, 1).subscribe(res => {\n\n this.form = res.section;\n\n this.form.forEach(sections => {\n sections.fields.forEach(element => {\n this.secondStep.addControl(element.key, new FormControl(''));\n this.secondStep.addControl(element.key + 'radio', new FormControl(''));\n this.secondStep.addControl(element.key + 'check', new FormControl(''));\n });\n });\n\n });\n\n this.thirdStep = this._formBuilder.group({\n fields: this._formBuilder.array([])\n });\n\n this.newFields();\n }\n\n get errorForm1(): any { return this.firstStep.controls; }\n\n get fields(): FormArray {\n return this.thirdStep.get('fields') as FormArray;\n }\n\n newFields(): any {\n const newField = this._formBuilder.group({\n name: new FormControl(''),\n caracter: new FormControl(''),\n option: new FormControl('')\n });\n this.fields.push(newField);\n }\n\n deleteField(indice: number): void {\n this.fields.removeAt(indice);\n }\n\n omitSpecialChar(event): any {\n let k;\n k = event.charCode;\n return((k > 32 && k < 48 || k > 57 && k < 65 || k > 90 && k < 97 || k > 122 && k < 127));\n }\n\n guardar(): void {\n\n /* const template = {\n\n } */\n\n console.log('form1', this.firstStep.getRawValue());\n console.log('form2', this.secondStep.getRawValue());\n console.log('form3', this.thirdStep.getRawValue());\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}","

{{datos.title}}\n \n

\n\n \n\n \n \n \n \n \n \n\n Nombre plantilla\n\n
\n Personaliza la plantilla\n

Escribe el nombre que tendrá la plantilla y el caracter que separara los datos del formulario.

\n
\n\n
\n \n \n Nombre de la plantilla \n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 50 caracteres\n \n\n \n Caracter que separa los datos \n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 1 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 1 caracteres\n \n \n
\n\n \n \n \n \n\n
\n\n \n \n Campos plantilla\n\n
\n Selección de campos del a plantilla\n

Selecciona los campos que deseas que vayan en la plantilla y el caracter que encerrara ese campo.

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

\n\n

Seccion: {{section.name_section}}

\n\n
Seleccionar campo
\n\n
\n\n
¿Incluir nombre del campo?
\n\n

\n
\n\n
{{item.label}}
\n\n
\n \n \n Caracter especial\n \n \n \n
\n\n
\n \n Si\n No\n \n
\n\n \n\n
\n

\n\n
\n \n
\n\n \n \n \n \n \n
\n\n \n \n Campos editables\n\n
\n Añade campos editables\n

Agrega y selecciona los campos editables que quieras para el formulario y el caracter que encerrara ese campo.

\n
\n\n
\n \n
\n\n
\n
\n
¿Incluir nombre del campo?
\n\n
\n\n
\n\n
\n\n \n Nombre del campo\n \n \n\n \n Caracter especial\n \n \n\n \n Si\n No\n \n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n\n
\n\n \n \n \n \n
\n\n
\n\n
\n\n\n\n\n \n \n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { OnBoardingComponent } from '../../shared/on-boarding/on-boarding.component';\n\n@Component({\n selector: 'app-auditoria',\n templateUrl: './auditoria.component.html',\n styleUrls: ['./auditoria.component.sass']\n})\nexport class AuditoriaComponent implements OnInit {\n\n public userName : any;\n\n constructor(\n private dialog: MatDialog, \n private authService : AuthService,\n ) { }\n\n ngOnInit(): void {\n this.userName = this.authService.decryptToken();\n }\n\n onBoadingAuditoria(): void{\n const landingRef = this.dialog.open(OnBoardingComponent,{\n disableClose: true,\n panelClass: 'full-screen-modal',\n })\n }\n\n}\n","
\n\n
\n
\n
\n
\n
\n
\n

Calidad

\n
\n

¡Bienvenid@
{{userName.rrhh.name | titlecase}}!

\n
\n
\n

\n Dentro del módulo de Calidad, podrás visualizar y crear indicadores para cada campaña, hacer seguimiento y retroalimentación a agentes y mantener un control de calidad constante en la operación.\n

\n
\n
\n
\n \n
\n
\n
\n\n
\n \"\"\n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot } from '@angular/router';\nimport { LeftNavService } from '../services/rest/left-nav.service';\nimport { AuthService } from '../services/rest/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UrlAplicationsGuard implements CanActivateChild {\n private applications:any[] = Array.from(this.authService.getUser().applications)\n constructor(\n private leftNavService: LeftNavService, \n private authService: AuthService,\n private router: Router){}\n\n /**\n * Metodo que se encarga de determinar si se peude o no ingresar a las url del aplicativo\n * @author Juan David Guerrero Vargas\n * @param childRoute:ActivatedRouteSnapshot {ActivatedRouteSnapshot} SnapShto de la ruta con los datos\n * @param state:RouterStateSnapshot {RouterStateSnapshot} SpanShot del estado de la ruta redireccionada, parametros, URL implicita\n * @returns {Promise} Promise Respuesta booleana teniendo en cuenta el consumo del enpoint para determinar si se debe o no dar permiso de entrar\n */\n async canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\n const urlActual = state.url.slice(1).split('/')[1];\n if(urlActual !== undefined){\n const vari = await this.leftNavService.getLeftMenu(urlActual).toPromise();\n if(vari?.data !== undefined && Array.isArray(vari?.data) == true && vari?.data.length > 0){\n return true\n }\n }\n if(this.applications.length > 0){\n this.router.navigate([this.applications[0].url.slice(1) + \"\"])\n }else{\n this.router.navigate([\"mios/ciu\"])\n }\n return false\n }\n\n}","import { ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport Swal from 'sweetalert2';\nimport { NetworkUsersService } from '../../services/rest/network-users.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-update-security-questions',\n templateUrl: './update-security-questions.component.html',\n styleUrls: ['./update-security-questions.component.sass']\n})\nexport class UpdateSecurityQuestionsComponent implements OnInit {\n new_questions_form: FormGroup\n questions_form: FormGroup\n questions: any[] = []\n logged_user: any\n questions_labels: any = { first: \"\", second: \"\", third: \"\" }\n match_answers: boolean = false\n\n constructor(private formBuilder: FormBuilder, @Inject(MAT_DIALOG_DATA) public data: any, private authService: AuthService, private networkUsersService: NetworkUsersService,\n private dialogRef: MatDialogRef, private alertService: AlertsService, private cdr: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.validateLastQuestionsUpdate()\n this.initializeNewQuestionsForm()\n this.initializeQuestionsForm()\n this.getQuestionsList()\n }\n\n initializeNewQuestionsForm() {\n this.new_questions_form = this.formBuilder.group({\n first_question: this.formBuilder.group({\n id: [],\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n }),\n second_question: this.formBuilder.group({\n id: [],\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n }),\n third_question: this.formBuilder.group({\n id: [],\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n }),\n fourth_question: this.formBuilder.group({\n id: [],\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n }),\n fifth_question: this.formBuilder.group({\n id: [],\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n }),\n sixth_question: this.formBuilder.group({\n id: [],\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n }),\n seventh_question: this.formBuilder.group({\n id: [],\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n }),\n eighth_question: this.formBuilder.group({\n id: [],\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n }),\n })\n this.setQuestionFormValue()\n this.setNewQuestionsFormValue()\n this.new_questions_form.valueChanges.subscribe(() => {\n this.updateOptions()\n });\n\n }\n\n /**\n* Metódo que obtiene las preguntas almacenadas aleatoriamente y las asigna al formulario y a los labels\n* @param event\n* @author Juan Carlos Alonso\n* @createdate 15-05-2024\n*/\n setQuestionFormValue() {\n this.networkUsersService.getUserSecurityQuestions(0).subscribe(resp => {\n //Se asigna el valor de las ids de las preguntas asociadas al usuario\n this.first_question_controls.id.setValue(resp[0]?.id)\n this.second_question_controls.id.setValue(resp[1]?.id)\n this.third_question_controls.id.setValue(resp[2]?.id)\n this.questions_labels = { first: resp[0]?.question_text, second: resp[1]?.question_text, third: resp[2]?.question_text }\n })\n }\n\n setNewQuestionsFormValue() {\n this.networkUsersService.getUserSecurityQuestions(1).subscribe(resp => {\n //Se asigna el valor de las ids de las preguntas asociadas al usuario\n this.getNewQuestionControls('first_question').id.setValue(resp[0]?.id)\n this.getNewQuestionControls('second_question').id.setValue(resp[1]?.id)\n this.getNewQuestionControls('third_question').id.setValue(resp[2]?.id)\n this.getNewQuestionControls('fourth_question').id.setValue(resp[3]?.id)\n this.getNewQuestionControls('fifth_question').id.setValue(resp[4]?.id)\n this.getNewQuestionControls('sixth_question').id.setValue(resp[5]?.id)\n this.getNewQuestionControls('seventh_question').id.setValue(resp[6]?.id)\n this.getNewQuestionControls('eighth_question').id.setValue(resp[7]?.id)\n })\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 29-05-2024\n * Método que obtiene la lista de preguntas de seguridad\n */\n getQuestionsList() {\n this.authService.getSecurityQuestionsList().subscribe(resp => {\n this.questions = resp\n })\n }\n\n /**\n * Metódo que valida si la contraseña ya ha sido actualizada el día de hoy, si es asi restringe el acceso al formulario hasta que pasen 24 horas\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n validateLastQuestionsUpdate(){\n this.networkUsersService.validateLastUpdates(1).subscribe(resp => {\n if (resp.data?.restriction) {\n this.alertService.alertInfo('¡Atención!', resp.data?.message)\n this.dialogRef.close()\n }\n })\n }\n\n\n /**\n* @author Juan Carlos Alonso\n* @createdate 29-05-2024\n* Método que retorna los controles de un grupo de preguntas\n* @param group nombre del grupo del formulario\n*/\n getNewQuestionControls(group: string) {\n const QuestionGroup = this.new_questions_form.get(group) as FormGroup\n return QuestionGroup ? QuestionGroup.controls : {}\n }\n /**\n* @author Juan Carlos Alonso\n* @createdate 29-05-2024\n* Método que desactiva las opciones de las preguntas que ya han sido seleccionadas, y asi mismo las activa al deseleccionar\n*/\n updateOptions() {\n const selectedValues: string[] = [];\n const formControls = this.new_questions_form.controls;\n\n for (const key in formControls) {\n if (formControls.hasOwnProperty(key) && key.endsWith('_question')) {\n const questionGroup = formControls[key] as FormGroup;\n const questionIdControl = questionGroup.controls['question_id'];\n if (questionIdControl) {\n selectedValues.push(questionIdControl.value);\n }\n }\n }\n\n this.questions.forEach(question => {\n question['disabled'] = selectedValues.includes(question.id);\n });\n }\n\n\n /**\n * Metódo que inicializa el formulario de las preguntas\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n initializeQuestionsForm() {\n this.questions_form = this.formBuilder.group({\n first_question: this.formBuilder.group({\n id: ['', []],\n answer: ['', [Validators.required]]\n }),\n second_question: this.formBuilder.group({\n id: ['', []],\n answer: ['', [Validators.required]]\n }),\n third_question: this.formBuilder.group({\n id: ['', []],\n answer: ['', [Validators.required]]\n })\n })\n }\n\n /**\n* Metódo que retorna los controles de la primera pregunta\n* @param event\n* @author Juan Carlos Alonso\n* @createdate 15-05-2024\n*/\n get first_question_controls() {\n const firstQuestionGroup = this.questions_form.get('first_question') as FormGroup\n return firstQuestionGroup ? firstQuestionGroup.controls : {}\n }\n\n /**\n * Metódo que retorna los controles de la segunda pregunta\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n get second_question_controls() {\n const secondQuestionGroup = this.questions_form.get('second_question') as FormGroup\n return secondQuestionGroup ? secondQuestionGroup.controls : {}\n }\n\n /**\n * Metódo que retorna los controles de la tercera pregunta\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n get third_question_controls() {\n const thirdQuestionGroup = this.questions_form.get('third_question') as FormGroup\n return thirdQuestionGroup ? thirdQuestionGroup.controls : {}\n }\n\n\n /**\n* Metódo envía las respuestas ingresadas y valida si se puede continuar al cambio de contraseña\n* @param event\n* @author Juan Carlos Alonso\n* @createdate 15-05-2024\n*/\n validateAnswers(stepper) {\n if (this.questions_form.invalid) {\n this.questions_form.markAllAsTouched()\n return\n }\n this.networkUsersService.validateSecurityQuestionsAnswers(this.questions_form.value).subscribe((resp: any) => {\n if (resp.data?.confirmation) {\n this.match_answers = true\n this.cdr.detectChanges();\n stepper.next()\n }\n },\n (error) => {\n this.alertService.alertError('¡Atención!', error.error.error)\n }\n )\n }\n\n\n\n /**\n* @author Juan Carlos Alonso\n* @createdate 29-05-2024\n* Método que envía y actualiza las preguntas de seguridad\n*/\n save() {\n if (this.new_questions_form.invalid) {\n this.new_questions_form.markAllAsTouched()\n return\n }\n\n this.networkUsersService.updateUserSecurityAnswers(this.new_questions_form.value).subscribe((resp: any) => {\n Swal.fire({\n html: `${resp.data?.message}`,\n icon: 'success',\n confirmButtonText: 'Aceptar'\n });\n this.dialogRef.close();\n }, (error) => {\n Swal.fire({\n html: `${error.error.error}`,\n icon: 'error',\n confirmButtonText: 'Aceptar'\n });\n }\n )\n\n }\n}\n","
\n
\n

{{ data.title }}

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

Estas preguntas son necesarias para poder restaurar tus credenciales en caso de\n necesitarlo, las mayúsculas, minúsculas y acentos de tus respuestas se tendrán en cuenta.

\n
\n
\n\n\n \n \n
\n Responde las preguntas de seguridad\n
\n
\n \n {{ questions_labels.first }}\n \n Ingresa una respuesta\n \n
\n
\n\n
\n
\n \n {{ questions_labels.second }}\n \n Ingresa una respuesta\n \n
\n
\n\n
\n
\n \n {{ questions_labels.third }}\n \n Ingresa una respuesta\n \n
\n
\n\n
\n
\n \n
\n
\n
\n
\n\n \n
\n Crea las nuevas preguntas de seguridad\n
\n
\n \n Primera pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n \n\n
\n
\n \n Segunda pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n \n\n\n
\n
\n \n Tercera pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n \n\n\n
\n
\n \n Cuarta pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n \n\n\n
\n
\n \n Quinta pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n \n\n\n
\n
\n \n Sexta pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n \n\n\n
\n
\n \n Séptima pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n \n\n\n
\n
\n \n Octava pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n
\n
\n \n \n
\n
\n
\n
\n
\n\n\n
\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, Input, OnInit, Output, EventEmitter, OnDestroy, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport * as moment from 'moment';\nimport { Subscription } from 'rxjs';\nimport { QuestionInterface } from 'src/app/modules/auditoria/interfaces/question.interface';\nimport { InteligenciaService } from 'src/app/modules/auditoria/services/inteligencia.service';\nimport { PreguntasService } from 'src/app/modules/auditoria/services/preguntas.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\nimport Swal from 'sweetalert2';\nimport { CrearPreguntaComponent } from '../crear-pregunta/crear-pregunta.component';\nimport { DetallePreguntaComponent } from '../detalle-pregunta/detalle-pregunta.component';\n\n@Component({\n selector: 'app-tabla-preguntas',\n templateUrl: './tabla-preguntas.component.html',\n styleUrls: ['./tabla-preguntas.component.sass']\n})\nexport class TablaPreguntasComponent implements OnInit, OnDestroy {\n\n /**\n * @author Cristian Gallo\n * Variable para almacenar los tipos de preguntas \n */\n tiposPreguntas = [];\n\n //Columnas de la tablas\n displayedColumns:string[] = ['acciones','fecha_creacion','tipo_pregunta','pregunta'];\n\n //Variable para el manejo de los datos en la tabla\n dataSource = new MatTableDataSource();\n\n //Variable para almacenar la selección del checkbox\n selection = new SelectionModel(true, []);\n\n //Variable para controlar la activación de los checkbox\n @Input()checkbox:boolean = false;\n\n //Variable para recibir el id de fomulario\n @Input()idForm = '';\n\n //Eventos para actualizar tabla desde el componente padre\n @Output() arraySelection = new EventEmitter()\n @Output() cancelarEvent = new EventEmitter()\n\n //Control de paginación de la tabla\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n @ViewChild(MatPaginator) paginator:MatPaginator;\n\n //Filtros\n filtroPregunta:string = '';\n filtroFecha:string = '';\n filtroTipo_pregunta:string = '';\n\n //Observable para los cambios de la tabla\n subscription:Subscription;\n\n constructor( \n private questionDialog:MatDialog,\n private detailDialog:MatDialog,\n private preguntaService:PreguntasService,\n private inteligenciaS:InteligenciaService,\n ) { }\n\n ngOnInit(): void {\n this.getQuestions(this.page,this.pageSize);\n this.getTypeQuestions();\n this.subscription = this.inteligenciaS.refresh$.subscribe(()=>{\n this.getQuestions(this.page,this.pageSize);\n });\n }\n\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n\n /**\n * @author Cristian Gallo\n * Función para visualizar el dialog de crear preguntas\n */\n newQuestion(){\n const questionRef = this.questionDialog.open(CrearPreguntaComponent, {\n width: '840px',\n disableClose: true,\n data: {tiposPreguntas: this.tiposPreguntas}\n });\n questionRef.afterClosed().subscribe(result=>{\n this.getQuestions(this.page,this.pageSize)\n });\n }\n /**\n * @author Cristian Gallo\n * Función para visualizar el dialog detalle y edición de preguntas\n */\n detailQuestion(edit:boolean,id_question){\n const detailRef = this.detailDialog.open(DetallePreguntaComponent,{\n width: '840px',\n disableClose: true,\n data: {edit:edit, id:id_question}\n })\n detailRef.afterClosed().subscribe(result=>{\n if (result == 202) {\n this.getQuestions(this.page,this.pageSize)\n }\n })\n }\n /**\n * @author Cristian Gallo\n * Función para eliminar preguntas\n */\n removeQuestion(id_question){\n Swal.fire({\n icon:'warning',\n title: '¿Estas seguro de eliminar esta pregunta?',\n html: '

¿Deseas eliminar permanentemente la pregunta?

Recuerda que esta acción será definitiva y no se podrá deshacer.

',\n showCancelButton: true,\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true,\n width: '810px',\n padding: '2em 7em'\n }).then((result)=>{\n if (result.isConfirmed) {\n this.preguntaService.removeQuestion(id_question).subscribe((resp:any)=>{\n if (resp.respuesta.codigo === 202) {\n Swal.fire({\n icon:'success',\n title: '¡Excelente!',\n text: 'La pregunta se ha eliminado con éxito',\n showConfirmButton:false,\n timer: 2500\n });\n this.getQuestions(this.page,this.pageSize);\n }else {\n Swal.fire({\n icon: 'error',\n title: '¡Oops!',\n text: 'Lo sentimos ha sucedio un error',\n showConfirmButton: false,\n timer: 2500\n })\n }\n },(err:any)=>{\n Swal.fire({\n icon: 'error',\n title: '¡Oops!',\n text: 'Lo sentimos, no es posible eliminar la pregunta, esta siendo Utilizada por una matriz o una Inteligencia de Negocio.',\n showConfirmButton: false,\n timer: 2500\n })\n });\n }\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función para la paginación de la tabla\n */\n pageEvent(event:any){\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getQuestions(this.page,this.pageSize);\n }\n\n filtrar(){\n this.paginator.firstPage();\n this.getQuestions(this.page,this.pageSize);\n }\n\n /**\n * @author Cristian Gallo\n * Función para obtener todas las preguntas creadad y activas\n */\n getQuestions(page,pageSize){\n const params = {\n page: page,\n numeroReg: pageSize,\n pregunta: '',\n fecha: '',\n tipo_pregunta: '',\n idForm: '',\n }\n //Filtros\n if (this.filtroPregunta != \"\") {\n params.pregunta = this.filtroPregunta\n }\n\n if (this.filtroFecha != \"\") {\n if ( this.filtroFecha == null) {\n params.fecha = ''\n }else{\n params.fecha = moment(this.filtroFecha).format('YYYY-MM-DD')\n }\n }\n\n if (this.filtroTipo_pregunta != \"\") {\n if (this.filtroTipo_pregunta == null) {\n params.tipo_pregunta = '';\n }else{\n params.tipo_pregunta = this.filtroTipo_pregunta\n }\n }\n\n if (this.idForm != \"\") {\n params.idForm = this.idForm;\n }\n\n this.preguntaService.getQuestions(params).subscribe((resp:any)=>{\n this.dataSource.data = resp.data\n this.length = resp.total\n this.pageSize = resp.per_page;\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función para obtener los tipos de preguntas existentes\n */\n getTypeQuestions(){\n this.preguntaService.getTypeQuestions().subscribe((resp:any)=>{\n this.tiposPreguntas = resp;\n })\n }\n\n //Control para checkbox\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n //Control para checkbox\n masterToggle() {\n if (this.isAllSelected()) {\n this.selection.clear();\n return;\n }\n \n this.selection.select(...this.dataSource.data);\n }\n \n //Control para checkbox\n checkboxLabel(row?: QuestionInterface): string {\n \n if (!row) {\n return `${this.isAllSelected() ? 'deselect' : 'select'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.id + 1}`;\n }\n\n /**\n * @author Cristian Gallo\n * Función para obtener las filas seleccionadas\n * y envio de las mismas al padre\n */\n selections(){\n this.arraySelection.emit(this.selection.selected);\n this.selection.clear();\n }\n\n cancelar(){\n this.cancelarEvent.emit();\n }\n\n}\n","
\n
\n \n Filtrar por pregunta\n \n \n \n
\n
\n \n Fecha\n \n \n \n \n \n \n
\n
\n \n Tipo de pregunta\n \n Todas\n {{tipo.name}}\n \n \n
\n
\n \n
\n
\n\n
\n
\n \n\n \n \n
\n
\n \n
\n
\n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n
\n \n \n \n \n \n \n Fecha de creación {{ element.created_at | date:'dd/MM/yyyy'}} Tipo de pregunta {{ element.tipo_pregunta.name }} Pregunta {{ element.question | cutText}}
No hay registros para mostrar
\n\n \n \n \n
\n
\n
\n \n \n
","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { ComprasComponent } from './compras.component';\nimport { SolicitudesCardsComponent } from './modules/solicitudes/solicitudes-cards/solicitudes-cards.component';\nimport { SolicitudesListComponent } from './modules/solicitudes/solicitudes/solicitudes-list.component';\nimport { SolicitudesAprobarComponent } from './modules/solicitudes/solicitudes-aprobar/solicitudes-aprobar.component';\nimport { SolicitudesControlComponent } from './modules/solicitudes/solicitudes-control/solicitudes-control.component';\n\n\n\nconst routes: Routes = [\n\n { path : '', component: ComprasComponent},\n { path : 'solicitudes', component: SolicitudesListComponent},\n { path : 'solicitudes-user', component: SolicitudesCardsComponent},\n { path : 'solicitudes-aprobador', component: SolicitudesAprobarComponent},\n { path : 'solicitudes-control', component: SolicitudesControlComponent},\n\n\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class ComprasRoutingModule { }\n","import { Directive, Output, EventEmitter, HostBinding, HostListener} from '@angular/core';\n\n@Directive({\n selector: '[appDnd]'\n})\nexport class DndDirective {\n @HostBinding('class.fileover') fileOver: boolean;\n @Output() fileDropped = new EventEmitter();\n\n\n /**\n * Método para gestionar el evento 'dragover' cuando se está arrastrando un archivo sobre el elemento.\n * @author Yeison Sepulveda\n * @createdate 2024-05-05\n * @param $event El evento de soltar archivos.\n */\n @HostListener('dragover', ['$event']) onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = true;\n }\n\n /**\n * Método para gestionar el evento 'dragleave' cuando se está saliendo del área de arrastre.\n * @author Yeison Sepulveda\n * @createdate 2024-05-05\n * @param $event El evento de soltar archivos.\n */\n @HostListener('dragleave', ['$event']) public onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n }\n\n /**\n * Método para gestionar el evento 'drop' cuando se suelta un archivo arrastrado sobre el elemento.\n * @author Yeison Sepulveda\n * @createdate 2024-05-05\n * @param $event El evento de soltar archivos.\n */\n @HostListener('drop', ['$event']) public ondrop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n let files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.fileDropped.emit(files);\n }\n }\n}","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ModalAsignacionesComponent } from './componentes/modal-asignaciones/modal-asignaciones.component';\nimport { CoachingService } from '../../services/coaching.service';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\n\n@Component({\n selector: 'app-jefe-inmediato',\n templateUrl: './jefe-inmediato.component.html',\n styleUrls: ['./jefe-inmediato.component.sass']\n})\nexport class JefeInmediatoComponent implements OnInit {\n\n formGroup: FormGroup;\n //Variable que contiene el array de informacion a cargar dentro de la tabla\n\tdataSource = new MatTableDataSource();\n\n //elemento de entrada para ordenamiento de tabla\n\t@ViewChild(MatSort) sort: MatSort;\n\n\n displayColumns: string[] = [\n 'no',\n 'assigned_date',\n 'name_boss',\n 'doc_boss',\n 'assigned_people',\n 'campanas'\n ];\n pageSizeOptions = [5, 10, 25, 50, 100];\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n //tamaño total de registros\n length: Number = 5;\n //Cantidad de registros a mostrar por pagina\n pageSize: Number = 5;\n //Pagina de inicio\n page: Number = 1;\n\n filters: string = \"\";\n constructor(\n private fb: FormBuilder,\n public modal: MatDialog, //Variable para creacion de modal,\n private coachingService: CoachingService\n ) { }\n\n ngOnInit(): void {\n this.initForm();\n this.loadTable();\n }\n\n /**\n\t * Metodo que se carga despues de inicializar la vista para eventos Sort sobre la tabla \n\t */\n\tngAfterViewInit() {\n\t\tthis.dataSource.sort = this.sort;\n\t}\n\n\n /**\n * Metodo que inicializa los campos del formulario para agregarles el control\n * @author Juan David Guerrero Vargas\n * @create_at 11/05/2022\n * @return void \n */\n initForm(): void {\n this.formGroup = this.fb.group(\n {\n documento: new FormControl('', []),\n name_campana: new FormControl('', []),\n }\n );\n }\n\n /**\n * Metodo para paginacion de tabla \n * @author Juan David Guerrero Vargas\n * @create_at 12/05/2022 \n * @param event:any ecento con los datos de paginación \n * @return void \n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n\n this.loadTable();\n }\n\n /**\n * Metodo que habre el modal para asignaciones de agentes a jefe inmediato\n * @author Juan David Guerrero Vargas\n * @create_at 23/05/2022\n * @return void \n */\n openModal(): void {\n const modalRef = this.modal.open(ModalAsignacionesComponent, {\n width: '1000px',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Asignación jefe inmediato',\n }\n })\n modalRef.afterClosed().subscribe(\n (resp) => {\n this.loadTable();\n }\n );\n }\n\n /**\n * Metodo que carga los datos de la tabla jefe inmediato\n * @author Juan David Guerrero Vargas\n * @create_date 23/05/2022\n * @return void \n */\n loadTable($event?:any): void {\n if($event){\n $event.preventDefault();\n }\n\n this.initFilters();\n this.coachingService.getListaJefeInmediato(this.filters).subscribe(\n (resp) => {\n\n this.dataSource.data = resp.data;\n this.length = resp.total;\n this.page = resp.current_page\n this.pageSize = resp.per_page\n\n }\n );\n }\n\n /**\n * Metodo que se encarga de cargar los filtros\n * @author Juan David Guerrero Vargas\n * @create_date 23/05/2022\n * @return void \n */\n initFilters(): void {\n this.filters = \"\";\n //Validacion filtros por documento\n if (\n this.formGroup.get('documento').value !== \"\" &&\n this.formGroup.get('documento').value !== undefined\n ) {\n this.filters += `doc=${this.formGroup.get('documento').value}&`\n } else {\n this.filters += \"\";\n }\n\n //Validaicon filtro por campañas\n if (\n this.formGroup.get('name_campana').value !== \"\" &&\n this.formGroup.get('name_campana').value !== undefined\n ) {\n this.filters += `campaign=${this.formGroup.get('name_campana').value}&`;\n } else {\n this.filters += \"\";\n }\n\n //Paginacion\n this.filters += `per_page=${String(this.pageSize)}&from_page=${String(this.page)}`;\n\n }\n\n /**\n * Metodo que carga los datos de los agentes a actualizar apra el agente\n * @author Juan David Guerrero Vargas\n * @create_date 23/05/2022 \n * @param jefe:any onjeto de la iteracion con el que se relaizrn las consultas de los datos a actualzar\n * @return void \n */\n editarAsignacion(jefe: any): void {\n \n this.coachingService.getAsignaciones(String(jefe.id)).subscribe(\n (resp) => {\n const modalRef = this.modal.open(ModalAsignacionesComponent, {\n width: '1000px',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Asignación jefe inmediato',\n agentesAsignados: resp\n }\n });\n\n modalRef.afterClosed().subscribe(\n (resp) => {\n this.loadTable();\n }\n );\n \n \n }\n );\n \n\n \n\n }\n\n\n /** Metodo que permte solo numeros ene l ingreso del input\n * @author Juan David Guerrero Vargas\n * @createdate 2021-01-27\n * @param event evento del keypress del input usuario\n */\n soloNumeros(event): any {\n let k;\n k = event.charCode;\n return ((k > 47 && k < 58));\n }\n\n}\n","
\n\n
\n\n

Jefe inmediato

\n
\n

Aquí podrás ver asignar personal.

\n

No olvides, “El respeto y empatía son clave”.

\n
\n
\n
\n\n
\n \n Número de documento \n \n \n \n
\n
\n \n Campaña\n \n \n \n
\n\n
\n
\n \n
\n
\n
\n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n
\n
\n \n
\n
Última asignación {{ element.assigned_date }} Nombre del Jefe inmediato {{ element.name_boss }} Documento {{ element.doc_boss }} Cantidad de personas a cargo {{ element.assigned_people }} Campañas a cargo\n {{ element.no_campaign }}\n \n \n \n \n
No hay datos que mostrar
\n \n \n\n
\n\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport * as moment from 'moment';\nimport { Observable, ReplaySubject, Subject } from 'rxjs';\nimport { startWith } from 'rxjs/internal/operators/startWith';\nimport { debounceTime, delay, filter, map, takeUntil, tap } from 'rxjs/operators';\nimport { NoveltiesService } from '../../../services/novelties.service';\nimport { CampaignsService } from '../../../services/rest/campaigns.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-general-report',\n templateUrl: './general-report.component.html',\n styleUrls: [ './general-report.component.sass' ],\n})\nexport class GeneralReportComponent implements OnInit {\n reportForm: FormGroup;\n filteredOptionsCampaigns: Observable;\n Campaings: any;\n Campaings3: any;\n reportDescription: string;\n documents: any = [];\n typeReports: any = [ {\n id: 'retardos',\n name: 'Retardos',\n description: 'Genera el reporte de retardos en base a los filtros seleccionados'\n }, {\n id: 'dominicales',\n name: 'Dominicales',\n description: 'Genera el reporte de Dominicales en base a los filtros seleccionados',\n }, {\n id: 'nocturnos',\n name: 'Recargo nocturnos',\n description: 'Genera el reporte de recargos nocturnos en base a los filtros seleccionados'\n }, {\n id: 'historial_justificados',\n name: 'Novedades antes de justificar',\n description: 'Genera el reporte de novedades antes de ser justificadas en base a los filtros seleccionados'\n }, {\n id: 'all',\n name: 'Reporte Novedades',\n description: 'Genera el reporte de Retardos, ausencias, ausencias por no deslogueo pendientes por justificar y vacaciones, incapacidades, permisos, asistencias, suspensiones, compensatorios aprobados) en base a los filtros seleccionados'\n } ];\n nameReport: any;\n\n /** control for the selected campaign for server side filtering */\n public CampaignServerSideCtrl: FormControl = new FormControl();\n /** control for filter for server side. */\n public campaignServerSideFilteringCtrl: FormControl = new FormControl('');\n /** indicate search operation is in progress */\n public searching: boolean = false;\n /** list of campaigns filtered after simulating server side search */\n public filteredServerSideCampaigns: ReplaySubject = new ReplaySubject(1);\n protected _onDestroy = new Subject();\n campaigns: any;\n campaign_id: any;\n formData = new FormData();\n\n constructor(\n private service: CampaignsService,\n private novelties: NoveltiesService,\n private users: CandidatesService,\n private alertsService: AlertsService,\n ) {\n }\n\n ngOnInit() {\n this.reportForm = new FormGroup({\n typeReport: new FormControl('', Validators.required),\n startDate: new FormControl('', Validators.required),\n endDate: new FormControl('', Validators.required),\n campaignId: new FormControl(''),\n docNumber: new FormControl(''),\n docType: new FormControl(1),\n });\n \n this.reportForm.controls.typeReport.valueChanges\n .subscribe(resp => {\n const index = this.typeReports.findIndex(x => x.id === resp);\n this.reportDescription = this.typeReports[index].description ?? '';\n });\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.service.getAllCampaigns().subscribe((resp) => {\n this.Campaings = resp.data;\n this.Campaings3 = resp.data;\n \n this.filteredOptionsCampaigns = this.reportForm\n .get('campaignId')\n .valueChanges.pipe(\n startWith(''),\n map((value) => (typeof value === 'string' ? value : value.name)),\n map((x) => (x ? this._filterCampaigns(x) : this.Campaings3.slice()))\n );\n });\n }\n\n get errorReport(): any {\n return this.reportForm.controls;\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-11-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterCampaigns(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.Campaings3.filter(\n (option) => option.name.toLowerCase().indexOf(filterValue) === 0\n );\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-11-05\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFnCampaigns(id: number): string {\n if (!id) {\n return '';\n }\n const index = this.Campaings3.findIndex((resp) => resp.id === id);\n return this.Campaings3[index].name;\n }\n\n/**\n* Reporte de novedades\n* @author Javier Castañeda\n*/\npublic downloadReportNovelties(): void {\n this.novelties\n .downloadReportNovelties(this.reportForm.value)\n .subscribe((resp) => {\n // const _ext = (this.reportForm.controls.typeReport.value === 'nocturnos') ? 'xlsx' : 'csv';\n const dateToFile = moment().format('YYYY-MM-DD HH:MM:SS');\n importedSaveAs(resp, `reporte_novedades_${ dateToFile }.xlsx`);\n });\n }\n}\n","
\n
\n

Reportes de nómina

\n

En este espacio podrás descargar los reportes de
\n nomina, no olvides,\"El respeto y la\n empatiá son clave\"

\n
\n
\n
\n\n \n Tipo de reporte\n \n \n {{item?.name}}\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n Fecha Inicio y Fin\n \n \n \n \n \n \n \n\n \n Campaña:\n \n \n \n {{campaign.name}}\n \n \n Campo es\n requerido\n Opción no válida\n \n\n \n Filtrar por identificación\n \n \n {{item.key}}\n \n \n\n \n\n

\n Nota: {{ reportDescription }}\n

\n\n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\nimport { format } from 'util';\n\nconst AGENDAMIENTOS_URL = environment.AGENDAMIENTOS_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BookingService {\n\n constructor(private http: HttpClient) { }\n getBooking(isPage: number,size: number, page: number){\n return this.http.get(`${AGENDAMIENTOS_URL}campaigns/?paginate=${isPage}&n=${size}&page=${page}` )\n }\n postBooking(direction, form){\n return this.http.post(`${AGENDAMIENTOS_URL}${direction}`, form )\n }\n putBooking(direction, form){\n return this.http.put(`${AGENDAMIENTOS_URL}${direction}`, form )\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MaterialModule } from '../../shared/material/material.module';\nimport { SharedModule } from '../../shared/shared.module';\nimport { HistoryDetailsComponent } from './components/history-details/history-details.component';\nimport { MeetingRoutingModule } from './meetings-routing.module';\nimport { MeetingHistoryComponent } from './pages/meeting-history/meeting-history.component';\nimport { MeetingRequestComponent } from './pages/meeting-request/meeting-request.component';\nimport { RescheduleFormComponent } from './pages/meetings-admin/dialogs/reschedule-form/reschedule-form.component';\nimport { MeetingsAdminComponent } from './pages/meetings-admin/meetings-admin.component';\nimport { UsersGroupComponent } from './pages/users-group/users-group.component';\nimport { UsersSkillComponent } from './pages/users-skill/users-skill.component';\nimport { AttentionRangeFormComponent } from './pages/meetings-attention-range/dialogs/attention-range-form/attention-range-form.component';\nimport { MeetingsAttentionRangeComponent } from './pages/meetings-attention-range/meetings-attention-range.component';\n\n@NgModule({\n declarations: [\n AttentionRangeFormComponent,\n HistoryDetailsComponent,\n MeetingHistoryComponent,\n MeetingRequestComponent,\n MeetingsAdminComponent,\n MeetingsAttentionRangeComponent,\n RescheduleFormComponent,\n UsersGroupComponent,\n UsersSkillComponent,\n ],\n imports: [\n CommonModule,\n MeetingRoutingModule,\n MaterialModule,\n MatDialogModule,\n SharedModule,\n MatSortModule,\n MatExpansionModule,\n FormsModule,\n ReactiveFormsModule,\n MatIconModule,\n MatChipsModule,\n MatTooltipModule,\n ],\n})\nexport class MeetingsModule {}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n\n@Component({\n selector: 'app-create-observation-item',\n templateUrl: './create-observation-item.component.html',\n styleUrls: ['./create-observation-item.component.sass']\n})\nexport class CreateObservationItemComponent implements OnInit {\n formCreateObservation = new FormGroup({\n observation: new FormControl('', [Validators.required, Validators.maxLength(200)]),\n });\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { indexItem, observation }) { }\n\n ngOnInit(): void {\n if (this.data.observation) this.formCreateObservation.get('observation').setValue(this.data.observation);\n }\n\n sendObservationItem(): void {\n if (this.formCreateObservation.valid) {\n this.dialogRef.close({ observation: this.formCreateObservation.get('observation').value, indexItem: this.data.indexItem });\n } else {\n this.formCreateObservation.markAllAsTouched();\n }\n }\n}\n","

\n {{ data.observation !== undefined ? 'Editar observación' : 'Crear observación' }}\n

\n\n \n
\n
\n
\n \n \n \n Este campo es requerido\n \n \n ¡Cuidado! Solo puedes tener un máximo de 200 caracteres\n \n \n
\n
\n
\n
\n \n Cancelar\n \n
\n
\n \n Enviar\n \n
\n
\n
\n
\n","import { Component, ElementRef, Inject, OnInit, ViewChild, AfterViewInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Params, Router } from '@angular/router';\nimport { Location } from '@angular/common';\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { MatStepper, MatStepperIntl } from '@angular/material/stepper';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { ClientesService } from '../../services/rest/clientes.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { NotasComponent } from './notas/notas.component';\nimport { empty } from 'rxjs';\nimport { CcomercialCreateComponent } from '../ccomercial-create/ccomercial-create.component';\nimport { ClienteSectorService } from '../../services/rest/cliente-sector.service';\nimport { HistorialnComponent } from '../historialn/historialn.component';\nimport * as moment from 'moment';\nimport 'moment-timezone';\nimport { CompaniesService } from '../../services/rest/companies.service';\nimport {NotesService} from '../../services/rest/notes.service';\nimport { OportunidadesService } from '../../services/rest/oportunidades.service';\nimport { log } from 'util';\nimport { MatSelectChange } from '@angular/material/select';\n\n/**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Class para la definicón del stepper inicial\n */\nexport class StepperIntl extends MatStepperIntl {\n // the default optional label text, if unspecified is \"Optional\"\n optionalLabel = 'Registro de Oportunidades';\n}\n\n@Component({\n selector: 'app-creop',\n templateUrl: './creop.component.html',\n styleUrls: ['./creop.component.sass'],\n})\nexport class CreopComponent implements OnInit {\n idcliente: any;\n roles: any;\n company: any = [];\n canal: any = [];\n contactos: any = [];\n servicio: any = [];\n facturacion: any = [];\n moneda: any = [];\n linea: any = [];\n idoportunidad: any;\n userName: any;\n infonota: any;\n condicionCual:boolean = false;\n cualUnidad:boolean = false;\n\n isEditable = true;\n isLinear = true;\n stfecha = false;\n elementedit: any;\n\n firstFormGroup = this._formBuilder.group({\n nameOpportunity: new FormControl('', [Validators.required, Validators.maxLength(50)]),\n empresa_asociada: new FormControl('', [Validators.required]),\n canal: new FormControl('', [Validators.required]),\n comercial: new FormControl('', [Validators.required]),\n });\n secondFormGroup = this._formBuilder.group({\n potencial_compra: ['', Validators.required],\n fecha_proceso: [''],\n cont_comercial: ['', Validators.required],\n });\n fiveFormGroup = this._formBuilder.group({\n fecha_negociacion: [''],\n observations: ['', Validators.maxLength(255)],\n });\n fourFormGroup = this._formBuilder.group({\n observations: ['', Validators.maxLength(255)],\n });\n sixtFormGroup = this._formBuilder.group({\n cierre: ['', Validators.required],\n });\n thirddFormGroup = this._formBuilder.group({\n tiposervicio: ['', Validators.required],\n tipofacturacion: ['', Validators.required],\n tipomoneda: ['', Validators.required],\n duracion_contrato: ['', Validators.required],\n facturacion: [{value:'', disabled:false}, [Validators.required, Validators.maxLength(11)]],\n valor_contrato: ['', Validators.maxLength(11)],\n n_agentes: ['', Validators.required],\n fecha_estimada_inicio: ['', Validators.required],\n fecha_entrega_propuesta: ['', Validators.required],\n fecha_adjudicacion: ['', Validators.required],\n margen_mano_obra: ['', Validators.required],\n n_puestos: ['', Validators.required],\n cual: new FormControl('', []),\n cualunidad: new FormControl('', []),\n probabilidadControl: new FormControl('', Validators.required),\n facturacion_diferente_pesos:new FormControl(''),\n tasa_mensual:new FormControl(''),\n });\n formnotica = this._formBuilder.group({ editanotacion: [''] });\n hanotaciones: any = [];\n hlanotaciones: any = [];\n comercialsData: any[] = [];\n rolUser: any = '';\n dataFileArray: any[] = [];\n fileMessage:boolean = false;\n @ViewChild('fileInput')\n myInputVariable: ElementRef;\n title: string = 'Crear oportunidad';\n selectedIndex = 0;\n notes: any;\n anotacion: any;\n typeRequest: any;\n stateOpportunityId: any;\n uploadFiles: any[] = [];\n tabSelected: any = 0;\n table: any = 0;\n @ViewChild('stepper', { static: false }) stepper: MatStepper;\n stepSelected: any = 0;\n\n constructor(\n private rutaActiva: ActivatedRoute,\n private location: Location,\n private _formBuilder: FormBuilder,\n private route: ActivatedRoute,\n private clientesService: ClientesService,\n private sectorService: ClienteSectorService,\n private dialog: MatDialog,\n private mattab: MatTabsModule,\n private alertsService: AlertsService,\n private _router: Router,\n private fb: FormBuilder,\n private authService: AuthService,\n private notesService: NotesService,\n private companyService: CompaniesService,\n private opportunityService: OportunidadesService\n ) {}\n\n ngOnInit(): void {\n this.idcliente = this.route.snapshot.paramMap.get('id');\n this.roles = this.authService.getUser().roles;\n this.thirddFormGroup.controls['valor_contrato'].disable();\n this.getcompany();\n this.getChannels();\n this.getComercials();\n this.getContacts();\n this.listaNotas();\n\n const user = this.authService.decryptToken();\n const local = this.authService.getUser();\n local.roles.forEach((rol) => {\n const name = rol.split('::');\n if (name[0] == 'crm-cial' && name[1] == 'comercial') {\n this.rolUser = name[1];\n this.firstFormGroup.controls.comercial.setValue(user.rrhh_id);\n setTimeout(() => {\n let index = this.comercialsData.findIndex((item) => item.rrhh_id == user.rrhh_id);\n if(index >= 0){this.userName = this.comercialsData[index]['name'];}\n },3000)}\n if (name[0] == 'crm-cial' && name[1] == 'administrador') {\n this.rolUser = name[1];\n }\n });\n\n this.route.queryParams.subscribe(params => {\n this.typeRequest = params.type ? params.type : '';\n this.idoportunidad = params.idOportunity ? params.idOportunity : '';\n this.tabSelected = params.tab ? params.tab : 0;\n this.table = params.table ? params.table : 0;\n //Editar\n this.getLineServices();\n this.getUnitFacturation();\n if(this.typeRequest == 'edit'){\n this.loadDataOportunityEdit(params.idOportunity);\n } else if(this.typeRequest == 'view'){\n this.loadDataOportunityView(params.idOportunity);\n }\n });\n this.secondFormGroup.controls.potencial_compra.valueChanges.subscribe(\n (resp) => {\n if (resp == 1) {\n this.secondFormGroup.controls.fecha_proceso.clearValidators();\n this.secondFormGroup.controls.fecha_proceso.updateValueAndValidity();\n } else {\n this.secondFormGroup.controls.fecha_proceso.setValidators(\n Validators.required\n );\n this.secondFormGroup.controls.fecha_proceso.updateValueAndValidity();\n }\n }\n );\n this.thirddFormGroup.controls['valor_contrato'].disable();\n this.sixtFormGroup.controls.cierre.valueChanges.subscribe(resp => {\n if(resp == 'ganada' && this.dataFileArray.length == 0){\n this.fileMessage = true;\n }else if(resp == 'ganada' && this.dataFileArray.length > 0){\n this.fileMessage = false;\n }else{\n this.fileMessage = false;\n\n }\n });\n\n this.firstFormGroup.controls.comercial.valueChanges.subscribe(resp => {\n let index = this.comercialsData.findIndex((item) => item.rrhh_id == resp);\n if(index >= 0){this.userName = this.comercialsData[index]['name'];}\n\n });\n }\n\n /**\n * @author Javier Castañeda\n * Funcion para regresar a la vista anterior\n * @createdate 2022-10-29\n * @returns Json\n */\n back(): void {\n this.alertsService\n .alertWarning(\n '¿Estás seguro?',\n '¿Estás seguro de que deseas cancelar este proceso? Recuerda que la información se borrará automáticamente si realizas esta acción.'\n )\n .then((result) => {\n if (result.isConfirmed) {\n if(this.table == 1){\n this._router.navigate([`/mios/crm-cial/clientes`], { queryParams: { tab: this.tabSelected }});\n } else {\n this._router.navigate([`/mios/crm-cial/cliente-consulta/${this.idcliente}`], { queryParams: { tab: this.tabSelected }});\n }\n }\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para pasar al siguiente paso del stepper\n * @param {MatStepper} stepper paso actual\n */\n next(stepper: MatStepper) {\n stepper.next();\n }\n\n /**\n * @author Javier Castañeda\n * Funcion para obtener listado de empresas\n * @returns Json\n *\n */\n getcompany(): void {\n this.companyService.getCompanies().subscribe((resp: any) => {\n this.company = resp.data;\n });\n }\n /**\n * @author Javier Castañeda\n * Funcion para obtener listado de canales\n * @returns Json\n *\n */\n getChannels(): void {\n this.clientesService.getChannels().subscribe((resp: any) => {\n this.canal = resp.data;\n });\n }\n /**\n * @author Javier Castañeda\n * Funcion para obtener listado de gestores comerciales\n * @returns Json\n *\n */\n getComercials() {\n this.clientesService.getComercialsList().subscribe((resp: any) => {\n this.comercialsData = resp.data;\n });\n }\n /**\n * @author Javier Castañeda\n * Funcion para obtener listado de contactos por el id del cliente\n * @returns Json\n *\n */\n getContacts() {\n this.clientesService\n .getContactsByClient(this.idcliente)\n .subscribe((resp: any) => {\n this.contactos = resp.data;\n });\n }\n /**\n * @author Javier Castañeda\n * Funcion para obtener listado de unidades de facturación\n * @returns Json\n *\n */\n getUnitFacturation() {\n if(this.typeRequest == 'edit' || this.typeRequest == 'view'){\n this.clientesService.getUnitFacturation(this.idoportunidad).subscribe((resp: any) => {\n this.facturacion = resp.data;\n });\n }else{\n this.clientesService.getUnitFacturation().subscribe((resp: any) => {\n this.facturacion = resp.data;\n });\n }\n }\n /**\n * @author Javier Castañeda\n * Funcion para obtener listado de servicios\n * @returns Json\n *\n */\n getLineServices() {\n if(this.typeRequest == 'edit' || this.typeRequest == 'view'){\n this.clientesService.getLineServices(this.idoportunidad).subscribe((resp: any) => {\n this.linea = resp.data;\n });\n }else{\n this.clientesService.getLineServices().subscribe((resp: any) => {\n this.linea = resp.data;\n });\n }\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para listar las notas de una oportunidad\n */\n listaNotas() {\n this.notesService.search(this.idoportunidad).subscribe((resp) => {\n this.notes = resp;\n });\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la apertura de modal de historico de notas\n */\n HistoricoNotas() {\n const dialogNewRol = this.dialog.open(HistorialnComponent, {\n width: '77%',\n disableClose: true,\n data: {\n type: 'view',\n title: 'Editar Nota',\n rolUser: this.rolUser,\n oportunity: this.idoportunidad,\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {});\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para mostrar y ocultar campo de fecha de acuerdo a la opcion de potencial de compra\n */\n ViewData() {\n let pcompra: string = this.secondFormGroup.get('potencial_compra').value;\n if (pcompra == '0') {\n return (this.stfecha = true);\n } else {\n return (this.stfecha = false);\n }\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la calculo de valor del contrato\n */\n calcContrato() {\n let tipoMoneda = this.thirddFormGroup.get('tipomoneda').value;\n if(tipoMoneda !== null && tipoMoneda !== '' && tipoMoneda !== '0'){\n this.thirddFormGroup.get('facturacion').enable();\n }\n this.thirddFormGroup\n .get('valor_contrato')\n .setValue(\n this.thirddFormGroup.value.facturacion *\n this.thirddFormGroup.value.duracion_contrato\n );\n if(tipoMoneda !== null && tipoMoneda !== '' && tipoMoneda !== '0'){\n this.thirddFormGroup.get('facturacion').disable();\n }\n }\n\n /**\n * Metodo que se encarga de calcular el valor para la facturacion COP\n * @author Juan David Guerrero Vargas\n * @createdate 14/02/2023\n * @return {void} void\n */\n calculateFacturacionExtranjera():void{\n this.thirddFormGroup.get('facturacion').setValue(\n this.thirddFormGroup.value.tasa_mensual *\n this.thirddFormGroup.value.facturacion_diferente_pesos\n );\n this.calcContrato();\n }\n /**\n * @author Javier Castañeda\n * Funcion para guardado del paso de acercamiento comercial\n * @returns Json\n *\n */\n registrarAcercamiento(next) {\n let formData = new FormData();\n formData.append('step', 'acercamiento_comercial');\n formData.append('step_id', '2');\n formData.append(\n 'potencialCompra',\n this.secondFormGroup.value.potencial_compra\n );\n formData.append(\n 'business_contact_id',\n this.secondFormGroup.value.cont_comercial\n );\n formData.append('next', next);\n if (this.secondFormGroup.value.potencial_compra == '0') {\n formData.append(\n 'process_date',\n moment(moment(this.secondFormGroup.value.fecha_proceso).add(1, 'days'))\n .tz('America/Bogota')\n .format('YYYY-MM-DD')\n );\n }\n this.clientesService\n .updateOpportunities(this.idoportunidad, formData)\n .subscribe((resp: any) => {\n this.alertsService.alertSuccessWithoutButton('Excelente', resp.data);\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la validación de carateres digitados por el usuario\n */\n keyPress(event: any) {\n const pattern = /[0-9\\+\\-\\,1 ]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n /**\n * @author Gabriel Garcia\n * Metodo para la validación de campo decimal\n */\n keyDecimalPress(event: any) {\n const pattern = /^[0-9+\\-. ]*\\.{0,1}[0-9+\\-. ]*$/;\n\n let inputChar = String.fromCharCode(event.keyCode);\n if (event.keyCode !== 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la apertura de modal de creación de la nota de acuerdo al paso en el que se encuentra el usuario\n */\n RegistranotaP(proceso: any): void {\n if (this.idoportunidad > 0) {\n const dialogNewRol = this.dialog.open(NotasComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Nota',\n oportunidad: this.idoportunidad,\n step: proceso,\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n //this.ngOnInit();\n this.listaNotas();\n });\n } else {\n this.alertsService.dangerError(\n 'Es necesario registrar primero la Propuesta'\n );\n }\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la captura de errores del tercer formulario\n */\n get errort(): any {\n return this.thirddFormGroup.controls;\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la captura de errores del segundo formulario\n */\n get errorSecond(): any {\n return this.secondFormGroup.controls;\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la captura de errores del quinto formulario\n */\n get errorFive(): any {\n return this.fiveFormGroup.controls;\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la captura de errores del sexto formulario\n */\n get errorSix(): any {\n return this.sixtFormGroup.controls;\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la apertura de modal de creación de la nota de acuerdo al paso en el que se encuentra el usuario\n */\n RegistranotaC(): void {\n const dialogNewRol = this.dialog.open(NotasComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Nota',\n id_oportunidad: this.idoportunidad,\n estado_anotacion: 3,\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n //this.ngOnInit();\n this.listaNotas();\n });\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Funcion para cancelar proceso\n */\n opcionCancelar() {\n this.alertsService\n .alertWarning(\n '¿Estás seguro?',\n '¿Estás seguro de que deseas cancelar este proceso? Recuerda que la información se borrará automáticamente si realizas esta acción.'\n )\n .then((result) => {\n if (result.isConfirmed) {\n if(this.table == 1){\n this._router.navigate([`/mios/crm-cial/clientes`], { queryParams: { tab: this.tabSelected }});\n } else {\n this._router.navigate([`/mios/crm-cial/cliente-consulta/${this.idcliente}`], { queryParams: { tab: this.tabSelected }});\n }\n }\n });\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Funcion para guardado del paso de prospecto\n * @param {any} next estado de guardar paso o siguiente\n * @returns Json\n */\n saveOportunidad(next?) {\n if (this.idoportunidad) {\n let id = +this.idcliente;\n let formData = new FormData();\n formData.append('step', 'prospecto');\n formData.append('step_id', '1');\n formData.append(\n 'name_oportunity',\n this.firstFormGroup.value.nameOpportunity\n );\n formData.append(\n 'companion_id',\n this.firstFormGroup.value.empresa_asociada\n );\n formData.append('channel_id', this.firstFormGroup.value.canal);\n formData.append('client_id', this.idcliente);\n formData.append('next', next);\n if(this.rolUser == 'administrador'){\n formData.append('responsable_id', this.firstFormGroup.value.comercial);\n } else if(this.rolUser == 'comercial'){\n formData.append('responsable_id', this.firstFormGroup.value.comercial);\n }\n this.clientesService\n .updateOpportunities(this.idoportunidad, formData)\n .subscribe((resp: any) => {\n this.alertsService.alertSuccessWithoutButton('Excelente', resp.data);\n });\n } else {\n const body = {\n name_oportunity: this.firstFormGroup.value.nameOpportunity,\n companion_id: this.firstFormGroup.value.empresa_asociada,\n channel_id: this.firstFormGroup.value.canal,\n client_id: this.idcliente,\n responsable_id: this.firstFormGroup.value.comercial\n };\n this.clientesService.saveOportunities(body).subscribe(\n (resp) => {\n this.idoportunidad = resp.id;\n this.alertsService.alertSuccessWithoutButton('Excelente', resp.data);\n },\n (error: any) => {\n this.alertsService.alertError('Error', error);\n }\n );\n }\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la captura de errores del primer formulario\n */\n get error(): any {\n return this.firstFormGroup.controls;\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la apertura de modal de creación de la nota de acuerdo al paso en el que se encuentra el usuario\n */\n searchContacto() {\n this.clientesService\n .searchContacto(this.idcliente)\n .subscribe((resp: any) => {\n this.contactos = resp;\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para abrir modal de creación de contactos\n */\n AgregarContacto() {\n const dialogNewRol = this.dialog.open(CcomercialCreateComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n Nidcliente: this.idcliente,\n },\n panelClass: 'custom-dialog-container',\n });\n dialogNewRol.afterClosed().subscribe(() => {\n this.getContacts();\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Funcion para guardado del paso de negociación\n * @param {any} next estado de guardar paso o siguiente\n * @returns Json\n *\n */\n saveThirddForm(next) {\n let formData = new FormData();\n let lines = [];\n lines = this.thirddFormGroup.value.tiposervicio;\n formData.append('step', 'construccion_propuesta');\n formData.append('step_id', '3');\n lines.forEach((element, index) => {\n formData.append('service_lines[]', element);\n });\n formData.append(\n 'invoicing_unit',\n '[' + this.thirddFormGroup.value.tipofacturacion + ']'\n );\n formData.append('currency', this.thirddFormGroup.value.tipomoneda);\n if(this.thirddFormGroup.value.tipomoneda !== '0'){\n formData.append('facturacion_diferente_pesos',this.thirddFormGroup.value.facturacion_diferente_pesos)\n formData.append('tasa_mensual',this.thirddFormGroup.value.tasa_mensual)\n }\n formData.append(\n 'contract_duration',\n this.thirddFormGroup.value.duracion_contrato\n );\n formData.append('invoicing', this.thirddFormGroup.controls.facturacion.value);\n formData.append('agents', this.thirddFormGroup.value.n_agentes);\n formData.append(\n 'initial_date',\n moment(\n moment(this.thirddFormGroup.value.fecha_estimada_inicio).add(1, 'days')\n )\n .tz('America/Bogota')\n .format('YYYY-MM-DD')\n );\n formData.append(\n 'deliver_date',\n moment(\n moment(this.thirddFormGroup.value.fecha_entrega_propuesta).add(\n 1,\n 'days'\n )\n )\n .tz('America/Bogota')\n .format('YYYY-MM-DD')\n );\n formData.append(\n 'award_date',\n moment(\n moment(this.thirddFormGroup.value.fecha_adjudicacion).add(1, 'days')\n )\n .tz('America/Bogota')\n .format('YYYY-MM-DD')\n );\n formData.append('workforce', this.thirddFormGroup.value.margen_mano_obra);\n formData.append('positions', this.thirddFormGroup.value.n_puestos);\n formData.append('next', next);\n formData.append('cual', this.thirddFormGroup.value.cual);\n formData.append('cualunidad', this.thirddFormGroup.value.cualunidad);\n formData.append('probability', this.thirddFormGroup.value.probabilidadControl);\n\n let textInfo = this.firstFormGroup.controls.nameOpportunity.value ? this.firstFormGroup.controls.nameOpportunity.value : '';\n this.alertsService.alertWarning(\n '¿Estás seguro?',\n '¿Estás seguro de que deseas enviar la oportunidad '+ textInfo +'?'\n ).then((result) => {\n if (result.isConfirmed) {\n this.clientesService\n .updateOpportunities(this.idoportunidad, formData)\n .subscribe((resp: any) => {\n this.selectedIndex = 3;\n this.alertsService.alertSuccessWithoutButton('Excelente', resp.data);\n });\n } else {\n this.selectedIndex = 2;\n }\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Funcion para guardado del paso de negociación\n * @param {any} next estado de guardar paso o siguiente\n * @returns Json\n *\n */\n saveFourForm(next) {\n let formData = new FormData();\n formData.append('step', 'enviada');\n formData.append('step_id', '4');\n formData.append('observations', this.fourFormGroup.value.observations);\n formData.append('next', next);\n this.clientesService\n .updateOpportunities(this.idoportunidad, formData)\n .subscribe((resp: any) => {\n this.alertsService.alertSuccessWithoutButton('Excelente', resp.data);\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Funcion para guardado del paso de negociación\n * @param {any} next estado de guardar paso o siguiente\n * @returns Json\n *\n */\n saveFiveForm(next) {\n let formData = new FormData();\n let date = this.fiveFormGroup.value.fecha_negociacion\n ? moment(\n moment(this.fiveFormGroup.value.fecha_negociacion).add(1, 'days')\n )\n .tz('America/Bogota')\n .format('YYYY-MM-DD')\n : '';\n formData.append('step', 'negociacion');\n formData.append('step_id', '5');\n formData.append('negociation_date', date);\n formData.append('observations', this.fiveFormGroup.value.observations);\n formData.append('next', next);\n this.clientesService\n .updateOpportunities(this.idoportunidad, formData)\n .subscribe((resp: any) => {\n this.alertsService.alertSuccessWithoutButton('Excelente', resp.data);\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Funcion para guardado del paso de negociación\n * @param {any} next estado de guardar paso o siguiente\n * @returns Json\n *\n */\n saveSixtForm(next?) {\n let formData = new FormData();\n formData.append('step', 'cierre');\n formData.append('step_id', '6');\n formData.append('state', this.sixtFormGroup.value.cierre);\n formData.append('next', next);\n if(this.dataFileArray.length > 0){\n this.dataFileArray.forEach(element=>{\n formData.append('files[]', element);\n })\n }\n let textInfo = this.firstFormGroup.controls.nameOpportunity.value ? this.firstFormGroup.controls.nameOpportunity.value : '';\n let state = '';\n let tab = 0;\n if(this.sixtFormGroup.value.cierre == 'ganada'){\n state = 'Ganado';\n tab = 1;\n } else if(this.sixtFormGroup.value.cierre == 'perdida'){\n state = 'Perdido';\n tab = 2;\n } else if(this.sixtFormGroup.value.cierre == 'desierta'){\n state = 'Desierto';\n tab = 3;\n }\n\n this.alertsService.alertWarning(\n '¿Estás seguro?',\n '¿Estás seguro de que deseas finalizar la oportunidad '+ textInfo +' en cierre de
proceso: '+ state +'?'\n ).then((result) => {\n if (result.isConfirmed) {\n this.clientesService.updateOpportunities(this.idoportunidad, formData)\n .subscribe((resp: any) => {\n this.alertsService.alertSuccessWithoutButton('Excelente', resp.data);\n this._router.navigate([`/mios/crm-cial/cliente-consulta/${this.idcliente}`], { queryParams: { tab: tab }});\n });\n }\n });\n }\n\n /**\n * @author Nicoll Ramirez\n * @createdate 2022-10-29\n * Funcion para el cargue de archivos\n */\n public onChangeFile(e): void {\n const files = e.target.files;\n const type = [\n 'application/pdf',\n '.csv',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.ms-excel',\n ];\n for (let i = 0; i < e.target.files.length; i++) {\n if (type.indexOf(e.target.files[i].type) !== -1) {\n this.dataFileArray.push(e.target.files.item(i));\n }\n }\n this.myInputVariable.nativeElement.value = \"\";\n\n if(this.dataFileArray.length == 0){\n this.fileMessage = true;\n }else{\n this.fileMessage = false;\n }\n }\n\n /**\n * @author Nicoll Ramirez\n * @createdate 2022-10-29\n * Método para eliminar un archivo cargado\n * @param {number} indice index de la posición en el arreglo\n */\n deleteFieldFile(indice) {\n this.dataFileArray.splice(indice, 1);\n if(this.dataFileArray.length == 0){\n this.fileMessage = true;\n }else{\n this.fileMessage = false;\n\n }\n }\n\n /**\n *@author Javier Castañeda\n *@createdate 2022-10-27\n * Método para capturar el step actual y detectar el cambio del titulo\n * @param {any} event evento del cambio al crear la oportunidad\n */\n selectionChange(event) {\n if(event.selectedIndex == 0) {\n this.title = this.idoportunidad ? this.firstFormGroup.controls.nameOpportunity.value : 'Crear oportunidad';\n } else {\n this.title = this.firstFormGroup.controls.nameOpportunity.value ? this.firstFormGroup.controls.nameOpportunity.value : 'Crear oportunidad';\n }\n }\n\n /**\n * @author Nicoll Ramirez\n * @createdate 2022-10-29\n * campo para mostrar input cual en caso de ser seleccionado\n * otro en el tipo servicio\n * @param event\n */\n changeServicio(event){\n if(event.value.includes(9)){\n this.condicionCual = true;\n }else{\n this.condicionCual = false;\n }\n }\n\n /**\n * @author Nicoll Ramirez\n * @createdate 2022-10-29\n * campo para mostrar input cual en caso de ser seleccionado\n * otro en el tipo servicio\n * @param event\n */\n changeUnitFact(event){\n if(event.value.includes(8)){\n this.cualUnidad = true;\n }else{\n this.cualUnidad = false;\n }\n }\n\n /**\n *@author Javier Castañeda\n *@created 2022-11-02\n * Método para cargar la data para la gestión\n * @param {number} id id de la oportunidad\n */\n loadDataOportunityEdit(id) {\n this.opportunityService.getOportunitiesById(id).subscribe(resp => {\n this.stateOpportunityId = resp?.data?.state_id ? resp?.data?.state_id : '';\n this.title = resp?.data?.name_oportunity;\n this.uploadFiles = resp?.data?.files;\n\n this.listaNotas();\n //First form\n this.firstFormGroup.controls.nameOpportunity.setValue(resp?.data?.name_oportunity ? resp?.data?.name_oportunity : '');\n this.firstFormGroup.controls.empresa_asociada.setValue(resp?.data?.companion_id ? resp?.data?.companion_id : '');\n this.firstFormGroup.controls.canal.setValue(resp?.data?.channel_id ? resp?.data?.channel_id : '');\n this.firstFormGroup.controls.comercial.setValue(resp?.data?.responsible_id ? resp?.data?.responsible_id : '');\n //Second Form\n if(String(resp?.data?.purchase_potential) === '0'){\n this.secondFormGroup.controls.potencial_compra.setValue('0');\n } else if(String(resp?.data?.purchase_potential) === '1') {\n this.secondFormGroup.controls.potencial_compra.setValue('1');\n } else {\n this.secondFormGroup.controls.potencial_compra.setValue('');\n }\n this.secondFormGroup.controls.fecha_proceso.setValue(resp?.data?.process_date ? resp?.data?.process_date : '');\n this.secondFormGroup.controls.cont_comercial.setValue(resp?.data?.business_contact_id ? resp?.data?.business_contact_id : '');\n //Third Form\n let serviceLinesData = resp?.data?.lineas ? resp?.data?.lineas : [];\n let dataLines = [];\n let units = JSON.parse(resp.data.invoicing_unit);\n let dataUnits = [];\n serviceLinesData.map(item => {\n if(item?.service_line_id != 9){\n dataLines.push(item?.service_line_id);\n }\n });\n if(units) {\n units.map(item => {\n if(item != 8){\n dataUnits.push(item);\n }\n });\n }\n this.thirddFormGroup.controls.tiposervicio.setValue(dataLines.length > 0 ? dataLines : '');\n this.thirddFormGroup.controls.tipofacturacion.setValue(resp?.data?.invoicing_unit ? dataUnits : '');\n this.thirddFormGroup.controls.tipomoneda.setValue(String(resp?.data?.currency));\n\n this.setValidatorsForMonthlyRate();\n if(resp?.data?.tasa_cambio) {\n this.thirddFormGroup.controls.tasa_mensual.setValue(resp?.data?.tasa_cambio);\n }\n if(resp?.data?.facturacion_diferente_pesos) {\n this.thirddFormGroup.controls.facturacion_diferente_pesos.setValue(resp?.data?.facturacion_diferente_pesos);\n }\n this.thirddFormGroup.controls.duracion_contrato.setValue(resp?.data?.contract_duration ? resp?.data?.contract_duration : '');\n this.thirddFormGroup.controls.facturacion.setValue(resp?.data?.invoicing ? resp?.data?.invoicing : '');\n this.thirddFormGroup.controls.valor_contrato.setValue(resp?.data?.contract_value ? resp?.data?.contract_value : '');\n this.thirddFormGroup.controls.n_agentes.setValue(resp?.data?.agents ? resp?.data?.agents : '');\n this.thirddFormGroup.controls.fecha_estimada_inicio.setValue(resp?.data?.initial_date\n ? moment(\n moment(resp?.data?.initial_date).add(1, 'days')\n )\n .tz('America/Bogota')\n .format('YYYY-MM-DD')\n : '');\n this.thirddFormGroup.controls.fecha_entrega_propuesta.setValue(resp?.data?.deliver_date\n ? moment(\n moment(resp?.data?.deliver_date).add(1, 'days')\n )\n .tz('America/Bogota')\n .format('YYYY-MM-DD')\n : '');\n this.thirddFormGroup.controls.fecha_adjudicacion.setValue(resp?.data?.award_date\n ? moment(\n moment(resp?.data?.award_date).add(1, 'days')\n )\n .tz('America/Bogota')\n .format('YYYY-MM-DD')\n : '');\n this.thirddFormGroup.controls.margen_mano_obra.setValue(resp?.data?.workforce ? resp?.data?.workforce : '');\n this.thirddFormGroup.controls.n_puestos.setValue(resp?.data?.positions ? resp?.data?.positions : '');\n this.thirddFormGroup.controls.probabilidadControl.setValue(resp?.data?.probability ? resp?.data?.probability : '');\n //Four form\n this.fourFormGroup.controls.observations.setValue(resp?.data?.observationEnviada ? resp?.data?.observationEnviada : '');\n //Five form\n this.fiveFormGroup.controls.fecha_negociacion.setValue(resp?.data?.negociation_date ? resp?.data?.negociation_date : '');\n this.fiveFormGroup.controls.observations.setValue(resp?.data?.observationNegociacion ? resp?.data?.observationNegociacion : '');\n //Six form\n let state = '';\n if(resp?.data?.state_id == 1){\n state = 'ganada';\n } else if(resp?.data?.state_id == 2){\n state = 'perdida';\n } else if(resp?.data?.state_id == 3){\n state = 'desierta';\n }\n this.sixtFormGroup.controls.cierre.setValue(state);\n this.stepSelected = resp?.data?.step_id <= 6 ? resp?.data?.step_id - 1 : 5;\n this.stepper.linear = false;\n for (let index = 0; index <= this.stepSelected; index++) {\n this.stepper.selectedIndex = index;\n }\n\n setTimeout(()=> {\n this.stepper.linear = true;\n });\n });\n }\n /**\n *@author Javier Castañeda\n *@created 2022-11-02\n * Método para cargar la data para la vista de detalle\n * @param {number} id id de la oportunidad\n */\n loadDataOportunityView(id) {\n this.firstFormGroup.disable();\n this.secondFormGroup.disable();\n this.thirddFormGroup.disable();\n this.fourFormGroup.disable();\n this.fiveFormGroup.disable();\n this.sixtFormGroup.disable();\n this.listaNotas();\n this.opportunityService.getOportunitiesById(id).subscribe(resp => {\n this.stateOpportunityId = resp?.data?.state_id ? resp?.data?.state_id : '';\n this.title = resp?.data?.name_oportunity;\n this.uploadFiles = resp?.data?.files;\n\n //First form\n this.firstFormGroup.controls.nameOpportunity.setValue(resp?.data?.name_oportunity ? resp?.data?.name_oportunity : '');\n this.firstFormGroup.controls.empresa_asociada.setValue(resp?.data?.companion_id ? resp?.data?.companion_id : '');\n this.firstFormGroup.controls.canal.setValue(resp?.data?.channel_id ? resp?.data?.channel_id : '');\n this.firstFormGroup.controls.comercial.setValue(resp?.data?.responsible_id ? resp?.data?.responsible_id : '');\n //Second Form\n if(String(resp?.data?.purchase_potential) === '0'){\n this.secondFormGroup.controls.potencial_compra.setValue('0');\n } else if(String(resp?.data?.purchase_potential) === '1') {\n this.secondFormGroup.controls.potencial_compra.setValue('1');\n } else {\n this.secondFormGroup.controls.potencial_compra.setValue('');\n }\n this.secondFormGroup.controls.fecha_proceso.setValue(resp?.data?.process_date ? resp?.data?.process_date : '');\n this.secondFormGroup.controls.cont_comercial.setValue(resp?.data?.business_contact_id ? resp?.data?.business_contact_id : '');\n //Third Form\n let serviceLinesData = resp?.data?.lineas ? resp?.data?.lineas : [];\n let dataLines = [];\n let units = JSON.parse(resp.data.invoicing_unit);\n let dataUnits = [];\n serviceLinesData.map(item => {\n if(item?.service_line_id != 9){\n dataLines.push(item?.service_line_id);\n }\n });\n if(units) {\n units.map(item => {\n if(item != 8){\n dataUnits.push(item);\n }\n });\n }\n this.thirddFormGroup.controls.tiposervicio.setValue(dataLines.length > 0 ? dataLines : '');\n this.thirddFormGroup.controls.tipofacturacion.setValue(resp?.data?.invoicing_unit ? units : '');\n this.thirddFormGroup.controls.tipomoneda.setValue(String(resp?.data?.currency));\n\n this.setValidatorsForMonthlyRate();\n if(resp?.data?.tasa_cambio) {\n this.thirddFormGroup.controls.tasa_mensual.setValue(resp?.data?.tasa_cambio);\n }\n if(resp?.data?.facturacion_diferente_pesos) {\n this.thirddFormGroup.controls.facturacion_diferente_pesos.setValue(resp?.data?.facturacion_diferente_pesos);\n }\n this.thirddFormGroup.controls.duracion_contrato.setValue(resp?.data?.contract_duration ? resp?.data?.contract_duration : '');\n this.thirddFormGroup.controls.facturacion.setValue(resp?.data?.invoicing ? resp?.data?.invoicing : '');\n this.thirddFormGroup.controls.valor_contrato.setValue(resp?.data?.contract_value ? resp?.data?.contract_value : '');\n this.thirddFormGroup.controls.n_agentes.setValue(resp?.data?.agents ? resp?.data?.agents : '');\n this.thirddFormGroup.controls.fecha_estimada_inicio.setValue(resp?.data?.initial_date\n ? moment(\n moment(resp?.data?.initial_date).add(1, 'days')\n )\n .tz('America/Bogota')\n .format('YYYY-MM-DD')\n : '');\n this.thirddFormGroup.controls.fecha_entrega_propuesta.setValue(resp?.data?.deliver_date\n ? moment(\n moment(resp?.data?.deliver_date).add(1, 'days')\n )\n .tz('America/Bogota')\n .format('YYYY-MM-DD')\n : '');\n this.thirddFormGroup.controls.fecha_adjudicacion.setValue(resp?.data?.award_date\n ? moment(\n moment(resp?.data?.award_date).add(1, 'days')\n )\n .tz('America/Bogota')\n .format('YYYY-MM-DD')\n : '');\n this.thirddFormGroup.controls.margen_mano_obra.setValue(resp?.data?.workforce ? resp?.data?.workforce : '');\n this.thirddFormGroup.controls.n_puestos.setValue(resp?.data?.positions ? resp?.data?.positions : '');\n this.thirddFormGroup.controls.probabilidadControl.setValue(resp?.data?.probability ? resp?.data?.probability : '');\n //Four form\n this.fourFormGroup.controls.observations.setValue(resp?.data?.observationEnviada ? resp?.data?.observationEnviada : '');\n //Five form\n this.fiveFormGroup.controls.fecha_negociacion.setValue(resp?.data?.negociation_date ? resp?.data?.negociation_date : '');\n this.fiveFormGroup.controls.observations.setValue(resp?.data?.observationNegociacion ? resp?.data?.observationNegociacion : '');\n //Six form\n let state = '';\n if(resp?.data?.state_id == 1){\n state = 'ganada';\n } else if(resp?.data?.state_id == 2){\n state = 'perdida';\n } else if(resp?.data?.state_id == 3){\n state = 'desierta';\n }\n this.sixtFormGroup.controls.cierre.setValue(state);\n this.stepSelected = resp?.data?.step_id <= 6 ? resp?.data?.step_id - 1 : 5;\n this.stepper.linear = false;\n for (let index = 0; index <= this.stepSelected; index++) {\n this.stepper.selectedIndex = index;\n }\n\n setTimeout(()=> {\n this.stepper.linear = true;\n });\n\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Funcion para regresar a la vista anterior\n * @returns Json\n *\n */\n viewBack(): void {\n if(this.table == 1){\n this._router.navigate([`/mios/crm-cial/clientes`], { queryParams: { tab: this.tabSelected }});\n } else {\n this._router.navigate([`/mios/crm-cial/cliente-consulta/${this.idcliente}`], { queryParams: { tab: this.tabSelected }});\n }\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para eliminar un archivo ya subidoen la creación\n * @param {number} indice index del archivo a borrar\n * @param {number} id id del archivo a borrar\n * @returns Json\n *\n */\n deleteUploadFile(id, indice): void {\n this.uploadFiles.splice(indice, 1);\n this.opportunityService.deleteFileById(id).subscribe(resp => {});\n }\n\n /**\n * @author Javier Castañeda\n * @createddate 2022-10-29\n * Metodo para eliminar un archivo ya subidoen la creación\n * @returns Json\n *\n */\n deleteOpportunityById(): void {\n this.alertsService\n .alertWarning(\n '¿Estás seguro?',\n '¿Estás seguro de que deseas cancelar este proceso? Recuerda que la información se borrará automáticamente si realizas esta acción.'\n )\n .then((result) => {\n if(this.idoportunidad){\n if(this.table == 1){\n this._router.navigate([`/mios/crm-cial/clientes`], { queryParams: { tab: this.tabSelected }});\n } else {\n this._router.navigate([`/mios/crm-cial/cliente-consulta/${this.idcliente}`], { queryParams: { tab: this.tabSelected }});\n }\n }\n });\n }\n\n /**\n * Metood que se encarga de asignar nuevas validaicon o retirarlas para los campos de tasa mensual y facturacion emnsual en caso de no se modea colombiana\n * @author Juan David Guerrero Vargas\n * @createdate 14/0272023\n * @return {void} void\n */\n setValidatorsForMonthlyRate():void{\n let valueValidate:string = this.thirddFormGroup.get('tipomoneda').value;\n if(valueValidate !== '0'){\n this.thirddFormGroup.get('facturacion_diferente_pesos').setValue(null);\n this.thirddFormGroup.get('facturacion_diferente_pesos').setValidators(Validators.required);\n this.thirddFormGroup.get('tasa_mensual').setValue(null);\n this.thirddFormGroup.get('tasa_mensual').setValidators(Validators.required);\n this.thirddFormGroup.get('facturacion_diferente_pesos').updateValueAndValidity();\n this.thirddFormGroup.get('tasa_mensual').updateValueAndValidity();\n this.thirddFormGroup.get('facturacion').setValue(null);\n this.thirddFormGroup.get('facturacion').disable();\n\n }else{\n this.thirddFormGroup.get('facturacion_diferente_pesos').setValidators(null);\n this.thirddFormGroup.get('tasa_mensual').setValidators(null);\n this.thirddFormGroup.get('facturacion_diferente_pesos').updateValueAndValidity();\n this.thirddFormGroup.get('tasa_mensual').updateValueAndValidity();\n this.thirddFormGroup.get('facturacion').setValue(null);\n this.thirddFormGroup.get('facturacion').enable();\n }\n }\n\n}\n","
\n\n
\n \n

\n {{title}} {{((stateOpportunityId == 1) || (stateOpportunityId == 2) || (stateOpportunityId == 3)) ? '|' : ''}}  \n

Ganada

\n

Perdida

\n

Desierta

\n \n

Comercial Asignado: {{userName}}

\n
\n\n \n \n \n \n
\n Prospecto\n
\n \n Nombre de la oportunidad\n \n ¡Advertencia! Este campo es\n requerido\n ¡Advertencia! Este campo solo permite\n 50 caracteres\n \n \n \n Empresa\n \n {{item?.name}}\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Canal\n \n {{item?.name}}\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Comercial Asignado\n \n {{item?.name}}\n \n ¡Advertencia! Este campo es requerido\n \n \n Comercial Asignado\n \n {{item?.name}}\n \n ¡Advertencia! Este campo es requerido\n \n
\n\n
\n
\n

Notas

\n
\n
\n

Notas

\n
\n
\n
Histórico de notas
\n
\n\n \n \n\n
\n \n \n \n \n
\n
\n \n \n
\n\n \n\n
\n \n \n
\n Acercamiento Comercial\n \n Potencial compra\n \n Si\n No\n \n ¡Advertencia! Este campo es requerido\n \n  \n \n Fecha de proceso\n \n\n \n \n \n \n ¡Advertencia! Este campo es requerido\n \n  \n  \n \n Contacto Comercial\n \n {{item?.name}}\n \n ¡Advertencia! Este campo es requerido\n \n  \n \n\n\n\n
\n
\n

Notas

\n
\n
\n

Notas

\n
\n
\n
Histórico de notas
\n
\n\n \n \n
\n \n \n \n \n
\n\n
\n \n \n
\n \n
\n \n \n
\n Construcción de Propuesta\n\n \n Tipo de servicio\n \n {{item?.name}}\n \n ¡Advertencia! Este\n campo es requerido\n \n\n \n Cual\n \n \n\n \n Unidad de facturación\n \n {{item?.name}}\n \n ¡Advertencia! Este\n campo es requerido\n \n\n \n Cual\n \n \n\n \n Moneda\n \n Peso Colombiano\n Dólares\n Peso Mexicano\n Peso Chileno\n Soles\n Reales\n Euros\n \n ¡Advertencia! Este\n campo es requerido\n \n\n \n Tasa de cambio\n \n \n Por favor ingrese un valor para la tasa mensual\n \n \n\n \n Facturacion Mensual (otra moneda)\n \n \n ¡Advertencia! Este campo es requerido\n \n \n\n \n Facturacion Mensual COP\n \n ¡Advertencia! Este\n campo es requerido\n \n\n \n Duracion del contrato (meses)\n \n ¡Advertencia! Este\n campo es requerido\n \n\n \n Valor total del contrato\n \n \n\n \n Número de agentes\n \n ¡Advertencia! Este\n campo es requerido\n \n\n \n Fecha estimada de inicio\n \n\n \n \n \n \n ¡Advertencia! Este\n campo es requerido\n \n\n \n Fecha entrega de propuesta\n \n\n \n \n \n \n ¡Advertencia! Este\n campo es requerido\n \n\n \n Fecha de adjudicación\n \n\n \n \n \n \n ¡Advertencia! Este\n campo es requerido\n \n\n \n margen de Mano de obra % \n \n \n \n ¡Advertencia! Este campo es requerido\n \n \n \n\n \n Número de puestos\n \n ¡Advertencia! Este\n campo es requerido\n \n\n \n Probabilidad de cierre\n \n \n 30% \n \n \n 50% \n \n \n 70% \n \n \n 85% \n \n \n 100% \n \n \n \n \n ¡Advertencia! Este campo es requerido\n \n \n \n\n
\n
\n

Notas

\n
\n
\n

Notas

\n
\n
\n
Histórico de notas
\n
\n\n \n \n
\n \n \n \n \n
\n
\n \n \n
\n \n\n
\n \n \n
\n Enviada\n\n\n \n Observaciones (opcional)\n \n \n
\n
\n

Notas

\n
\n
\n

Notas

\n
\n
\n
Histórico de notas
\n
\n \n \n
\n \n \n \n \n
\n
\n \n \n
\n \n
\n \n \n
\n\n \n Fecha de negociación (opcional)\n \n \n \n \n \n \n \n Observaciones (opcional)\n \n \n\n Negociacion/sustentación\n\n\n
\n
\n

Notas

\n
\n
\n

Notas

\n
\n
\n
Histórico de notas
\n
\n \n \n
\n \n \n \n \n
\n
\n \n \n
\n \n
\n \n \n Cierre\n\n
\n Cierre del Proceso\n \n Cierre\n \n Ganado\n Perdido\n Desierto\n \n ¡Advertencia! Este\n campo es requerido\n \n
Contrato, Ofertas, RFPS/ Cartas de adjudicación
\n
\n
\n \n \n
Solo se aceptan archivos .pdf y .xlsx
\n
\n \n
\n
\n \n
\n {{ item.name | slice:0:15}} 15\">...\n
\n
\n
\n \n \n \n
Contrato, Ofertas, RFPS/ Cartas de adjudicación
\n\n
\n \n
\n
\n\n\n\n
\n
\n

Notas

\n
\n
\n

Notas

\n
\n
\n
Histórico de notas
\n
\n\n \n \n
\n \n \n \n \n
\n
\n \n\n
\n \n\n
\n
\n \n
\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\nimport { CoachingState } from \"../coaching.state\";\n\nconst getCoachingState = createFeatureSelector('COACHING');\n\nexport const solicitudSelect = createSelector(\n getCoachingState,\n (state) => state.solicitud.solicitud,\n);","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpHeaders, HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nconst CIU_URL = environment.CIU_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NetworkUsersService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Metódo para descargar los logs\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n getManageNetworkUsersList(page: number, pageSize: number, start_date: string = \"\", end_date: string = \"\", unlocker_user: string = \"\", unlocked_user: string = \"\"): Observable {\n return this.http.get(`${CIU_URL}manageNetworkUsers?per_page=${pageSize}&page=${page}&start_date=${start_date}&end_date=${end_date}&unlocker_user=${unlocker_user}&unlocked_user=${unlocked_user}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metódo para activar el usuario de red\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n activateUser(data:any): Observable {\n return this.http.post(`${CIU_URL}manageNetworkUsers/unlockUser`, data).pipe(catchError(this.handleError))\n }\n\n /**\n * Metódo que obtiene el archivo del historico\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n downloadLogs(): Observable{\n return this.http.get(`${CIU_URL}manageNetworkUsers/downloadLogs`, { responseType: 'blob' as 'json' }).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metódo que obtiene las preguntas de seguridad asociadas al usuario\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n getUserSecurityQuestions(all:number): Observable{\n return this.http.get(`${CIU_URL}SecurityQuestions/getQuestions/${all}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metódo que envía las respuestas ingresadas por el usuario y las valida con las que estan almacenadas, si coinciden devuelve verdadero\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n validateSecurityQuestionsAnswers(data:any){\n return this.http.post(`${CIU_URL}SecurityQuestions/validateQuestions`, data).pipe(catchError(this.handleError))\n }\n\n /**\n * Metódo que envía la nueva contraseña de red para actualizarla\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n updateNetworkUserPassword(data:any){\n return this.http.post(`${CIU_URL}manageNetworkUsers/changeNetworkUserPass`, data).pipe(catchError(this.handleError))\n }\n\n /**\n * Metódo que envía las nuevas preguntas de seguridad y actualiza las anteriores\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 29-05-2024\n */\n updateUserSecurityAnswers(data:any){\n return this.http.put(`${CIU_URL}SecurityQuestions/update`, data).pipe(catchError(this.handleError))\n }\n\n validateLastUpdates(type:number): Observable{\n return this.http.get(`${CIU_URL}SecurityQuestions/validateLastUpdate/${type}`).pipe(catchError(this.handleError))\n }\n\n /**\n * Metódo que trae los datos de los usuarios activos paginados con información de rrhh\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n getUsersFilter(params: string) {\n return this.http.get(`${CIU_URL}users?rrhh=2&${params}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metódo que envía y actualiza el usuario de red\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 19-09-2024\n */\n updateNetworkUser(id:number,data:any){\n return this.http.post(`${CIU_URL}users/updateNetworkUser/${id}`, data).pipe(catchError(this.handleError))\n }\n}\n","/* (ignored) */","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA} from '@angular/material/dialog';\n\n@Component({\n selector: 'app-template-confirmation',\n templateUrl: './template-confirmation.component.html',\n styleUrls: ['./template-confirmation.component.sass']\n})\nexport class TemplateConfirmationComponent implements OnInit {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) { }\n\n ngOnInit(): void {\n this.data = this.data.data;\n }\n\n}\n","

Confirmación

\n

Esta seguro de realizar esta activación, esto deshabilitara la versión actual y generara los contratos con esta versión

\n
{{ data }}
\n\n
\n \n \n
\n","import { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\n\nconst RRHH_URL = environment.RRHH_URL;\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ReferralsReportService {\n\n constructor(private http: HttpClient,\n private authService: AuthService) {\n }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author David Reinoso\n * @purpose Servicio para obtener la lista de referidos\n */\n getReferralsList(perPage: any = 5, Page?: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('perPage', perPage || 5)\n .set('page', Page || 1)\n };\n return this.http.get(`${RRHH_URL}referenced/info/report`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author David Reinoso\n * @purpose Servicio para descargar el reporte de referidos\n */\n downloadReport() {\n const httpOptions = {\n params: new HttpParams()\n .set('export', 'true'),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${RRHH_URL}referenced/info/report`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RequestAssignComponent } from './request-assign/request-assign.component';\nimport { RequestDetailsComponent } from './request-details/request-details.component';\nimport { RequestsAllComponent } from './requests-all/requests-all.component';\nimport { RequestsMainComponent } from './requests-main/requests-main.component';\nimport { SharedModule } from '../../../../shared/shared.module';\nimport { RequestDetailsDialogComponent } from './request-details-dialog/request-details-dialog.component';\nimport { RequestInfoComponent } from './request-info/request-info.component';\n\n\n\n@NgModule({\n declarations: [\n RequestAssignComponent,\n RequestDetailsComponent,\n RequestsAllComponent,\n RequestsMainComponent,\n RequestDetailsDialogComponent,\n RequestInfoComponent\n ],\n imports: [\n CommonModule,\n SharedModule\n ], \n exports:[\n RequestInfoComponent\n ]\n})\nexport class RequestsModule { }\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { UsersService } from '../../../services/users.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { RequestsService } from '../../../services/requests.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-request-assign',\n templateUrl: './request-assign.component.html',\n styleUrls: ['./request-assign.component.sass']\n})\nexport class RequestAssignComponent implements OnInit {\n\n recluters = [];\n requestId;\n recluterSelected;\n constructor(private userService: UsersService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private requestService: RequestsService,\n public dialog: MatDialogRef,\n private notification:AlertsService) {\n this.requestId = this.data.requestId;\n }\n\n ngOnInit(): void {\n this.getRecluters();\n }\n /**\n * Metodo que retorna reclutadores solo para que el usuario lider(responsable)\n * pueda asignar un reclutador a la solicitud\n */\n getRecluters(){\n this.userService.getUserByRole('reclutador').subscribe((resp: any) => {\n this.recluters = resp;\n });\n }\n /**\n * Metodo que permite asignar reclutador a una solicitud\n * @param requestId\n */\n assign(){\n\n this.notification.alertConfirm('¿Estas seguro que desea asignar el reclutador seleccionado?').then(e => {\n if(e.isConfirmed){\n const params = {\n userAssignedId: this.recluterSelected,\n userApplicantId: this.data.userApplicantId\n }\n this.requestService.assignRecluter(this.requestId,params).subscribe( ( e ) => {\n this.notification.alertSuccess('Asignado', 'Reclutador Asignado con éxito');\n this.dialog.close(true);\n });\n }\n });\n }\n setRecluter(recluterId){\n this.recluterSelected = recluterId;\n }\n}\n","\n\n

Asignar Reclutador

\n
\n\n
\n \n Reclutador\n \n \n {{row.name}}\n \n \n \n
\n
\n
\n\n \n \n","import { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, delay } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst NOMINA_URL = environment.NOMINA_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LiquidationsService {\n private server = environment.RRHH_URL;\n user;\n\n constructor(private http: HttpClient, private activeRoute: ActivatedRoute) {\n }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener hoja de vida usuario\n */\n getCVUserLoggued(id: any) {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n };\n return this.http.get(`${ this.server }user/cv/${ id }`, httpOptions);\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para liquidación de usuario\n */\n createLiquidations(body: any) {\n return this.http.post(`${ NOMINA_URL }liquidations/save`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener los usuarios en base a filtros\n */\n getLiquidationsBy(state?: any, idTipDoc?: any, document?: any, campaign_id?: any, perPage: any = 5, Page?: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', state || '')\n .set('documento', document || '')\n .set('documentType', idTipDoc || '')\n .set('campaign_id', campaign_id || '')\n .set('perPage', perPage)\n .set('page', Page || 1)\n };\n return this.http.get(`${ NOMINA_URL }users/all`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener el reporte de los usuarios activos/inactivos\n */\n getReport(state?: any, idTipDoc?: any, document?: any, campaign_id?: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', state || '')\n .set('documento', document || '')\n .set('documentType', idTipDoc || '')\n .set('campaign_id', campaign_id || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${ NOMINA_URL }users/report`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { InteligenciaService } from 'src/app/modules/calidad/services/inteligencia.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport Swal from 'sweetalert2';\nimport { MatricesAsignadasComponent } from '../matrices-asignadas/matrices-asignadas.component';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-editar-formulario',\n templateUrl: './editar-formulario.component.html',\n styleUrls: ['./editar-formulario.component.sass']\n})\nexport class EditarFormularioComponent implements OnInit {\n private uuid = '0a05f1b2-8ff9-11ee-b9d1-0242ac120002';\n public config: any;\n\n /**\n * @author Cristian Gallo\n * Variable para capturar las selecciones realizadas en la tabla de preguntas\n */\n selections = [];\n\n //Variable para mostrar el formulario\n showForm:boolean = false;\n\n //Variable para habilitar o deshabilitar botones y dragdrop\n questions:boolean = false;\n\n //Variable que almacena las preguntas relacionadas en el formulario\n questionsForm: any[] = [];\n\n //Variable para capturar el id del formulario\n id_form:string = '';\n\n //Variable para indicar la ruta es decir, si para visualizar el formulario o editarlo\n type:string = '';\n\n //Variable para capturar el nombre del formulario o inteligencia de negocio\n nameForm:string = '';\n constructor(\n private aRoute:ActivatedRoute,\n private router:Router,\n private inteligenicaS:InteligenciaService,\n private matriz:MatDialog,\n private configService: TranslatesService,\n ) {\n\n }\n\n ngOnInit(): void {\n this.enableForm();\n this.getFormById();\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función que verifica si se va a visualizar o editar el formulario\n */\n enableForm(){\n this.aRoute.paramMap.subscribe(params=>{\n this.id_form = params.get('id');\n this.type = params.get('type');\n if (this.type === \"edit\") {\n this.questions = true;\n }else{\n this.questions = false;\n }\n })\n }\n\n /**\n * @author Cristian Gallo\n * Función para habilitar el formulario para la edición\n */\n edit(){\n this.router.navigateByUrl(`/mios/calidad/formulario/edit/${this.id_form}`);\n this.questions = true;\n }\n\n /**\n * @author Cristian Gallo\n * Función para cambiar el orden de las preguntas en el dragdrop\n */\n drop(event: CdkDragDrop) {\n moveItemInArray(this.questionsForm, event.previousIndex, event.currentIndex);\n this.changePosition(event.container.data);\n }\n\n /**\n * @author Cristian Gallo\n * Función para obtener los datos del formulario\n */\n getFormById(){\n this.inteligenicaS.getFormById(this.id_form).subscribe((resp:any)=>{\n this.nameForm = resp.name;\n this.questionsForm = resp.preguntas_acivas;\n if (this.questionsForm.length > 0) {\n this.showForm = true\n }else{\n this.showForm = false;\n }\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función para obtener la selección de preguntas en la tabla de preguntas\n */\n selection(event:any[]){\n this.selections = event;\n this.save();\n }\n\n /**\n * @author Cristian Gallo\n * Función para eliminar preguntas del formulario\n */\n removeQuestion(id_question){\n Swal.fire({\n icon: 'warning',\n title: this.config.actions.remove.title,\n showCancelButton: true,\n cancelButtonText: this.config.actions.remove.btnCancel,\n confirmButtonText: this.config.actions.remove.btnConfirm,\n reverseButtons: true,\n width: '840px',\n padding: '2em 4em'\n }).then(result=>{\n if (result.isConfirmed) {\n this.inteligenicaS.questionsForm(this.id_form,'',id_question).subscribe(()=>{\n this.getFormById();\n Tools.swalSuccess(this.config.actions.remove.resSuccessTitle, this.config.actions.remove.resSuccessText);\n });\n }\n })\n }\n\n /**\n * @author Cristian Gallo\n * Función para guardar o confirmar las preguntas seleccionadas en la tabla preguntas\n */\n save(){\n let newQuestions = [];\n this.selections.forEach(seleccion => {\n newQuestions.push({id:seleccion.id,});\n });\n this.inteligenicaS.questionsForm(this.id_form,newQuestions,'').subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess(this.config.actions.save.resSuccessTitle, this.config.actions.save.resSuccessText);\n this.getFormById();\n }\n },(err:any)=>{\n }\n );\n }\n\n /**\n * @author Cristian Gallo\n * Función que actualiza la posición de las preguntas\n */\n changePosition(data:any[]){\n let newPosition = [];\n data.forEach((element,index:number) => {\n element.position = index + 1;\n newPosition.push({\n id: element.pregunta.id,\n position: element.position\n })\n });\n this.inteligenicaS.changePosition(this.id_form,newPosition).subscribe((resp:any)=>{\n this.getFormById();\n });\n }\n\n cancelar(){\n this.router.navigateByUrl(`/mios/calidad/formulario/detail/${this.id_form}`);\n this.questions = false;\n this.getFormById();\n }\n\n matrices(){\n const matrizRef = this.matriz.open(MatricesAsignadasComponent,{\n width: '550px',\n height: '224px',\n disableClose: true,\n data: {id:this.id_form}\n });\n }\n\n}\n","
\n
\n \n
\n
\n

{{nameForm}}

\n

{{config.subtitle}}

\n \n
\n
\n

{{config.questions}}

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

{{config.form}}

\n \n
\n
\n \n

{{selection.pregunta.question}}

\n
\n \n {{config.fields.answer}}\n \n \n
\n
\n \n \n \n {{opcion.name}}\n \n \n {{config.fields.other}}\n \n \n {{config.fields.cual}}\n \n \n \n
\n
\n \n {{escala}}\n \n
\n
\n \n {{config.fields.options}}\n \n \n {{opcion.name}}\n \n \n
\n
\n \n {{config.fields.date}}\n \n \n \n \n \n \n
\n
\n \n Hora\n \n \n
\n
\n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { GESTIONADOR_CORREOS } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TemplateService {\n\n constructor(private httpClient: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-08-11\n * Metodo que retorna los errores generados por HTTP. \n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-15\n * Metodo que retorna las platillas asociadas a un id de configuracion de correo. \n * @param idEmailConfig Configuracion de correo seleccionado. \n */\n getTemplatesByIdEmailConfig(idEmailConfig: number): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}templates/showall?id_email_config=${idEmailConfig}&state=1`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-29\n * Metodo que retorna las plantillas registradas en el sistema. \n */\n getTemplates(paginator: any, filter: string, allStates: boolean = true, filterEmail: number): Observable {\n const allStatesFilter = !allStates ? '&state=1' : '';\n return this.httpClient.get(`${GESTIONADOR_CORREOS}templates/showall?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&name=${filter}&id_email_config=${filterEmail}${allStatesFilter}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-29\n * Metodo que guardar o actualiza una plantilla en el sistema. \n * @param template Informacion proveniente del formulario. \n */\n storeTemplate(template: any): Observable {\n const url = template.id === null ? `${GESTIONADOR_CORREOS}templates/store` : `${GESTIONADOR_CORREOS}templates/update/${template.id}`;\n return this.httpClient.post(url, template).pipe(\n catchError(this.handleError)\n );\n }\n}","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Router } from '@angular/router';\nimport * as moment from 'moment';\nimport { InteligenciaService } from 'src/app/modules/calidad/services/inteligencia.service';\nimport Swal from 'sweetalert2';\nimport { CrearFormularioComponent } from '../crear-formulario/crear-formulario.component';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-tabla-inteligencia-negocio',\n templateUrl: './tabla-inteligencia-negocio.component.html',\n styleUrls: ['./tabla-inteligencia-negocio.component.sass']\n})\nexport class TablaInteligenciaNegocioComponent implements OnInit {\n private uuid = 'cf3afc74-8fb9-11ee-b9d1-0242ac120002';\n public config: any;\n\n //Control de paginación de la tabla\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n //Columnas e información de la tabla\n displayedColumns:string[] = ['acciones','fecha_creacion','nombre_inteligencia_negocio','num_preguntas','descripcion'];\n dataSource =new MatTableDataSource();\n //Filtros\n filtroFormulario:string = '';\n filtroFecha:string = '';\n constructor(\n private formDialog:MatDialog,\n private router:Router,\n private inteligenciaS:InteligenciaService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.getForms(this.page,this.pageSize);\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función desplegar el dialog nuevo formulario\n */\n newForm(){\n const formRef = this.formDialog.open(CrearFormularioComponent,{\n width: '840px',\n disableClose: true,\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función para eliminar formulario\n */\n removeForm(id_form) {\n Swal.fire({\n icon: 'warning',\n title: this.config.actions.remove.title,\n text: this.config.actions.remove.text,\n showCancelButton: true,\n cancelButtonText: this.config.actions.remove.btnCancel,\n confirmButtonText: this.config.actions.remove.btnConfirm,\n reverseButtons: true,\n width: '810px'\n }).then((result) => {\n if (result.isConfirmed) {\n this.inteligenciaS.removeForm(id_form).subscribe((resp: any) =>{\n if (resp.respuesta.codigo === 202) {\n Swal.fire({\n icon: 'success',\n title: this.config.actions.remove.resSuccessTitle,\n text: this.config.actions.remove.resSuccessText,\n showConfirmButton: false,\n timer: 2500\n });\n this.getForms(this.page,this.pageSize);\n } else {\n Swal.fire({\n icon: 'error',\n title: this.config.actions.remove.resErrorTitle,\n text: this.config.actions.remove.resError2Text,\n showConfirmButton: false,\n timer: 2500\n });\n }\n });\n }\n });\n }\n /**\n * @author Cristian Gallo\n * Función la paginación de la tabla\n */\n pageEvent(event:any){\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getForms(this.page,this.pageSize)\n }\n\n /**\n * @author Cristian Gallo\n * Función para ir a la ruta detalle o editar formulario\n */\n detailForm(type,id){\n this.router.navigateByUrl(`/mios/calidad/formulario/${type}/${id}`);\n }\n\n /**\n * @author Cristian Gallo\n * Función para obtener todos los formularios creados\n */\n getForms(page:number,pageSize:number){\n const params = {\n page: page,\n numeroReg: pageSize,\n formulario: '',\n fecha: '',\n }\n\n //Filtros\n if (this.filtroFormulario != \"\") {\n params.formulario = this.filtroFormulario\n }\n\n if (this.filtroFecha != \"\") {\n if ( this.filtroFecha == null) {\n params.fecha = ''\n }else{\n params.fecha = moment(this.filtroFecha).format('YYYY-MM-DD')\n }\n }\n\n this.inteligenciaS.getForms(params).subscribe((resp:any)=>{\n this.dataSource.data = resp.data\n this.length = resp.total\n this.pageSize = resp.per_page;\n });\n }\n\n filtrar(){\n this.getForms(this.page,this.pageSize);\n }\n\n}\n","
\n \n {{config.filters.byForm}}\n \n \n \n \n {{config.filters.byDate}}\n \n \n \n \n \n \n
\n \n
\n
\n
\n
\n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n
\n \n \n \n {{config.table.createdAt}} {{ element.created_at | date:'dd/MM/yyyy'}} {{config.table.biName}} {{ element.name | cutText}} {{config.table.questionAmount}} {{ element.numero_preguntas_count }} {{config.table.description}} {{ element.description | cutText:0:37 }}
{{config.table.nothingToShow}}
\n\n \n \n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-modal-landing',\n templateUrl: './modal-landing.component.html',\n styleUrls: ['./modal-landing.component.sass']\n})\nexport class ModalLandingComponent implements OnInit {\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any) { }\n\n ngOnInit(): void {\n }\n\n}\n","

{{data.title}}\n \n

\n\n\n\n

\n Lorem ipsum dolor sit amet consectetur adipiscing elit vehicula, class nisl quis imperdiet integer quam iaculis nam ad, platea per neque ut nisi nec dictum. Nam faucibus luctus primis posuere pharetra elementum, curabitur arcu hendrerit sociosqu. Turpis faucibus tempor nisi pretium ornare facilisis accumsan vulputate, bibendum tellus inceptos aptent dictum magnis rutrum, est imperdiet himenaeos lectus suscipit nostra pellentesque.\n\nQuis felis tellus placerat lobortis ultrices quam suspendisse fusce, conubia posuere massa ad iaculis tincidunt duis, ridiculus enim volutpat luctus interdum tempor donec. Auctor metus neque pulvinar ultrices iaculis convallis nullam eros vulputate vestibulum, mus dis nostra augue lobortis semper cras in urna venenatis, parturient lacinia sed turpis commodo fames ut malesuada primis. Magna penatibus nascetur ut tempus id rutrum fames praesent etiam lacus proin ligula, aenean lacinia torquent varius nisl libero curae nisi eros montes facilisi, viverra felis vestibulum mi quisque inceptos blandit vulputate gravida placerat habitasse.\n

\n\n
\n","import * as moment from 'moment';\n\nexport const createDataFormCrmV2 = (dataForm: any, typeCreate: string, form: any, formAction: string = 'Crear'): FormData => {\n try {\n /** Variable de control donde se recolectara la informaicon por separado para su funcion especifica **/\n let listIdFiles: string[] = [] //Arreglo donde se envia los Id delos campos tipo file apra relacionar los archivos\n let listclientNewInfo: any[] = []//Arreglo de objetos { 1123154:value} id:valor para identificar las respuestas del formulario\n let listPreload: any[] = [] // Arreglo de Fields que marcan como preload(precargados)\n let formAnswerIndexData: any = {} //Objeto Id:value {1354156:value} donde se almaceanan todas las respuestas de todos los campos del formulario sin importar las secciones\n let formAnswerData2: any = {} //Objeto que indexa lo valores tipificados en un unico objeto de respuestas\n let listReports: any = {} // Objeto unico de Id:value {1325645:value} done van el id y valor de todos los campos marcados para reporteria\n let listLabelsReports: any = {} // Objeto unico de Id:value {1325645:label} done van el id y Label de todos los campos marcados para reporteria\n let isAnonymous: string = \"0\"; //Variable que valdia si dentro del formulario hay algun campo que indique que el formulario se manjara de forma anonima\n let listTypificated: any = {} //Objeto unico id:value {112358:value} con todos los campos que se marquen para tipificacion\n let listSelect = {}; //Variable que se encarga de almacenar un objeto unico de clave valor para todos los selectores tipificados\n let notificationIndexData: any = {} //Variable que se encarga de almacenar un objeto unico de clave valor con lso valores y label de las opciones marcdas en el formulario\n let sections = JSON.parse(JSON.stringify(dataForm.sections))\n let demarche: any = { client_id: null, form_id: null, user_id: null, sections: [] };\n\n sections.forEach((section: any, index: number) => {\n if (Array.isArray(section.fields)) {\n section.fields.forEach((field: any, indexField: number) => {\n if ((typeCreate == \"typification\" || typeCreate == \"editFromTrays\") && dataForm.hasOwnProperty('answer') == true) {\n for (const key in dataForm.answer[index]) {\n if (key === field.key && field.seeSons === true) {\n field.value = dataForm.answer[index][key];\n }\n }\n }\n //En caso de que sea vacio se asigna el valor False\n if (field.isClientInfo) {\n let modelClientInfo = {}\n modelClientInfo[field.id] = field.value\n listclientNewInfo.push(modelClientInfo)\n } else {\n field.isClientInfo = false\n }\n switch (field.controlType) {\n case 'currency':\n //remplazamos la (,) de los valores tipo mondea por espacio en blanco\n field.value = field.value.replaceAll(/,/ig, '')\n break;\n case 'datepicker':\n if (field.value !== null && field.value !== \"\") {\n field.value = moment(field.value).format('YYYY-MM-DD');\n }\n break;\n case 'multiselect':\n if (!Array.isArray(field.value)) {\n field.value = [field.value]\n }\n break;\n case 'file':\n if (typeCreate != \"editFromTrays\") {\n if (field.value != '') {\n field['storage_path'] = \"@@\" + field.id + \"@@\";\n listIdFiles.push(field.id)\n }\n if (field.storage_path != \"\") {\n field['storage_path'] = \"@@\" + field.id + \"@@\"\n }\n } else {\n if (field.storage_path != \"\" && field.storage_path == \"@@\" + field.id + \"@@\") {\n listIdFiles.push(field.id)\n }\n }\n break;\n }\n //Si el field tiene algun valor y es de precarga lo agregamos al array de valores precargados\n if (field.value && (field.preloaded !== undefined && field.preloaded !== null && field.preloaded !== '')) {\n listPreload.push(field)\n }\n //Si el campo tiene algun valor Tipoficado Su valor se indexa en el formAnwerIndexData\n if (field.value !== undefined && field.value !== null && field.value !== '') {\n //formAnswerIndexData = this.getObjectWithValues(formAnswerIndexData,field,{formAnswerIndexData:true})\n if (field.controlType == 'multiselect') {\n if (Array.isArray(field.value) == true) {\n formAnswerIndexData[field.id] = field.value.toString()\n } else {\n formAnswerIndexData[field.id] = field.value\n }\n } else {\n formAnswerIndexData[field.id] = field.value\n }\n if (field.type == \"options\") {\n if (field.controlType == 'multiselect') {\n\n if (Array.isArray(field.value) == true) {\n let labels = \"\";\n let optionsFinded = field.options.filter(option => field.value.find(ffnn => ffnn == option.id) !== undefined)\n if (Array.isArray(optionsFinded) == true && optionsFinded.length > 0) {\n optionsFinded.forEach((finded: any, i: number) => {\n labels += finded.name\n if (i > 0 && i < (optionsFinded.length - 1)) {\n labels += \",\"\n }\n });\n }\n\n notificationIndexData[field.id] = labels\n } else {\n let optionFinded = field.options.find(option => option.id == field.value)\n if (optionFinded !== undefined) {\n notificationIndexData[field.id] = optionFinded.name\n }\n }\n\n } else {\n let optionFinded = field.options.find(option => option.id == field.value)\n if (optionFinded !== undefined) {\n notificationIndexData[field.id] = optionFinded.name\n }\n }\n } else {\n notificationIndexData[field.id] = field.value\n }\n }//Fin recolexcion formAnswerIndexData\n //Si se marca el campo como entrada para reprte se almacena en su objeto clave valor como identificador\n if (field.hasOwnProperty('inReport') == true && field.inReport !== undefined && field.inReport == true) {\n listReports = getObjectWithValues(listReports, field, { toReport: true })\n listLabelsReports[field.id] = field.label\n }\n //En caso de ser marcado como Tipificar este se almacenara en el objeto Clave Valor apra su indexacion\n if (field.hasOwnProperty('isTypificated') == true && field.isTypificated !== undefined && field.isTypificated == true) {\n listTypificated = getObjectWithValues(listTypificated, field, { typificated: true })\n }\n //Si algun campo tiene como nombre anonimo se asumira que el formulario cuenta con un apartado de anonimato porlo que se envia 1 como true\n if (field.key.includes('anonimo') && field.value == '1') {\n isAnonymous = \"1\"\n }\n if (field.type == \"options\") {\n let tempOptionObject = {};\n field.options.forEach(option => {\n tempOptionObject[option.id] = option.name\n });\n formAnswerData2[field.id] = tempOptionObject\n }\n //Pasamos los valores enviados para la tipififacion dentro del clien_unique envez de enviarle solo el Id con @@\n if (field.client_unique !== undefined && field.client_unique == true) {\n if (form['client_unique'] !== undefined) {\n form['client_unique'].forEach(unique => {\n if (unique.id == field.id) {\n unique.value = field.value\n }\n });\n }\n }\n //Recogemos los labels de los selectores en el formulario\n if (field.options.length > 0) {\n //Si el valor es un array es un Multiselect\n if (Array.isArray(field.value)) {\n listSelect[field.id] = []\n field.value.forEach(option => {\n listSelect[field.id].push(option);\n });\n } else {\n if (field.value && field.value != \"\") {\n\n }\n listSelect[field.id] = [field.value]\n }\n }\n //La validacion y limpieza de esta opcion siempre se debe hacer a lo ultimo de la iteracion\n //Ya que las opciones cargas desde un enpoint no se registraran dentro del formulario pero si se usaran para determinar los valores de algunas variables de control en la cabecera del metodo\n if (field.hasOwnProperty('isChargeableOption') == true && field.isChargeableOption && field.isChargeableOption == true) {\n field.options = []\n }\n });\n }\n });\n //Se carga la informacion a guardar entro de nustro Objeto padre\n demarche.sections = sections;\n demarche['formAnswerIndexData'] = JSON.stringify(formAnswerIndexData)\n demarche['reporting_fields'] = JSON.stringify(listReports)\n demarche['headers_reporting_fields'] = JSON.stringify(listLabelsReports)\n demarche['typified_fields'] = JSON.stringify(listTypificated)\n demarche['attachmentsList'] = JSON.stringify(listIdFiles)\n demarche['clientInfo'] = JSON.stringify(listclientNewInfo)\n demarche['preloaded'] = JSON.stringify(listPreload)\n demarche['indexData'] = JSON.stringify(formAnswerData2)\n demarche['listSelect'] = JSON.stringify(listSelect)\n demarche['notificationIndexData'] = JSON.stringify(notificationIndexData)\n const formData = new FormData();\n if (formAction === 'Crear') {\n demarche.client_id = null\n }\n // if(this.trayEdit['client_id'] && typeCreate == 'editFromTrays' ){\n // this.demarche.client_id = this.trayEdit['client_id']\n // }\n\n // if(this.trayEdit['form_answer_id'] && typeCreate == 'editFromTrays'){\n // formData.append('form_answer_id', this.trayEdit['form_answer_id']);\n // }\n formData.append('form_id', String(form.id));\n formData.append('sections', JSON.stringify(demarche.sections));\n formData.append('client_id', demarche.client_id);\n formData.append('user_id', demarche.user_id);\n formData.append('client_unique', JSON.stringify(form['client_unique']));\n formData.append('chronometer', null);\n formData.append('listSelect', demarche['listSelect']);\n formData.append('formAnswerIndexData', demarche.formAnswerIndexData);\n formData.append('reporting_fields', demarche.reporting_fields);\n formData.append('headers_reporting_fields', demarche['headers_reporting_fields']);\n formData.append('attachmentsList', demarche.attachmentsList);\n formData.append('clientInfo', demarche.clientInfo);\n formData.append('preloaded', demarche.preloaded);\n formData.append('typified_fields', demarche.typified_fields);\n formData.append('isAnonymous', isAnonymous);\n formData.append('indexData', demarche.indexData);\n formData.append('notificationIndexData', demarche['notificationIndexData']);\n formData.append('chanel', JSON.stringify(5));\n dataForm.files.forEach((element) => {\n formData.append(element.id, element.file);\n });\n return formData;\n } catch (error) {\n throw new Error(error);\n }\n}\n\nexport const getObjectWithValues = (objectToModify: any, field: any, config?: any): any => {\n if (field.options.length > 0 && field.controlType == 'multiselect') {\n if (Array.isArray(field.value)) {\n let labels = \"\";\n field.value.forEach(valueSelect => {\n let optionFinded = field.options.filter(filterd => filterd.id == valueSelect);\n if (optionFinded) {\n labels += optionFinded[0].name + \",\";\n }\n });\n objectToModify[field.id] = labels;\n }\n } else if (field.options.length > 0) {\n let optionSelected = field.options.filter(filterd => filterd.id == field.value);\n if (optionSelected && optionSelected.length > 0) {\n objectToModify[field.id] = optionSelected[0].name;\n }\n }\n if (field.options.length <= 0) {\n if ((config && config.hasOwnProperty('typificated') == true && config.typificated == true)) {\n objectToModify[field.id] = field.value;\n }\n if ((config && config.hasOwnProperty('formAnswerIndexData') == true && config.formAnswerIndexData == true) && field.controlType == 'file') {\n if (field['storage_path']) {\n objectToModify[field.id] = field['storage_path'];\n }\n } else {\n objectToModify[field.id] = field.value;\n }\n if (!config && field.value && field.value !== \"\") {\n objectToModify[field.id] = field.value;\n }\n }\n return objectToModify;\n}","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { LeftNavService } from '../services/rest/left-nav.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormsGuard implements CanActivate {\n \n constructor(private leftNavService: LeftNavService, private router: Router) {}\n\n async canActivate(): Promise {\n\n if (await this.verifyRol() as boolean) {\n return true;\n } else {\n this.router.navigate(['/mios/crm']);\n return false;\n }\n\n }\n\n public async verifyRol(): Promise {\n\n let band = false;\n const vari = await this.leftNavService.getLeftMenu('crm').toPromise();\n\n for (let element of vari.data) {\n\n if ( element.name === 'Formularios') {\n band = true;\n break;\n }\n }\n\n return band;\n }\n \n}\n","import { Component, OnInit } from '@angular/core';\nimport { ConfigTable, Paginator } from 'src/app/shared/basic-crud-page/type';\nimport { MatDialog } from '@angular/material/dialog';\nimport { TemplateService } from '../../services/template.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { EmailService } from '../../services/email.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\nimport { TemplatesComponent } from '../../components/templates/templates.component';\n\n@Component({\n selector: 'app-templates-page-main',\n templateUrl: './templates-page-main.component.html',\n styleUrls: ['./templates-page-main.component.css']\n})\nexport class TemplatesPageMainComponent implements OnInit {\n templates: any[] = [];\n filter: string = '';\n filterSelect: number = 0;\n configColumnsTable: ConfigTable[] = [\n { name: '', key: 'actions', type: 'events' },\n { name: 'Nombre de la plantilla', key: 'name' },\n ];\n configPaginator: Paginator = { length: 0, pageIndex: 0, pageSize: 5 };\n userLogin: any = null;\n emailsConfig: any[] = [];\n\n constructor(\n private matDialog: MatDialog,\n private templateService: TemplateService,\n private matSnackBar: MatSnackBar,\n private emailService: EmailService,\n private authService: AuthService\n ) { }\n\n ngOnInit(): void {\n this.getEmailsConfigByRol();\n this.getTemplates();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-02-29\n * Metodo que trae las plantillas registrados en el sistema. \n */\n getTemplates(): void {\n if (this.filterSelect !== 0) {\n this.templateService.getTemplates(this.configPaginator, this.filter, true, this.filterSelect).subscribe(res => {\n this.templates = res.data.data.map((item: any) => {\n return {\n ...item,\n name: item.name,\n email: item.user_name_email_entrada,\n time: `Dia: ${item.day} - Hora: ${item.hour} - Minutos: ${item.minutes}`\n };\n });\n this.configPaginator.length = res.data.total;\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-29\n * Metodo que setea el filtro emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilter($event: string) {\n this.filter = $event;\n this.configPaginator.pageIndex = 0;\n this.getTemplates();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-29\n * Metodo que actualiza el estado de una plantilla. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeStateValueTemplate($event: any): void {\n const setDataState = { ...$event.item, state: $event.state };\n this.templateService.storeTemplate(setDataState).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.getTemplates();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-29\n * Metodo que permite ejecutar la modal para crear o actualizar una plantilla. \n * @param template Plantilla seleccionada de la tabla. \n */\n onClickShowTemplate(template: any = null): void {\n this.matDialog.open(TemplatesComponent, {\n width: '50%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-template',\n data: {\n emailsConfig: this.emailsConfig,\n template\n }\n }).afterClosed().subscribe(res => {\n if (res) this.getTemplates();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-29\n * Metodo que permite actualizar la configuracion de la paginacion.\n * @param $event Evento emitido por el componente hijo. \n */\n onChangePage($event: Paginator): void {\n this.configPaginator = $event;\n this.getTemplates();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-29\n * Metodo que setea el filtro del select emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilterSelect($event: number) {\n this.filterSelect = $event;\n this.configPaginator.pageIndex = 0;\n this.getTemplates();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-29\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n}","\n","import { createReducer, on } from \"@ngrx/store\";\nimport { AuditoriaState } from \"../../core/states/auditoria.state\";\nimport { loadAuditoria, loadedAuditoria } from \"../actions/auditoria.actions\";\n\nexport const initialState: AuditoriaState = { loading:false, auditoria:[] };\n\nexport const auditoriaReducer = createReducer(\n initialState,\n on(loadAuditoria,(state)=>{\n return {...state,loading:true}\n }),\n on(loadedAuditoria,( state, { auditoria } )=>{\n return {...state, loading:false, auditoria}\n })\n);","import { Component, OnInit, ViewChild,OnDestroy,DoCheck } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { Observable, throwError } from 'rxjs';\nimport { startWith, map } from 'rxjs/operators';\nimport { PositionsService } from './../../../services/positions.service';\nimport { RequestsService } from './../../../services/requests.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { FormBuilder, FormControl, FormArray, FormGroup, Validators } from '@angular/forms';\nimport { DynamicFormComponent } from '../../shared-form/dynamic-form/dynamic-form.component';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { ToWords } from 'src/app/core/to-words/to-words';\n\n\n@Component({\n selector: 'app-modal-create-request',\n templateUrl: './modal-create-request.component.html',\n styleUrls: ['./modal-create-request.component.sass'],\n})\nexport class ModalCreateRequestComponent implements OnInit, OnDestroy {\n private destroy$ = new Subject();\n @ViewChild(DynamicFormComponent) hijo: DynamicFormComponent;\n\n myControl = new FormControl();\n options: any;\n filteredOptions: Observable;\n data: any = [];\n cargos: any;\n formularios: any = [];\n usuario: any;\n seleccionado: any;\n responsable: any = {};\n tipoSeleccionado;\n formSection =[\n {\n name_section:null,\n fields: null,\n type_section: 1,\n collapse: false,\n duplicar: false\n },\n ]\n tipos;\n now = new Date().toISOString().split('.')[0];\n formGroup : FormGroup;\n comition: boolean= false\n specialComition: boolean= false\n boification: boolean= false\n toWords = new ToWords()\n\n constructor(public dialogRef: MatDialogRef,\n public dialog: MatDialog,\n private cargosService: PositionsService,\n private serviceBpms: RequestsService,\n private alertService: AlertsService,\n private authService: AuthService) {\n }\n\n ngOnInit() {\n this.usuario = this.authService.getUser();\n this.serviceBpms.consultarTipoSolicitud().subscribe(respuesSolicitud => {\n this.tipos = respuesSolicitud;\n });\n this.formControl();\n }\n /**\n * @author Karol García\n * @createdate 2021-04-12\n * Método que devuelve el nombre elegido en loa outocomplete\n */\n displayFn(option): any {\n if (!option) return '';\n let index = this.options.findIndex(state => state === option);\n return this.options[index].name;\n }\n\n filtrarTipo() {\n this.cargosService.getPositionsStatusActive(this.tipoSeleccionado.id).subscribe( (resp:any) => {\n this.options = resp;\n this.filteredOptions = this.myControl.valueChanges.pipe(\n startWith(''),\n map((value) => this._filter(value))\n );\n });\n\n }\n\n buildForm(cargo) {\n this.seleccionado = cargo;\n this.serviceBpms.consultarTipoFormulario(cargo.postition_category_id, cargo.name).subscribe(form => {\n this.formSection[0].name_section = `Solicitud ${this.tipoSeleccionado.name}`\n let index2 = form.formJson.findIndex(question => question.key === 'cargoSolicitante');\n if(index2>=0){\n const found = form.formJson[index2].options.find(element => element.name == this.usuario.rrhh.position);\n form.formJson[index2]['value']= found\n }\n form.formJson.map(element=>{\n if(element.controlType == \"datepicker\"){\n element.minLength = this.now\n }\n if(element.key == 'fechaSolicitud'){\n element.value= this.now\n }\n })\n let formulario = form.formJson;\n for ( let i = 0; i < formulario.length; i++) {\n if(formulario[i].key == 'funciones'){\n formulario.splice(i,1);\n }\n }\n this.formSection[0].fields= formulario;\n\n let index1 = this.formSection[0].fields.findIndex(question => question.key === 'nombreSolicitante');\n this.formSection[0].fields[index1].value = this.usuario.rrhh.name\n });\n }\n\n close(refreshRequests?) {\n this.dialogRef.close(refreshRequests);\n }\n\n createRequest(res) {\n let formulario = res.answer[0]\n\n this.alertService.alertConfirm('¿Está seguro que desea generar esta solicitud?').then((result) => {\n if (result.isConfirmed) {\n const cargoSeleccionado = {\n cargo: this.seleccionado.name\n };\n //se llama la funcion que convierte el valor numerico en string\n let toWords = this.toWords.convert(this.formGroup.get('hoursPerWeek').value);\n let hoursLetters = toWords.substring(0, toWords.length - 6);\n //se agregan los valores al JSON de special-policy\n const special_policy = {\n 'special-policy': this.formGroup.value\n };\n special_policy['special-policy']['hoursLetters'] = hoursLetters;\n\n const salary = formulario.asignacionSalarial;\n formulario.asignacionSalarial = salary.replaceAll(',', '');\n const formularioCompleto = Object.assign(formulario, cargoSeleccionado, special_policy);\n\n const Solicitud = {\n keyTipoSolicitud: this.seleccionado.postition_category_id, // tipo es el id del tipo de solicitud\n applicantUserId: this.usuario.rrhh_id,\n infoSolicitud: JSON.stringify(formularioCompleto),\n state: 1\n };\n\n this.serviceBpms.guardarFormulario(Solicitud).subscribe((respuesta: any) => {\n this.alertService.alertSuccess('Guardado', respuesta.message);\n this.close(true);\n });\n }});\n}\n\n /**\n * @author Karol García\n * @createdate 2021-04-12\n * Método que deshabilita el autocomplete y crea el formulario\n */\noptionSelected(event){\n this.buildForm(event.option.value);\n this.myControl.disable()\n}\n\n private _filter(value: any): string[] {\n if (!value.id) {\n const filterValue = value.toLowerCase();\n return this.options.filter(option => option.name.toLowerCase().includes(filterValue));\n }\n }\n ngOnDestroy() {\n\n this.seleccionado = null;\n this.destroy$.next(); // trigger the unsubscribe\n this.destroy$.complete(); // finalize & clean up the subject stream\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-06-13\n * Método que muestra u oculta el checkbox\n */\n\n hasComition(){\n this.comition = !this.comition;\n if(this.specialComition == true)\n {\n this.specialComition = false;\n this.formGroup.get(\"hasSpecialComitionFrom\").setValue(\"\");\n this.formGroup.get(\"specialComitionDetails\").setValue(\"\");\n }\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-06-13\n * Método que muestra u oculta el checkbox\n */\n hasSpecialComition(){\n this.specialComition = !this.specialComition;\n if(this.specialComition == false)\n {\n this.formGroup.get(\"specialComitionDetails\").setValue(\"\");\n }\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-06-13\n * Método que muestra u oculta el checkbox\n */\n hasboification(){\n this.boification = !this.boification;\n if(this.boification == false)\n {\n this.formGroup.get(\"bonificationDetailsrom\").setValue(\"\");\n }\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-06-13\n * Método que setea los valores del formulario\n */\n async formControl(){\n this.formGroup = new FormGroup({\n hoursPerWeek: new FormControl('', [Validators.maxLength(15),Validators.minLength(1)]),\n hasComitionFrom: new FormControl(''),\n hasSpecialComitionFrom: new FormControl(''),\n specialComitionDetails: new FormControl(''),\n comprehensiveSalary: new FormControl(''),\n hasBonificationFrom: new FormControl(''),\n bonificationDetailsrom: new FormControl(''),\n finalidad: new FormControl(''),\n });\n }\n}\n","\n\n

Crear solicitud

\n
\n\n\n
\n
\n \n Tipo de Solicitud\n \n \n {{tipo.name}}\n \n \n \n \n Cargo que buscas\n \n \n \n {{ option.name }}\n \n \n \n
\n
\n
\n
\n

Politicas especiales

\n
\n \n
\n
\n \n Horas semanales\n \n \n
\n
\n
\n
\n
\n ¿Tiene\n comisión?\n
\n
\n
\n
\n ¿Tiene comisión especial?\n
\n
\n
\n
\n
\n \n Detalles de la comisión especial\n \n \n
\n
\n ¿Tiene salario integral?\n \n
\n
\n ¿Tiene bonos?\n
\n
\n \n Detalles de la bonificación\n \n \n
\n
\n \n Finalidad\n \n \n
\n
\n
\n \n
\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ReservasRoutingModule } from './reservas-routing.module';\nimport { ReservasComponent } from './reservas.component';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { BookingsModule } from './modules/bookings/bookings.module';\nimport { ResourcesModule } from './modules/resources/resources.module';\n\n\n\n@NgModule({\n declarations: [ReservasComponent],\n imports: [\n CommonModule,\n ReservasRoutingModule,\n SharedModule,\n MaterialModule,\n BookingsModule,\n ResourcesModule\n ]\n})\nexport class ReservasModule { }\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MatOption } from '@angular/material/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSelect } from '@angular/material/select';\nimport { ControlService } from 'src/app/modules/calidad/services/control.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\n\n@Component({\n selector: 'app-agregar-agente',\n templateUrl: './agregar-agente.component.html',\n styleUrls: ['./agregar-agente.component.sass']\n})\nexport class AgregarAgenteComponent implements OnInit {\n agentes = [];\n listAgentes = [];\n seleccion = [];\n selectable = false;\n removable = true;\n\n filtroCedula:string = '';\n @ViewChild('matSeleccion') matSeleccion:MatSelect;\n constructor(\n private controlService:ControlService,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private agenteRef:MatDialogRef,\n ) { }\n\n ngOnInit(): void {\n this.getListAgentes();\n }\n\n getListAgentes(){\n this.listAgentes = [];\n const params = {\n idGrupo: this.datos.idGrupo,\n cedula:''\n }\n if (this.filtroCedula != '' && this.filtroCedula != null) {\n params.cedula = this.filtroCedula;\n }\n this.controlService.getAsesores(params).subscribe((resp:any)=>{\n if (this.filtroCedula != '' && this.filtroCedula != null) {\n this.listAgentes.push(resp);\n }else if (this.datos.agentes.length == 0 ) {\n this.listAgentes = resp;\n }else{\n this.listAgentes = resp;\n this.datos.agentes.forEach(agenteExistente => {\n this.listAgentes.forEach((agente,index) => {\n if (agenteExistente.usuario_id == agente.id) {\n this.listAgentes.splice(index,1);\n }\n });\n });\n }\n });\n }\n\n closeDialog(){\n this.agenteRef.close();\n }\n\n addAsesor(){\n const data = {\n idGrupo: this.datos.idGrupo,\n data: this.seleccion.map(agente=>{\n return {id_asesor: agente.id,nombre_asesor:agente.nombre,cedula_asesor:agente.cedula}\n }),\n }\n let mensaje:string = '';\n if (data.data.length == 1) {\n mensaje = 'El agente se ha agregado con éxito.';\n }else if (data.data.length > 1) {\n mensaje = 'Los agentes se han agregado con éxito.';\n }\n this.controlService.addAsesor(data).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess('¡Excelente!',mensaje);\n this.closeDialog();\n }\n if (resp.respuesta.codigo != 202) {\n Tools.swalError('¡Oops!','Lo sentimos, ha ocurrido un error inesperado y no fue posible agregar el agente, por favor intenta nuevamente.')\n }\n });\n }\n\n findById(){\n this.getListAgentes()\n }\n}\n","\n
\n

Añadir agente

\n \n
\n \n Nombre agente\n \n {{agente.nombre}}\n \n \n \n Cédula\n \n \n \n
\n
\n \n \n
\n
","import { createAction, props } from \"@ngrx/store\";\nimport { SolicitudModel } from \"../../core/interfaces/solicitud.interface\";\n\n/**\n * @author Cristian Gallo\n * @createdate 2021-12-20\n * Action que cargara la información de la solicitud.\n*/\n\nexport const loadSolicitud = createAction(\n '[Solicitud] Load solicitud',\n props<{idSolicitud}>()\n);\n\nexport const loadedSolicitud = createAction(\n '[Solicitud] Loaded solicitud',\n props<{ solicitud:SolicitudModel }>()\n)","import { element } from 'protractor';\nimport { NoveltiesService } from './../../../../services/novelties.service';\nimport { CampaignsService } from './../../../../services/rest/campaigns.service';\nimport { NovedadesResponseComponent } from './../novedades-response/novedades-response.component';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NovedadesViewComponent } from '../novedades-view/novedades-view.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport * as moment from 'moment';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport Swal from 'sweetalert2';\nimport { NovedadesObservationComponent } from '../novedades-observation/novedades-observation.component';\n\n\n@Component({\n selector: 'app-novedades-cosultant',\n templateUrl: './novedades-cosultant.component.html',\n styleUrls: ['./novedades-cosultant.component.sass']\n})\nexport class NovedadesCosultantComponent implements OnInit {\n\n // MatPaginator Inputs\n length;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n length2;\n pageSize2 = 5;\n page2 = 1;\n isPage2 = 1;\n pageSizeOptions2: number[] = [5, 10, 25, 100];\n\n displayedColumns: string[] = ['check', 'fecha', 'nombre', 'numero', 'tipo', 'estado', 'campana', 'acciones'];\n displayedColumns2: string[] = ['check', 'fecha', 'nombre', 'numero', 'tipo', 'estado', 'campana', 'acciones'];\n dataSource = new MatTableDataSource();\n dataSource2 = new MatTableDataSource();\n\n reportForm: FormGroup;\n reportForm2: FormGroup;\n reportForm3: FormGroup;\n Campaings: any;\n Campaings3: any;\n noveltyList: any;\n\n filterControl = new FormControl();\n filterControl2 = new FormControl();\n filterControlNovelty = new FormControl();\n typeDocument = new FormControl();\n typeDocument2 = new FormControl();\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatPaginator, { static: true }) paginator2: MatPaginator;\n\n document: any;\n startDate: any = '';\n endDate: any;\n idCampaing: any;\n noveltyType: any;\n\n document2: any;\n startDate2: any = '';\n endDate2: any;\n idCampaing2: any;\n\n documents: any = [];\n idTypeDoc: any;\n idTypeDoc2: any;\n\n filteredOptionsCampaigns: Observable;\n selection = new SelectionModel(true, []);\n selection2 = new SelectionModel(true, []);\n\n constructor(public dialog: MatDialog, private service: CampaignsService, private novelties: NoveltiesService, private users: CandidatesService) {\n }\n\n ngOnInit(): void {\n this.reportForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n this.reportForm2 = new FormGroup({\n start2: new FormControl(),\n end2: new FormControl()\n });\n\n this.reportForm3 = new FormGroup({\n startDate: new FormControl('', Validators.required),\n endDate: new FormControl('', Validators.required),\n campaignId: new FormControl(''),\n docNumber: new FormControl(''),\n docType: new FormControl()\n });\n this.reportForm3.controls.docType.setValue(1);\n this.selection.clear();\n //documento\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.idTypeDoc = resp;\n this.getNovelieties(1, this.pageSize, this.page);\n });\n this.typeDocument.setValue(1);\n this.typeDocument2.valueChanges.subscribe(resp => {\n this.idTypeDoc2 = resp;\n this.getNovelieties2(2, this.pageSize2, this.page2);\n });\n this.typeDocument2.setValue(1);\n\n // Campaña\n this.filterControl.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idCampaing = resp;\n this.getNovelieties(1, this.pageSize, this.page);\n });\n this.filterControl2.valueChanges.subscribe(resp => {\n this.resetPaginator(2);\n this.idCampaing2 = resp;\n this.getNovelieties2(2, this.pageSize2, this.page2);\n });\n // Tipo de novedad\n this.novelties.getFilterNoveltyTypes().subscribe(resp => {\n let data = [];\n var temp = Object.keys(resp.data).map(function (key) { return [Number(key), resp.data[key]]; });\n temp.forEach(element => data.push(element[1]))\n this.noveltyList = data;\n });\n\n this.filterControlNovelty.valueChanges.subscribe(resp => {\n this.noveltyType = resp;\n this.getNovelieties(1, this.pageSize, this.page);\n });\n this.filterControlNovelty.setValue('39'); // Por predeterminado traer los retardos\n\n this.service.getAllCampaigns().subscribe(resp => {\n this.Campaings = resp.data;\n this.Campaings3 = resp.data;\n\n this.filteredOptionsCampaigns = this.reportForm3.get('campaignId').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(x => x ? this._filterCampaigns(x) : this.Campaings3.slice())\n );\n\n });\n this.novelties.getNovelties(1).subscribe(resp => {\n this.dataSource.data = resp.data.data;\n this.length = resp.data.total;\n }, error => {\n this.dataSource = new MatTableDataSource();\n this.resetPaginator(2);\n });\n this.novelties.getNovelties(2).subscribe(resp => {\n this.dataSource2.data = resp.data.data;\n this.length2 = resp.data.total;\n }, error => {\n this.dataSource2 = new MatTableDataSource();\n this.resetPaginator(1);\n });\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-12\n * Metodo de paginación\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getNovelieties(1, this.pageSize, this.page);\n }\n\n pageEvent2(event: any): void {\n this.pageSize2 = event.pageSize;\n this.page2 = Number(event.pageIndex + 1);\n this.getNovelieties2(2, this.pageSize2, this.page2);\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-12\n * Modal de justificación\n */\n viewJustification(element): void {\n const dialogNewgroup = this.dialog.open(NovedadesResponseComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getNovelieties(1, this.pageSize, this.page);\n this.getNovelieties2(2, this.pageSize2, this.page2);\n });\n\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-12\n * Modal de visualizar justificación\n */\n viewJustification2(element): void {\n const dialogNewgroup = this.dialog.open(NovedadesViewComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getNovelieties2(2, this.pageSize2, this.page2);\n });\n\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e) {\n this.resetPaginator(1);\n this.document = e;\n this.getNovelieties(1, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod2(e) {\n this.resetPaginator(2);\n this.document2 = e;\n this.getNovelieties2(2, this.pageSize2, this.page2);\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo para capturar el rango de fechas a filtrar\n */\n dateRangeChange() {\n this.resetPaginator(1);\n const date1: Date = this.reportForm.controls.start.value;\n const date2: Date = this.reportForm.controls.end.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n this.getNovelieties(1, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo para capturar el rango de fechas a filtrar\n */\n dateRangeChange2() {\n this.resetPaginator(2);\n const date1: Date = this.reportForm2.controls.start2.value;\n const date2: Date = this.reportForm2.controls.end2.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate2 = dateStart;\n this.endDate2 = dateEnd;\n this.getNovelieties2(2, this.pageSize2, this.page2);\n\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo para filtrar los pendientes\n */\n getNovelieties(type, pageSi, page) {\n if (this.document != null || this.idCampaing != null || page != null || pageSi != null || this.startDate != null && this.endDate != null || this.noveltyType != null) {\n this.novelties.getNoveltiesBy(type, this.idTypeDoc, this.document, this.idCampaing, this.startDate, this.endDate, this.noveltyType, pageSi, page).subscribe(resp => {\n this.dataSource.data = resp.data.data;\n this.length = resp.data.total;\n }, error => {\n this.dataSource = new MatTableDataSource();\n this.resetPaginator(2);\n });\n }\n\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo para filtrar los rechazados\n */\n getNovelieties2(type, pageSi2, page2) {\n if (this.document2 != null || this.idCampaing2 != null || page2 != null || pageSi2 != null || this.startDate2 != null && this.endDate2 != null) {\n this.novelties.getNoveltiesBy(type, this.idTypeDoc2, this.document2, this.idCampaing2, this.startDate2, this.endDate2, '', pageSi2, page2).subscribe(resp => {\n this.dataSource2.data = resp.data.data;\n this.length2 = resp.data.total;\n }, error => {\n this.dataSource2 = new MatTableDataSource();\n this.resetPaginator(1);\n });\n }\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo de descarga de reporte\n */\n downloadReport() {\n this.novelties.getReport(1, this.idTypeDoc, this.document, this.idCampaing, this.startDate, this.endDate, this.noveltyType, 0).subscribe(resp => {\n importedSaveAs(resp, 'reporte_novedades.xlsx');\n });\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo de descarga de reporte de novedades rechazdas\n */\n downloadReport2() {\n this.novelties.getReport(2, this.idTypeDoc2, this.document2, this.idCampaing2, this.startDate2, this.endDate2, 0).subscribe(resp => {\n importedSaveAs(resp, 'reporte_novedades.xlsx');\n });\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose resetea el paginador\n */\n resetPaginator(numPaginator): void {\n if (numPaginator === 2) {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n } else {\n this.length2 = 0;\n this.pageSize2 = 5;\n this.page2 = 1;\n this.paginator2.firstPage();\n }\n }\n\n get errorReport(): any {\n return this.reportForm3.controls;\n }\n\n /**\n * @author Andres Buitrago\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFnCampaigns(id: number): string {\n if (!id) {\n return '';\n }\n const index = this.Campaings3.findIndex(resp => resp.id === id);\n return this.Campaings3[index].name;\n }\n\n /**\n * Reporte de novedades\n * @author Andres Buitrago\n */\n public downloadReportNovelties(): void {\n this.novelties.downloadReportNovelties(this.reportForm3.value)\n .subscribe(resp => {\n const dateToFile = moment().format('YYYY-MM-DD HH:MM:SS');\n importedSaveAs(resp, `reporte_novedades_${dateToFile}.csv`);\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterCampaigns(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.Campaings3.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-04-06\n * Metodo para seleccionar las filas en la tabla\n */\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-04-06\n * Selecciona todas las filas si no están todas seleccionadas; de lo contrario la selección se limpia.\n */\n masterToggle() {\n this.isAllSelected() ?\n this.selection.clear() :\n this.dataSource.data?.forEach(row => this.selection.select(row));\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-04-06\n * Metodo para justificar retardos masivamente\n */\n saveMassive(state) {\n let str = '¿En verdad deseas justificar las novedades?, recuerda esto' + '\\n' + 'será definitivo y no se podrá deshacer.';\n Swal.fire({\n title: '¿Estás seguro?',\n html: '
' + str + '
',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n let body = {\n state: state,\n type: 39,\n Ids: []\n };\n for (let index = 0; index < this.selection.selected.length; index++) {\n const element = this.selection.selected[index];\n if (element.novelty_type.key == '39' && (element.state_key !== 'revision' && element.state_key !== 'segunda-instancia')) {\n body.Ids.push(element.id);\n }\n }\n this.createRequest(body, 1);\n }\n });\n }\n\n\n /**\n* @author Javier Castañeda\n* @createdate 2022-04-06\n* Modal para la justificación de retardos\n*/\n createRequest(element?, type?) {\n const dialogNewgroup = this.dialog.open(NovedadesObservationComponent, {\n width: '50%',\n disableClose: true,\n data: {\n data: element,\n type: type,\n rol: 'jefe-inmediato',\n title: 'Agregar motivo de aprobacion'\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getNovelieties(1, this.pageSize, this.page);\n this.getNovelieties2(2, this.pageSize2, this.page2);\n this.selection.clear();\n });\n\n }\n\n /**\n* @author Javier Castañeda\n* @createdate 2022-04-06\n* Metodo para seleccionar las filas en la tabla\n*/\n isAllSelected2() {\n const numSelected = this.selection2.selected.length;\n const numRows = this.dataSource2.data.length;\n return numSelected === numRows;\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-04-06\n * Selecciona todas las filas si no están todas seleccionadas; de lo contrario la selección se limpia.\n */\n masterToggle2() {\n this.isAllSelected2() ?\n this.selection2.clear() :\n this.dataSource2.data?.forEach(row => this.selection2.select(row));\n }\n\n /**\n* @author Javier Castañeda\n* @createdate 2022-04-06\n* Metodo para justificar retardos masivamente\n*/\n saveMassive2(state) {\n let str = '¿En verdad deseas justificar las novedades?, recuerda esto' + '\\n' + 'será definitivo y no se podrá deshacer.';\n Swal.fire({\n title: '¿Estás seguro?',\n html: '
' + str + '
',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n let body = {\n state: state,\n type: 39,\n Ids: []\n };\n for (let index = 0; index < this.selection2.selected.length; index++) {\n const element = this.selection2.selected[index];\n if (element.novelty_type.key == '39' && element.state_key !== 'revision' && element.num_instance !== null) {\n body.Ids.push(element.id);\n }\n }\n this.createRequest(body, 1);\n }\n });\n }\n\n\n}\n","
\n
\n

Novedades de nómina

\n

En este espacio podrás revisar y/o gestionar las novedades de
los trabajadores, no olvides,\"El respeto y la\n empatiá son clave\"

\n
\n\n \n \n\n \n Filtrar por fecha\n \n \n \n \n \n \n \n \n Filtrar por identificación\n \n \n {{item.key}}\n \n \n \n Filtrar por campaña\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n \n Filtrar Novedad\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n \n\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n \n \n \n \n Fecha {{element.novelty_date_start | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}}Tipo de novedad{{element.noveltyTypeName}} Estado{{element.stateName}} Campaña{{element.campaignName}}\n \n
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n\n
\n \n\n
\n \n\n \n Filtrar por fecha\n \n \n \n \n \n \n \n \n Filtrar por identificación\n \n \n {{item.key}}\n \n \n \n Filtrar por campaña\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n\n \n\n\n
\n\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n \n \n \n \n Fecha {{element.novelty_date_start | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}}Tipo de novedad{{element.noveltyTypeName}} Estado{{element.stateName}} Campaña{{element.campaignName}}\n \n
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n
\n \n\n\n
\n \n
\n\n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, FormArray } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { QuestionBase } from 'src/app/core/models/questions-base';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { PermitService } from 'src/app/core/services/utils/permit.service';\nimport { QuestionControlService } from 'src/app/core/services/utils/question-control.service';\nimport { FormsRequestService } from 'src/app/modules/crm/services/rest/forms-request.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n\n@Component({\n selector: 'dynamic-form-2',\n templateUrl: './dynamic-form.component.html',\n styleUrls: ['./dynamic-form.component.sass'],\n\n})\nexport class DynamicFormComponent implements OnInit {\n\t@Output() submitForm = new EventEmitter();\n\t@Output() denyForm = new EventEmitter();\n\t@Output() enableTemplate = new EventEmitter();\n\t_sections: any;\n\tforms = new FormArray([]);\n constructor(\n private qcs: QuestionControlService,\n\t\tprivate authService: AuthService,\n\t\tprivate permit: PermitService,\n\t\tprivate router: Router,\n\t\tprivate formsRequestService: FormsRequestService,\n\t\tpublic alertsService: AlertsService,\n\t\tprivate destroyService: DestroyComponentService\n ) {}\n @Input() dependencies;\n @Input() formId;\n @Input() files;\n Files: any = [];\n @Input()\n public set sections(form: any) {\n this.getRolUser(form.app);\n this._sections = form.sections;\n if (this._sections) {\n this._sections.forEach((section) => {\n this.checkSeeRol(section);\n const group = this.qcs.toFormGroup(section.fields);\n this.forms.push(group);\n });\n }\n }\n\n @Input() public set clearControl(clear: any) {\n if (clear === true) {\n this.forms.removeAt(1);\n }\n }\n\n rol: any = [];\n\tfieldsPreloaded: any[] = [];\n\tquestionPush: any;\n\tevento: any;\n\tplantilla: any = '';\n\nngOnInit(): void {\n this.plantilla = this.router.url.substring(6).split('/', 3)[2];\n}\n\ngetRolUser(app) {\n let user = this.authService.getUser();\n user.roles.forEach((rol) => {\n let name = rol.split('::');\n if (name[0] === app) {\n this.rol.push(name[1]);\n }\n });\n}\n/**\n * @author Karol García\n * @createdate 2021-03-29\n * Metodo que verifica si tiene el permiso\n */\ncheckSeeRol(section) {\n section['see'] = false;\n section.fields.forEach((question) => {\n const seePermit = this.permit.permit(this.rol, question.seeRoles);\n const editPermit = this.permit.permit(this.rol, question.editRoles);\n question.disabled = !editPermit;\n question['see'] = seePermit;\n question['seeSons'] = true;\n if (question.preloaded == true) {\n this.fieldsPreloaded.push(question);\n }\n if (question.isSon == true) {\n question.disabled = true;\n\n if (question.value !== '') {\n question.seeSons = true;\n question.disabled = false; /*\n question.disable = false; */\n } else {\n question.seeSons = false;\n }\n }\n if (question['see'] == true && question['seeSons'] == true) {\n section['see'] = true;\n }\n });\n}\n/**\n * @author Jair Celis\n * @createdate 2021-08-30\n * Metodo que añade las dependecias, dependiendo de la opciones del padre\n */\naddDependencies(event: any) {\n const mySons = this.findSons(event.idFather);\n\n if (mySons.length != 0) {\n mySons.forEach((son) => {\n if (this.forms.controls[son.sectionIndex].get(son.key).value != '') {\n this.forms.controls[son.sectionIndex].get(son.key).setValue('');\n this.forms.controls[son.sectionIndex].get(son.key).disable();\n this.disableField(son.id);\n }\n });\n }\n\n this._sections.forEach((section, index) => {\n section.fields.forEach((field) => {\n if (field.isSon == true) {\n field.dependencies.forEach((dependencie) => {\n if (dependencie.idField == event.idFather) {\n dependencie.activators.forEach((activator) => {\n if (activator.id == event.idValue) {\n this.forms.controls[index].get(field.key).setValue('');\n field.seeSons = true;\n this.forms.controls[index].get(field.key).enable();\n field.options = [];\n if (dependencie.options !== '') {\n dependencie.options.forEach((option) => {\n field.options.push(option);\n });\n }\n }\n });\n }\n });\n }\n });\n });\n}\ndisableField(idField) {\n this._sections.forEach((section, index) => {\n section.fields.forEach((field) => {\n if (field.id == idField) {\n field.seeSons = false;\n }\n });\n });\n}\n\n/**\n * @author Jair Celis\n * @createdate 2021-08-30\n * Metodo que devuelve un arreglo de campos hijos\n * @param idField id del campo a buscar los hijos\n */\n\nfindSons(idField) {\n const mySons = [];\n this._sections.forEach((section, index) => {\n section.fields.forEach((field) => {\n if (field.isSon == true) {\n field.dependencies.forEach((dependencie) => {\n if (dependencie.idField == idField) {\n field.sectionIndex = index;\n mySons.push(field);\n }\n });\n }\n });\n });\n return mySons;\n}\n/**\n * @author Karol García\n * @createdate 2021-02-25\n * Metodo que añade otro campo\n */\naddQuestion(event, nameSection) {\n this.evento = Object.assign({}, event);\n this.questionPush = this.evento;\n let cont = 0;\n let indexAuxField = 0;\n let indexAuxSec = 0;\n\n this._sections.forEach((section, indexSec) => {\n section.fields.forEach((question, indexField) => {\n if (question.key.includes(this.evento.key) && nameSection === section.name_section) {\n cont++;\n indexAuxField = indexField;\n indexAuxSec = indexSec;\n }\n });\n });\n\n cont = cont + 1;\n\n this.questionPush.id = new Date().getTime();\n this.questionPush.key = this.evento.key + '_' + cont;\n this.questionPush.value = '';\n this.questionPush.label = this.evento.label + ' ' + cont;\n this.questionPush.canAdd = false;\n this.questionPush.duplicated = {\n idOriginal: event.id,\n type: 'field'\n };\n\n if (this._sections[indexAuxSec].name_section === nameSection) {\n this._sections[indexAuxSec].fields.splice(indexAuxField + 1, 0, this.questionPush);\n }\n\n let formAux = this.forms.controls[indexAuxSec] as FormGroup;\n\n let controlAux = this.qcs.toFormControl(this.questionPush);\n\n formAux.addControl(this.questionPush.key, controlAux);\n}\n\naddSection(event) {\n let evento = Object.assign({}, event);\n let section = evento;\n let cont = 0;\n this._sections.forEach((element) => {\n if (element.name_section.includes(section.name_section)) {\n cont++;\n }\n });\n cont = cont + 1;\n let sendSection = new FormData();\n sendSection.append('section', JSON.stringify(section));\n sendSection.append('cont', cont.toString());\n this.formsRequestService.addSection(sendSection).subscribe((resp) => {\n this._sections.push(resp);\n const group = this.qcs.toFormGroup(resp.fields);\n this.forms.push(group);\n });\n}\nonSubmit() {\n let response = {\n sections: this._sections,\n answer: this.forms.getRawValue(),\n files: this.Files,\n forms: this.forms\n };\n\n this.submitForm.emit(response);\n this.fieldsPreloaded.forEach((element) => {\n this.forms.controls.forEach((sections) => {\n if (sections.get(element.key) != null) {\n sections.get(element.key).setValue(element.value);\n }\n });\n });\n}\n\n/**\n * @author Karol García\n * @createdate 2021-03-30\n * Metodo que cancela el formulario\n */\ncancelForm() {\n let saveconfirm = this.alertsService.alertConfirm('¿Desea cancelar?');\n saveconfirm.then((res) => {\n if (res.isConfirmed) {\n this.denyForm.emit(true);\n }\n });\n}\n/**\n * @author Daniel Dominguez\n * @createdate 2021-04-06\n * Metodo recibe los archivos cargados en los campos tipo file\n */\naddFiles(e) {\n this.Files.push(e);\n}\n\nngOnDestroy(): void {\n this.destroyService.destroyComponent();\n}\n\n// Boton para generar las plantillas\ngenerateTemplate() {\n let responseTemplate = {\n sections: this._sections,\n answer: this.forms.getRawValue(),\n files: this.Files,\n forms: this.forms\n };\n\n this.enableTemplate.emit(responseTemplate);\n}\n\n}\n","
\n \n
\n \n \n \n

{{section.name_section}}

\n \n
\n
\n \n
\n \n \n \n
\n
\n\n
\n
\n
\n
\n \n \n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { CarteraWomComponent } from './cartera-wom.component';\n\nconst routes: Routes = [\n\t{ path: '', component: CarteraWomComponent },\n\t{ path: 'gestiones', loadChildren: () => import('./modules/gestiones/gestiones.module').then((m) => m.GestionesModule) },\n\t{ path: 'databases', loadChildren: () => import('./modules/databases/databases.module').then((m) => m.DatabasesModule) },\n\t{ path: 'asignaciones', loadChildren: () => import('./modules/asignaciones/asignaciones.module').then((m) => m.AsignacionesModule) },\n\t{ path: 'reportes-cartera', loadChildren: () => import('./modules/reports/reports.module').then((m) => m.ReportsModule) },\n { path: 'massive-messages', loadChildren: () => import('./modules/massive-messages/massive-messages.module').then((m) => m.MassiveMessagesModule) },\n\n\n\n];\n\n@NgModule({\n\timports: [RouterModule.forChild(routes)],\n\texports: [RouterModule]\n})\nexport class CarteraWomRoutingModule {}\n","import { AngularEditorConfig } from '@kolkov/angular-editor';\r\n\r\nexport const EDITOR_CONFIG: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: '5%',\r\n minHeight: '0',\r\n maxHeight: '20%',\r\n minWidth: '0',\r\n enableToolbar: true,\r\n showToolbar: true,\r\n placeholder: 'Ingresa tu cuerpo de correo...',\r\n defaultParagraphSeparator: '',\r\n defaultFontName: '',\r\n defaultFontSize: '',\r\n sanitize: false,\r\n fonts: [],\r\n customClasses: [\r\n {\r\n name: 'Arial',\r\n class: 'font-arial',\r\n },\r\n {\r\n name: 'Time-New-Roman',\r\n class: 'font-time-new-roman'\r\n },\r\n {\r\n name: 'Verdana',\r\n class: 'font-verdana'\r\n },\r\n {\r\n name: 'Calibri',\r\n class: 'font-calibri'\r\n },\r\n ],\r\n toolbarPosition: 'top',\r\n toolbarHiddenButtons: [['bold', 'italic', 'fontName'], ['fontSize', 'insertVideo', 'insertImage']],\r\n};\r\n","import { Component, Inject, OnInit, } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-crear-matriz',\n templateUrl: './crear-matriz.component.html',\n styleUrls: ['./crear-matriz.component.sass']\n})\nexport class CrearMatrizComponent implements OnInit {\n private uuid = '807f3cdc-906b-11ee-b9d1-0242ac120002';\n public config: any;\n\n matrixForm:FormGroup;\n tiposMatrices = [];\n inteligencias = [];\n empresas = [];\n rangos = [];\n tipos_peso = [];\n campaigns = [];\n filteredOptionsCampaign: Observable;\n constructor(\n private fb:FormBuilder,\n public matrizRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private matrizService:MatrizService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.createForm();\n this.getSelects();\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n createForm(){\n this.matrixForm = this.fb.group({\n company_id: ['',[Validators.required]],\n nombre: ['',[Validators.required]],\n tipo_matriz_id: ['',Validators.required],\n rango_id: ['',Validators.required],\n tipo_peso_id: ['',Validators.required],\n campania_asociada: ['',Validators.required],\n crm_id: ['',Validators.required],\n aplicar_inteligenciaNegocio: ['',Validators.required],\n inteligenciaNegocio_id: ['',Validators.required],\n aplica_para_cp: [0, Validators.required],\n aplica_comentario:[0,Validators.required],\n comentario_obligatorio_para:['', Validators.required],\n tamano_comentario:['', Validators.required]\n })\n }\n\n save(){\n if (this.matrixForm.invalid) {\n return\n }\n this.matrixForm.addControl('grupo',new FormControl(1))\n this.matrizService.createMatrix(this.matrixForm.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo === 202) {\n Tools.swalSuccess(this.config.modal.excellent, this.config.modal.saveOk)\n this.matrizRef.close(resp.respuesta.codigo);\n }else if (resp.respuesta.codigo > 400) {\n Tools.swalError('¡Oops!', this.config.modal.saveError);\n }\n });\n }\n\n changeSelect(){\n if (this.matrixForm.get('tipo_matriz_id').value == 1) {\n this.matrixForm.get('rango_id').disable();\n this.matrixForm.get('tipo_peso_id').disable();\n }else{\n this.matrixForm.get('rango_id').enable();\n this.matrixForm.get('tipo_peso_id').enable();\n }\n\n if (this.matrixForm.get('campania_asociada').value == 1) {\n this.matrixForm.get('crm_id').enable();\n }else{\n this.matrixForm.get('crm_id').disable();\n }\n\n if (this.matrixForm.get('aplicar_inteligenciaNegocio').value == 0) {\n this.matrixForm.get('inteligenciaNegocio_id').disable();\n }else{\n this.matrixForm.get('inteligenciaNegocio_id').enable();\n }\n if (this.matrixForm.get('aplica_comentario').value == 0) {\n this.matrixForm.get('comentario_obligatorio_para').disable();\n this.matrixForm.get('tamano_comentario').disable();\n }else{\n this.matrixForm.get('comentario_obligatorio_para').enable();\n this.matrixForm.get('tamano_comentario').enable();\n }\n }\n\n getSelects(){\n\n this.matrizService.getComapanies().subscribe((resp:any)=>{\n this.empresas = resp\n });\n\n this.matrizService.getTypeMatrix().subscribe((resp:any)=>{\n this.tiposMatrices = resp\n });\n\n this.matrizService.getIntelligence().subscribe((resp:any)=>{\n this.inteligencias = resp;\n });\n\n this.matrizService.getRange().subscribe((resp:any)=>{\n this.rangos = resp;\n })\n\n this.matrizService.getWeight().subscribe((resp:any)=>{\n resp.forEach(tipo => {\n if (tipo.nombre === \"Peso en Items\") {\n tipo.nombre = 'Peso en Ítems';\n }\n });\n this.tipos_peso = resp;\n })\n\n this.matrizService.getCampaings().subscribe((resp:any)=>{\n this.campaigns = resp.data;\n });\n\n }\n}\n","\n
\n

{{config.labels.form.title}}

\n \n
\n \n {{config.labels.form.matrixName}}\n \n {{config.labels.errors.required}}\n \n \n {{config.labels.form.company}}\n \n {{emp.name}}\n \n {{config.labels.errors.selectOption}}\n \n \n {{config.labels.form.matrixType}}\n \n {{tipo.nombre}}\n \n {{config.labels.errors.selectOption}}\n \n \n {{config.labels.form.weightRange}}\n \n {{rango.nombre}}\n \n {{config.labels.errors.selectOption}}\n \n \n {{config.labels.form.weightType}}\n \n {{peso.nombre}}\n \n {{config.labels.errors.selectOption}}\n \n \n {{config.labels.form.associatedCampaign}}\n \n {{config.labels.form.yes}}\n {{config.labels.form.no}}\n \n {{config.labels.errors.selectOption}}\n \n \n {{config.labels.form.selectCRM}}\n \n {{campaign.name}}\n \n {{config.labels.errors.selectOption}}\n \n \n {{config.labels.form.applyBusinessIntelligence}}\n \n {{config.labels.form.yes}}\n {{config.labels.form.no}}\n \n {{config.labels.errors.selectOption}}\n \n \n {{config.labels.form.selectBusinessIntelligence}}\n \n {{inteligencia.name}}\n \n {{config.labels.errors.selectOption}}\n \n \n {{config.labels.form.applyCP}}\n \n {{config.labels.form.yes}}\n {{config.labels.form.no}}\n \n {{config.labels.errors.selectOption}}\n \n \n \n {{config.labels.form.comment_apply}}\n \n {{config.labels.form.yes}}\n {{config.labels.form.no}} \n \n {{config.labels.errors.selectOption}}\n \n \n {{config.labels.form.comment_is_mandatory_for}}\n \n {{config.labels.form.yes}}\n {{config.labels.form.no}}\n {{config.labels.form.na}}\n {{config.labels.form.cp}}\n \n {{config.labels.errors.selectOption}}\n \n \n {{config.labels.form.comment_size}}\n \n {{config.labels.errors.required}}\n \n
\n\n
\n \n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserPhotoPipe } from './user-photo.pipe';\nimport { OrderByPipe } from './order-by.pipe';\n\n\n\n@NgModule({\n declarations: [UserPhotoPipe, OrderByPipe],\n providers: [UserPhotoPipe, OrderByPipe],\n imports: [\n CommonModule\n ],\n exports:[\n UserPhotoPipe,\n OrderByPipe\n ]\n})\nexport class PipesModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\n\nconst CIU_URL = environment.CIU_URL;\nconst { SPEECH_URL } = environment;\n@Injectable({\n providedIn: 'root'\n})\nexport class CampaignService {\n constructor(private httpClient: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Metodo retornar las campañas\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param filter filtros para la búsqueda.\n * @param paginator configuración de paginación (pageSize y pageIndex).\n */\n getCampaign(paginator: any, filter: string): Observable {\n return this.httpClient.get(`${SPEECH_URL}campaign?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&filter=${filter}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que retorna la información de la campaña por id\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n */\n showCampaign(id: number): Observable {\n return this.httpClient.get(`${SPEECH_URL}campaign/${id}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que crea o actualiza la informacion de la campaña\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param campaign Informacion proveniente del servidor.\n */\n UpdateCampaign(body: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}campaign/update`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo para crear una nueva campaña\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param campaign Informacion proveniente del servidor.\n */\n createCampaign(body: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}campaign`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que lista los usuarios que tienen el rol de speech.\n * @author Fabian Duran\n * @createdate 2024-04-23\n */\n getUsersToRolSpeech(): Observable {\n return this.httpClient.get(`${SPEECH_URL}campaigns/getUsers`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que lista las campañas registradas en el sistema.\n * @author Fabian Duran\n * @createdate 2024-04-23\n * @param userId Usuario seleccionado en la lista.\n * @modifiedBy Yeison Sepulveda\n * @modifyDate 20-05-2024\n */\n getAvailableCampaigns(userIds: number[]): Observable {\n const body = { rrhh_ids: userIds }\n return this.httpClient.post(`${SPEECH_URL}campaigns/availableCampaigns`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que lista las campañas asociadas a un usuario seleccionado.\n * @author Fabian Duran\n * @createdate 2024-04-23\n * @param userId Usuario seleccionado en la lista.\n * @modifiedBy Yeison Sepulveda\n * @modifyDate 20-05-2024\n */\n getUserAssociatedCampaigns(userIds: number[]): Observable {\n const body = { rrhh_ids: userIds }\n return this.httpClient.post(`${SPEECH_URL}campaigns/associatedCampaigns`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que guarda la asociacion entre campañas y usuarios.\n * @author Yeison Sepulveda\n * @createdate 2024-04-23\n * @param userId Usuario seleccionado de la lista.\n * @param campaignsId Campañas seleccionadas de la segunda lista.\n */\n associatedCampaigns(userId: number[], campaignsId: number[]): Observable {\n const body = { campaign_ids: campaignsId, rrhh_ids: userId };\n return this.httpClient.post(`${SPEECH_URL}campaigns/saveCampaignsUser`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Desactivar/inhabilitar campaña por id\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n * @param campaignId Campaña id\n */\n\n stateCampaign(campaignId: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}campaigns/inactivateCampaigns`, campaignId).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo comprobar\n * @author Yeison Sepulveda\n * @createdate 2024-04-23\n */\n getVerifyScopeSOUL(campaign_id: number): Observable {\n return this.httpClient.get(`${SPEECH_URL}verify_scopes/${campaign_id}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * Metodo comprobar IA\n * @author Yeison Sepulveda\n * @createdate 2024-04-23\n */\n getVerifyScopeIA(campaign_id: number): Observable {\n return this.httpClient.get(`${SPEECH_URL}verify_scopes_IA/${campaign_id}`).pipe(\n catchError(this.handleError)\n );\n }\n}\n","export class ConfigSchedule {\n id: number;\n quantity: number;\n config_id: number;\n schedule_type_id: number;\n name: string;\n key: any;\n editable?: boolean;\n open_dial?: number | boolean;\n}\n","import { Component, ChangeDetectorRef, HostListener, Inject, OnInit, NgZone, Input } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, FormControl, FormArray } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport Swal from 'sweetalert2';\nimport { StrategyServersService } from '../../../services/strategy.service';\n\n@Component({\n selector: 'app-strategy-modal',\n templateUrl: './strategy-modal.component.html',\n styleUrls: ['./strategy-modal.component.sass']\n})\nexport class StrategyModalComponent implements OnInit {\n\n @Input() showCloseIcon: boolean = true; //manejo ocultar la x para cerrarlo\n @Input() selectedChannel: number | null = null; //manejo preseleccione el canal segun el casos\n\n strategyForm: FormGroup;\n mostrarContenido: boolean = false;\n items: string[] = [];\n modo: 'crear' | 'editar' | 'visualizar';\n chips: any[] = [];\n selectedChips: any[] = [];\n selectedText: string = '';\n currentSectionIndex: number = 0;\n listChannel: any;\n tagMode: 'recomendadas' | 'personalizadas' = 'recomendadas';\n tagModeSelected: boolean = false;\n private punctuationPattern = /[.,\\/#!^&*;:{}=\\-_`~()¡¿!?'\"|]/g\n private excludedWords = new Set([\n \"el\", \"la\", \"los\", \"las\", \"un\", \"una\", \"unos\", \"unas\", \"este\", \"ese\", \"aquel\", \"esta\", \"esa\", \"es\", \"si\",\n \"estos\", \"esos\", \"estas\", \"esas\", \"con\", \"que\", \"por\", \"el\", \"ella\", \"ellos\", \"ellas\", \"nos\", \"os\",\n \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"ñ\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\",\n \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"ab\", \"ac\", \"ad\", \"ae\", \"af\", \"ag\", \"ah\", \"ai\", \"aj\", \"ak\", \"al\", \"am\",\n \"an\", \"ao\", \"ap\", \"aq\", \"ar\", \"as\", \"at\", \"au\", \"av\", \"aw\", \"ax\", \"ay\", \"az\", \"ba\", \"be\", \"bi\", \"bo\",\n \"bu\", \"ca\", \"ce\", \"ci\", \"co\", \"cu\", \"da\", \"de\", \"di\", \"do\", \"du\", \"ea\", \"ee\", \"ei\", \"eo\", \"eu\", \"fa\",\n \"fe\", \"fi\", \"fo\", \"fu\", \"ga\", \"ge\", \"gi\", \"go\", \"gu\", \"ha\", \"he\", \"hi\", \"ho\", \"hu\", \"ia\", \"ie\", \"ii\",\n \"io\", \"iu\", \"ja\", \"je\", \"ji\", \"jo\", \"ju\", \"ka\", \"ke\", \"ki\", \"ko\", \"ku\", \"la\", \"le\", \"li\", \"lo\", \"lu\",\n \"ma\", \"me\", \"mi\", \"mo\", \"mu\", \"na\", \"ne\", \"ni\", \"no\", \"nu\", \"ña\", \"ñe\", \"ñi\", \"ño\", \"ñu\", \"oa\", \"oe\",\n \"oi\", \"oo\", \"ou\", \"pa\", \"pe\", \"pi\", \"po\", \"pu\", \"qa\", \"qe\", \"qi\", \"qo\", \"qu\", \"ra\", \"re\", \"ri\", \"ro\",\n \"ru\", \"sa\", \"se\", \"si\", \"so\", \"su\", \"ta\", \"te\", \"ti\", \"to\", \"tu\", \"ua\", \"ue\", \"ui\", \"uo\", \"uu\", \"va\",\n \"ve\", \"vi\", \"vo\", \"vu\", \"wa\", \"we\", \"wi\", \"wo\", \"wu\", \"xa\", \"xe\", \"xi\", \"xo\", \"xu\", \"ya\", \"ye\", \"yi\",\n \"yo\", \"yu\", \"za\", \"ze\", \"zi\", \"zo\", \"zu\"\n ]);\n\n\n\n constructor( \n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n private strategyService: StrategyServersService,\n private formBuilder: FormBuilder,\n private cdr: ChangeDetectorRef,\n private zone: NgZone\n ) { }\n\n ngOnInit(): void {\n this.formControl();\n this.agregarSeccion();\n this.ListChannel();\n\n this.modo = this.data.modo;\n const strategyId = this.data.id; \n \n if (this.selectedChannel != null) {\n this.strategyForm.get('channel').setValue([this.selectedChannel]);\n }\n\n if (this.modo === 'visualizar') {\n this.strategyForm.disable();\n this.loadStrategy(strategyId);\n } else if (this.modo === 'editar') {\n this.loadStrategy(strategyId);\n }\n\n document.addEventListener('mouseup', () => this.getSelectedText(this.currentSectionIndex));\n this.strategyForm.get('channel').valueChanges.subscribe(); //observar el valor del canal\n }\n\n ngOnDestroy() {\n document.removeEventListener('mouseup', () => this.getSelectedText(this.currentSectionIndex));\n }\n\n /**\n * Método donde se establecen las validaciones del formulario y adviarte antes de refrescar \n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @method unloadNotification\n * @param {Event} $event - El evento `beforeunload` del navegador.\n * @returns {void}\n */\n\n @HostListener('window:beforeunload', ['$event'])\n unloadNotification($event: any) {\n if (this.strategyForm.dirty) {\n $event.returnValue = true;\n }\n }\n\n /**\n * Método donde se establecen las validaciones del formulario.\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n formControl(): void {\n this.strategyForm = this.formBuilder.group({\n name: ['', Validators.required],\n channel: ['', Validators.required],\n sections: this.formBuilder.array([]),\n });\n }\n\n /**\n * Metodo para cargar la lista de estartegias \n * @createdate 2024-04-08\n * @author Yeison Sepulveda\n */\n ListChannel(): void {\n this.strategyService.listChannel().subscribe(\n (response) => {\n this.listChannel = response.data;\n },\n (error) => {\n console.error('Error al cargar:', error.message);\n }\n );\n }\n\n normalizeText(text: string): string {\n //return text.trim().toLowerCase().replace(this.punctuationPattern, '');\n return text.trim().toLowerCase();\n }\n \n /**\n * Convertir el texto a minúsculas, eliminar caracteres de puntuación y luego dividir el texto en palabras para convertirlos en chips\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n \n createChips(value: string, indexSection: number) {\n const trimmedValue = value.trim();\n\n const numberPattern = /(\\d+(?:[.,]\\d+)?)/g;\n let numbers: string[] = [];\n let protectedValue = trimmedValue.replace(numberPattern, (match) => {\n numbers.push(match);\n return `NUMBER${numbers.length - 1}`;\n });\n\n protectedValue = protectedValue.toLowerCase().replace(/[.,\\/#!^&*;:{}=\\-_`~()¡¿!?'\"|]/g, \"\");\n\n protectedValue = protectedValue.replace(/number(\\d+)/g, (match, index) => numbers[index]);\n\n const words = protectedValue.split(/\\s+|\\n/);\n\n const validWords = words.filter(word => word.trim() !== \"\" && word.length > 1 && !this.excludedWords.has(word));\n const existingChips = this.chips[indexSection].filter(chip => validWords.includes(chip.text));\n\n const newChips = validWords\n .filter(word => !this.chips[indexSection].some(chip => chip.text === word))\n .map(word => ({ text: word, selected: false }));\n\n this.chips[indexSection] = [...existingChips, ...newChips];\n }\n\n /**\n * Obtener las palabras de los chip seleccionados\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n\n chipSelection(chip: any, indexSection: number) {\n // Comprobar si el chip ya está seleccionado en otra sección\n const alreadySelected = this.selectedChips.some((section, index) => index !== indexSection && section.some(selectedChip => selectedChip.text === chip.text));\n\n if (!alreadySelected) {\n chip.selected = !chip.selected;\n if (chip.selected) {\n this.selectedChips[indexSection].push(chip);\n } else {\n this.selectedChips[indexSection] = this.selectedChips[indexSection].filter(c => c !== chip);\n }\n\n // Validar si hay chips seleccionados o no\n this.chips[indexSection].forEach((chip: any) => {\n const etiquetaSeleccionada = this.selectedChips[indexSection].find((selectedChip: any) => selectedChip.text === chip.text);\n if (etiquetaSeleccionada) {\n chip.selected = true;\n }\n });\n } else {\n Swal.fire({\n icon: 'warning',\n title: 'Oops...',\n text: 'Esta etiqueta ya está seleccionada en otra sección.',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n }\n \n\n /**\n * Metodo que se encarga de eliminar los chips seleccionados\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n * @param chipDeleted:any {text:\"\", selected:true|false}\n * @param indexSection:number indice de la seccion\n */\n removeWordSelected(chipDeleted: any, indexSection: number): void {\n // Actualiza selectedChips\n this.selectedChips[indexSection] = this.selectedChips[indexSection].filter(c => c.text !== chipDeleted.text);\n \n // Actualiza chips si es necesario\n this.chips[indexSection] = this.chips[indexSection].map(mmpp => {\n if (mmpp.text === chipDeleted.text) {\n mmpp.selected = false;\n }\n return mmpp;\n });\n }\n\n /**\n * Metodo para obtener las secciones \n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n get sections() {\n return this.strategyForm.get('sections') as FormArray;\n }\n\n /**\n * Crear una nueva seccion\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n createSection(index: number): FormGroup {\n this.chips[index] = [];\n this.selectedChips[index] = [];\n \n const section = this.formBuilder.group({\n section_name: ['', Validators.required],\n guion: ['', Validators.required],\n etiquetas: [''],\n percentage_section: ['', Validators.compose([\n Validators.min(0),\n Validators.max(100)\n ])]\n });\n \n this.strategyForm.get('channel').valueChanges.subscribe(selectedChannels => {\n const percentageControl = section.get('percentage_section');\n \n if (selectedChannels.includes(1)) {\n percentageControl.setValidators([\n Validators.required,\n Validators.min(0),\n Validators.max(100)\n ]);\n } else {\n percentageControl.clearValidators();\n }\n \n percentageControl.updateValueAndValidity();\n });\n \n return section;\n }\n \n /**\n * Agragar una seccion\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n agregarSeccion(): void {\n const index = this.sections.length;\n this.sections.push(this.createSection(index));\n }\n\n /**\n * Eliminar una seccion\n * @createdate 2024-04-08\n * @author Yeison Sepulveda\n */\n eliminarSeccion(index: number): void {\n if(this.sections.controls.length > 1) {\n this.sections.removeAt(index);\n this.chips.splice(index, 1);\n this.selectedChips.splice(index, 1);\n }\n }\n\n /**\n * Guardar estrategia\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n saveStrategy() {\n if (this.strategyForm.valid) {\n //validar si debe mostrar la sección de calificación, se valida el porcentaje total\n if (this.showRatingSection) {\n const totalPercentage = this.sections.controls\n .map(section => section.get('percentage_section').value)\n .reduce((acc, value) => acc + value, 0);\n \n if (totalPercentage !== 100) {\n Swal.fire({\n icon: 'warning',\n title: '¡Ten en cuenta!',\n text: totalPercentage > 100 \n ? 'La suma de los porcentajes de las secciones supera el 100% del total. Por favor, ajuste los valores.' \n : 'La suma de los porcentajes de las secciones es menor al 100%. Por favor, ajuste los valores.',\n confirmButtonColor: '#2CABBC',\n confirmButtonText: '¡Entendido!',\n });\n return;\n }\n }\n \n // Mostrar confirmación y proceder con el guardado\n Swal.fire({\n title: '¿Está seguro?',\n text: 'Se va a guardar el contenido',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: 'Continuar',\n cancelButtonText: 'Cancelar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n let formData = { \n name: this.strategyForm.get('name').value,\n channel: this.strategyForm.get('channel').value,\n sections: [] \n };\n this.sections.controls.forEach((section: any) => {\n const section_name = section.get('section_name').value;\n const guion = section.get('guion').value;\n const percentage_section = section.get('percentage_section').value;\n const selectedChipsForSection = this.selectedChips[this.sections.controls.indexOf(section)];\n const etiquetas = selectedChipsForSection.map((chip: any) => chip.text);\n formData.sections.push({ section_name, guion, etiquetas, percentage_section });\n });\n this.strategyService.createStrategy(formData).subscribe(res => {\n Swal.fire({\n title: '¡Excelente!',\n text: 'Se ha registrado una nueva estrategia',\n icon: 'success',\n confirmButtonText: 'Continuar',\n confirmButtonColor: '#2CABBC',\n }).then((result) => {\n if (result.isConfirmed) {\n this.dialogRef.close();\n }\n });\n }); \n }\n });\n } else {\n this.strategyForm.markAllAsTouched();\n }\n }\n\n /**\n * Actualizar estrategia\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n updateStrategy() {\n //validar si debe mostrar la sección de calificación, se valida el porcentaje total\n if (this.showRatingSection) {\n const totalPercentage = this.sections.controls\n .map(section => section.get('percentage_section').value)\n .reduce((acc, value) => acc + value, 0);\n\n if (totalPercentage !== 100) {\n Swal.fire({\n icon: 'warning',\n title: '¡Ten en cuenta!',\n text: totalPercentage > 100 \n ? 'La suma de los porcentajes de las secciones supera el 100% del total. Por favor, ajuste los valores.' \n : 'La suma de los porcentajes de las secciones es menor al 100%. Por favor, ajuste los valores.',\n confirmButtonColor: '#2CABBC',\n confirmButtonText: '¡Entendido!',\n });\n return;\n }\n }\n Swal.fire({\n title: '¿Está seguro?',\n text: 'Se va a modificar el contenido de la estrategia',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: 'Continuar',\n cancelButtonText: 'Cancelar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n let formData = { \n name: this.strategyForm.get('name').value, \n channel: this.strategyForm.get('channel').value,\n sections: [],\n id: this.data.id };\n this.sections.controls.forEach((section: any) => {\n const section_name = section.get('section_name').value;\n const guion = section.get('guion').value;\n const percentage_section = section.get('percentage_section').value;\n const selectedChipsForSection = this.selectedChips[this.sections.controls.indexOf(section)];\n const etiquetas = selectedChipsForSection.map((chip: any) => chip.text);\n formData.sections.push({ section_name, guion, etiquetas, percentage_section });\n });\n console.log('data a enviar cuando actualizo',formData)\n this.strategyService.updateStrategy(formData).subscribe(res => {\n Swal.fire({\n title: '¡Excelente!',\n text: 'Se ha actualizado la estrategia',\n icon: 'success',\n confirmButtonText: 'Continuar',\n confirmButtonColor: '#2CABBC',\n }).then((result) => {\n if (result.isConfirmed) {\n this.dialogRef.close();\n }\n });\n }); \n }\n });\n }\n\n /**\n * Metodo para consumir servicio y guardar la estrategia creada\n * @createdate 2024-04-08\n * @author Yeison Sepulveda\n */\n loadStrategy(strategyId: number): void {\n this.strategyService.getStrategyById(strategyId).subscribe(\n (resp) => {\n this.strategyForm.patchValue({\n name: resp.data.strategy_name,\n channel: JSON.parse(resp.data.channel)\n });\n \n this.chips = [];\n this.selectedChips = [];\n \n while (this.sections.length !== 0) {\n this.sections.removeAt(0);\n }\n \n const sectionsArray = JSON.parse(resp.data.sections); \n sectionsArray.forEach((section: any, index: number) => {\n const newSection = this.createSection(index);\n \n section.etiquetas.forEach((etiqueta: string) => {\n const words = etiqueta.split(/\\s+/);\n const normalizedWords = words.map(word => this.normalizeText(word));\n const normalizedText = normalizedWords.join(' ');\n \n if (!this.selectedChips[index]) {\n this.selectedChips[index] = [];\n }\n \n if (!this.selectedChips[index].some(chip => chip.text === normalizedText)) {\n this.selectedChips[index].push({ text: normalizedText, selected: true });\n }\n });\n \n newSection.patchValue({\n section_name: section.section_name,\n guion: section.guion,\n percentage_section: section.percentage_section\n });\n \n this.sections.push(newSection);\n \n //cargar los chips segun la seccion\n this.createChips(section.guion, index);\n });\n },\n (error) => {\n console.error('Error al cargar:', error);\n }\n );\n }\n\n /**\n * Metodo que reinicia los valores del modal. \n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n cancelSave(): void {\n if (this.strategyForm.dirty) {\n Swal.fire({\n title: '¿Estás seguro?',\n text: 'Si cancelas el proceso, perderás toda la información no guardada.',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.strategyForm.reset();\n this.dialogRef.close();\n }\n });\n }else {\n this.dialogRef.close();\n }\n }\n\n /**\n * Cambiar modo de visualizacion para crear etiquetas\n * @author Yeison Sepulveda\n * @createdate 2024-08-01\n */\n onTagSelectionChange(selectedMode: 'recomendadas' | 'personalizadas') {\n this.tagMode = selectedMode;\n this.tagModeSelected = true; \n}\n\n\n /**\n * Obtener el texto seleccionado en la página.\n * @param indexSection - El índice de la sección donde se seleccionó el texto.\n * @author Yeison Sepulveda\n * @createdate 2024-08-01\n */\n getSelectedText(indexSection: number) {\n this.zone.run(() => {\n const selection = window.getSelection();\n if (selection && selection.toString().trim().length > 0) {\n this.selectedText = selection.toString();\n } else {\n this.selectedText = '';\n }\n this.cdr.detectChanges();\n });\n }\n\n /**\n * Añadir una etiqueta (chip) desde el texto seleccionado.\n * @param selectedText - texto seleccionado que se convertirá en etiqueta.\n * @param indexSection - índice de la sección donde se añadirá la etiqueta.\n * @author Yeison Sepulveda\n * @createdate 2024-08-01\n */\n addChipFromSelection(selectedText: string, indexSection: number) {\n console.log('texto', selectedText);\n if (selectedText.length > 100) {\n Swal.fire({\n title: 'Oops...',\n text: 'El texto seleccionado excede el máximo de 100 caracteres.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC'\n });\n return;\n }\n\n const words = selectedText.split(/\\s+|\\n/);\n let normalizedText = '';\n\n if (words.length === 1) {\n const word = this.normalizeText(words[0]);\n if (this.excludedWords.has(word) || word.trim().length <= 1) {\n Swal.fire({\n title: 'Oops...',\n text: 'El texto seleccionado no contiene palabras válidas.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC'\n });\n return;\n }\n normalizedText = word;\n } else {\n //const textWithoutPunctuation = selectedText.replace(this.punctuationPattern, '');\n const textWithoutPunctuation = selectedText;\n const validText = textWithoutPunctuation.trim();\n\n if (validText.length === 0) {\n Swal.fire({\n title: 'Oops...',\n text: 'El texto seleccionado no contiene palabras válidas.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC'\n });\n return;\n }\n\n normalizedText = this.normalizeText(validText);\n }\n\n const chip = { text: normalizedText, selected: false };\n\n if (!this.selectedChips[indexSection]) {\n this.selectedChips[indexSection] = [];\n }\n\n if (!this.selectedChips[indexSection].some(c => c.text === chip.text)) {\n this.selectedChips[indexSection].push(chip);\n } else {\n Swal.fire({\n title:'Excelente',\n text: 'Esta etiqueta ya ha sido agregada.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC'\n });\n }\n\n this.selectedText = '';\n }\n\n /**\n * Manejar la acción de cerrar el diálogo cuando hay cambios no guardados.\n * @author Yeison Sepulveda\n * @createdate 2024-08-01\n */\n onNoClick(): void {\n if (this.strategyForm.dirty) {\n Swal.fire({\n title: '¿Estás seguro de que deseas salir?',\n text: 'Tienes cambios que no han sido guardados.',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Sí, salir',\n cancelButtonText: 'Cancelar',\n confirmButtonColor: '#2CABBC',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.dialogRef.close();\n }\n });\n } else {\n this.dialogRef.close();\n }\n }\n\n /**\n * Determina si la sección de calificación debe mostrarse en función de los canales seleccionados.\n * @author Yeison Sepulveda\n * @createdate 2024-08-15\n * @returns \n */\n get showRatingSection(): boolean {\n const selectedChannels = this.strategyForm.get('channel').value || [];\n return selectedChannels.includes(1);\n }\n \n}\n\n","\n

{{ modo === 'crear' ? 'Crear' : modo === 'editar' ? 'Editar' : 'Visualizar' }} estrategia.

\n\n\n\n\n
\n
\n\n \n
\n
\n \n Nombre de la estrategia\n \n \n El nombre de la estrategia es requerido.\n \n \n
\n \n \n
\n \n \n \n {{ channel.name }}\n \n \n \n Debe seleccionar al menos un canal.\n \n \n
\n
\n\n
\n
\n \n
\n \n Nombre de la sección\n \n \n El nombre de la sección es requerido.\n \n \n
\n\n \n
\n \n \n \n El contenido es requerido.\n \n \n
\n\n \n
\n

Selecciona el texto que deseas etiquetar y agrégalo como una etiqueta en esta sección.

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

Haz clic en las etiquetas que deseas agregar en esta sección.

\n
\n
{{chip.text}}\n
\n
\n
\n\n \n
\n
\n \n \n Etiquetas Recomendadas\n \n \n Etiquetas Personalizadas\n \n \n
\n
\n\n\n \n
\n \n \n \n {{word.text}} \n cancel\n \n \n \n \n
\n\n \n
\n \n Porcentaje de la sección\n \n \n El porcentaje es requerido.\n \n \n El porcentaje debe estar entre 0 y 100.\n \n \n
\n\n \n
\n \n
\n
\n
\n\n \n
\n \n
\n \n
\n
\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SnackBarService {\n\n constructor(private matSnackBar: MatSnackBar) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-03-04\n * Metodo que muestra una notificacion tipo success.\n * @param title Titulo de la notificacion.\n * @param message Mensaje de la notificacion.\n * @param duration Duracion de la notificacion.\n * @param panelClass Clase CSS de la notificacion.\n */\n showNotification({title = '¡Excelente!', message, duration = 5000, panelClass = 'green-snackbar'}): void {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: { title, message },\n duration,\n verticalPosition: 'top',\n panelClass: [panelClass]\n });\n }\n}","import { Component, OnInit } from '@angular/core';\nimport { MailService } from '../../../services/rest/mail.service';\nimport { ViewMailComponent } from '../view-mail/view-mail.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\nimport { ManageEmailComponent } from '../manage-email/manage-email.component';\nimport { NewEmailComponent } from '../new-email/new-email.component';\n\n\n@Component({\n selector: 'app-admin-email',\n templateUrl: './admin-email.component.html',\n styleUrls: ['./admin-email.component.sass']\n})\nexport class AdminEmailComponent implements OnInit {\n\n // MatPaginator Inputs\n lengthC;\n lengthH;\n lengthM;\n lengthE;\n lengthB;\n pageSizeM = 5;\n pageM = 1;\n pageSizeC = 5;\n pageC = 1;\n pageSizeH = 5;\n pageH = 1;\n pageSizeE = 5;\n pageE = 1;\n pageSizeB = 5;\n pageB = 1;\n\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n mailActivos: any;\n cantidadActivos: number;\n mailCola: any;\n cantidadCola: number;\n mailHistorico: any;\n cantidadHistorico: number;\n mailEnviados: any;\n cantidadEnviados: number;\n mailBuscados: any;\n cantidadBuscados: number;\n\n filterForm: FormGroup;\n\n public advancedFilters: boolean = true;\n message: string;\n\n constructor(public mailService: MailService,\n public dialog: MatDialog,\n private form: FormBuilder,\n public datePipe: DatePipe,\n private alertsService: AlertsService) { }\n\n ngOnInit(): void {\n\n this.getMailCola(this.pageSizeC, this.pageC);\n this.getMailHistoricos(this.pageSizeH, this.pageH);\n this.getMailMios(this.pageSizeM, this.pageM);\n this.getEnviados(this.pageSizeE, this.pageE);\n this.getBusqueda(this.pageSizeB, this.pageB, null);\n this.showButtonMessage();\n this.formControl();\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que inicia los controles de los formularios\n */\n formControl(): void{\n\n this.filterForm = this.form.group({\n de: new FormControl('', [Validators.email]),\n para: new FormControl('', [Validators.email]),\n cuerpo: new FormControl('', []),\n asunto: new FormControl('', []),\n fechaDesde: new FormControl('', []),\n fechaHasta: new FormControl('', []),\n });\n\n }\n\n get errorFilter(): any { return this.filterForm.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que trae los datos para la grilla de correos\n * @param size\n * @param page\n */\n getMailMios(size: number, page: number): void{\n this.mailService.getActivos(size, page).subscribe((resp) => {\n if(resp){\n this.mailActivos = resp.data;\n this.cantidadActivos = resp.total;\n this.lengthM = resp.total;\n this.pageSizeM = resp.per_page;\n }\n });\n }\n\n getMailCola(size: number, page: number): void{\n this.mailService.getCola(size, page).subscribe((resp) => {\n if(resp){\n this.mailCola = resp.data;\n this.cantidadCola = resp.total;\n this.lengthC = resp.total;\n this.pageSizeC = resp.per_page;\n }\n });\n }\n\n getMailHistoricos(size: number, page: number): void{\n\n this.mailService.getHistoricos(size, page).subscribe((resp) => {\n if(resp){\n this.mailHistorico = resp.data;\n this.cantidadHistorico = resp.total;\n this.lengthH = resp.total;\n this.pageSizeH = resp.per_page;\n }\n });\n\n }\n\n getEnviados(size: number, page: number): void{\n\n this.mailService.getEnviados(size, page).subscribe((resp) => {\n this.mailEnviados = resp.data;\n this.cantidadEnviados = resp.total;\n this.lengthE = resp.total;\n this.pageSizeE = resp.per_page;\n });\n\n }\n\n getBusqueda(size: number, page: number, form: FormData): void{\n\n this.mailService.Busqueda(size, page, form).subscribe((resp) => {\n this.mailBuscados = resp.data;\n this.cantidadBuscados = resp.total;\n this.lengthB = resp.total;\n this.pageSizeB = resp.per_page;\n });\n\n }\n\n filter(mailfilter): void{\n\n const filter = new FormData();\n\n filter.append( 'de', mailfilter.value.de ? mailfilter.value.de : '');\n filter.append( 'para', mailfilter.value.para ? mailfilter.value.para : '');\n filter.append( 'asunto', mailfilter.value.asunto ? mailfilter.value.asunto : '' );\n filter.append( 'cuerpo', mailfilter.value.cuerpo ? mailfilter.value.cuerpo : '' );\n filter.append( 'fechaDesde', this.datePipe.transform(mailfilter.value.fechaDesde, 'yyyy-MM-dd', 'es-ES') ? this.datePipe.transform(mailfilter.value.fechaDesde, 'yyyy-MM-dd', 'es-ES') : '');\n filter.append( 'fechaHasta', this.datePipe.transform(mailfilter.value.fechaHasta, 'yyyy-MM-dd', 'es-ES') ? this.datePipe.transform(mailfilter.value.fechaHasta, 'yyyy-MM-dd', 'es-ES') : '');\n\n this.mailService.Busqueda(this.pageSizeB, this.pageB, filter).subscribe((resp) => {\n this.mailBuscados = resp.data;\n this.cantidadBuscados = resp.total;\n this.lengthB = resp.total;\n this.pageSizeB = resp.per_page;\n });\n\n }\n\n showButtonMessage(): void {\n this.advancedFilters = !this.advancedFilters;\n if (!this.advancedFilters) {\n this.getBusqueda(this.pageSizeB, this.pageB, null);\n this.message = 'Activar Filtros';\n } else {\n this.message = 'Desactivar Filtros';\n }\n }\n\n\n dateDiff(correo: any, prioridad, email?: any): boolean {\n\n let currentDate: any = new Date();\n let diferencia = 0;\n\n if (correo === undefined) {\n let fechaCreacion: any = new Date(email.fechaHora);\n diferencia = Math.round(Math.abs(currentDate - fechaCreacion) / 36e5);\n } else {\n let fechaCreacion: any = new Date(correo.created_at);\n if (correo.fechaGestion === null){\n diferencia = Math.round(Math.abs(currentDate - fechaCreacion) / 36e5);\n } else {\n let fechaModificacion: any = new Date(correo.updated_at);\n diferencia = Math.round(Math.abs(fechaModificacion - fechaCreacion) / 36e5);\n }\n }\n\n if (diferencia <= 2 && prioridad === 1) {\n return true;\n } else if ( diferencia > 2 && diferencia <= 4 && prioridad === 2) {\n return true;\n } else if ( diferencia > 4 && prioridad === 3){\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que se encarga del paginador al momento de cambiar de pagina\n * @param event evento que trae la pagina a listar\n */\n pageEventC(event: any): void {\n\n this.pageSizeC = event.pageSize;\n this.pageC = event.pageIndex + 1;\n this.getMailCola(this.pageSizeC, this.pageC);\n\n }\n\n pageEventH(event: any): void {\n\n this.pageSizeH = event.pageSize;\n this.pageH = event.pageIndex + 1;\n this.getMailHistoricos(this.pageSizeH, this.pageH);\n\n }\n\n pageEventM(event: any): void {\n\n this.pageSizeM = event.pageSize;\n this.pageM = event.pageIndex + 1;\n this.getMailMios(this.pageSizeM, this.pageM);\n\n }\n\n pageEventE(event: any): void {\n\n this.pageSizeE = event.pageSize;\n this.pageE = event.pageIndex + 1;\n this.getEnviados(this.pageSizeE, this.pageE);\n\n }\n\n pageEventB(event: any): void {\n\n this.pageSizeB = event.pageSize;\n this.pageB = event.pageIndex + 1;\n this.getBusqueda(this.pageSizeB, this.pageB, null);\n\n }\n\n viewMail(data: any, menu): void{\n const dialogViewMail = this.dialog.open(ViewMailComponent, {\n width: '100%',\n disableClose: true,\n maxHeight: '85vh',\n data: {\n type: 'viewMail',\n title: 'Visualizar Correo',\n data,\n menu\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogViewMail.afterClosed().subscribe(() => {\n\n });\n\n }\n\n manageMail(data: any): void{\n\n const dialogManageMail = this.dialog.open(ManageEmailComponent, {\n width: '100%',\n disableClose: true,\n maxHeight: '85vh',\n data: {\n type: 'manageMail',\n title: 'Gestion Correo',\n data\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogManageMail.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n\n }\n\n nuevoCorreo(): void {\n const dialogNewMail = this.dialog.open(NewEmailComponent, {\n width: '100%',\n disableClose: true,\n maxHeight: '85vh',\n data: {\n type: 'newMail',\n title: 'Gestion Correo',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewMail.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n\n }\n\n actualizar(): void {\n\n const actualizar = new FormData();\n\n this.mailService.Actualizar(actualizar).subscribe((resp) => {\n if ( resp.id === 200){\n this.ngOnInit();\n }\n });\n }\n\n asignacion(idMail: any): void {\n\n const asigna = new FormData();\n\n asigna.append( 'emailId', idMail);\n\n const value = this.alertsService.alertConfirm('¿Desea asignarse este email?');\n value.then((result) => {\n if (result.isConfirmed) {\n this.mailService.Asignar(asigna).subscribe((resp) => {\n this.ngOnInit();\n });\n }\n });\n\n }\n\n devolverBandeja(idMail: any): void {\n\n const asigna = new FormData();\n\n asigna.append( 'emailId', idMail);\n\n const value = this.alertsService.alertConfirm('¿Desea devolver este email a la bandeja?');\n value.then((result) => {\n if (result.isConfirmed) {\n this.mailService.devolverBandeja(asigna).subscribe((resp) => {\n this.ngOnInit();\n });\n }\n });\n\n }\n\n descartar(idMail: any): void {\n\n const asigna = new FormData();\n\n asigna.append( 'emailId', idMail);\n\n const value = this.alertsService.alertConfirm('¿Desea sacar este email de la cola?');\n value.then((result) => {\n if (result.isConfirmed) {\n this.mailService.VolverHistorico(asigna).subscribe((resp) => {\n this.ngOnInit();\n });\n }\n });\n\n }\n\n\n devolver(idMail: any): void {\n\n const asigna = new FormData();\n\n asigna.append( 'emailId', idMail);\n\n const value = this.alertsService.alertConfirm('¿Desea incluir este email de la cola?');\n value.then((result) => {\n if (result.isConfirmed) {\n this.mailService.VolverCola(asigna).subscribe((resp) => {\n this.ngOnInit();\n });\n }\n });\n\n }\n\n}","
\n \n \n \n \n
\n
\n

Email

\n

Bienvenido a tu bandeja de correos

\n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n \n \n \n \n \n
\n \n \n
\n
\n
\n
\n
\n \n
{{mail.email.de}}
{{ (mail.email.asunto.length>50)? (mail.asunto | slice:0:50)+' ...':(mail.email.asunto) }}
\n \n
{{mail.email.cantidadAdjuntos}}\n \n Fecha: {{mail.email.fechaHora | date}}\n
\n \n
\n \n
\n \n
\n \n
\n
\n \n \n \n \n
\n \n \n \n \n
\n \n \n
\n
\n
\n
\n
\n \n
{{mail.de}}
{{ (mail.asunto.length>50)? (mail.asunto | slice:0:50)+' ...':(mail.asunto) }}
\n \n
{{mail.cantidadAdjuntos}}\n \n Fecha: {{mail.fechaHora | date}}\n
\n \n
\n \n \n
\n \n
\n \n
\n
\n \n \n \n \n \n
\n \n \n \n \n
\n \n \n
\n
\n
\n
\n
\n \n
{{mail.de}}
{{ (mail.asunto.length>50)? (mail.asunto | slice:0:50)+' ...':(mail.asunto) }}
\n \n
{{mail.cantidadAdjuntos}}\n \n Fecha: {{mail.fechaHora | date}}\n
\n \n
\n \n
\n \n
\n \n
\n
\n \n \n \n \n
\n \n \n \n \n \n
\n \n \n
\n
\n \n
{{mail.de}}
{{ (mail.asunto.length>50)? (mail.asunto | slice:0:50)+' ...':(mail.asunto) }}
\n \n
\n
\n \n
\n Fecha: {{mail.created_at | date}}\n
\n \n
\n \n
\n
\n \n \n \n \n
\n \n \n \n
\n \n
\n \n
\n \n \n De\n \n Formato de correo no valido\n \n \n \n Para\n \n Formato de correo no valido\n \n \n \n Asunto\n \n \n \n \n Fecha Desde\n \n \n \n No estas incluyendo una fecha\n \n \n \n Fecha Hasta\n \n \n \n No estas incluyendo una fecha\n \n \n \n Cuerpo\n \n \n \n
\n \n
\n
\n
\n \n
\n \n
\n \n \n
\n \n \n
\n
\n \n
{{mail.de}}
{{ (mail.asunto.length>50)? (mail.asunto | slice:0:50)+' ...':(mail.asunto) }}
\n \n
\n
\n \n
{{mail.cantidadAdjuntos}}\n \n Fecha: {{mail.created_at | date}}\n
\n \n
\n \n
\n
\n \n \n \n \n
\n \n
\n \n
\n
\n","import { Component, Inject, OnInit, Optional } from '@angular/core';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n@Component({\n selector: 'app-index',\n templateUrl: './index.component.html',\n styleUrls: ['./index.component.sass']\n})\nexport class IndexComponent implements OnInit {\n\n public userName : any;\n onBoarding : boolean = false;\n images : any = [\n \"onboarding_1.svg\",\n \"onboarding_2.svg\",\n \"onboarding_3.svg\",\n ];\n index: number = 0;\n\n\n\n\n constructor(\n private authService : AuthService,\n public dialog : MatDialog,\n @Optional() @Inject(MAT_DIALOG_DATA) public data : any\n ) { }\n\n ngOnInit(): void {\n this.userName = this.authService.decryptToken();\n \n if(this.data !== null){\n this.onBoarding = true\n }\n }\n\n onBoadingModular(){\n\n const dialogRef = this.dialog.open( IndexComponent ,{\n data : {\n onBoarding : true\n }\n } );\n\n dialogRef.afterClosed().subscribe(result => {\n console.log(`Dialog result: ${result}`);\n });\n\n }\n\n changeBack(){\n this.index = this.index - 1;\n }\n changeNext(){\n this.index = this.index + 1;\n\n }\n\n}\n","
\n\n
\n
\n
\n
\n

SOUL BI

\n
\n

¡Bienvenid@
{{ userName.rrhh.name | titlecase}}!

\n
\n\n

\n Este es el módulo de SOUL BI en donde podrás visualizar tus dashboards asignados y vivas\n la mejor experiencia haciendo seguimiento de tus indicadores en una sola herramienta.\n

\n\n
\n
\n Quiero ver el onboarding\n
\n
\n
\n\n
\n \"\"\n
\n
\n
\n
\n\n
\n
\n
\n\n\n\n
\n
\n \n
\n
\n \n\n \n \n
\n
\n","import { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\n\nconst CIU_URL = environment.CIU_URL;\nconst RRHH_URL = environment.RRHH_URL;\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class UsersService {\n\n constructor(private http: HttpClient, private authService: AuthService) {\n\n }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Servicio que trae los datos del usuario paginados para mostrarlos en una tabla\n * @param size cuantos datos traera\n * @param page pagina que traera\n */\n getUsers(size: number, page: number): Observable {\n return this.http.get(`${CIU_URL}users?rrhh=1&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-02-16\n * Servicio que trae los datos del usuario paginados para mostrarlos en una tabla\n * (version implementada con filtro)\n * @param params listado string de parametros como longitud y filtrados\n */\n getUsersFilter(params: string) {\n return this.http.get(`${CIU_URL}users?rrhh=1&${params}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Servicio que se encarga de la busqueda de un usuario\n * @param size cuantos datos traera\n * @param value valor a buscar\n */\n searchUser(size: number, value: any): Observable {\n return this.http.get(`${CIU_URL}users/search?q=` + size + `&q=` + value)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Servicio que trae los tipos de id existentes\n */\n getIdTypes(): Observable {\n return this.http.get(`${CIU_URL}users/getIdTypes`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Servicio que trae los roles por aplicacion\n * @param id id del aplicativo\n */\n getAppxRol(id: any): Observable {\n return this.http.get(`${CIU_URL}users/` + id + `/roles`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Servicio que busca los username y verifica si ya existe\n * @param userName user a buscar\n */\n searchNameUser(userName: FormData): Observable {\n return this.http.post(`${CIU_URL}users/validateUsername`, userName)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Servicio que busca la identificacion y devuelve sus datos si ya existe\n * @param dataId identificacion a buscar\n */\n searchId(dataId: FormData): Observable {\n return this.http.post(`${CIU_URL}users/validateDocumentId`, dataId)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Servicio que se encarga de guardar un nuevo usuario\n * @param user datos del usuario a guardar\n */\n saveUser(user: any): Observable {\n return this.http.put(`${CIU_URL}users/`, user)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Servicio que se encarga de editar la informacion de un usuario\n * @param id id del usuario\n * @param user datos del usuario a editar\n */\n editUser(id: any, user: any): Observable {\n return this.http.put(`${CIU_URL}users/` + id, user)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-15\n * Servicio que busca la identificacion y devuelve sus datos si ya existe\n * @param data identificacion a buscar\n */\n massiveRolesImport(data: FormData): Observable {\n return this.http.post(`${CIU_URL}users/massiveRolesImport`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Servicio que se encar de borrar un usuario\n * @param idUser id del usuario a borrar\n */\n deleteUser(idUser: any): Observable {\n return this.http.delete(`${CIU_URL}users/` + idUser)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getUserByCampaign(idCampaign: number): Observable {\n\n return this.http.get(`${RRHH_URL}users/campaign/${idCampaign}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n saveUserWithGroup(users: any, idgroup: number): Observable {\n\n return this.http.post(`${CIU_URL}usersWithGroup/${idgroup}`, users)\n .pipe(\n catchError(this.handleError)\n );\n }\n saveUserWithoutGroup(users: any,): Observable {\n\n return this.http.post(`${CIU_URL}usersWithoutGroup`, users)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getUserByGroup(body: any): Observable {\n let headers = new Headers();\n headers.append('Content-Type', 'application/json');\n\n let params = new URLSearchParams();\n params.append(\"group_id\", body.group_id);\n body.campaignIds.forEach(element => {\n params.append(\"campaignIds[]\", element)\n });\n\n return this.http.get(`${CIU_URL}usersByGroup?${params}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Sebastián Daza\n * @createdate 2021-02-16\n * Genera loggueo en el sistema de odoo por medio de ciu\n * @param userId id del usuario a loguear\n */\n odooLoggin(userId: number): Observable {\n let data: any = {\n id_user: userId\n };\n return this.http.post(`${CIU_URL}odoo/loggin`, data);\n\n }\n\n\n /**\n * @author Sebastián Daza\n * @createdate 2021-02-16\n * Genera loggueo en el sistema de odoo por medio de ciu\n * @param userId id del usuario a loguear\n */\n odooIsLoggin(session_id: string): Observable {\n let data: any = {\n session_id: session_id\n };\n return this.http.post(`${CIU_URL}odoo/isLoggin`, data);\n\n }\n\n /**\n * @author Sebastián Daza\n * @createdate 2021-02-16\n * Genera loggueo en el sistema de odoo por medio de ciu\n * @param document documento del usuario\n * @param documentType tipo de documento \n */\n getUserByDocument(document: any, documentType: any): Observable{\n return this.http.get(`${CIU_URL}getUserByDocument/${document}/${documentType}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Saldana\n * @createdate 2022-05-05\n * Servicio que se encar de borrar un usuario\n * @param idUser id del usuario a borrar\n */\n blockUser(idUser: any, body: any = {}): Observable {\n return this.http.post(`${CIU_URL}users/delete-user/` + idUser, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Saldana\n * @createdate 2022-05-05\n * Servicio que se encar de borrar un usuario\n * @param idUser id del usuario a borrar\n */\n restoreUser(idUser: any, body: any = {}): Observable {\n return this.http.post(`${CIU_URL}user/restore/` + idUser, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport Pusher from 'pusher-js';\nimport {AuthService} from '../../../core/services/rest/auth.service';\nimport {environment} from '../../../../environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PusherChatService {\n\n private client: Pusher;\n private _rrhhId: number;\n\n constructor(\n private authService: AuthService\n ) {\n this.client = new Pusher(\n environment.PUSHER_CHAT_APP_KEY,\n {\n cluster: environment.pusher_cluster\n }\n );\n this._rrhhId = this.authService.getUser().rrhh_id;\n }\n\n /**\n * @desc Obtiene los datos del chat\n */\n public getChatConnection() {\n return this.client.subscribe(`chat${this._rrhhId}`);\n }\n\n /**\n * @desc Obtiene el estado de la notificación del usuario\n */\n public getNotifyUserState() {\n return this.client.subscribe(`NotifyUserState${this._rrhhId}`);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\n\nconst CHAT_URL = environment.CHAT_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ChatService {\n\n constructor(private http: HttpClient,\n private destroyService: DestroyComponentService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-07-06\n * @param size tamaño de datos que traera el servicio\n * @param openConversation parametro que especifica si una conversacion esta abierta o cerrada\n * @returns lista de conversaciones por el rrhh id\n * Servicio que lista todas las conversaciones disponibles de un usuario\n */\n getListConversationByRhhId(size: number, openConversation: any): Observable{\n return this.http.get(`${CHAT_URL}listConversationByRhhId?size=${size}&conversationOpenId=${openConversation}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-07-06\n * @param idConversation id de la conversion de la que se obtendra los mensajes\n * @returns lista de mensajes de una conversacion en especifico\n * Servicio que lista todos los mensajes de una conversacion en especifico\n */\n getChatConversation(idConversation: number): Observable{\n return this.http.get(`${CHAT_URL}message/${idConversation}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-07-06\n * @param message objeto donde se encuentra el mensaje, id de la conversacion, rrhh de quien envia\n * @returns mensaje de exito\n * Servicio que envia un nuevo mensaje a una conversacion en especifico \n */\n newMessage(message: any): Observable{\n return this.http.post(`${CHAT_URL}newMessage`, message)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-07-06\n * @param message objeto donde se encuentra el mensaje, arreglo de personas a las que se les enviara el mensaje\n * @returns mensaje de exito\n * Servicio que envia la difusion de un mensaje a varios usuarios\n */\n newMessageDiffusion(message: any): Observable{\n return this.http.post(`${CHAT_URL}newMessageDiffusion`, message)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-07-06\n * @param search palabra a buscar\n * @returns lista de conversaciones\n * Servicio que filtra las conversaciones por un parametro que se recibe\n */\n searchConversation(search: any): Observable{\n return this.http.get(`${CHAT_URL}listConversationByRhhId?size=0&fetch=${search}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-07-06\n * @returns lista usuarios\n * Servicio que lista los usuarios con los que se ha tenido una conversacion\n */\n getUser(): Observable {\n return this.http.get(`${CHAT_URL}listUsersByIdGroup`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-manage-network-users',\n templateUrl: './manage-network-users.component.html',\n styleUrls: ['./manage-network-users.component.sass']\n})\nexport class ManageNetworkUsersComponent implements OnInit {\n tab_type:number = 1;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n /**\n * Metódo que define la tab seleccionada\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n setTabType(event:any){\n this.tab_type = event.index + 1;\n }\n\n}\n","
\n\t
\n\t\t
\n\t\t\t

Usuarios de red

\n\t\t
\n\t\t
\n\t\t\t

En este espacio podrás gestionar los usuarios de red. No olvides, \"El respeto y la empatía son claves\".

\n\t\t
\n\n\t\t\n \n\t\t\t\t\n\t\t\t\n \n\t\t\t\t\n\t\t\t\n\t\t\n\t
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { AuditoriaService } from '../../services/auditoria.service';\nimport {TranslatesService} from '../../services/translates.service';\n\n@Component({\n selector: 'app-auditorias',\n templateUrl: './auditorias.component.html',\n styleUrls: ['./auditorias.component.sass']\n})\nexport class AuditoriasComponent implements OnInit {\n private uuid = '362eb5fc-9072-11ee-b9d1-0242ac120002';\n public config: any;\n\n constructor(\n private authService:AuthService,\n private auditoriaService:AuditoriaService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit():void{\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n}\n","
\n\n
\n\n

{{config.adminAuditoria.header.title}}

\n
\n

{{config.adminAuditoria.header.subtitle1}}

\n

{{config.adminAuditoria.header.subtitle2}}

\n
\n\n \n\n
\n","import { Component, OnInit, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';\nimport { FormGroup, FormArray, FormControl, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { QuestionBase } from 'src/app/core/models/questions-base';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { PermitService } from 'src/app/core/services/utils/permit.service';\nimport { QuestionControlService } from 'src/app/core/services/utils/question-control.service';\nimport { FormsRequestService } from 'src/app/modules/crm_v2/services/rest/forms-request.service';\nimport { storageService } from 'src/app/modules/livechat/services/storage/storage.service';\nimport { AlertsService } from '../../alerts/alerts.service';\nimport { environment } from 'src/environments/environment';\nimport * as moment from 'moment';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\nconst ENCUESTAS_INTERNAS = environment.ENCUESTAS_INTERNAS;\n\n\n@Component({\n\tselector: 'shared-dynamic-form-v2',\n\ttemplateUrl: './dynamic-form.component.html',\n\tstyleUrls: ['./dynamic-form.component.sass']\n})\nexport class DynamicFormV2Component implements OnInit {\n\t@Output() submitForm = new EventEmitter();\n\t@Output() denyForm = new EventEmitter();\n\t@Output() enableTemplate = new EventEmitter();\n\t_sections: any;\n\tforms = new FormArray([]);\n\tprivate readonly urlStorageImg:string = ENCUESTAS_INTERNAS.replace(/api\\//g,'');\n\n\tvariablesTriggerLoads:any = {} //Variables Cargadas desde campos tipos API\n\tvariablesToUploadValueAPI:any[]=[] //Campos los cuales deberan ser cargados por la respuesta de un campo tipo API\n\n\tconstructor(\n\t\tprivate qcs: QuestionControlService,\n\t\tprivate authService: AuthService,\n\t\tprivate permit: PermitService,\n\t\tprivate router: Router,\n\t\tprivate formsRequestService: FormsRequestService,\n\t\tpublic alertsService: AlertsService,\n\t\tprivate destroyService: DestroyComponentService,\n\t\tpublic storage: storageService,\n\t\tprivate changeDetector: ChangeDetectorRef,\n\t\tprivate _snackBar: MatSnackBar\n\n\t) { }\n\t@Input() dependencies;\n\t@Input() formId;\n\t@Input() files;\n\t@Input() template;\n\t@Input() showButtonsActions: boolean = true;\n\tFiles: any = [];\n\t@Input()\n\tpublic set sections(form: any) {\n\t\tif (form.app) {\n\t\t\tthis.appOrigen = form.app\n\t\t}\n\n\t\tthis.forms = new FormArray([]);\n\t\tthis.getRolUser(form.app);\n\t\tthis._sections = form.sections;\n\n\n\n\t\tif (this._sections) {\n\n\t\t\tthis._sections.forEach((section, index) => {\n\t\t\t\tsection.fields.map(\n\t\t\t\t\tmapp =>{\n\t\t\t\t\t\tif(mapp?.newValue !== undefined ){\n\t\t\t\t\t\t\tmapp['value'] = mapp.newValue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\n\t\t\t\t\t\tif (form.app && form.app == 'livechat') {\n\n\t\t\t\t\t\t\tmapp['see'] = true;\n\t\t\t\t\t\t\tmapp['seeSons'] = true;\n\t\t\t\t\t\t\tmapp['cols'] = \"4\";\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(form.app && form.app == 'pqrs_soul' ){\n\t\t\t\t\t\t\tmapp['see'] = true;\n\t\t\t\t\t\t\tmapp['seeSons'] = true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (form.app && form.app == 'pqrs') {\n\t\t\t\t\t\t\tmapp['see'] = true;\n\t\t\t\t\t\t\tmapp['seeSons'] = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\tif ((mapp['value'] == undefined || mapp['value'] == \"\") && mapp.options.length > 0) {\n\t\t\t\t\t\t\tconst optionDefault = mapp.options.find(finded => finded.isDefaultOption == true)\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (mapp['controlType'] == \"multiselect\" && optionDefault) {\n\t\t\t\t\t\t\t\tmapp['value'] = [optionDefault.id]\n\t\t\t\t\t\t\t} else if (optionDefault) {\n\t\t\t\t\t\t\t\tmapp['value'] = optionDefault.id\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}else if (mapp['value'] != undefined && typeof mapp['value'] === \"string\" && mapp['value'] !== \"\" && mapp.options.length > 0 && mapp.type !== \"time\"){\n\t\t\t\t\t\t\tmapp['value'] = Number(mapp['value'])\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (mapp.hasOwnProperty('defaultCommentValue') && mapp.hasOwnProperty('indDefaultValue')) {\n\n\t\t\t\t\t\t\tif (mapp.indDefaultValue == true) {\n\t\t\t\t\t\t\t\tmapp['value'] = mapp.defaultCommentValue\n\t\t\t\t\t\t\t\tmapp['required'] = false\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (mapp.hasOwnProperty('isCalculated') && mapp.isCalculated == true) {\n\t\t\t\t\t\t\tif (this.activatorsCalculatefield.find(finded => finded.id == mapp.id) == undefined) {\n\t\t\t\t\t\t\t\tthis.activatorsCalculatefield.push({ field: mapp, idSectionOrigin: index })\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} \n\t\t\t\t\t\t\n\t\t\t\t\t\tif(mapp.type == 'image' && typeof mapp.value == 'string' && mapp.value.trim() !== \"\"){\n\t\t\t\t\t\t\tif(mapp.value.includes(this.urlStorageImg) == false){\n\t\t\t\t\t\t\t\tmapp.value = this.urlStorageImg + \"\" + mapp.value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(form.app && form.app == \"encuestas\" ){\n\t\t\t\t\t\t\tif(mapp.type !== 'image'){\n\t\t\t\t\t\t\t\tmapp.value = \"\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmapp = this.checkDependence(mapp);\n\t\t\t\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(mapp?.isApiValue !== undefined && mapp.isApiValue == true && mapp.apiValueConfig.hasOwnProperty('variable_api') == true){\n\n\t\t\t\t\t\t\tthis.variablesToUploadValueAPI.push(\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tidField:mapp.id,\n\t\t\t\t\t\t\t\t\tkeyFieldLoad:mapp.key,\n\t\t\t\t\t\t\t\t\tindexSection:index,\n\t\t\t\t\t\t\t\t\tname_variable:mapp.apiValueConfig.variable_api,\n\t\t\t\t\t\t\t\t\tname_data:mapp.apiValueConfig.value_api\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn mapp;\n\t\t\t\t\t})\n\n\t\t\tif( form.app && form.app == 'crm2' ){\n\t\t\t\tthis.checkSeeRol(section);\n\t\t\t}else if (form.app && (form.app == 'livechat' || form.app == 'pqrs' )) {\n\t\t\t\tsection['see'] = true;\n\t\t\t}else if (form.app && form.app == 'pqrs_soul'){\n\t\t\t\tsection['see'] = true; \n\t\t\t}else if (form.app && form.app == 'encuestas'){\n\t\t\t\tsection['see'] = section.fields.some( field => field['see'] == true);\n\t\t\t}\n\n\t\t\tconst group = this.qcs.toFormGroup(section.fields);\n\t\t\tthis.forms.push(group);\n\n\t\t\t});\n\n\t\t\tthis._sections.forEach((section,indexSection) => {\n\t\t\t\tthis.fieldsInTrays(section,indexSection);\n\t\t\t})\n\t\t\t\n\t\t}\n\t}\n\n\ttypeSelectorChargables:string[]=[\n\t\t'dropdown', 'multiselect', 'autocomplete'\n\t]\n\n\tprivate listSelectors:string[] = [\n\t\t\"dropdown\", \"dropdown-request\",\n\t\t\"dropdown2\",\"autocomplete\",\"multiselect\",\n\t\t\"radiobutton\"\n\t]\n\n\t@Input() public set clearControl(clear: any) {\n\t\tif (clear === true) {\n\t\t\t/* this.forms.removeAt(1); */\n\t\t}\n\t}\n\n\trol: any = [];\n\tfieldsPreloaded: any[] = [];\n\tquestionPush: any;\n\tevento: any;\n\tplantilla: any = '';\n\ttab: any;\n\ttray: any;\n\tseePermit: any;\n\teditPermit: any;\n\tappOrigen: string = \"crm\"\n\tactivatorsCalculatefield: any[] = []\n\n\tngOnInit(): void {\n\t\tthis.plantilla = this.router.url.substring(6).split('/', 3)[2];\n\t}\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-03-29\n\t * Metodo que captura el rol del usuario\n\t */\n\tgetRolUser(app) {\n\t\tlet user = this.authService.getUser();\n\t\tuser.roles.forEach((rol) => {\n\t\t\tlet name = rol.split('::');\n\t\t\tif (name[0] === app) {\n\t\t\t\tthis.rol.push(name[1]);\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-03-29\n\t * Metodo que verifica si tiene el permiso\n\t */\n\tcheckSeeRol(section) {\n\n\t\tsection['see'] = false;\n\n\t\tsection.fields.forEach((question) => {\n\t\t\tthis.seePermit = this.permit.permit(this.rol, question.seeRoles);\n\t\t\tthis.editPermit = this.permit.permit(this.rol, question.editRoles);\n\t\t\tquestion.disabled = !this.editPermit;\n\t\t\tquestion['see'] = this.seePermit;\n\t\t\tquestion['seeSons'] = true;\n\t\t\tquestion['edit_by_adviser'] = false;\n\t\t\tif (question.preloaded == true) {\n\t\t\t\tthis.fieldsPreloaded.push(question);\n\t\t\t}\n\t\t\tif (this.editPermit && question.isSon) {\n\n\t\t\t\tquestion = this.checkDependence(question);\n\t\t\t}\n\n\t\t\tsection.see = true;\n\t\t});\n\t}\n\n\t/**\n\t * @author Miguel Restrepo\n\t * @createdate 2022-03-01\n\t * Metodo que permite validar las dependencias de un campo\n\t */\n\n\tcheckDependence(question) {\n\n\t\tthis._sections.forEach((section, indexSection) => { // Busca si tiene dependencias de campos de otras secciones\n\t\t\tsection.fields.forEach((field, indexField) => {\n\t\t\t\tif(question?.dependencies !== undefined && question?.dependencies !== null && Array.isArray(question?.dependencies) == true){\n\t\t\t\t\tconst dependences = question?.dependencies?.filter(dependence => dependence.idField === field.id);\n\t\t\t\t\tif (dependences?.length != 0) {\n\t\t\t\t\t\tquestion.disabled = true;\n\t\t\t\t\t\tquestion.seeSons = false;\n\t\t\t\t\t\tdependences.forEach(dependence => {\n\t\t\t\t\t\t\tif(question.seeSons === false) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif(Array.isArray(field.value)){\n\t\t\t\t\t\t\t\t\tquestion.seeSons = dependence.activators.some(activator => field.value.includes( activator.id ) );\n\t\t\t\t\t\t\t\t\tquestion.disabled = !dependence.activators.some(activator => field.value.includes( activator.id ) );\n\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\tquestion.seeSons = dependence.activators.some(activator => activator.id === field.value);\n\t\t\t\t\t\t\t\t\tquestion.disabled = !dependence.activators.some(activator => activator.id === field.value);\n\t\t\t\t\t\t\t\t}\n\t\n\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (dependence.disabled) {\n\t\t\t\t\t\t\t\tquestion.disabled = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}else if(question.dependencies.length <= 0 && this.appOrigen == \"encuestas\" ){\n\t\t\t\t\t\tquestion['see'] = true\n\t\t\t\t\t\tquestion['seeSons'] = true\n\t\t\t\t\t\tquestion['disabled'] = false\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\n\t\t\t})\n\t\t})\n\t\treturn question;\n\t}\n\t/**\n\t * @author Jair Celis\n\t * @createdate 2021-08-30\n\t * Metodo que añade las dependecias, dependiendo de la opciones del padre\n\t */\n\tasync addDependencies(event: any) {\n\t\tawait this.disabledSons(event.idFather);\n\t\tconst sonsFatherFieldActive = this.findSons(event.idFather).filter( (sonFinded:any) =>{\n\t\t\treturn sonFinded.dependencies.some( (dependen:any) =>{\n\t\t\t\treturn dependen.activators.find( ffnndd => String(ffnndd.id) == String(event.idValue) ) !== undefined\n\t\t\t})\n\t\t}); //Obtenemos todos los Campos hijos del Selector que activa la dependencias (Selector Padre)\n\n\t\tawait this._sections.forEach(async (section, index) => {\n\t\t\tawait section.fields.forEach(async (field) => {\n\t\t\t\tif (field.isSon === true){//Se valida que sea un campo hijo o capo dependiente\n\n\t\t\t\t\tlet idActivadores = [] //variable done se almacenara los ids de todos los activadores\n\t\t\t\t\t/*\n\t\t\t\t\tif(field.type != 'options'){ //En caso de no ser de tipo \"options\" significa que no se va a realizar unificacion de opciones dentro de selector de dependencia, por lo que se toma solo las dependencias asociadas al padre\n\t\t\t\t\t\tfield.dependencies.filter((filterDependence:any)=> String(filterDependence.idField) == String(event.idFather) ).forEach(dependence => {\n\t\t\t\t\t\t\tidActivadores = idActivadores.concat(dependence.activators.map(activator => String(activator.id)))\n\t\t\t\t\t\t});\n\t\t\t\t\t}else{\n\t\t\t\t\t\tfield.dependencies.filter((filterDependence:any)=> String(filterDependence.idField) == String(event.idFather) ).forEach(dependence => {\n\t\t\t\t\t\t\tidActivadores = idActivadores.concat(dependence.activators.map(activator => String(activator.id)))\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t*/\n\n\t\t\t\t\tfield.dependencies.filter((filterDependence:any)=> String(filterDependence.idField) == String(event.idFather) ).forEach(dependence => {\n\t\t\t\t\t\tidActivadores = idActivadores.concat(dependence.activators.map(activator => String(activator.id)))\n\t\t\t\t\t});\n\n\t\t\t\t\t// variable donde se almacenan los ids de los activadores que estan e el valor seleccionado en el multiselect\n\t\t\t\t\tconst activadorIsFinded = idActivadores.filter(filtered => (Array.isArray(event.idValue) == true && event.idValue.map( value_map => String(value_map)).includes(filtered)) || (Array.isArray(event.idValue) == false && String(event.idValue) == String(filtered)))\n\t\t\t\t\t//Se obtienen los id de todas las dependencias del padre\n\t\t\t\t\tconst idFatherdependence = field.dependencies.map(dep => dep.idField)\n\t\t\t\t\tif (idFatherdependence.find(fnd => fnd == event.idFather)) {//si el campo es padre e alguna dependencia se limpia las opciones a marcar\n\t\t\t\t\t\tfield.options = [];\n\t\t\t\t\t}\n\n\n\t\t\t\t\tlet options = [];\n\t\t\t\t\tawait field.dependencies.forEach(async dependence => {//Iteracion para mostrar campos de dependientes\n\n\t\t\t\t\t\tif (dependence.idField === event.idFather) { //Validamos que la depencia a agregar sea del cmap padre\n\t\t\t\t\t\t\t//desactivar hermanos de dependencia\n\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).disable();\n\t\t\t\t\t\t\tfield.disabled = true;\n\t\t\t\t\t\t\tfield.seeSons = false;\n\n\t\t\t\t\t\t\tawait dependence.activators.forEach(async (activator) => {\n\t\t\t\t\t\t\t\tif (activadorIsFinded.length > 0) { //Validamos que el activador que se itera si este entro de los marcado en el valor el multiselect\n\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).setValue('');\n\t\t\t\t\t\t\t\t\tfield.seeSons = true;\n\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).enable();\n\t\t\t\t\t\t\t\t\tfield.disabled = false;\n\t\t\t\t\t\t\t\t\t//activa seccion del campo dependiente\n\t\t\t\t\t\t\t\t\tif (section.see === false) {\n\t\t\t\t\t\t\t\t\t\tsection.see = true;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif (activadorIsFinded.find(fined => fined == activator.id)) {//Se valida que e activador se encuentre dentro e los activadores e la epenencia\n\t\t\t\t\t\t\t\t\t\tif ( this.typeSelectorChargables.find( (type:any) => type == field.controlType ) !== undefined && field?.isChargeableOption == true) {// enc aso de ser despelgable por carga se consutlan las opciones antes de hacer depuracion de las opciones\n\t\t\t\t\t\t\t\t\t\t\tawait this.formsRequestService.getOptionsUploadFileAll(String(this.formId), String(field.id), false).toPromise()\n\t\t\t\t\t\t\t\t\t\t\t\t.then((restResponse) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (Array.isArray(restResponse.options) == true && restResponse.options.length > 0 ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.options = [];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trestResponse.options.forEach( (option:any) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.options.push( { id:Number(option.id), name:option.option_name , value_option:option.option_id, stateDisabled:false } )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.options = [];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfor (const key in restResponse.options) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.options.push({ id: Number(key), name: restResponse.options[key] })\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (dependence.options !== '') {\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tawait dependence.options.forEach(async (option) => {\n\t\t\t\t\t\t\t\t\t\t\t\tlet optionFinded = field.options.find(finded => finded.id == option.id);\n\t\t\t\t\t\t\t\t\t\t\t\tif (this.typeSelectorChargables.find( (type:any) => type == field.controlType ) !== undefined && field?.isChargeableOption == true) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (optionFinded != undefined) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\toptions.push(optionFinded);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (optionFinded == undefined) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\toption['id'] = Number(option['id'])\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.options.push(option);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tif (this.typeSelectorChargables.find( (type:any) => type == field.controlType ) !== undefined && field?.isChargeableOption == true) {\n\t\t\t\t\t\t\t\t\t\t\t\tfield.options = options\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif(this.appOrigen == \"encuestas\"){\n\t\t\t\t\t\t\t\t\t\t\tfield['see'] = true;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t//Validamos que el campo que se activa por pertenecer a una dependencia del Padre tenga hijos\n\t\t\t\t\t\t\tlet sonsfield = this.findSons(field.id);\n\t\t\t\t\t\t\tif (sonsfield) {\n\t\t\t\t\t\t\t\tlet map = sonsfield.find(fnd => fnd.dependencies.find(ffnndd => ffnndd.idField == field.id));\n\t\t\t\t\t\t\t\tif (map !== undefined) {//Si los campos Hijos que se activa por dependencia del padre se activan con el selector activado Entoces desHabiltamos y vaciamos los selectores apra dejar los campo como listos para recien tipificar\n\t\t\t\t\t\t\t\t\tthis.disabledSons(field.id, sonsFatherFieldActive, true);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});//Fin de la iteracion de Fields\n\t\t\tsection.see = section.fields.some(field => field.see === true && field.seeSons === true);\n\n\t\t});//Fin de la iteracion de sections\n\t\tthis.changeDetector.detectChanges();//Deteccion de cambios para reseteo de valores\n\n\t}\n\n\t/**\n\t * Metodo que se encarga de ddesahabilitar los hijos de un padre\n\t * @author Juan David Guerrero Vargas\n\t * @param idFather:id del campo padre\n\t */\n\tasync disabledSons(idFather: string | number, sonsOfFatherActivador?:any[], allChilds?: boolean) {\n\t\tthis._sections.forEach((section, index) => {\n\t\t\tsection.fields.forEach((field) => {\n\t\t\t\tif (field.isSon == true) {\n\t\t\t\t\tconst depField = field.dependencies.filter( (ffdd:any) => ffdd.idField == idFather );\n\t\t\t\t\tif(depField.length > 0){//Se valida que el campo en iteracion tenga dependencias con el campos padrea a validar\n\t\t\t\t\t\t\tfield.sectionIndex = index;\n\t\t\t\t\t\t\t/*En casdo de que llegan los campos hijos del Selector que diparara la dependencias (Selector padre)\n\t\t\t\t\t\t\t\tSe valida que el campo a deshabilitar como Hijo de un Hijo no pertenezca a un campo que se esta activando por parte del selector padre\n\t\t\t\t\t\t\t\tEste escenario se da cuando Un campo Padre y un campo Hijo pueden ambos activar un mismo campo a ellos pero con opciones aparte\n\t\t\t\t\t\t\t*/\n\t\t\t\t\t\t\tif( sonsOfFatherActivador !== undefined && Array.isArray(sonsOfFatherActivador) == true && sonsOfFatherActivador.length > 0 ){\n\t\t\t\t\t\t\t\tif(sonsOfFatherActivador.find( fndEqu => String(fndEqu.id) == String(field.id) ) == undefined){\n\t\t\t\t\t\t\t\t\tif (this.forms.controls[field.sectionIndex].get(field.key).value != '') {\n\t\t\t\t\t\t\t\t\t\tthis.forms.controls[field.sectionIndex].get(field.key).setValue(null);\n\t\t\t\t\t\t\t\t\t\tthis.forms.controls[field.sectionIndex].get(field.key).disable();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tfield.disabled = true\n\t\t\t\t\t\t\t\t\tfield.seeSons = false\n\t\t\t\t\t\t\t\t\tif (allChilds) {//Se reutiliza el metodo para deshabilitar en segundo-Tercer (Maximo 4) nivel de validacion antes de generar problemas de rendimiento\n\t\t\t\t\t\t\t\t\t\tthis.disabledSons(field.id)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}else{//En caso de no tener campos del padre se procede a deshabilitar tantos campos como sea necesarios\n\t\t\t\t\t\t\t\tif (this.forms.controls[field.sectionIndex].get(field.key).value != '') {\n\t\t\t\t\t\t\t\t\tthis.forms.controls[field.sectionIndex].get(field.key).setValue(null);\n\t\t\t\t\t\t\t\t\tthis.forms.controls[field.sectionIndex].get(field.key).disable();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tfield.disabled = true\n\t\t\t\t\t\t\t\tfield.seeSons = false\n\t\t\t\t\t\t\t\tif (allChilds) {//Se reutiliza el metodo para deshabilitar en segundo-Tercer (Maximo 4) nivel de validacion antes de generar problemas de rendimiento\n\t\t\t\t\t\t\t\t\tthis.disabledSons(field.id)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @author Jair Celis\n\t * @createdate 2021-08-30\n\t * Metodo que desactiva la visualizacion de un campo\n\t * @param idField id del campo a desactivar\n\t */\n\n\tdisableField(idField) {\n\t\tthis._sections.forEach((section, index) => {\n\t\t\tsection.fields.forEach((field) => {\n\t\t\t\tif (field.id == idField) {\n\t\t\t\t\tfield.seeSons = false;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @author Jair Celis\n\t * @createdate 2021-08-30\n\t * Metodo que devuelve un arreglo de campos hijos\n\t * @param idField id del campo a buscar los hijos\n\t */\n\n\tfindSons(idField) {\n\t\tconst mySons = [];\n\t\tthis._sections.forEach((section, index) => {\n\t\t\tsection.fields.forEach((field) => {\n\t\t\t\tif (field.isSon == true) {\n\t\t\t\t\tfield.dependencies.forEach((dependencie) => {\n\t\t\t\t\t\tif (dependencie.idField == idField) {\n\t\t\t\t\t\t\tfield.sectionIndex = index;\n\t\t\t\t\t\t\tmySons.push(field);\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\treturn mySons;\n\t}\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-02-25\n\t * Metodo que añade otro campo\n\t */\n\taddQuestion(event, nameSection) {\n\t\tthis.evento = Object.assign({}, event);\n\t\tthis.questionPush = this.evento;\n\t\tlet cont = 0;\n\t\tlet indexAuxField = 0;\n\t\tlet indexAuxSec = 0;\n\n\t\tthis._sections.forEach((section, indexSec) => {\n\t\t\tsection.fields.forEach((question, indexField) => {\n\t\t\t\tif (question.key.includes(this.evento.key) && nameSection === section.name_section) {\n\t\t\t\t\tcont++;\n\t\t\t\t\tindexAuxField = indexField;\n\t\t\t\t\tindexAuxSec = indexSec;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tcont = cont + 1;\n\n\t\tthis.questionPush.id = new Date().getTime();\n\t\tthis.questionPush.key = this.evento.key + '_' + cont;\n\t\tthis.questionPush.value = '';\n\t\tthis.questionPush.label = this.evento.label + ' ' + cont;\n\t\tthis.questionPush.canAdd = false;\n\t\tthis.questionPush.duplicated = {\n\t\t\tidOriginal: event.id,\n\t\t\ttype: 'field'\n\t\t};\n\n\t\tif (this.questionPush.nameFile) {\n\t\t\tthis.questionPush.nameFile = '';\n\t\t}\n\n\t\tif (this.questionPush.idValue) {\n\t\t\tthis.questionPush.idValue = '';\n\t\t}\n\n\t\tif (this._sections[indexAuxSec].name_section === nameSection) {\n\t\t\tthis._sections[indexAuxSec].fields.splice(indexAuxField + 1, 0, this.questionPush);\n\t\t}\n\n\t\tlet formAux = this.forms.controls[indexAuxSec] as FormGroup;\n\n\t\tlet controlAux = this.qcs.toFormControl(this.questionPush);\n\t\tformAux.addControl(this.questionPush.key, controlAux);\n\t}\n\n\t/**\n\t * @author Miguel Restrepo\n\t * @createdate 2021-02-25\n\t * @updatedate 2022-05-18\n\t * Metodo que añade una nueva sección duplicada\n\t */\n\n\taddSection(event, i) {\n\t\t//let evento = Object.assign({}, event);\n\t\tlet evento = JSON.parse(JSON.stringify(event))\n\t\tlet section = evento;\n\t\tlet cont = 0;\n\t\tthis._sections.forEach((element) => {\n\t\t\tif (element.name_section.includes(section.name_section)) {\n\t\t\t\tcont++;\n\t\t\t}\n\t\t});\n\t\tcont = cont + 1;\n\n\t\tsection['duplicated_section'] = true\n\t\tsection.fields.forEach((field) => {\n\t\t\tfield.id = Number(field.id + \"\" + cont)\n\t\t\tfield.key = field.key + \"_\" + cont\n\t\t\tfield.label = field.label + \"\" + cont\n\t\t\tfield.disabled = false\n\t\t\tif (field.dependencies) {\n\t\t\t\tfield.dependencies.forEach((dependence) => {\n\t\t\t\t\tdependence.idField = Number(dependence.idField + \"\" + cont)\n\t\t\t\t\tdependence.seeDepen = false\n\t\t\t\t});\n\n\t\t\t}\n\t\t});\n\t\tthis._sections.push(section)\n\t\tconst group = this.qcs.toFormGroup(section.fields);\n\t\tthis.forms.push(group);\n\t\t/* this.formsRequestService.addSection(sendSection).subscribe((resp) => {\n\t\t\tresp[\"duplicated_section\"] = true;\n\t\t\tthis._sections.push(resp);\n\t\t\tconst group = this.qcs.toFormGroup(resp.fields);\n\t\t\tthis.forms.push(group);\n\t\t}); */\n\t}\n\n\tremoveSection(event, index) {\n\t\tthis.forms.removeAt(index)\n\t\tthis._sections.splice(index, 1)\n\n\t}\n\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-02-17\n\t * Metodo que emite el formulario resuelto\n\t */\n\tonSubmit() {\n\t\tlet response = {\n\t\t\tsections: this._sections,\n\t\t\tanswer: this.forms.getRawValue(),\n\t\t\tfiles: this.Files,\n\t\t\tforms: this.forms,\n\t\t\tisValid: this.forms.valid\n\t\t};\n\t\tthis.submitForm.emit(response);\n\t}\n\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-03-30\n\t * Metodo que cancela el formulario\n\t */\n\tcancelForm() {\n\t\tlet saveconfirm = this.alertsService.alertConfirm('¿Desea cancelar?');\n\t\tsaveconfirm.then((res) => {\n\t\t\tif (res.isConfirmed) {\n\t\t\t\tthis.denyForm.emit(true);\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t * @author Daniel Dominguez\n\t * @createdate 2021-04-06\n\t * Metodo recibe los archivos cargados en los campos tipo file\n\t */\n\taddFiles(e) {\n\t\tthis.Files.push(e);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.destroyService.destroyComponent();\n\t}\n\n\t// Boton para generar las plantillas\n\tgenerateTemplate() {\n\t\tlet responseTemplate = {\n\t\t\tsections: this._sections,\n\t\t\tanswer: this.forms.getRawValue(),\n\t\t\tfiles: this.Files,\n\t\t\tforms: this.forms\n\t\t};\n\n\t\tthis.enableTemplate.emit(responseTemplate);\n\t}\n\n\tfieldsInTrays(section,indexSection) {\n\n\t\tthis.tab = this.storage.getItem('tab');\n\t\tthis.tray = this.storage.getItem('tray');\n\t\tsection.fields.forEach((question) => {\n\t\t\tif (question?.tray !== undefined && Array.isArray(question.tray) == true && question.tray.length > 0) {\n\t\t\t\tvar band = false;\n\t\t\t\tfor (let i = 0; i < question.tray.length; i++) {\n\t\t\t\t\tconst trayConfig = question.tray[i];\n\t\t\t\t\tif(trayConfig.id == +this.tray){\n\t\t\t\t\t\tquestion['see'] = this.permit.permit(this.rol, question.seeRoles);\n\t\t\t\t\t\tquestion.disabled = !this.permit.permit(this.rol, question.editRoles);\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (trayConfig.preloaded === false) {\n\t\t\t\t\t\t\tthis.forms.controls[indexSection].get(question.key).setValue('');\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\tquestion = this.checkDependence(question)\n\t\t\t\t\t\tthis.forms.controls[indexSection].get(question.key).enable()\n\t\t\t\t\t\t\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}else{\n\t\t\t\t\t\tquestion['see'] = false\n\t\t\t\t\t\tquestion.disabled = true\n\t\t\t\t\t\tthis.forms.controls[indexSection].get(question.key).disable();\n\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t\tif (this.template) {\n\t\t\t\t\tif (+this.tab < 2) {\n\t\t\t\t\t\tquestion.disabled = !this.editPermit;\n\t\t\t\t\t\tquestion['see'] = false;\n\t\t\t\t\t\tquestion['seeSons'] = true;\n\t\t\t\t\t\tthis.forms.controls[indexSection].get(question.key).disable();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (+this.tab < 1) {\n\t\t\t\t\t\tquestion.disabled = !this.editPermit;\n\t\t\t\t\t\tquestion['see'] = false;\n\t\t\t\t\t\tquestion['seeSons'] = true;\n\t\t\t\t\t\tthis.forms.controls[indexSection].get(question.key).disable();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tsection.see = section.fields.some(field => field.see === true && field.seeSons === true);\n\t}\n\n\t/**\n\t * Metodo que se encarga de recalcular los valores de los campos calculados y asignar su valor \n\t * @author Juan David Guerrero Vargas\n\t * @update 01/01/2024 \n\t * @param event:any {any} evento de cambio para campos Dropdown, Radiobutton, Autocomplete, Number, Desplegable por Carga\n\t */\n\tcalculatedFields(event: any) {\n\t\t//Campos que se usan para calcula alguna formula\n\t\tlet fieldsCalcualteFormula = []\n\t\t//Expresion regular apra identificar los campos en la formula\n\t\tconst regexFieldInFormula = /\\[\\[([^[\\]]*)\\]\\]/g;\n\t\t//Expresion regular para identificar el valor numerico de un porcentaje\n\t\tlet regexPercentNumber = /\\d+(?=%)/g\n\t\t//Expresion regular para validar numero Enteros y decimales\n\t\tlet regexNumber = /^-?\\d+(\\.\\d+)?$/\n\t\t//Buscamos y obtenemos los campos que calculan algun campos calculado\n\t\tthis._sections.forEach( (section:any, indexSection:number)=>{\n\t\t\tsection.fields.forEach( (field:any, indexField:number)=>{\n\t\t\t\tconst fieldInFormula = this.isFieldInFormula(field)\n\t\t\t\tif(fieldInFormula == true){\n\t\t\t\t\tfieldsCalcualteFormula.push(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfiled_key: field.key,\n\t\t\t\t\t\t\tfield:field,\n\t\t\t\t\t\t\tindexSection:indexSection,\n\t\t\t\t\t\t\tindexField:indexField,\n\t\t\t\t\t\t\tvalueControl:this.forms.controls[indexSection].get(field.key).value\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t});//Fin iteracion Fields\n\t\t});//Fin iteracion _sections\n\t\t\n\t\ttry {\n\t\t\t//Identificamos los campos calculados y realizamos el reemplazo de los valores segun el reemplazamiento de formula o infromaicon obtenida en el paso anterior\n\t\t\tthis._sections.forEach( (section:any, indexSection:number)=>{\n\t\t\t\tsection.fields.forEach( (field:any, indexField:number)=>{\n\t\t\t\t\tif(field.isCalculated == true && field.calculatedFields['formula'] !== undefined){\n\t\t\t\t\t\tlet formula = field.calculatedFields['formula']\n\t\t\t\t\t\tlet formatFormula = formula.replace(regexFieldInFormula, (match, field_key) =>{\n\t\t\t\t\t\t\tlet fieldFinded = fieldsCalcualteFormula.find( (fnd:any) => fnd.filed_key == field_key )\n\t\t\t\t\t\t\tif(fieldFinded!== undefined){\n\t\t\t\t\t\t\t\tif(fieldFinded.field.controlType == 'dropdown' || fieldFinded.field.controlType == 'radiobutton' || fieldFinded.field.controlType == 'autocomplete'){\n\t\t\t\t\t\t\t\t\treturn this.getValueOptions(fieldFinded.field, String(fieldFinded.valueControl));\n\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\treturn fieldFinded.valueControl !== null && fieldFinded.valueControl!== \"\" ? fieldFinded.valueControl : 0\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn 0\n\t\t\t\t\t\t});//Fin de Regex reemplazameinto de llaves de formula por valores de formulario\n\t\t\t\t\t\t//Remplazamos los porcentajes por su valor numerico operable\n\t\t\t\t\t\tformatFormula = formatFormula.replace( regexPercentNumber, (match, precentNumber) =>{\n\t\t\t\t\t\t\tif(regexNumber.test(match) == true){\n\t\t\t\t\t\t\t\treturn Number(match) / 100\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn match + \"%\"\n\t\t\t\t\t\t});//Fin Regex Porcentaje\n\t\t\t\t\t\t//Retiramos los signos de % que no se usan en la formula final\n\t\t\t\t\t\tformatFormula = formatFormula.replaceAll(\"%\",\"\")\n\n\t\t\t\t\t\t//Reemplazamos el signo (^) de porcentaje por su representacion para ejecucion de (**)\n\t\t\t\t\t\tif(formatFormula.includes('^')){\n\t\t\t\t\t\t\tformatFormula = formatFormula.replaceAll('^',\"**\")\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis.forms.controls[indexSection].get(field.key).setValue(eval(formatFormula))\n\t\t\t\t\t}\n\t\t\t\t});//Fin iteracion Fields\n\t\t\t});//Fin iteracion _sections\t\t\n\t\t} catch (error) {\n\t\t\tthis._snackBar.open(\"Error en el cálculo de fórmula\", '', {\n\t\t\t\tduration: 1100,\n\t\t\t\thorizontalPosition: 'center',\n\t\t\t\tverticalPosition: 'top',\n\t\t\t\tpanelClass : ['red-snackbar']\n\t\t\t });\n\t\t}\n\t\n\t}\n\n\t/**\n\t * Metodo que se encarga de identificar si un campo forma parte de la formula de algun campo calculado\n\t * @author Juan David Guerrero Vargas\n\t * @param field:any {any}\n\t * @returns {boolean} boolean True en caso de ser un campos usado en alguna formula - False en caso de no pertenecer aninguna formula\n\t */\n\tisFieldInFormula(field:any):boolean{\n\t\tconst sectionsWithCalculatedFields = this._sections.map( (sectionMap:any, index:number) =>{\n\t\t\tsectionMap['indexSection'] = index\n\t\t\tsectionMap.fields.map( (fieldMap:any, indexField)=> {\n\t\t\t\tfieldMap['indexField'] = indexField\n\t\t\t\treturn fieldMap\n\t\t\t} )\n\t\t\treturn sectionMap;\n\t\t} ).filter( (section:any)=> section.fields.find( (fnd:any) => fnd.isCalculated == true && fnd?.calculatedFields && fnd?.calculatedFields['formula'] !== undefined && fnd?.calculatedFields['formula'].includes(field.key) ) )\n\t\tif( Array.isArray(sectionsWithCalculatedFields) == true && sectionsWithCalculatedFields.length > 0 ){\n\t\t\treturn true\n\t\t}else{\n\t\t\treturn false\n\t\t}\n\t}\n\n\t /**\n * Metodo que se encarga de extraer el valor numerico de los values de las opciones\n * @author Juan David Guerrero Vargas\n * @param field:any {any} estructura del campo tipo selector al cual se le obtendra su valor numerico\n * @param value:string|number {string|number} id de la opcion a la cual se le obtendra su valor numerico\n * @returns {number} Valor numerico de la opcion \n */\n\t getValueOptions(field:any, value:string|number):number{\n\t\tif(field !== undefined){\n\t\t let option = field.options.find( (option:any)=> String(option.id) == String(value) )\n\t\t if(option !== undefined ){\n\t\t\tif( option.hasOwnProperty('value_option') && option.value_option !== null && option.value_option !== \"\" ){\n\t\t\t let validate_numbers = this.getNumberFromString(option.value_option)\n\t\t\t return validate_numbers[1]\n\t\t\t}else{\n\t\t\t let validate_numbers = this.getNumberFromString(option.name)\n\t\t\t return validate_numbers[1]\n\t\t\t}\n\t\t }\n\t\t return 0\n\t\t}\n\t\treturn 0\n\t }\n\t\n\t\n\t /** Metodo que obtiene los numeros dentro de un strng\n\t * @author Juan David Guerrero Vargas\n\t * @param strWithnumber:string {string} cadena de texto que peude o no tener numero en su interior\n\t */\n\t getNumberFromString(strWithnumber:string):any[]{\n\t\tconst regexNumbers = /\\d+/\n\t\tlet matchNumbers = strWithnumber.match(regexNumbers);\n\t\tif(matchNumbers){\n\t\t return [true, parseInt(matchNumbers[0])]\n\t\t}else{\n\t\t return [false, 0]\n\t\t}\n\t }\n\n\n\t/**\n\t * Metodo que se encarga de ordenar de manera Descedente la lista de valores\n\t * @author Juan David Guerrero Vargas\n\t * @createddate 18/08/2023\n\t * @param array:array listado de valores a ordenar\n\t * @returns any[] {any[]} \n\t */\n\tsortDescValues(array) {\n\t\tlet swap = true;\n\t\twhile (swap) {\n\t\t\tswap = false;\n\t\t\tfor (let i = 0; i < array.length - 1; i++) {\n\t\t\t\tif (array[i] < array[i + 1]) {\n\t\t\t\t\t// SI DOY VUELTA EL > POR < ME CAMBIA EL ORDENAMIENTO DE MAYOR A MENOR\n\t\t\t\t\tlet aux = array[i];\n\t\t\t\t\tarray[i] = array[i + 1];\n\t\t\t\t\tarray[i + 1] = aux;\n\t\t\t\t\tswap = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfor (let i = 2; i > array.length; i++) {\n\t\t\tif (array[i] % i === 0) { return false };\n\t\t}\n\t\treturn array;\n\t}\n\n\t/**\n\t * Metodo que se encarga de retornar cual sera el tipo de visual a renderizar para el campo (Question)\n\t * @author Juan David Guerrero Vargas\n\t * @param question:any {any} campos (question) a evaluar para dertminar su visual\n\t * @returns {string} string calve que indica que visual se rederizara \n\t */\n\tseeTypeQuestion(question:any, controls:any):string{\n\t\tif(question.see && question.seeSons && controls){\n\n\t\t\tif((question.hasOwnProperty('indDefaultValue') == false || question.indDefaultValue == false) && (question.type !== 'image' && question.type !== 'api' && question.type !== 'table' ) ){\n\t\t\t\treturn 'question';\n\t\t\t} \n\n\t\t\tif((question.hasOwnProperty('indDefaultValue') == true && question.indDefaultValue == true) && (question.type !== 'image' && question.type !== 'api' && question.type !== 'table' ) ){\n\t\t\t\treturn 'default_field';\n\t\t\t}\n\n\t\t\tif( question.type == 'image' ){\n\t\t\t\treturn 'image_field';\n\t\t\t} \n\n\t\t\tif(question.type == 'api' && (question.hasOwnProperty('isButtonApi') == true && question.isButtonApi == true) && (question.type !== 'image' && question.type !== 'table') ){\n\t\t\t\treturn 'button_api';\n\t\t\t}\n\n\t\t\tif(question.type == 'table' && (question.hasOwnProperty('isTable') == true && question.isTable == true) && (question.type !== 'image' && question.type !== 'api') ){\n\t\t\t\treturn 'table_api';\n\t\t\t}\n\t\t}\n\t\treturn 'none_question'\n\t}\n\n\n\n\t/**\n\t * Metodo que se encarga de obtener los datos del formulario segun la configuracion ingresada, para envio a terceros\n\t * @param configTrigger:any {any} configuracion de disprador\n\t * @returns {body:any} body:any Cupero de solicitud clave valor con los valores reocogidos del formulario\n\t */\n\tgetDataSendFromTrigger(configTrigger:any):any{\n\t\tlet bodyRequest:any = {\n\t\t\tpath_params:{},\n\t\t\tquery_params:{}\n\t\t};\n\t\tif(Array.isArray(configTrigger.body_api) == true){ //Validamos que haya una configuracion que iterar\n\t\t\tconfigTrigger.body_api.forEach( (config)=>{\n\t\t\t\tif(config?.origin_data == \"1\"){ //Si el origin_data es (1) el dato proviene del formulario \t\t\t\t\t\n\t\t\t\t\tlet new_Sections = JSON.parse(JSON.stringify(this._sections))\n\t\t\t\t\tlet fieldFinded = new_Sections.map( (section:any, indexSection:number)=>{ //Filtramos y obtenemos el campo y dus indices dentro de las secciones\n\t\t\t\t\t\tlet sections = section.fields.map( (field:any, indexField:number)=>{\n\t\t\t\t\t\t\tif(config.field_data.find( ffnn => ffnn.field_id == field.id ) !== undefined){\n\t\t\t\t\t\t\t\treturn {field:field, indexSection:indexSection, indexField:indexField }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn undefined\n\t\t\t\t\t\t} )\t;\n\n\t\t\t\t\t\tif(sections.filter( ffll=> ffll !== undefined).length > 0){\n\t\t\t\t\t\t\treturn sections.filter( ffll=> ffll !== undefined)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t});\n\t\t\t\n\t\t\t\t\tlet cleanFields = fieldFinded.flat().filter(ffll=> ffll !== undefined) //Limpiamos el array de valores indefimidos y dejamos los campos encontrados en el primer nivel del array\t\t\t\t\t\n\t\t\t\t\tif(Array.isArray(config.field_data) == true && config.field_data.length > 0 ){\n\t\t\t\t\t\tlet value = \"\"\n\t\t\t\t\t\tconfig.field_data.forEach( (fieldData:any, index:number) => { //Iteramos cada una de los campos del formulario con los que se armara la opcion\n\t\t\t\t\t \t\tconst fieldFinded = cleanFields.find( ffnn => ffnn.field.id == fieldData.field_id );\n\t\t\t\t\t\t\tif(fieldFinded !== undefined){\n\t\t\t\t\t\t\t\tlet controlValue = this.forms.controls[fieldFinded.indexSection].get(fieldFinded.field.key).value !== null ? this.forms.controls[fieldFinded.indexSection].get(fieldFinded.field.key).value : \"\"\n\t\t\t\t\t\t\t\tif(fieldFinded.field.controlType == 'datepicker'){ //Formateamos el valor si es tipo FEcha\n\t\t\t\t\t\t\t\t\tvalue += moment(controlValue).format('DD/MM/yyyy') \n\t\t\t\t\t\t\t\t\tif(index < (config.field_data.length -1 ) ){\n\t\t\t\t\t\t\t\t\t\tvalue += \" \"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}else if(fieldFinded.field.controlType == 'textbox' && fieldFinded.field.type == \"time\" ) { //Formaetamos el valor a Horas:minutos en caso de ser tiempo\n\t\t\t\t\t\t\t\t\tlet time = controlValue.split(\":\")\n\t\t\t\t\t\t\t\t\tif(time.length > 0){\n\t\t\t\t\t\t\t\t\t\tvalue += time[0] + \":\" + time[1] \n\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\tvalue += controlValue + \" \"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if(this.typeSelectorChargables.find( ffnn => ffnn == fieldFinded.field.controlType ) !== undefined){//En caso de ser selectores se debe validar si la informaicon se obtiene desde el Id o el option_value de la opcion seleccionada\n\t\t\t\t\t\t\t\t\tif( fieldFinded.field.controlType == 'multiselect' ){\n\t\t\t\t\t\t\t\t\t\tif(Array.isArray(controlValue) == true && controlValue.length > 0){\n\t\t\t\t\t\t\t\t\t\t\tvalue = fieldFinded.field.options.map( (optionMap:any)=>{\n\t\t\t\t\t\t\t\t\t\t\t\t\tif( controlValue.find( ffnn => ffnn == optionMap.id ) !== undefined ){\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif(optionMap?.value_option !== undefined && optionMap?.value_option !== null && optionMap?.value_option !== \"\"){\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn optionMap?.value_option\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn optionMap?.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn undefined\n\t\t\t\t\t\t\t\t\t\t\t\t}).filter( ffll => ffll != undefined );\n\t\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t\tvalue = controlValue\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\tlet option = fieldFinded.field.options.find( optionFN => String(optionFN.id) == String(controlValue) )\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tif(option !== undefined){\n\t\t\t\t\t\t\t\t\t\t\tif(option?.value_option !== undefined && option?.value_option !== null && option?.value_option !== \"\"){\n\t\t\t\t\t\t\t\t\t\t\t\tvalue = option?.value_option\n\t\t\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t\t\tvalue = option?.id\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t\tvalue = controlValue\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\tvalue += controlValue\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\tvalue += \"\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tbodyRequest[config.type_param][config.variable_send] = value\n\t\t\t\t\t}else{\n\t\t\t\t\t\tbodyRequest[config.type_param][config.variable_send] = \"\"\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}else if (config?.origin_data == \"2\"){ //(2) proviene de valirable global\n\t\t\t\t\tconst dataVariable = this.variablesTriggerLoads[config.variable_data];\n\t\t\t\t\tif(dataVariable.hasOwnProperty(config.name_in_variable) == true){\n\t\t\t\t\t\tbodyRequest[config.type_param][config.variable_send] = dataVariable[config.name_in_variable];\n\t\t\t\t\t}else{\n\t\t\t\t\t\tbodyRequest[config.type_param][config.variable_send] = \"\";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\telse if (config?.origin_data == \"3\"){ //(3) Proviene de un selecotr cargado por API por lo que se debe obtener l nuevo valor desde la variable globarl cargada\n\n\t\t\t\t\tconst selectorLoad = this.variablesToUploadValueAPI.find( ffnn => ffnn.idField == config.variable_data ) //Obtenemos la configuracion del campo Selector\n\t\t\t\t\tif(selectorLoad !== undefined){\n\t\t\t\t\t\tif(this.variablesTriggerLoads.hasOwnProperty(selectorLoad.name_variable) == true){//Validamos que ya se haya cargado un array o un valor a la variable\n\t\t\t\t\t\t\tconst field = this._sections[selectorLoad.indexSection].fields.find( ffnn => ffnn.id == config.variable_data ) //Obtenemos el campo consu configuracion\n\t\t\t\t\t\t\tif(field !== undefined){\n\t\t\t\t\t\t\t\tlet valueVariable = this.variablesTriggerLoads[selectorLoad.name_variable][selectorLoad.name_data] //Obtenemos el array de opciones completo desde el que e carga el selector\n\t\t\t\t\t\t\t\tif(Array.isArray(valueVariable) == true){\n\t\t\t\t\t\t\t\t\tlet valueSelector = this.forms.controls[selectorLoad.indexSection].get(field.key).value\n\t\t\t\t\t\t\t\t\tlet option = valueVariable.find( ffnn => ffnn[field.apiValueConfig.name_attribute_id] == valueSelector ) //Obtenemos la opcion seleccionada \n\t\t\t\t\t\t\t\t\tif(option !== undefined && option.hasOwnProperty(config.name_in_variable) == true){\n\t\t\t\t\t\t\t\t\t\tbodyRequest[config.type_param][config.variable_send] = option[config.name_in_variable]; //Cargamos el valor adicional de la configuracion\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn bodyRequest\n\t}\n\n\t/**\n\t * Metodo que se encarg de realizar la peticion y carga de informaicon para datos que dependen de la informaicon cargada desde el consumo\n\t * @author Juan David Guerrero Vargas\n\t * @param configTrigger:any {any} Configuracion del disparador\n\t * @returns void\n\t */\n\tsendAndLoadData(configTrigger:any):void{\n\t\t//Obtenemos el cuerpo de la peticion con los campos indicados en la configuracion ya sea desde el formulario o desde variable global\n\t\tlet bodyRequest = this.getDataSendFromTrigger(configTrigger) ;\n\t\t\n\t\tthis.formsRequestService.getValuesConsumeAPI(String(configTrigger.id_consume), bodyRequest ).subscribe(\n\t\t\t(restResponse)=>{\n\n\t\t\t\tthis.variablesTriggerLoads[configTrigger.name_variable] = restResponse\n\t\t\t\t\n\t\t\t\tconst listFieldsLoad = this.variablesToUploadValueAPI.filter( filtered => filtered.name_variable == configTrigger.name_variable );\n\t\t\t\t\n\t\t\t\tif(Array.isArray(listFieldsLoad) == true && listFieldsLoad.length > 0){\n\t\t\t\t\tlistFieldsLoad.forEach(\n\t\t\t\t\t\t(fieldLoad)=> {\n\t\t\t\t\t\t\tconst fielConfig = this._sections[fieldLoad.indexSection].fields.find( (field)=> String(field.key) == String(fieldLoad.keyFieldLoad) );\n\t\t\t\t\t\t\tconst indexField = this._sections[fieldLoad.indexSection].fields.findIndex( (field)=> String(field.key) == String(fieldLoad.keyFieldLoad) );\n\n\t\t\t\t\t\t\tif(fielConfig.type == 'options'){\n\t\t\t\t\t\t\t\tthis.forms.controls[fieldLoad.indexSection].get(fieldLoad.keyFieldLoad).reset();\n\t\t\t\t\t\t\t\tthis.forms.controls[fieldLoad.indexSection].get(fieldLoad.keyFieldLoad).disable();\n\n\t\t\t\t\t\t\t\tfielConfig.options = []\n\t\t\t\t\t\t\t\tconst lista = restResponse[fieldLoad.name_data]\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst configOptionsEntry = fielConfig.apiValueConfig;\n\t\t\t\t\t\t\t\tlet options:any[] = [];\n\t\t\t\t\t\t\t\tif(Array.isArray(lista) == true && lista.length > 0){\n\t\t\t\t\t\t\t\t\tlista.forEach(\n\t\t\t\t\t\t\t\t\t\t(itemList)=>{\n\t\t\t\t\t\t\t\t\t\t\tlet label = \"\"\n\t\t\t\t\t\t\t\t\t\t\t//Extraemos de la configuracion los campos con los que se creara el label de la opcion\n\t\t\t\t\t\t\t\t\t\t\tif(Array.isArray(configOptionsEntry.name_attribute_label) == true){\n\t\t\t\t\t\t\t\t\t\t\t\tconfigOptionsEntry.name_attribute_label.forEach(\n\t\t\t\t\t\t\t\t\t\t\t\t\t(nameLabel:any, i:number) =>{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif(i > 0 ){\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel+= \" - \"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel+= (itemList[nameLabel.label] !== undefined) ? itemList[nameLabel.label] : \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t\t\tlabel = itemList[configOptionsEntry.name_attribute_label]\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\toptions.push( { id:itemList[configOptionsEntry.name_attribute_id], name:label , value_option: itemList[configOptionsEntry.name_attribute_id] } )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif(indexField !== -1){\n\t\t\t\t\t\t\t\t\tfielConfig.options = options\n\t\t\t\t\t\t\t\t\tthis._sections[fieldLoad.indexSection].fields[indexField] = fielConfig\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tthis.forms.controls[fieldLoad.indexSection].get(fieldLoad.keyFieldLoad).enable();\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\tthis.forms.controls[fieldLoad.indexSection].get(fieldLoad.keyFieldLoad).setValue(restResponse[fieldLoad.name_data]);\n\t\t\t\t\t\t\t\tthis.forms.controls[fieldLoad.indexSection].get(fieldLoad.keyFieldLoad).patchValue(restResponse[fieldLoad.name_data]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif(configTrigger.hasOwnProperty('msg_config') == true && configTrigger.msg_config ){\n\t\t\t\t\tif(configTrigger.msg_config?.msg_sucess !== undefined && configTrigger.msg_config?.msg_sucess !== null){\n\t\t\t\t\t\tthis.alertsService.alertSuccess('Proceso exitoso', configTrigger.msg_config.msg_sucess)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t},(error:any)=>{\n\t\t\tif(configTrigger.hasOwnProperty('msg_config') == true && configTrigger.msg_config ){\n\t\t\t\tif(configTrigger.msg_config?.msg_error !== undefined && configTrigger.msg_config?.msg_error !== null){\n\t\t\t\t\tthis.alertsService.alertError('Proceso fallido', configTrigger.msg_config.msg_error)\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\n\t/**\n\t * Metodo que captura el evento de disparador de campo tipo API\n\t * @param event:any {any} \n\t */\n\ttriggerApiAction(event:any){\t\t\n\t\tconst configTrigger = event.question.apiTriggerConfig\n\t\tthis.sendAndLoadData(configTrigger);\n\t}\n\n\n\t/**\n\t * Metodo que se encarga dispara el evento de consulta del boton\n\t * @author Juan David Guerrero Vargas\n\t * @param event:any {any} evento click por defecto\n\t * @param question:any {any} Boton configurado para disparar la consulta\n\t */\n\tbuttonTrigger(event:any, question:any):void{\n\t\tif(event){\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tconst configTrigger = question.apiButtonConfig\n\t\tthis.sendAndLoadData(configTrigger);\n\t}\n\n\t/**\n\t * Metodo que se encarga de obtener las columnas de la tabla\n\t * @param question:any {question} configuracion del campo que tiene la tabla\n\t * @returns {string[]} string[] array de nombres de columnas\n\t */\n\tgetColumnsTable(question:any):string[]{\n\t\tif(question?.tableConfig !== undefined && question?.tableConfig?.columnsTable !== undefined){\n\t\t\tif(Array.isArray(question?.tableConfig?.columnsTable) == true && question?.tableConfig?.columnsTable.length > 0){\n\t\t\t\treturn question?.tableConfig?.columnsTable.map( (column:any)=>{\n\t\t\t\t\treturn column.name_column\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn []\n\t}\n\n\t/**\n\t * Metodo que se encarga de obtener el listado de valores con que se obtiene desde la variable cargada por un campo disprador Trigger\n\t * @author Juan David Guerrero Vargas\n\t * @param question:any {any} Campos tipo tabla que contiene la configuracion de que variable se obtienen sus valores \n\t * @returns {any[]} any[] Listado de datos \n\t */\n\tgetDataToTable(question:any):any[]{\n\t\tif(question?.tableConfig !== undefined && question?.tableConfig?.variable_data !== undefined){\n\t\t\ttry {\n\t\t\t\tlet dataInVariable = this.variablesTriggerLoads[question?.tableConfig?.variable_data][question?.tableConfig?.value_api];\n\t\t\t\tif(dataInVariable !== undefined && dataInVariable !== null && Array.isArray(dataInVariable) == true ){\n\t\t\t\t\treturn dataInVariable\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\treturn []\t\t\t\t\n\t\t\t}\n\t\t}\n\t\treturn []\n\t}\n\n\t/**\n\t * Metodo que se encarga de obtener los valores de cada fila segun configuracion de la tabla\n\t * @author Juan David Guerrero Vargas\n\t * @param data:any {any} Informaicon de cada fila de donde se obtendran los valores a pintar\n\t * @param question:any {any} Campo con la configuracion de la tabal donde se botiene el nombre de las variables a mostrar en la tabla\n\t */\n\tgetValuesForRowtoTable(data:any, question:any):string[]{\n\t\tif(question?.tableConfig !== undefined && question?.tableConfig?.columnsTable !== undefined){\n\t\t\tif(Array.isArray(question?.tableConfig?.columnsTable) == true && question?.tableConfig?.columnsTable.length > 0){ \n\t\t\t\treturn question?.tableConfig?.columnsTable.map( (column:any)=>{\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet value = data[column.name_variable]\n\t\t\t\t\t\treturn value !== null && value !== \"\" ? value : \"\"\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\treturn \"\"\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn []\n\t}\n\n\t\n}\n","
\n \n
\n\n \n \n \n

{{section.name_section}}

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

{{ question.defaultCommentValue }}

\n
\n \n
\n \n \n \n \n \n \n \n \n No se logro cargar la imagen...\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n
{{ question.label }}
{{ name_column }}
{{ value }}
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n
\n
\n \n
\n\n
","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-svg-feelings',\n templateUrl: './svg-feelings.component.html',\n styleUrls: ['./svg-feelings.component.sass']\n})\nexport class SvgFeelingsComponent implements OnInit {\n @Input() faceType = 0;\n\n constructor() { }\n\n ngOnInit(): void {\n \n }\n}","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n","import { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\nimport { Import } from '../interfaces/import';\nimport { Injectable } from '@angular/core';\nimport { environment } from '../../../../environments/environment';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthService } from '../../../core/services/rest/auth.service';\nimport { stringify } from '@angular/compiler/src/util';\nimport { Observable } from 'rxjs';\nimport { map, filter } from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CandidatesService {\n\n private server = environment.RRHH_URL;\n user;\n constructor(private http: HttpClient, private activeRoute: ActivatedRoute, private authService: AuthService) {\n this.user = this.authService.getUser();\n }\n\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n };\n\n candidatesByRequest = [];\n candidateByToken;\n\n /** Metodo que retorna los tipos de documentos\n * @author Lina Hueso\n */\n getIdTypes(){\n return this.http.get(`${this.server}idtypes`);\n }\n\n getCandidatesByRequest(id, entries){\n\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidate/request/${id}`, {params});\n }\n getCandidate(candidateId){\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidate/data/${candidateId}`, {params});\n }\n\n registerCandidate(requestId: number, entries: any){\n entries['userId'] = this.user.rrhh_id;\n let params = new HttpParams( { fromObject: entries } );\n return this.http.post(`${this.server}request/candidate/${requestId}`, params);\n }\n getCandidateByToken(token) {\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidate/landing/${token}`, {params});\n }\n importData(file: Import, params?: any){\n const formData = new FormData();\n formData.append('file', file.file);\n if (params) formData.append('userId', this.user.rrhh_id);\n if (params) formData.append('requestId', params.requestId);\n\n return this.http.post(`${this.server}candidate/import`, formData);\n }\n\n getComments(candidateId, entries){\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidate/comments/${candidateId}`, {params});\n }\n transferCandidate( entries: any ){\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.post(`${this.server}transfer/candidate`, params);\n }\n candidateById(idTypeId, idNumber, requestId){\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n entries['requestId'] = requestId;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidate/validation/${idNumber}/${idTypeId}`, {params});\n }\n\n candidateByState(requestId, state){\n const params = new HttpParams( { fromObject: state } );\n return this.http.get(`${this.server}candidates/state/${requestId}`, {params});\n }\n\n getCandidateDataJson(candidateId, data) {\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n entries['data'] = data;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidate/json/data/${candidateId}`, {params});\n }\n createJsonCandidate( candidateId, json, entries ){\n return this.http.post(`${this.server}candidate/json/${candidateId}/${json}`, entries, this.httpOptions);\n }\n\n uploadFiles(candidateId, entries: File, position) {\n //entries['position'] = position;\n const formData = new FormData();\n formData.append('documents', entries);\n formData.append('position', position);\n return this.http.post(`${this.server}candidate/documents/${candidateId}`, formData);\n }\n\n checkSchedulesCandidates(analystId){\n return this.http.get(`${this.server}candidate/check/schedules/${analystId}`);\n }\n assignCandidateToAnalyst(analystId, entries){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.post(`${this.server}candidate/asign/analyst/${analystId}`, params);\n }\n\n assignCandidateToLeaderTrainer(trainerId, entries){\n const params = entries;\n return this.http.post(`${this.server}candidate/assign/responsable/${trainerId}`, params);\n }\n\n candidatesByIds(candidateIds){\n const entries = {\n candidateIds,\n codeRequest: 'true'\n }\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidates/by/ids`, {params});\n }\n getCandidatesToAnalystByDaySelected(requestId, entries){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidates/analyst/date/selected/${requestId}`, {params});\n }\n reAssignCandidateToAnalyst(analystId, entries){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.post(`${this.server}candidate/reasign/analyst/${analystId}`, params);\n }\n cancelSchedulesCandidates(analystId, entries){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.post(`${this.server}candidate/cancel/analyst/${analystId}`, params);\n }\n getDocumentSummary(candidateId){\n return this.http.get(`${this.server}documents/${candidateId}` );\n }\n\n changeCandidateEmail(candidateId, email){\n return this.http.post(`${this.server}candidate/${candidateId}/businessMail`, email);\n }\n\n deleteDocumentCandidate(documentId) {\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidate/delete/attachment/${documentId}`, {params});\n }\n\n deleteDocumentAttachment(body) {\n const formData = new FormData();\n formData.append('id', body.id || '');\n formData.append('cause', body.cause || '');\n formData.append('comment', body.comment || '');\n\n return this.http.post(`${this.server}candidate/delete/attachment`, formData);\n }\n\n getCausesToDeleteFile() {\n return this.http.get(`${this.server}candidate/attachment/causes`);\n }\n\n candidateByUserLoggued(entries){\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidates`, {params});\n }\n candidateByUserLogguedForGroups(groupId){\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n entries['groupId'] = groupId;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}formationgroup/candidates/availables`, {params});\n }\n\n candidateAll(candidateId){\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidate/all/${candidateId}`, {params});\n }\n\n validateDocumentCandidate(attachmentId, comment, createdAt, verified, typification, fileKey){\n const entries = {}\n const data = {};\n entries['attachmentId'] = attachmentId;\n entries['key'] = fileKey;\n data['comment'] = comment;\n data['user_creator_id'] = this.user.rrhh_id;\n data['createdAt'] = createdAt;\n data['verified'] = verified;\n data['subtyping'] = typification;\n\n\n entries['data'] = JSON.stringify(data);\n const params = new HttpParams( { fromObject: entries } );\n return this.http.post(`${this.server}candidate/document/validate/`, params);\n }\n\n getHistory(candidateId){\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidate/history/${candidateId}`, {params});\n }\n\n uploadDocumentCandidate(candidateId, entries: File, documentTypeId,attachmentId): any {\n const formData = new FormData();\n formData.append('documents', entries);\n formData.append('id', attachmentId );\n formData.append('file_attachment_id', documentTypeId);\n return this.http.post(`${this.server}candidate/document/upload/${candidateId}`, formData);\n }\n\n getAttachments(candidateId){\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidate/attachments/${candidateId}`, {params});\n }\n\n getDocumentosInactivos(candidateId){\n return this.http.get(`${this.server}candidate/get_documentos_inactivos/${candidateId}`);\n }\n\n activarDocumentos(idDocument){\n const formData = new FormData();\n formData.append('idDocument', idDocument);\n return this.http.post(`${this.server}candidate/activar_documentos`,formData);\n }\n\n agendarCitaFirmaContrato(candidateId, date){\n const entries = {}\n entries['candidateId'] = candidateId;\n entries['stateKey'] = 'contratacion';\n entries['date'] = date;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.post(`${this.server}candidate/schedule/date/`, params);\n }\n\n generateCandidateContract (candidateId) {\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidate/generate/contract/${candidateId}`, {params});\n }\n\n generateCandidateContractv2 (candidateId) {\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidate/generate/contractv2/${candidateId}`, {params});\n }\n\n generateQR (candidateId) {\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidate/generate/qr/${candidateId}`, {params});\n }\n generateDocuments(entries){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.post(`${this.server}candidate/generate/document`, params);\n\n }\n saveAgreement(direction, data){\n return this.http.post(`${this.server}${direction}`, data);\n }\n downloadFormat(): Observable{\n return this.http.get(`${this.server}candidate/import/format`, {responseType:'blob'});\n }\n\n/**\n * @author Karol García\n * @createdate 2021-05-10\n * servicio que descarga documentos del candidato\n */\n downdloadFile(direction){\n return this.http.get(`${this.server}${direction}`, {responseType:'blob'});\n }\n /**\n * @author Karol García\n * @createdate 2021-05-10\n * servicio envia el email de contrato\n */\n sendContract(direction){\n return this.http.get(`${this.server}${direction}`);\n }\n getCredencials(direction){\n return this.http.get(`${this.server}${direction}`);\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2022-03-31\n * servicio que modifica pasivo vacacional\n */\n PassiveHoliday(data){\n return this.http.post(`${this.server}candidate/passiveHoliday`, data);\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-07-31\n * @params {id:candidateID, email:candidateEmail}\n * servicio que restablece las credenciales de self por defecto y renvia el email al candidato\n */\n resentCredentialsByEmail(json){\n return this.http.post(`${this.server}candidates/updatePassRrhh`, json);\n }\n\n /**\n * @author Lina Hueso\n * @createdate 28/07/2022\n * Retornar estados para el candidato\n */\n getStates(){\n return this.http.get(`${this.server}states`);\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-09-22\n * @params {id_documents:#documento, status:true or false}\n * metodo que trae los usuarios por numero de documento y por estado si se le pasa\n */\n findbyiddocument(json){\n return this.http.post(`${this.server}users/findbyiddocument/multi?`, json);\n }\n\n /**\n * Método para obtener el historico de candidatos\n * @author Nicoll ramirez\n * @param {filters} JSON datos a filtrar\n */\n getChangesHistorical(filters){\n const httpOptions = {\n params: new HttpParams()\n .set('page', filters.page || '')\n .set('per_page', filters.per_page || 5)\n };\n return this.http.get(`${this.server}candidates/cv/historical/${filters.candidateId}`, httpOptions);\n }\n /**\n * Retornar idrh por id candidato\n */\n getHiredUserID(candidateId){\n return this.http.get(`${this.server}candidate/rrhhId/${candidateId}`);\n }\n\n /**\n * Servicio para actulizar la campañ{a}\n */\n changeCampaign(hiredUserId,campaign_id){\n return this.http.post(`${this.server}user/changecampaign/${hiredUserId}`,campaign_id);\n }\n\n\n /**\n * Servicio para actulizar la campañ{a}\n */\n saveTemporaryCampaignAssignment(data,){\n return this.http.post(`${this.server}user/temporary_campaign_assignment`,data);\n }\n\n getReferenceFileName() {\n return this.http.get(`${this.server}reference/search`);\n }\n\n upPersonalReferenceTemplate(data) {\n const formData = new FormData();\n formData.append('template', data.template);\n return this.http.post(`${this.server}reference/upload`, formData);\n }\n\n\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { GESTIONADOR_CORREOS } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AnsService {\n\n constructor(private httpClient: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que retorna los errores generados por HTTP. \n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que retorna los ANS registrados en el sistema. \n * @param paginator Paginador configurado en la vista. \n * @param filterName Filtro de texto.\n * @param filterEmail Filtro de cuenta de correo.\n * @param showAllStates Filtro que muestra o no todos los ANS.\n */\n getAns(paginator: any = null, filterName: string = '', filterEmail: number = 0, showAllStates: boolean = true): Observable {\n const paramState = showAllStates ? '' : '&state=1';\n const paramEmail = filterEmail !== 0 ? `&email_list=[${filterEmail}]` : '';\n const url = paginator === null ? `${GESTIONADOR_CORREOS}ans/showall?${paramState}` : `${GESTIONADOR_CORREOS}ans/showall?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&name=${filterName}${paramEmail}`;\n return this.httpClient.get(url).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que guardar o actualiza un ANS en el sistema. \n * @param state Informacion proveniente del formulario. \n */\n storeAns(ans: any): Observable {\n const url = ans.id === null ? `${GESTIONADOR_CORREOS}ans/store` : `${GESTIONADOR_CORREOS}ans/update/${ans.id}`;\n return this.httpClient.post(url, ans).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-30\n * Metodo que retorna los ANS asociados a cuentas de correos seleccionadas. \n * @param accountsEmail Cuentas de correo seleccionadas en la vista. \n */\n getAnsByAccountsEmailSelected(accountsEmail: string): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}ans/showall?state=1&email_list=[${accountsEmail}]`).pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { ActivatedRoute } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { AcompañamientoModel } from 'src/app/modules/coaching/core/interfaces/acompañamiento.interface';\nimport { loadHistorial, loadHistorialById } from 'src/app/modules/coaching/state/actions/historial.actions';\nimport { CoachingState } from 'src/app/modules/coaching/state/coaching.state';\nimport { historialSolicitud } from 'src/app/modules/coaching/state/selectors/historial.selector';\nimport { DialogHistoricoComponent } from '../dialog-historico/dialog-historico.component';\n\n@Component({\n selector: 'app-tabla-historico',\n templateUrl: './tabla-historico.component.html',\n styleUrls: ['./tabla-historico.component.sass']\n})\nexport class TablaHistoricoComponent implements OnInit {\n\n displayedColumns:string[] = ['acciones','coach', 'position','estado','fecha_creacion','proximo_seguimiento','fecha_ejecucion','dias'];\n dataSource = [];\n\n id;\n\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions = [5,10,25,50,100];\n @ViewChild(MatPaginator) paginator:MatPaginator;\n\n constructor(\n private aRoute:ActivatedRoute,\n private store:Store,\n private dialog:MatDialog,\n ) { }\n\n ngOnInit(): void {\n this.aRoute.paramMap.subscribe(params=>{\n this.id = params.get('id');\n });\n this.datosTabla();\n }\n\n datosTabla(){\n /**\n * @author Cristian Gallo\n * @createdate 2021-12-13\n * Metodo para ejecutar un select y obtener la información para la tabla\n */\n this.store.select(historialSolicitud).forEach((historial:AcompañamientoModel) => {\n if (historial != null) {\n this.dataSource = historial.data;\n this.length = historial.total;\n if (historial.current_page == 1 && this.paginator) {\n this.paginator.firstPage();\n }\n }\n });\n }\n\n dialogHistorico(idHistorial){\n this.store.dispatch(loadHistorialById({idHistorial}));\n const historicoRef = this.dialog.open(DialogHistoricoComponent,{\n disableClose:true,\n width: '940px',\n })\n }\n\n pageEvent(event:any){\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.store.dispatch(loadHistorial({idSolicitud:this.id,numeroReg:this.pageSize,page:this.page}));\n }\n\n}\n","

Histórico de la solicitud

\n
\n \n\n \n \n
\n
\n \n \n \n\n \n \n \n \n \n\n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n
\n \n Cargo {{ element.supervisor && element.supervisor.position ? element.supervisor.position : '' | titlecase }} Coach {{ (element.supervisor.rrhh.first_name + ' ' + element.supervisor.rrhh.last_name) | titlecase }} Estado {{ element.historial.estados.nombre }} Fecha de creación {{ element.historial.fechaCreacion | date:'dd/MM/yyyy' }} Próximo seguimiento {{ element.historial.proximoSeguimiento | date:'dd/MM/yyyy' }} Fecha de ejecución {{ element.historial.created_at | date:'dd/MM/yyyy' }} Días restantes {{ element.historial.dias_restantes != null ? element.historial.dias_restantes:'N/A' }}
No hay registros para mostrar
\n\n \n \n \n
","import { Injectable } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n@Injectable({\n providedIn: \"root\"\n })\n export class storageService{ \n \n constructor(public authService: AuthService) {}\n\n setItem( name: string, data: string){\n return localStorage.setItem(name, data)\n }\n\n getItem( name: string){\n return localStorage.getItem(name)\n }\n\n getItemRrhh(){\n const userMios = this.authService.getUser();\n // return JSON.parse(localStorage.getItem('user')).rrhh\n return userMios.rrhh;\n }\n\n removeItem ( name: string ){\n return localStorage.removeItem(name)\n }\n\n getToken() {\n let token_type = JSON.parse(localStorage.getItem('user')).token_type;\n let token = this.authService.getToken();\n return `${token_type} ${token}`;\n }\n\n }","// This file can be replaced during build by using the fileReplacements array.\n// ng build --prod replaces environment.ts with environment.prod.ts.\n// The list of file replacements can be found in angular.json.\n\nexport const environment = {\n production: true,\n \n CIU_URL: 'https://backends.appsouls.net/ciu/api/', \n BPMS_URL: 'https://backends.appsouls.net/bpms/api/',\n RRHH_URL: 'https://backends.appsouls.net/rrhh/api/',\n CRM_URL: 'https://backends.appsouls.net/crm2/api/',\n PQRS_URL: '',\n CARTERA_URL: '',\n NOMINA_URL: 'https://backends.appsouls.net/nomina/api/',\n REPORTS_URL: '',\n REPORTSS_URL: '',\n MAIL_URL: '',\n PROVEEDOR_URL: '',\n COMPRAS_URL: '',\n CALIDAD_URL: 'https://backendcalidad.mysoul.software/api/',\n CHAT_URL: '',\n NOTIFICATION_URL: 'https://backnotificacionesv2.mysoul.software/api/',\n AGENDAMIENTOS_URL: '',\n JURIDICA_URL: '',\n VICIDIAL_URL: 'https://vicidial-public.mysoul.software/api/',\n SOCKET_LIVECHAT: '',\n LIVECHAT_URL: '',\n pusher_app: 'f330b9e91f874dde15c5',\n COACHING_URL: 'https://backcoaching.mysoul.software/api/',\n MODULAR_URL:'', //'https://apimodulards.groupcos.com/',\n // VOICEBOT_URL: 'https://voicebot.groupcos.com/api/',\n pusher_cluster: 'sa1',\n public_back: 'https://bothuman.montechelo.com.co/backend',\n pusher_app_global: 'f330b9e91f874dde15c5',\n HEALTH_URL: '',\n CRM_AXA_COLPATRIA_URL: '',\n PUSHER_TRAFFIC_APP: '',\n PUSHER_CHAT_APP_KEY: '', \n MEETINGS_URL: 'https://backmeetings.mysoul.software/api/',\n\tOJT_URL: 'https://backends.appsouls.net/ojt/api/',\n AUDITORIA_URL: '',\n CARTERA_WOM_URL: '',\n CRM_CIAL: '',\n COSCOIN_URL: '',\n ID_FORM_PQRS: '359',\n STANDARD_URL: '',\n CARTERA_AIRE_URL: '',\n ID_FORM_SERVICEQUESTION: '398',\n CARTERA_AAA_URL:'',\n CARGUES_MASIVOS_CRM:'',\n // VOICEBOT_URL: 'http://172.10.7.20:8001/',\n VOICEBOT_URL: '',\n GESTION_CORREOS:'',\n SABLE_URL: 'https://backendsables.mysoul.software/api/',\n ENCUESTAS: '',\n CRM2_URL:'https://backends.appsouls.net/crm2/api/',\n RPA_INBOUND:'',\n RPA_OUTBOUND:'',\n GESTIONADOR_CORREOS:'https://gestionadorcorreos.mysoul.software/api/',\n CARTERA_POPULAR_2023_URL:'',\n PQRS_SOUL: '',\n ENCUESTAS_INTERNAS: 'https://backencuestasinternas.mysoul.software/api/',\n CARTERA_SERFINANZA_2023: '',\n CARTERA_FALABELLA_2021: '',\n CARTERA_FALABELLA_2020: '',\n CARTERA_PROPIA_TUYA_COMERCIAL_AGOSTO_2022: '',\n CARTERA_PROPIA_TUYA_COMERCIAL_JUNIO_2022: '',\n CARTERA_SERFINANZA_BOGOTA: '',\n CARTERA_PROPIA_TUYA_COMERCIAL_2021: '',\n CARTERA_PROPIA_TUYA_JUDICIALIZADA_2022: 'https://backends.appsouls.net/carteras/api/',\n CARTERA_PROPIA_BANCO_POPULAR_2021: '',\n CARTERA_PROPIA_BANCO_POPULAR_2020: '',\n CARTERA_PROPIA_TUYA_JUDICIALIZADA_2021: 'https://backends.appsouls.net/carteras/api/',\n CARTERA_NATURA_URL: '',\n CARTERA_ENTREAMIGOS_URL: '',\n CRM_NSDP: '',\n CARTERA_MOVISTAR: '',\n CARTERA_DIRECTV_URL: '',\n GESTIONADOR_CORREOS_PYTHON:'https://gestioncorreospy.mysoul.software/api/',\n CARTERA_PROPIA_BANCO_FALABELLA_2023: '',\n CARTERA_PROPIA_BANCO_FALABELLA_2024: '',\n SPEECH_URL:'https://backendspeechv3.mysoul.software/api/',\n CARTERA_MOVISTAR_PREMIUM:'',\n CHAT_SOUL:'https://backends.appsouls.net/api/',\n JUPYTER_URL: '',\n CRM2_REPORTS_QUEUE: 'https://crm-reportes.mysoul.software/api/',\n CARTERA_PROPIA_BANCO_BOGOTA_2024: '/',\n CARTERA_PROPIA_SERFINANZA_2024: '',\n SITE_MAPPING_URL: '',\n CARGUES_MASIVOS_VOICEBOT: '',\n CARTERA_DIRECTV_COBRANZA_URL: '',\n CARTERA_FIDUPOPULAR_URL: '',\n CARTERA_BANCO_NU: '',\n SURVEYS_URL: 'https://backencuestasinternas.mysoul.software/api/',\n\tNOTIFICATION_V3_URL: 'https://backnotificacionesv3.mysoul.software/api/',\n ASTERISK_BACK_URL: 'https://vicidial-public.mysoul.software/',\n UNIFIER_AIOC_URL: 'https://soulchatunifiersoulchat-etb.mysoul.software/api',\n WWEBJS_SCKT_URL: '',\n SERVER_URL: '', \n MQTT_CONFIG: {\n SERVER:\"mosquittoback.appsouls.net\",\n PORT:443,\n USERNAME:\"admin\",\n PASSWORD:\"Montechelo2021*\"\n }\n \n };\n \n /*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as zone.run, zoneDelegate.invokeTask.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n // import 'zone.js/dist/zone-error'; // Included with Angular CLI.","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-reports',\n templateUrl: './reports.component.html',\n styleUrls: ['./reports.component.sass']\n})\nexport class ReportsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n } \n\n}\n","\n\n ","import { Component, OnInit } from '@angular/core';\nimport { ConfigTable, Paginator } from 'src/app/shared/basic-crud-page/type';\nimport { MatDialog } from '@angular/material/dialog';\nimport { EmailComponent } from '../../components/email/email.component';\nimport { EmailAdminService } from '../../services/email-admin.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { ValidateEmailAccountComponent } from '../../components/validate-email-account/validate-email-account.component';\n\n@Component({\n selector: 'app-email-page-main',\n templateUrl: './email-page-main.component.html',\n styleUrls: ['./email-page-main.component.css']\n})\nexport class EmailPageMainComponent implements OnInit {\n emails: any[] = [];\n filter: string = '';\n configColumnsTable: ConfigTable[] = [\n { name: '', key: 'actions', type: 'events' },\n { name: 'Host email', key: 'host_email_entrada' },\n { name: 'Nombre email', key: 'user_name_email_entrada' },\n { name: 'Encriptación', key: 'encryption_email_entrada' },\n { name: 'Protocolo de entrada', key: 'protocol_email_entrada' },\n { name: 'Protocolo de salida', key: 'protocol_email_salida' },\n ];\n configPaginator: Paginator = { length: 0, pageIndex: 0, pageSize: 5 };\n\n constructor(\n private matDialog: MatDialog,\n private emailAdminService: EmailAdminService,\n private matSnackBar: MatSnackBar\n ) { }\n\n ngOnInit(): void {\n this.getEmails();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-25\n * Metodo que trae los correos registradas en el sistema. \n */\n getEmails(): void {\n this.emailAdminService.getEmails(this.configPaginator, this.filter).subscribe(res => {\n this.emails = res.data.data;\n this.configPaginator.length = res.data.total;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-25\n * Metodo que setea el filtro emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilter($event: string) {\n this.filter = $event;\n this.configPaginator.pageIndex = 0;\n this.getEmails();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-25\n * Metodo que actualiza el estado de un correo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeStateEmail($event: any): void {\n const setDataEmail = { ...$event.item, activo: $event.state };\n this.emailAdminService.storeEmail(setDataEmail, \"Actualizar correo\").subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.getEmails();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-25\n * Metodo que permite ejecutar la modal para crear o actualizar un correo. \n * @param email Categoria seleccionada de la tabla.\n */\n onClickShowEmail(email: any = null, typeManager: string = 'Crear correo'): void {\n const cloneObjectEmail = { ...email, date_range_time_parameterization: null };\n this.matDialog.open(EmailComponent, {\n width: '50%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-category',\n data: {\n title: typeManager,\n email: cloneObjectEmail,\n }\n }).afterClosed().subscribe(res => {\n if (res) this.getEmails();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-25\n * Metodo que permite ejecutar la modal para crear o actualizar un correo.\n * @param $event Evento emitido por el componente hijo. \n */\n onChangePage($event: Paginator): void {\n this.configPaginator = $event;\n this.getEmails();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-03-01\n * Metodo que permite ejecutar la modal para la verificacion de cuentas de correo.\n * @param $event Evento emitido por el componente hijo.\n */\n getRegisterSelected($event: any): void {\n this.matDialog.open(ValidateEmailAccountComponent, {\n width: '40%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-validate-email-account',\n data: {\n emailAccount: $event\n }\n });\n }\n}","\n","import { Component, OnInit } from '@angular/core';\nimport { ReportsService } from 'src/app/modules/nomina/services/rest/reports.service';\n\n@Component({\n selector: 'app-powerbi',\n templateUrl: './powerbi.component.html',\n styleUrls: ['./powerbi.component.sass']\n})\nexport class PowerbiComponent implements OnInit {\n\n public token: string='';\n public report_id:string='';\n public generar = false;\n\n constructor(\n private reportService:ReportsService\n ) { }\n\n ngOnInit(): void {\n this.reportService.getReport('11_DBS_CAL_PBI').subscribe((resp)=>{\n if(resp.data.token !== ''){\n this.token = resp.data.token;\n this.report_id =resp.data.reporte_id;\n this.generar=true;\n }\n });\n }\n\n}\n","
\n
\n

Reporte de Calidad

\n

En este espacio podrás encontrar tu reporte de Calidad.\"

\n
\n
\n\n
\n \n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { UsersService } from 'src/app/modules/ciu/services/rest/users.service';\nimport { CampaignsService } from 'src/app/modules/nomina/services/rest/campaigns.service';\nimport { VacationsResponseComponent } from '../vacations-response/vacations-response.component';\nimport { VacationsViewComponent } from '../vacations-view/vacations-view.component';\nimport { VacationsService } from 'src/app/modules/nomina/services/rest/vacations.service';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { ReverseVacationsComponent } from '../reverse-vacations/reverse-vacations.component';\n\n@Component({\n selector: 'app-vacation-operation-manager',\n templateUrl: './vacation-operation-manager.component.html',\n styleUrls: ['./vacation-operation-manager.component.sass']\n})\nexport class VacationOperationManagerComponent implements OnInit {\n// MatPaginator Inputs\nlength;\npageSize = 5;\npage = 1;\nisPage = 1;\npageSizeOptions: number[] = [ 5, 10, 25, 100 ];\n\ndisplayedColumns: string[] = [ 'acciones', 'fecha', 'nombre', 'numero','tipo', 'estado', 'campana' ];\ndataSource = new MatTableDataSource();\n\nreportForm: FormGroup;\nCampaings: any;\nfilterControl = new FormControl();\nfilterControl2 = new FormControl();\nstates: any = [ { id: 1, name: 'En revisión' }, { id: 2, name: 'Aprobado' }, { id: 3, name: 'Rechazado' } ];\n@ViewChild(MatSort, { static: true }) sort: MatSort;\n@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\ndocument: any = '';\nstartDate: any = '';\nendDate: any = '';\nidCampaing: any;\nidState: any = 1;\n\ndocuments: any = [];\nidTypeDoc: any;\nidTypeDoc2: any;\n\ntypeDocument = new FormControl();\ntypeDocument2 = new FormControl();\n\nconstructor(public dialog: MatDialog,\n private service: CampaignsService,\n public userService: UsersService,\n private vacation: VacationsService,\n private users: CandidatesService\n) {\n}\n\nngOnInit() {\n this.filterControl2.setValue(1);\n this.service.getAllCampaigns().subscribe(resp => {\n this.Campaings = resp.data;\n });\n this.reportForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.idTypeDoc = resp;\n this.getExteporal(1, this.pageSize, this.page);\n });\n this.typeDocument.setValue(1);\n\n this.filterControl.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idCampaing = resp;\n this.getExteporal(this.idState, this.pageSize, this.page);\n });\n this.filterControl2.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idState = resp;\n this.getExteporal(this.idState, this.pageSize, this.page);\n });\n}\n\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-04-29\n * Metodo de paginación\n */\npageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getExteporal(1, this.pageSize, this.page);\n}\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-04-29\n * Modal de justificación\n */\nviewJustification(element?): void {\n const dialogNewgroup = this.dialog.open(VacationsResponseComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element,\n vacationType: 'extemporal'\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getExteporal(this.idState, this.pageSize, this.page);\n });\n\n}\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-04-29\n * Modal de justificación rechazada\n */\nviewJustification2(element?): void {\n const dialogNewgroup = this.dialog.open(VacationsViewComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getExteporal(this.idState, this.pageSize, this.page);\n });\n\n}\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-10-22\n * Modal de reversion de vacaciones\n */\nshowModalToReverseVacation(element): void {\n const dialogReversion = this.dialog.open(ReverseVacationsComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'edit',\n title: 'Proceso de reversion',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogReversion.afterClosed().subscribe(() => {\n this.getExteporal(this.idState, this.pageSize, this.page);\n });\n\n}\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-04-29\n * Metodo para capturar el documento a filtrar\n */\nonBlurMethod(e) {\n this.resetPaginator(1);\n this.document = e;\n this.getExteporal(this.idState, this.pageSize, this.page);\n}\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-04-29\n * Metodo para capturar el rango de fechas a filtrar\n */\ndateRangeChange() {\n this.resetPaginator(1);\n const date1: Date = this.reportForm.controls.start.value;\n const date2: Date = this.reportForm.controls.end.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n this.getExteporal(this.idState, this.pageSize, this.page);\n}\n\n/**\n * @author Javier Castañeda\n * @createdate 2021-04-29\n * Metodo para filtrar fecha, campaña y rango de fechas\n */\ngetExteporal(state, pageSi, page, exportData: boolean = false) {\n this.vacation.getVacationsExtemporal({\n state,\n idTipDoc: this.idTypeDoc,\n document: this.document,\n campaign_id: this.idCampaing,\n startDate: this.startDate,\n endDate: this.endDate,\n forBossView: 1,\n exportData\n }, pageSi, page).subscribe(resp => {\n if (!exportData) {\n this.dataSource = resp.data.data;\n this.length = resp.data.total;\n } else {\n importedSaveAs(resp, 'reporte_vacaciones_jefe.xlsx');\n }\n });\n}\n\nresetPaginator(numPaginator): void {\n if (numPaginator === 2) {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n }\n}\n}\n","
\n
\n

Novedades de vacaciones extemporáneas

\n

En este espacio podrás revisar y/o gestionar las novedades de vacaciones extemporáneas de
los trabajadores, no olvides,\"El\n respeto y la\n empatiá son clave\"

\n
\n\n\n \n Filtrar por fecha\n \n \n \n \n \n \n \n \n Filtrar por identificación\n \n \n {{item.key}}\n \n \n\n \n Filtrar por estado\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n\n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n \n Fecha {{element.fechaSolicitud | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}}Tipo de vacaciones{{element.vacationsType}} Estado{{element.noveltyState}} Campaña{{element.campaignName}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n\n
\n\n\n
\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'time'\n})\nexport class TimePipe implements PipeTransform {\n\n transform(value: string, ...args: unknown[]): string {\n\n let str =value;\n str = str.replace(':', '');\n str = str.replace(':', '');\n str = str.replace(':', '');\n console.log(str);\n\n let arr = str.split('');\n let toal_r = arr.length;\n if (toal_r>6){ toal_r=6; } // Si supera los 6 caracteres , limitamos\n //Llenamos los numeros de la derecha\n for (let i = 1; i <=(6-toal_r); i++) {\n str = str+'0';\n }\n\n console.log(str);\n arr = str.split('');\n\n let text = \"\";\n //formateamos el texto, lo maximo son 6 caracteres HH:MM:SS\n for (let i = 1; i <= 6; i++) {\n text = text+''+arr[i-1];\n if ( (i%2)==0 ) {\n if (i<6) { text = text+':'; } \n } \n } \n\n return text;\n \n\n }\n\n /*\n\n\n let newValue:string = '';\n if (value.length >= 4) {\n if (value.length == 6) {\n Array.from(value).forEach((numero, index) => {\n newValue = newValue + numero\n if (index == 1) {\n newValue = newValue + ':'\n }\n });\n return newValue;\n }else if (value.length == 4) {\n Array.from(value).forEach((numero, index) => {\n newValue = newValue + numero\n if (index == 1) {\n newValue = newValue + ':'\n }\n });\n return newValue+':00';\n }\n }else{\n return value;\n }\n\n */\n\n}\n","import { Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { VicidialService } from '../vicidial-voz/services/vicidial.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { interval } from 'rxjs';\nimport { delay } from 'rxjs/operators';\nimport { DestroyComponentService } from '../../core/services/utils/destroy-component.service';\n\n@Component({\n selector: 'app-vicidial-dashboard',\n templateUrl: './vicidial-dashboard.component.html',\n styleUrls: ['./vicidial-dashboard.component.sass'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class VicidialDashboardComponent implements OnInit {\n\n data;\n formId;\n campaignId;\n subscribeInterval;\n\n constructor(private location: Location,\n public vicidialService: VicidialService,\n private activatedRoute: ActivatedRoute,\n private destroyService: DestroyComponentService) {\n this.formId = this.activatedRoute.snapshot.paramMap.get('formId');\n this.campaignId = this.activatedRoute.snapshot.paramMap.get('campaignId');\n }\n\n ngOnInit(): void {\n this.getRealTimereport();\n }\n\n getRealTimereport(){\n const params = {\n formsId: this.formId,\n campaignId: this.campaignId\n };\n\n this.vicidialService.getRealTimeReports(params).subscribe( (resp: any) => {\n this.data = resp.data;\n this.data = this.data.replaceAll('images/', 'assets/images/');\n });\n\n const source = interval(10000);\n this.subscribeInterval = source.subscribe(val => {\n this.vicidialService.getRealTimeReports(params).subscribe( (resp: any) => {\n this.data = resp.data;\n this.data = this.data.replaceAll('images/', 'assets/images/');\n });\n });\n }\n\n backRoute(){\n this.subscribeInterval.unsubscribe();\n this.location.back();\n }\n\n OnDestroy(){\n this.subscribeInterval.unsubscribe();\n this.destroyService.destroyComponent();\n }\n\n}\n","
\n
\n \n
\n

Formulario:

\n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { SharedModule } from '../../../../shared/shared.module';\n\n\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n SharedModule\n ],\n exports: [\n \n ]\n})\nexport class UsersModule { }\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatAutocomplete } from '@angular/material/autocomplete';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/auditoria/services/matriz.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\n\n@Component({\n selector: 'app-editar-matriz',\n templateUrl: './editar-matriz.component.html',\n styleUrls: ['./editar-matriz.component.sass']\n})\nexport class EditarMatrizComponent implements OnInit {\n\n matrixForm:FormGroup;\n tiposMatrices = [];\n inteligencias = [];\n rangos = [];\n tipos_peso = [];\n campaigns = [];\n filteredOptionsCampaign: Observable;\n crm_id;\n @ViewChild('campaignAuto', { read: MatAutocomplete }) campaignAuto:MatAutocomplete;\n constructor(\n public matrizRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private fb:FormBuilder,\n private matrizService:MatrizService,\n ) { }\n\n ngOnInit(): void {\n this.createForm();\n this.getMatrixById();\n this.getSelects();\n }\n\n \n\n createForm(){\n this.matrixForm = this.fb.group({\n nombre: [{value:'',disabled:true},[Validators.required]],\n tipo_matriz_id: [{value:'',disabled:true},Validators.required],\n rango_id: [{value:'',disabled:true},Validators.required],\n tipo_peso_id: [{value:'',disabled:true},Validators.required],\n campania_asociada: ['',Validators.required],\n crm_id: ['',Validators.required],\n aplicar_inteligenciaNegocio: ['',Validators.required],\n inteligenciaNegocio_id: ['',Validators.required],\n isRetentionMatrix: [0, Validators.required],\n showFieldDuration: [0, Validators.required]\n })\n }\n\n getMatrixById(){\n this.matrizService.getMatrixById(this.datos.id_matriz).subscribe((resp:any)=>{\n this.matrixForm.get('nombre').setValue(resp[0].matriz.nombre);\n this.matrixForm.get('tipo_matriz_id').setValue(resp[0].matriz.tipo_matriz_id);\n this.matrixForm.get('crm_id').setValue(resp[0].matriz.crm_id);\n if (resp[0].matriz.rango) {\n this.matrixForm.get('rango_id').setValue(resp[0].matriz.rango_total_id);\n }else{\n this.matrixForm.get('rango_id').setValue('');\n }\n this.matrixForm.get('tipo_peso_id').setValue(resp[0].matriz.tipo_peso_id);\n this.matrixForm.get('campania_asociada').setValue(resp[0].matriz.asociacion_crm);\n this.matrixForm.get('aplicar_inteligenciaNegocio').setValue(resp[0].matriz.tiene_inteligenciaNegocio);\n this.matrixForm.get('inteligenciaNegocio_id').setValue(resp[0].matriz.inteligenciaNegocio_id);\n this.matrixForm.get('isRetentionMatrix').setValue(resp[0].matriz.is_retencion_matrix);\n this.matrixForm.get('showFieldDuration').setValue(resp[0].matriz.showFieldDuration);\n });\n }\n\n getSelects(){\n this.matrizService.getTypeMatrix().subscribe((resp:any)=>{\n this.tiposMatrices = resp\n });\n\n this.matrizService.getIntelligence().subscribe((resp:any)=>{\n this.inteligencias = resp;\n });\n\n this.matrizService.getRange().subscribe((resp:any)=>{\n this.rangos = resp;\n })\n\n this.matrizService.getWeight().subscribe((resp:any)=>{\n resp.forEach(tipo => {\n if (tipo.nombre === \"Peso en Items\") {\n tipo.nombre = 'Peso en Ítems';\n }\n });\n this.tipos_peso = resp;\n })\n\n this.matrizService.getCampaings().subscribe((resp:any)=>{\n this.campaigns = resp.data;\n });\n\n }\n\n private _filterCampaign(name: any): any[] {\n const filterValueCampaign = name.toLowerCase();\n return this.campaigns.filter(option => option.name.toLowerCase().includes(filterValueCampaign));\n }\n\n displayFnCampaign(campaign: any): string{\n return campaign && campaign.name ? campaign.name : '';\n }\n\n changeSelect(){\n\n if (this.matrixForm.get('campania_asociada').value == 1) {\n this.matrixForm.get('crm_id').enable();\n }else{\n this.matrixForm.get('crm_id').disable();\n this.matrixForm.get('crm_id').setValue(null);\n }\n \n if (this.matrixForm.get('aplicar_inteligenciaNegocio').value == 0) {\n this.matrixForm.get('inteligenciaNegocio_id').disable();\n this.matrixForm.get('inteligenciaNegocio_id').setValue(null);\n }else{\n this.matrixForm.get('inteligenciaNegocio_id').enable();\n }\n }\n\n update(){\n if (this.matrixForm.get('tipo_matriz_id').value == 1) {\n this.matrixForm.get('rango_id').disable();\n this.matrixForm.get('tipo_peso_id').disable();\n }else{\n this.matrixForm.get('rango_id').enable();\n this.matrixForm.get('tipo_peso_id').enable();\n }\n\n if (this.matrixForm.get('campania_asociada').value == 1) {\n this.matrixForm.get('crm_id').enable();\n }else{\n this.matrixForm.get('crm_id').disable();\n }\n \n if (this.matrixForm.get('aplicar_inteligenciaNegocio').value == false) {\n this.matrixForm.get('inteligenciaNegocio_id').disable();\n }else{\n this.matrixForm.get('inteligenciaNegocio_id').enable();\n }\n if (this.matrixForm.invalid) {\n return\n }\n this.matrixForm.addControl('grupo',new FormControl(1))\n this.matrixForm.enable();\n this.matrizService.updateMatrix(this.datos.id_matriz,this.matrixForm.value).subscribe((resp:any)=>{\n this.matrixForm.disable();\n if (resp.respuesta.codigo == 202) { \n Tools.swalSuccess('¡Excelente!','Se ha actualizado la matriz correctamente.');\n this.matrizRef.close();\n }\n });\n }\n\n}\n","\n
\n

Editar matriz

\n \n
\n \n Nombre matriz\n \n \n \n Tipo de matriz\n \n {{tipo.nombre}}\n \n \n \n Rango del peso\n \n {{rango.nombre}}\n \n \n \n ¿Peso en módulo o en ítems?\n \n {{peso.nombre}}\n \n \n \n Campaña asociada\n \n Si\n No\n \n \n \n Seleccionar CRM\n \n {{campaign.name}}\n \n \n \n Aplicar inteligencia de Negocio\n \n Si\n No\n \n \n \n Seleccione Inteligencia de N.\n \n {{inteligencia.name}}\n \n \n \n ¿Es una matriz de retención?\n \n Si\n No\n \n Por favor seleccione una opción\n \n \n ¿Ver campo de duración?\n \n Si\n No\n \n Por favor seleccione una opción\n \n
\n \n
\n \n \n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-new-message',\n templateUrl: './new-message.component.html',\n styleUrls: ['./new-message.component.css']\n})\nexport class NewMessageComponent implements OnInit {\n typeManagerMessage: string = 'Enviar';\n constructor(\n private matDialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n ngOnInit(): void {\n if (this.data.email !== null) this.typeManagerMessage = 'Enviar borrador';\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que es llamado cuando se envia un correo desde el componente hijo.\n * @param $event Evento emitido por el componente hijo. \n */\n onCloseDialogWhenSubmitMessage($event: any): void {\n this.matDialogRef.close($event);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-15\n * Metodo que es llamado cuando no se quiere guardar un correo en borradores.\n */\n onClickCancelButton(): void {\n this.matDialogRef.close();\n }\n}","
\n
\n {{ data?.email === null ? 'Nuevo mensaje' : 'Nuevo mensaje (borrador)' }}\n
\n
\n \n
\n
\n
\n \n
","import { Component, OnInit } from '@angular/core';\nimport { UsersService } from '../../../services/users.service';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { AuthService } from '../../../../../core/services/rest/auth.service';\nimport {Location} from '@angular/common';\n\n\n\n@Component({\n selector: 'app-cv',\n templateUrl: './cv.component.html',\n styleUrls: ['./cv.component.sass']\n})\nexport class CvComponent implements OnInit {\n panelOpenState = false;\n isEdit= false\n candidate:any = null;\n healthForm = this.fb.group({\n smoking:[null,Validators.required],\n alcohol:[null,Validators.required],\n psychoactive_substances:[null,Validators.required],\n training:[null,Validators.required],\n work_accident_history:[null,Validators.required], \n occupational_disease_history:[null,Validators.required],\n personal_pathological_history:[null,Validators.required],\n mental_health_history:[null,Validators.required],\n })\n\n smokingOptions:any = SMOKING_OPTIONS;\n alcoholOptions:any = ALCOHOL_OPTIONS;\n psychoactiveSubstancesOptions:any = PSYCHOACTIVE_SUBSTANCES_OPTIONS;\n trainingOptions:any =TRAINING_OPTIONS;\n historyOfAccidentsAtWorkOptions:any = HISTORY_OF_ACCIDENTS_AT_WORK_OPTIONS;\n backgroundOccupationalDiseasesOptions:any = BACKGROUND_OCCUPATIONAL_DISEASES_OPTIONS;\n backgroundMentalOptions: any = BACKGROUND_MENTAL_OPTIONS\n\n\n\n constructor(private userServices:UsersService,private fb:FormBuilder,private candidateServices:CandidatesService,\n private alertService:AlertsService,private auth:AuthService, private _location: Location,\n ) {\n }\n\n ngOnInit(): void {\n this.getData();\n }\n backClicked() {\n this._location.back();\n }\n\n getData() {\n this.userServices.getCVUserLoggued().subscribe( (resp:any) => {\n this.candidate = resp;\n if(this.healthForm != null) this.healthForm.patchValue(resp.health_info);\n \n });\n }\n editData(){\n this.isEdit = true\n }\n saveHealt(){\n this.candidateServices.createJsonCandidate(this.candidate.id, 'health_info', JSON.stringify(this.healthForm.value) ).subscribe(e => {\n this.alertService.alertSuccess('¡Hecho!','Información guardada con éxito');\n });\n }\n editPerson(event){\n // this.candidateServices.createJsonCandidate(this.candidate.id, 'personal_data', event.personal_data).subscribe(e => {\n // this.alertService.alertSuccess('¡Excelente!','El documento se ha cargado satisfactoriamente');\n // });\n }\n}\nconst SMOKING_OPTIONS = ['No Fuma','1 a 4 Diarios','5 a 11 Diarios','11 a 15 Diarios'];\nconst ALCOHOL_OPTIONS = ['Diario','Semanal','Quincenal','Mensual','Ocasional','Nunca'];\nconst PSYCHOACTIVE_SUBSTANCES_OPTIONS = ['Nunca','Semanal','Mensual','Suspendido','Semestral','Mayor a un año'];\nconst TRAINING_OPTIONS = ['Diario','Semanal','Quincenal','Mensual','Ocasional','Nunca'];\nconst HISTORY_OF_ACCIDENTS_AT_WORK_OPTIONS = ['Si','No'];\nconst BACKGROUND_OCCUPATIONAL_DISEASES_OPTIONS = ['Si','No'];\nconst BACKGROUND_MENTAL_OPTIONS = ['Ninguno','Depresion','Ansiedad', 'Otro'];\n","
\n \n
\n

Hoja de Vida

\n

En esta sección podrás vistualizar todo los correspondiente a tu hoja de vida

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

Condición Médica

\n
\n
\n
\n
\n Tabaquismo\n

{{healthForm.value.smoking}}

\n
\n
\n Alcohol\n

{{healthForm.value.Alcohol}}

\n
\n
\n Sustancias Psicoactivas\n

{{healthForm.value.psychoactive_substances}}

\n
\n
\n Ejercicio\n

{{healthForm.value.training}}

\n
\n
\n Antecedentes de accidentes de trabajo\n

{{healthForm.value.work_accident_history}}

\n
\n
\n Antecedentes de enfermedades laborales\n

{{healthForm.value.occupational_disease_history}}

\n
\n
\n Antecedentes de salud mental\n

{{healthForm.value.mental_health_history}}

\n
\n
\n Antecedentes patologicos personales\n

{{healthForm.value.personal_pathological_history}}

\n
\n
\n
\n
\n \n Tabaquismo\n \n {{opt}}\n \n \n \n Alcohol\n \n {{row}}\n \n \n \n Sustancias Psicoactivas\n \n {{row}}\n \n \n \n Ejercicio\n \n {{row}}\n \n \n \n Antecedentes de accidentes de trabajo\n \n {{row}}\n \n \n \n Antecedentes de enfermedades laborales\n \n {{row}}\n \n \n \n Antecedentes de salud mental\n \n {{row}}\n \n \n \n ¿Cuál?\n \n \n \n Antecedentes patologicos personales\n \n \n
\n
\n \n \n
\n\n
\n \n
\n\n
\n\n\n\n\n\n\n
\n\n
","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { throwError, Observable } from 'rxjs';\nimport { retry, catchError } from 'rxjs/operators';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from '../../../../environments/environment';\n\nconst url = environment.BPMS_URL;\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class RequestsService {\n\n usuario;\n\n constructor(private http: HttpClient,\n private authService: AuthService) {\n this.usuario = this.authService.getUser();\n }\n\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n };\n\n handleError(error: HttpErrorResponse) {\n return throwError(error);\n }\n\n consultarTipoFormulario(tipo, cargo): Observable {\n return this.http.get(`${url}typeRequest/${tipo}/?cargo=${cargo}&userId=${this.usuario.rrhh_id}`, this.httpOptions)\n .pipe(retry(2), catchError(this.handleError));\n }\n\n consultarSeguimientoSolicitud(id): Observable {\n return this.http.get(`${url}request/details/${id}?userId=${this.usuario.rrhh_id}`, this.httpOptions)\n .pipe(retry(2), catchError(this.handleError));\n }\n\n guardarFormulario(formulario: any): Observable {\n return this.http.post(`${url}request?userId=${this.usuario.rrhh_id}`, formulario, this.httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n consultarTipoSolicitud(): Observable {\n return this.http.get(`${url}typerequests?userId=${this.usuario.rrhh_id}`, this.httpOptions)\n .pipe(retry(2), catchError(this.handleError));\n }\n\n consultarCampaings(currentPage, stateId?, name?): Observable {\n return this.http.get(`${url}requests/campaings?page=${currentPage}&stateId=${stateId}&userId=${this.usuario.rrhh_id}&name=${name}`, this.httpOptions)\n .pipe(retry(2), catchError(this.handleError));\n }\n\n getRequestsCampaign(id, page, stateId?, name?): Observable {\n return this.http.get(`${url}requests/campaing/${id}?page=${page}&stateId=${stateId}&userId=${this.usuario.rrhh_id}&name=${name}`, this.httpOptions)\n .pipe(retry(2), catchError(this.handleError));\n }\n\n consultarSolicitud(): Observable {\n return this.http.get(`${url}Solicitud?userId=${this.usuario.rrhh_id}`, this.httpOptions)\n .pipe(retry(2), catchError(this.handleError));\n }\n\n consultarSolicitudEditar(id) {\n return this.http.get(`${url}request/${id}?userId=${this.usuario.rrhh_id}`, this.httpOptions)\n .pipe(retry(2), catchError(this.handleError));\n }\n\n getAllCampaigns(){\n return this.http.get(`${url}campaings?userId=${this.usuario.rrhh_id}`, this.httpOptions)\n .pipe(retry(2), catchError(this.handleError));\n }\n\n editarSolicitud(id, formulario) {\n return this.http.put(`${url}request/${id}?userId=${this.usuario.rrhh_id}`, formulario, this.httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n cancelarSolicitud(id, observacion) {\n return this.http.put(`${url}request/cancel/${id}?userId=${this.usuario.rrhh_id}`, observacion, this.httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n consultarKPIS() {\n return this.http.get(`${url}kpis?userId=${this.usuario.rrhh_id}`, this.httpOptions)\n .pipe(retry(2), catchError(this.handleError));\n }\n\n appovalRequest(requestId: number, params: any) {\n return this.http.post(`${url}approval/${requestId}?userId=${this.usuario.rrhh_id}`, params, this.httpOptions)\n .pipe( retry(2),catchError(this.handleError));\n }\n\n asignarReclutador(requestId: number, params: number) {\n return this.http.post(`${url}approval/${requestId}?userId=${this.usuario.rrhh_id}`, params, this.httpOptions)\n .pipe( retry(2), catchError(this.handleError));\n }\n getRequestStates(){\n return this.http.get(`${url}states/requests`);\n }\n setCommenty(entries){\n entries['userId'] = this.usuario.rrhh_id;\n return this.http.post(`${url}comentary/candidate`, entries, this.httpOptions)\n .pipe( retry(2), catchError(this.handleError));\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MailService } from '../../../services/rest/mail.service';\nimport { ViewMailComponent } from '../view-mail/view-mail.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\nimport { ManageEmailComponent } from '../manage-email/manage-email.component';\nimport { NewEmailComponent } from '../new-email/new-email.component';\n\n\n@Component({\n selector: 'app-admin-email',\n templateUrl: './admin-email.component.html',\n styleUrls: ['./admin-email.component.sass']\n})\nexport class AdminEmailComponent implements OnInit {\n\n // MatPaginator Inputs\n lengthC;\n lengthH;\n lengthM;\n lengthE;\n lengthB;\n pageSizeM = 5;\n pageM = 1;\n pageSizeC = 5;\n pageC = 1;\n pageSizeH = 5;\n pageH = 1;\n pageSizeE = 5;\n pageE = 1;\n pageSizeB = 5;\n pageB = 1;\n\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n mailActivos: any;\n cantidadActivos: number;\n mailCola: any;\n cantidadCola: number;\n mailHistorico: any;\n cantidadHistorico: number;\n mailEnviados: any;\n cantidadEnviados: number;\n mailBuscados: any;\n cantidadBuscados: number;\n\n filterForm: FormGroup;\n\n public advancedFilters: boolean = true;\n message: string;\n\n constructor(public mailService: MailService,\n public dialog: MatDialog,\n private form: FormBuilder,\n public datePipe: DatePipe,\n private alertsService: AlertsService) { }\n\n ngOnInit(): void {\n\n this.getMailCola(this.pageSizeC, this.pageC);\n this.getMailHistoricos(this.pageSizeH, this.pageH);\n this.getMailMios(this.pageSizeM, this.pageM);\n this.getEnviados(this.pageSizeE, this.pageE);\n this.getBusqueda(this.pageSizeB, this.pageB, null);\n this.showButtonMessage();\n this.formControl();\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que inicia los controles de los formularios\n */\n formControl(): void{\n\n this.filterForm = this.form.group({\n de: new FormControl('', [Validators.email]),\n para: new FormControl('', [Validators.email]),\n cuerpo: new FormControl('', []),\n asunto: new FormControl('', []),\n fechaDesde: new FormControl('', []),\n fechaHasta: new FormControl('', []),\n });\n\n }\n\n get errorFilter(): any { return this.filterForm.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que trae los datos para la grilla de correos\n * @param size\n * @param page\n */\n getMailMios(size: number, page: number): void{\n this.mailService.getActivos(size, page).subscribe((resp) => {\n if(resp){\n this.mailActivos = resp.data;\n this.cantidadActivos = resp.total;\n this.lengthM = resp.total;\n this.pageSizeM = resp.per_page;\n }\n });\n }\n\n getMailCola(size: number, page: number): void{\n this.mailService.getCola(size, page).subscribe((resp) => {\n if(resp){\n this.mailCola = resp.data;\n this.cantidadCola = resp.total;\n this.lengthC = resp.total;\n this.pageSizeC = resp.per_page;\n }\n });\n }\n\n getMailHistoricos(size: number, page: number): void{\n\n this.mailService.getHistoricos(size, page).subscribe((resp) => {\n if(resp){\n this.mailHistorico = resp.data;\n this.cantidadHistorico = resp.total;\n this.lengthH = resp.total;\n this.pageSizeH = resp.per_page;\n }\n });\n\n }\n\n getEnviados(size: number, page: number): void{\n\n this.mailService.getEnviados(size, page).subscribe((resp) => {\n this.mailEnviados = resp.data;\n this.cantidadEnviados = resp.total;\n this.lengthE = resp.total;\n this.pageSizeE = resp.per_page;\n });\n\n }\n\n getBusqueda(size: number, page: number, form: FormData): void{\n\n this.mailService.Busqueda(size, page, form).subscribe((resp) => {\n this.mailBuscados = resp.data;\n this.cantidadBuscados = resp.total;\n this.lengthB = resp.total;\n this.pageSizeB = resp.per_page;\n });\n\n }\n\n filter(mailfilter): void{\n\n const filter = new FormData();\n\n filter.append( 'de', mailfilter.value.de ? mailfilter.value.de : '');\n filter.append( 'para', mailfilter.value.para ? mailfilter.value.para : '');\n filter.append( 'asunto', mailfilter.value.asunto ? mailfilter.value.asunto : '' );\n filter.append( 'cuerpo', mailfilter.value.cuerpo ? mailfilter.value.cuerpo : '' );\n filter.append( 'fechaDesde', this.datePipe.transform(mailfilter.value.fechaDesde, 'yyyy-MM-dd', 'es-ES') ? this.datePipe.transform(mailfilter.value.fechaDesde, 'yyyy-MM-dd', 'es-ES') : '');\n filter.append( 'fechaHasta', this.datePipe.transform(mailfilter.value.fechaHasta, 'yyyy-MM-dd', 'es-ES') ? this.datePipe.transform(mailfilter.value.fechaHasta, 'yyyy-MM-dd', 'es-ES') : '');\n\n this.mailService.Busqueda(this.pageSizeB, this.pageB, filter).subscribe((resp) => {\n this.mailBuscados = resp.data;\n this.cantidadBuscados = resp.total;\n this.lengthB = resp.total;\n this.pageSizeB = resp.per_page;\n });\n\n }\n\n showButtonMessage(): void {\n this.advancedFilters = !this.advancedFilters;\n if (!this.advancedFilters) {\n this.getBusqueda(this.pageSizeB, this.pageB, null);\n this.message = 'Activar Filtros';\n } else {\n this.message = 'Desactivar Filtros';\n }\n }\n\n\n dateDiff(correo: any, prioridad, email?: any): boolean {\n\n let currentDate: any = new Date();\n let diferencia = 0;\n\n if (correo === undefined) {\n let fechaCreacion: any = new Date(email.fechaHora);\n diferencia = Math.round(Math.abs(currentDate - fechaCreacion) / 36e5);\n } else {\n let fechaCreacion: any = new Date(correo.created_at);\n if (correo.fechaGestion === null){\n diferencia = Math.round(Math.abs(currentDate - fechaCreacion) / 36e5);\n } else {\n let fechaModificacion: any = new Date(correo.updated_at);\n diferencia = Math.round(Math.abs(fechaModificacion - fechaCreacion) / 36e5);\n }\n }\n\n if (diferencia <= 2 && prioridad === 1) {\n return true;\n } else if ( diferencia > 2 && diferencia <= 4 && prioridad === 2) {\n return true;\n } else if ( diferencia > 4 && prioridad === 3){\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que se encarga del paginador al momento de cambiar de pagina\n * @param event evento que trae la pagina a listar\n */\n pageEventC(event: any): void {\n\n this.pageSizeC = event.pageSize;\n this.pageC = event.pageIndex + 1;\n this.getMailCola(this.pageSizeC, this.pageC);\n\n }\n\n pageEventH(event: any): void {\n\n this.pageSizeH = event.pageSize;\n this.pageH = event.pageIndex + 1;\n this.getMailHistoricos(this.pageSizeH, this.pageH);\n\n }\n\n pageEventM(event: any): void {\n\n this.pageSizeM = event.pageSize;\n this.pageM = event.pageIndex + 1;\n this.getMailMios(this.pageSizeM, this.pageM);\n\n }\n\n pageEventE(event: any): void {\n\n this.pageSizeE = event.pageSize;\n this.pageE = event.pageIndex + 1;\n this.getEnviados(this.pageSizeE, this.pageE);\n\n }\n\n pageEventB(event: any): void {\n\n this.pageSizeB = event.pageSize;\n this.pageB = event.pageIndex + 1;\n this.getBusqueda(this.pageSizeB, this.pageB, null);\n\n }\n\n viewMail(data: any, menu): void{\n const dialogViewMail = this.dialog.open(ViewMailComponent, {\n width: '100%',\n disableClose: true,\n maxHeight: '85vh',\n data: {\n type: 'viewMail',\n title: 'Visualizar Correo',\n data,\n menu\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogViewMail.afterClosed().subscribe(() => {\n\n });\n\n }\n\n manageMail(data: any): void{\n\n const dialogManageMail = this.dialog.open(ManageEmailComponent, {\n width: '100%',\n disableClose: true,\n maxHeight: '85vh',\n data: {\n type: 'manageMail',\n title: 'Gestion Correo',\n data\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogManageMail.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n\n }\n\n nuevoCorreo(): void {\n const dialogNewMail = this.dialog.open(NewEmailComponent, {\n width: '100%',\n disableClose: true,\n maxHeight: '85vh',\n data: {\n type: 'newMail',\n title: 'Gestion Correo',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewMail.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n\n }\n\n actualizar(): void {\n\n const actualizar = new FormData();\n\n this.mailService.Actualizar(actualizar).subscribe((resp) => {\n if ( resp.id === 200){\n this.ngOnInit();\n }\n });\n }\n\n asignacion(idMail: any): void {\n\n const asigna = new FormData();\n\n asigna.append( 'emailId', idMail);\n\n const value = this.alertsService.alertConfirm('¿Desea asignarse este email?');\n value.then((result) => {\n if (result.isConfirmed) {\n this.mailService.Asignar(asigna).subscribe((resp) => {\n this.ngOnInit();\n });\n }\n });\n\n }\n\n devolverBandeja(idMail: any): void {\n\n const asigna = new FormData();\n\n asigna.append( 'emailId', idMail);\n\n const value = this.alertsService.alertConfirm('¿Desea devolver este email a la bandeja?');\n value.then((result) => {\n if (result.isConfirmed) {\n this.mailService.devolverBandeja(asigna).subscribe((resp) => {\n this.ngOnInit();\n });\n }\n });\n\n }\n\n descartar(idMail: any): void {\n\n const asigna = new FormData();\n\n asigna.append( 'emailId', idMail);\n\n const value = this.alertsService.alertConfirm('¿Desea sacar este email de la cola?');\n value.then((result) => {\n if (result.isConfirmed) {\n this.mailService.VolverHistorico(asigna).subscribe((resp) => {\n this.ngOnInit();\n });\n }\n });\n\n }\n\n\n devolver(idMail: any): void {\n\n const asigna = new FormData();\n\n asigna.append( 'emailId', idMail);\n\n const value = this.alertsService.alertConfirm('¿Desea incluir este email de la cola?');\n value.then((result) => {\n if (result.isConfirmed) {\n this.mailService.VolverCola(asigna).subscribe((resp) => {\n this.ngOnInit();\n });\n }\n });\n\n }\n\n}","
\n \n \n \n \n
\n
\n

Email

\n

Bienvenido a tu bandeja de correos

\n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n \n \n \n \n \n
\n \n \n
\n
\n
\n
\n
\n \n
{{mail.email.de}}
{{ (mail.email.asunto.length>50)? (mail.asunto | slice:0:50)+' ...':(mail.email.asunto) }}
\n \n
{{mail.email.cantidadAdjuntos}}\n \n Fecha: {{mail.email.fechaHora | date}}\n
\n \n
\n \n
\n \n
\n \n
\n
\n \n \n \n \n
\n \n \n \n \n
\n \n \n
\n
\n
\n
\n
\n \n
{{mail.de}}
{{ (mail.asunto.length>50)? (mail.asunto | slice:0:50)+' ...':(mail.asunto) }}
\n \n
{{mail.cantidadAdjuntos}}\n \n Fecha: {{mail.fechaHora | date}}\n
\n \n
\n \n \n
\n \n
\n \n
\n
\n \n \n \n \n \n
\n \n \n \n \n
\n \n \n
\n
\n
\n
\n
\n \n
{{mail.de}}
{{ (mail.asunto.length>50)? (mail.asunto | slice:0:50)+' ...':(mail.asunto) }}
\n \n
{{mail.cantidadAdjuntos}}\n \n Fecha: {{mail.fechaHora | date}}\n
\n \n
\n \n
\n \n
\n \n
\n
\n \n \n \n \n
\n \n \n \n \n \n
\n \n \n
\n
\n \n
{{mail.de}}
{{ (mail.asunto.length>50)? (mail.asunto | slice:0:50)+' ...':(mail.asunto) }}
\n \n
\n
\n \n
\n Fecha: {{mail.created_at | date}}\n
\n \n
\n \n
\n
\n \n \n \n \n
\n \n \n \n
\n \n
\n \n
\n \n \n De\n \n Formato de correo no valido\n \n \n \n Para\n \n Formato de correo no valido\n \n \n \n Asunto\n \n \n \n \n Fecha Desde\n \n \n \n No estas incluyendo una fecha\n \n \n \n Fecha Hasta\n \n \n \n No estas incluyendo una fecha\n \n \n \n Cuerpo\n \n \n \n
\n \n
\n
\n
\n \n
\n \n
\n \n \n
\n \n \n
\n
\n \n
{{mail.de}}
{{ (mail.asunto.length>50)? (mail.asunto | slice:0:50)+' ...':(mail.asunto) }}
\n \n
\n
\n \n
{{mail.cantidadAdjuntos}}\n \n Fecha: {{mail.created_at | date}}\n
\n \n
\n \n
\n
\n \n \n \n \n
\n \n
\n \n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, FormArray, ValidationErrors, AbstractControl } from '@angular/forms';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport {MAT_DIALOG_DATA, MatDialog} from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { leadingComment } from '@angular/compiler';\nimport { saveAs as importedSaveAs } from \"file-saver\";\nimport { DynamicFormServiceService } from 'src/app/core/services/rest/dynamic-form-service.service';\nimport { environment } from 'src/environments/environment';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { KindAccountService } from '../../../services/kindAccount.service';\nimport { NominaService } from '../../../../soul_bi/services/nomina.service';\nimport { map, startWith, timeout } from 'rxjs/operators';\nimport { isObject } from 'util';\nimport { Observable } from 'rxjs';\nimport {AddressFormComponent} from \"../address-form/address-form.component\";\n\n@Component({\n selector: 'app-candidate-edit',\n templateUrl: './candidate-edit.component.html',\n styleUrls: ['./candidate-edit.component.sass']\n})\nexport class CandidateEditComponent implements OnInit {\n\n civilStates = [\n {\n id: 1,\n name: 'Soltera(o)'\n },\n {\n id: 2,\n name: 'Casada(o)'\n },\n {\n id: 3,\n name: 'Unión libre'\n },\n {\n id: 4,\n name: 'Separada(o)'\n },\n {\n id: 5,\n name: 'Divorciada(o)'\n },\n {\n id: 6,\n name: 'Religiosa(o)'\n },\n {\n id: 7,\n name: 'No definida(o)'\n },\n {\n id: 8,\n name: 'Viuda(o)'\n },\n {\n id: 9,\n name: 'Indifernte'\n }\n ];\n\n displayedColumnsWorkExperiencies: string[] = ['actions','company_name', 'position_hired', 'boss_name', 'boss_mobile_phone', 'start_date', 'end_date'];\n displayedColumnsStudies: string[] = ['actions','education_level', 'institution', 'obtained_title', 'study_city', 'finish_date', 'periods_completed'];\n displayedColumnsFamily: string[] = ['actions','first_name', 'last_name', 'id_document_number', 'education_level', 'relationship', 'profession'];\n displayedPersonalReference: string[] = ['actions','first_name', 'last_name', 'relationship', 'mobile_phone', 'city', 'occupation' ];\n displayedColumnsDocuments = ['actions','file','state'];\n dataSourceWorkExperiences: MatTableDataSource;\n dataSourceStudies: MatTableDataSource;\n dataSourceFamilyGoup: MatTableDataSource;\n dataSourceReferences: MatTableDataSource;\n dataSourceDocuments: MatTableDataSource;\n\n isLinear = false;\n basicFormGroup: FormGroup;\n firstFormGroup: FormGroup;\n secondFormGroup: FormGroup;\n thirdFormGroup: FormGroup;\n fourthFormGroup: FormGroup;\n fifthFormGroup: FormGroup;\n sixthFormGroup: FormGroup;\n\n\n workExperiencies = [];\n studies = [];\n familyGroup = [];\n personalReferences = [];\n techTools = [];\n\n documents = [];\n identity_document: any = [];\n personal_reference: any = [];\n academic_reference: any = [];\n job_reference: any = [];\n adres_certified: any = [];\n ruaf_certified: any = [];\n bank_certified: any = [];\n photo: any = [];\n\n isEditable = true;\n data = [];\n candidateId;\n candidate;\n stepTouched = false;\n idTypes: any;\n typeData = ['basic_data', 'personal_data', 'jobs_references', 'education', 'group_family', 'personal_references', 'tech_tools', 'documents'];\n step = 'basic_data';\n now = new Date();\n documentsCandidate;\n children:FormArray;\n keyType: string;\n idDocumentType: number;\n state: any;\n epsData;\n pensionesData;\n bankData;\n currentEps;\n currentPens;\n kindAccountList;\n currentkindAccount;\n currentBank;\n campaignsData: any[] = [];\n //Otro género y nombre identitario\n show_other_field:boolean\n show_identity_name_field:boolean\n\n // READONLY\n read_only_city_document_id:boolean=true;\n read_only_nationality:boolean=true;\n read_only_blood_type:boolean=true;\n read_only_rh:boolean=true;\n filteredOptions: Observable;\n\n\n constructor(private formBuilder: FormBuilder,\n private serviceCandidate: CandidatesService,\n private activatedRoute: ActivatedRoute,\n private snack: MatSnackBar,\n private alertsService : AlertsService,\n private dynamicService : DynamicFormServiceService,\n private kindAccountService : KindAccountService,\n @Inject(MAT_DIALOG_DATA) public id: any,\n public dialog: MatDialog,\n private NominaService:NominaService) {\n this.candidateId = id.candidateId;\n }\n\n ngOnInit(): void {\n setTimeout(res =>{this.getTypes()},1000);\n this.getTypes();\n this.getBasicData();\n this.runValidations();\n this.basicFormGroup.controls['id_type_id'].valueChanges.subscribe(resp => {\n this.idDocumentType = resp\n });\n this.getOptions('caja_de_pensiones');\n this.getOptions('eps');\n this.getOptions('banco');\n this.getKindAccounts();\n this.NominaService.getCampaings().subscribe(resp => {\n this.campaignsData = resp;\n this.filteredOptions = this.basicFormGroup.controls['cost_center'].valueChanges.pipe(\n startWith(''),\n map((value) => this._filter(value) )\n );\n });\n\n\n\n }\n\n getBasicData(){\n this.serviceCandidate.getCandidate(this.candidateId).subscribe( (resp: any) => {\n this.candidate = resp;\n console.log(this.candidate);\n this.candidate.birth_date = new Date (resp.birth_date);\n this.basicFormGroup.patchValue(this.candidate);\n this.state = resp.state.key;\n\n\n });\n }\n\n runValidations(){\n this.firstFormGroup = this.formBuilder.group({\n age:['', [Validators.required]],\n city_document_id: ['', [Validators.required, Validators.maxLength(20)]],\n expedition_date_id: ['', [Validators.required]],\n nationality: ['', [Validators.required, Validators.maxLength(20)]],\n alias: ['', [Validators.required, Validators.maxLength(20)]],\n place_of_birth: ['', [Validators.required, Validators.maxLength(20)]],\n social_group:[''],\n city_of_residence: ['', [Validators.required, Validators.maxLength(20)]],\n adress: ['', Validators.required],\n location:['', Validators.required],\n neighborhood: ['', [Validators.required, Validators.maxLength(20)]],\n stratum:['', Validators.required],\n housing_type: ['', Validators.required],\n gender: ['', Validators.required],\n other_gender: ['', []],\n identity_name: ['', []],\n blood_type: ['', Validators.required],\n rh: ['', Validators.required],\n emergency_contact: ['', [Validators.required, Validators.maxLength(30)]],\n emergency_number: ['', [Validators.required, Validators.min(0), Validators.max(999999999999)]],\n number_people_charge:['', Validators.required],\n number_people_at_home:['', Validators.required],\n children_number: ['', [Validators.required, Validators.min(0)]],\n children:this.formBuilder.array([]),\n military_situation: ['', Validators.required],\n //notebook_number: ['', [Validators.maxLength(20)]],\n //notebook_class: ['', [Validators.maxLength(20)]],\n //military_district_number: ['', [Validators.maxLength(20)]],\n travel_time:['', Validators.required],\n vehicle: ['', ],\n vehicle_type: ['', ],\n licence_number: ['', [Validators.maxLength(20)]],\n licence_type: ['', ],\n wage_aspiration: ['', Validators.required],\n hobbie: ['', [Validators.required, Validators.maxLength(30)]],\n shoe_size: ['', [Validators.required, Validators.maxLength(10)]],\n shirt_size: ['', [Validators.required, Validators.maxLength(10)]],\n pants_size: ['', [Validators.required, Validators.maxLength(10)]],\n caja_de_pensiones: ['', Validators.required],\n banco: ['', Validators.required],\n kind_account: ['', Validators.required],\n bank_account: ['', Validators.required],\n bank_account_comfirm: ['', [Validators.required, this.matchValues('bank_account')]],\n eps: ['', Validators.required],\n\n });\n this.children = this.firstFormGroup.get('children') as FormArray;\n if (this.workExperiencies.length > 0){\n this.secondFormGroup = this.formBuilder.group({\n id: [],\n company_name: ['', [Validators.maxLength(20)]],\n company_phone: ['', [Validators.min(1), Validators.max(999999999999)]],\n position_hired: ['', [Validators.maxLength(20)]],\n company_city: ['', [Validators.maxLength(20)]],\n boss_name: ['', [Validators.maxLength(40)]],\n boss_phone: ['', [Validators.min(1), Validators.max(999999999999)]],\n boss_position: ['', Validators.maxLength(40)],\n boss_mobile_phone: ['', ],\n current_job: ['', [Validators.maxLength(20)]],\n start_date: ['', ],\n end_date: ['', ],\n earned_salary: ['', ],\n retirement_reason: ['', ],\n functions_achievements: ['', [Validators.maxLength(500)]],\n });\n }else {\n this.secondFormGroup = this.formBuilder.group({\n id: [],\n company_name: ['', [Validators.required, Validators.maxLength(20)]],\n company_phone: ['', [Validators.required, Validators.min(1), Validators.max(999999999999)]],\n position_hired: ['', [Validators.required, Validators.maxLength(20)]],\n company_city: ['', [Validators.required, Validators.maxLength(20)]],\n boss_name: ['', [Validators.required, Validators.maxLength(40)]],\n boss_phone: ['', [Validators.required, Validators.min(1), Validators.max(999999999999)]],\n boss_position: ['', [Validators.required, Validators.maxLength(40)]],\n boss_mobile_phone: ['', [Validators.min(1), Validators.max(999999999999)]],\n current_job: ['', [Validators.required, Validators.maxLength(20)]],\n start_date: ['', Validators.required],\n end_date: ['', Validators.required],\n earned_salary: ['', Validators.required],\n retirement_reason: ['', Validators.required],\n functions_achievements: ['', [Validators.required, Validators.maxLength(500)]],\n });\n }\n if (this.studies.length > 0) {\n this.thirdFormGroup = this.formBuilder.group({\n id: [],\n currently_studying: ['', ],\n education_level: ['', ],\n institution: ['', [Validators.maxLength(100)]],\n obtained_title: ['', [Validators.maxLength(100)]],\n study_city: ['', [Validators.maxLength(100)]],\n finish_date: ['', ],\n periods_completed: ['', [Validators.min(0), Validators.max(999)]],\n });\n }else{\n this.thirdFormGroup = this.formBuilder.group({\n id: [],\n currently_studying: ['', Validators.required],\n education_level: ['', Validators.required],\n institution: ['', [Validators.required, Validators.maxLength(100)]],\n obtained_title: ['', [Validators.required, Validators.maxLength(100)]],\n study_city: ['', [Validators.required, Validators.maxLength(100)]],\n finish_date: ['', Validators.required],\n periods_completed: ['', [Validators.required, Validators.min(0), Validators.max(999)]],\n });\n }\n this.fourthFormGroup = this.formBuilder.group({\n id: [],\n id_document_type: ['', ],\n id_document_number: ['', Validators.maxLength(15)],\n city_document_id: ['', Validators.maxLength(20)],\n expedition_date_id: ['', ],\n first_name: ['', Validators.maxLength(20)],\n middle_name: ['', Validators.maxLength(20)],\n last_name: ['', Validators.maxLength(20)],\n second_last_name: ['', Validators.maxLength(20)],\n education_level: ['', ],\n relationship: ['', ],\n gender: ['', ],\n birthdate: ['', ],\n profession: ['', Validators.maxLength(30)],\n });\n if (this.personalReferences.length > 0){\n this.fifthFormGroup = this.formBuilder.group({\n id: [],\n first_name: ['', [Validators.maxLength(20)]],\n middle_name: ['', ],\n last_name: ['', [Validators.maxLength(20)]],\n second_last_name: ['', ],\n relationship: ['', ],\n mobile_phone: ['', [Validators.min(1), Validators.max(999999999999)]],\n phone: ['', ],\n city: ['', [Validators.maxLength(20)]],\n occupation: ['', ],\n });\n }else{\n this.fifthFormGroup = this.formBuilder.group({\n id: [],\n first_name: ['', [Validators.required, Validators.maxLength(20)]],\n middle_name: ['', ],\n last_name: ['', [Validators.required, Validators.maxLength(20)]],\n second_last_name: ['', ],\n relationship: ['', Validators.required],\n mobile_phone: ['', [Validators.required, Validators.min(1), Validators.max(999999999999)]],\n phone: ['', ],\n city: ['', [Validators.required, Validators.maxLength(20)]],\n occupation: ['', Validators.required],\n });\n }\n this.sixthFormGroup = this.formBuilder.group({\n computer: ['', ],\n computer_type: ['', ],\n ram: ['', ],\n processor: ['', [Validators.maxLength(100)]],\n internet: ['', ],\n internet_capacity: ['', [Validators.maxLength(100)]],\n });\n\n this.basicFormGroup = this.formBuilder.group({\n id_type_id: ['', ],\n id_number: ['', ],\n number_PA: ['', ],\n first_name: ['', [Validators.maxLength(100)]],\n middle_name: ['', Validators.maxLength(100)],\n last_name: ['', [Validators.maxLength(100)]],\n second_last_name: ['', Validators.maxLength(100)],\n birth_date: ['', Validators.required],\n civil_state_id: ['', Validators.required],\n email: ['', [Validators.required, Validators.email, Validators.maxLength(100)]],\n email2: ['', [Validators.email, Validators.maxLength(100)] ],\n mobile_phone: ['', [Validators.required, Validators.min(1), Validators.max(999999999999)]],\n phone: ['', [Validators.min(1), Validators.max(999999999999)]],\n cost_center: ['', []]\n });\n\n }\n updateMatTable(arrayData, arrayDataSource, data){\n if((Object.keys(data).length != 0)){\n this[arrayData] = [...data];\n this[arrayDataSource] = new MatTableDataSource(this[arrayData]);\n }\n\n\n }\n matchValues( matchTo: string ): (AbstractControl) => ValidationErrors | null {\n return (control: AbstractControl): ValidationErrors | null => {\n return !!control.parent &&\n !!control.parent.value &&\n control.value === control.parent.controls[matchTo].value\n ? null\n : { isMatching: false };\n };\n }\n\n onTabChanged(event){\n this.step = this.typeData[event.index];\n this.serviceCandidate.getCandidateDataJson(this.candidateId, this.step).subscribe( (resp: any) => {\n if (this.step === 'personal_data') {\n this.firstFormGroup.patchValue(resp);\n if(resp.caja_de_pensiones.name && resp.eps.name)\n {\n this.firstFormGroup.patchValue({\n eps: resp.eps.name,\n caja_de_pensiones: resp.caja_de_pensiones.name,\n banco: resp.banco.name,\n kind_account: resp.kind_account.name\n });\n if(this.isObject(resp.banco)){\n this.bancoChange(resp.banco?.name);\n }\n if(this.isObject(resp.kind_account)){\n this.kindAccountChange(resp.kind_account?.name);\n }\n this.epsChange(resp.eps.name);\n this.pensionesChange(resp.caja_de_pensiones.name);\n }\n\n this.genderFields(this.firstFormGroup.controls.gender.value)\n }\n if (this.step === 'documents'){\n this.getDocumentsCandidate();\n }\n if (this.step === 'jobs_references'){\n this.updateMatTable('workExperiencies', 'dataSourceWorkExperiences', resp);\n }\n if (this.step === 'education'){\n this.updateMatTable('studies', 'dataSourceStudies', resp);\n }\n if (this.step === 'group_family'){\n this.updateMatTable('familyGroup', 'dataSourceFamilyGoup', resp);\n }\n if (this.step === 'personal_references'){\n this.updateMatTable('personalReferences', 'dataSourceReferences', resp);\n }\n });\n setTimeout(() => {\n this.validacion();\n }, 1000);\n }\n\n validacion(){\n if(this.id.type=='edit'){ // Rol Nomina\n this.read_only_city_document_id=false;\n this.read_only_nationality=false;\n this.read_only_blood_type=false;\n this.read_only_rh=false;\n\n // Si ya tienen registros, estos campos no se pueden editar, solo sera de lectura.\n if(this.firstFormGroup.value.blood_type){\n this.read_only_blood_type=true;\n }\n\n if(this.firstFormGroup.value.city_document_id){\n this.read_only_city_document_id=true;\n }\n\n if(this.firstFormGroup.value.nationality){\n this.read_only_nationality=true;\n }\n\n if(this.firstFormGroup.value.rh){\n this.read_only_rh=true;\n }\n }else{ // Rol de RRHH\n this.read_only_city_document_id=false;\n this.read_only_nationality=false;\n this.read_only_blood_type=false;\n this.read_only_rh=false;\n }\n }\n\n saveJsonData(nameJson, data){\n console.log(JSON.stringify(data));\n this.serviceCandidate.createJsonCandidate(this.candidateId, nameJson, JSON.stringify(data) ).subscribe(e => {\n this.snack.open('Datos Guardados', '', {\n duration: 2500\n });\n });\n }\n editFill(entry, form){\n this[form].patchValue(entry);\n }\n deleteFill(id, arrayData, arrayDataSource, endpoint?){\n const index = this[arrayData].map(e => e.id).indexOf(id);\n this[arrayData].splice(index, 1);\n this[arrayDataSource] = new MatTableDataSource(this[arrayData]);\n this.runValidations();\n this.saveJsonData(endpoint, this[arrayData]);\n }\n updated() {\n let formData;\n if (this.step === 'basic_data') {\n formData = this.basicFormGroup.value;\n this.saveJsonData(this.step, formData);\n }\n if (this.step === 'personal_data') {\n if(this.firstFormGroup.valid)\n {\n this.firstFormGroup.get('eps').setValue(this.currentEps);\n this.firstFormGroup.get('caja_de_pensiones').setValue(this.currentPens);\n this.firstFormGroup.get('banco').setValue(this.currentBank);\n this.firstFormGroup.get('kind_account').setValue(this.currentkindAccount);\n\n formData = this.firstFormGroup.value;\n this.saveJsonData(this.step, formData);\n this.firstFormGroup.patchValue({\n\n eps: this.currentEps.name,\n caja_de_pensiones: this.currentPens.name,\n banco: this.currentBank.name,\n kind_account: this.currentkindAccount.name,\n });\n }else{\n this.alertsService.alertError('Valida el formulario', 'Completa los campos obligatorios por favor')\n }\n\n }\n if (this.step === 'jobs_references') {\n formData = this.secondFormGroup.value;\n this.add('secondFormGroup', 'workExperiencies', 'dataSourceWorkExperiences', this.step);\n }\n if (this.step === 'education') {\n formData = this.thirdFormGroup.value;\n this.add('thirdFormGroup', 'studies', 'dataSourceStudies', this.step);\n }\n if (this.step === 'group_family') {\n formData = this.fourthFormGroup.value;\n this.add('fourthFormGroup', 'familyGroup', 'dataSourceFamilyGoup', this.step);\n }\n if (this.step === 'personal_references') {\n formData = this.fifthFormGroup.value;\n this.add('fifthFormGroup', 'personalReferences', 'dataSourceReferences', this.step);\n }\n if (this.step === 'tech_tools') {\n formData = this.sixthFormGroup.value;\n this.saveJsonData(this.step, formData);\n }\n\n }\n add(form, arrayData, arrayDataSource, endpoint?) {\n if (this[form].value.id != null){\n const index = this[arrayData].map(e => e.id).indexOf(this[form].value.id);\n this[arrayData][index] = this[form].value;\n }else{\n const params = {\n ...this[form].value,\n id: new Date().getTime()\n };\n this[arrayData].push(params);\n }\n this[arrayDataSource] = new MatTableDataSource(this[arrayData]);\n this.clearForm(form);\n this.runValidations();\n this.saveJsonData(endpoint, this[arrayData]);\n }\n\n clearForm(form){\n this[form].reset();\n this[form].untouched;\n }\n getDocumentsCandidate() {\n this.serviceCandidate.getAttachments(this.candidate.id).subscribe( resp => {\n this.documentsCandidate = resp;\n this.dataSourceDocuments = new MatTableDataSource(this.documentsCandidate);\n });\n }\n downdloadFile(fileId,fileName){\n let direction= `candidate/download/attachment/${this.candidateId}/${fileId}`\n this.serviceCandidate.downdloadFile(direction).subscribe( (file) =>{\n importedSaveAs(file, fileName);\n })\n }\n getChildrensInputs(){\n this.children.controls =[]\n if(typeof this.firstFormGroup.get('children_number').value == 'number' && this.firstFormGroup.get('children_number').value <20){\n for (let index = 0; index < this.firstFormGroup.get('children_number').value; index++) {\n this.children.push(this.formBuilder.group({\n name: this.candidate?.personal_data?.children[index]?.name != '' || null ? this.candidate?.personal_data?.children[index]?.name : '',\n age: this.candidate?.personal_data?.children[index]?.age != '' || null ? this.candidate?.personal_data?.children[index]?.age : '',\n }))\n }\n }\n }\n /**\n * Metodo el cual lista dinamicamente los tipos de documentos\n * @author Lina Hueso\n * @return json\n */\n getTypes() {\n this.serviceCandidate.getIdTypes().subscribe(resp => {\n this.idTypes = resp;\n\n if(this.basicFormGroup.controls['id_type_id'].value)\n {\n let json = this.idTypes.find(element => element.id == this.basicFormGroup.controls['id_type_id'].value);\n this.keyType = json.key;\n }\n }\n );\n }\n\n /**\n * Metodo el cual setea el nuevo valos del key type segun seleccion del usuario\n * @author Lina Hueso\n * @return string\n */\n selectedIdtype(value) {\n this.keyType = value;\n }\n\n\n /**\n * Metodo que llama los options desde bade de datos\n * @author Carlos Nieto\n * @date 14-07-2022\n * @return json\n */\n\n getOptions(question) {\n this.dynamicService.getData('rrhh',`dropdown/options/${question}`).subscribe( (options:any) => {\n if(question == 'eps')\n {\n this.epsData = options;\n }\n if(question == 'caja_de_pensiones')\n {\n this.pensionesData = options;\n }\n if(question == 'banco')\n {\n this.bankData = options;\n }\n });\n }\n\n /**\n * Metodo que valida el campo de eps para neviar el json completo\n * @author Carlos Nieto\n * @date 19-07-2022\n * @return json\n */\n epsChange(value)\n {\n this.currentEps = this.epsData.find(element => element.name == value);\n }\n\n /**\n * Metodo que valida el campo de pensiones para neviar el json completo\n * @author Carlos Nieto\n * @date 19-07-2022\n * @return json\n */\n pensionesChange(value)\n {\n this.currentPens = this.pensionesData.find(element => element.name == value);\n }\n\n /**\n * Metodo que valida el campo de pensiones para neviar el json completo\n * @author Carlos Nieto\n * @date 19-07-2022\n * @return json\n */\n bancoChange(value)\n {\n this.currentBank = this.bankData.find(element => element.name == value);\n }\n/**\n * Metodo que valida los errores del formulario\n * @author Carlos Nieto\n * @date 14-07-2022\n * @return\n * */\n get error(): any { return this.firstFormGroup.controls; }\n\n\n /**\n * Metodo el cual lista los tipos de cuentas bancarias\n * @author Carlos Nieto\n * @return json\n */\n getKindAccounts() {\n this.kindAccountService.getKindAccounts().subscribe(resp => {\n this.kindAccountList = resp;\n }\n );\n }\n\n /**\n * Metodo que valida el campo de kind_account el json completo\n * @author Carlos Nieto\n * @date 13-09-2022\n * @return json\n */\n kindAccountChange(value)\n {\n this.currentkindAccount = this.kindAccountList.find(element => element.name == value);\n }\n /**\n * metodo para validar si el valor recibido es objeto\n * @author Nicoll ramirez\n */\n isObject(val){\n return (typeof val === 'object');\n }\n\n /**\n * validacion de campos numericos\n */\n keyPress(event: KeyboardEvent) {\n const pattern = /[0-9]/;\n const inputChar = String.fromCharCode(event.charCode);\n if (!pattern.test(inputChar)) {\n // invalid character, prevent input\n event.preventDefault();\n }\n }\n\n private _filter(value: string): string[] {\n\n const filterValue = value.toString().toLowerCase();\n return this.campaignsData.filter(({name}) => name.toLowerCase().includes(filterValue));\n }\n\n displayFn(centroCostos: any): string {\n if (!centroCostos) return '';\n return this.campaignsData.find(cc => cc.id === centroCostos).name;\n }\n\n showAddressForm() {\n const dialogRef = this.dialog.open(AddressFormComponent, {\n width: '100%',\n data: {address: this.firstFormGroup.controls.adress.value ?? null},\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result != null) {\n this.firstFormGroup.controls.adress.setValue(result);\n }\n });\n }\n\n /**\n * Método que define la visualización de los campos para ingresar un genero personalizado y un nombre identitario\n * @author Juan Carlos Alonso\n * @date 09-09-2024\n */\n genderFields(value: string): void {\n this.show_identity_name_field = (value === 'Otro' || value === 'Transgénero' || value === 'No binario') ? true : false\n\n if(value === 'Otro'){\n this.show_other_field = true\n this.firstFormGroup.controls.other_gender.setValidators([Validators.required])\n }else{\n this.show_other_field = false\n this.firstFormGroup.controls.other_gender.setValue('')\n this.firstFormGroup.controls.other_gender.setValidators([])\n }\n this.firstFormGroup.controls.other_gender.updateValueAndValidity()\n }\n}\n","\n\n

{{candidate?.first_name}} {{candidate?.last_name}}

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

Datos Básicos

\n
\n \n Tipo de documento\n \n \n {{idType.name}}\n \n \n \n\n \n Número\n de documento\n {{keyType}}\n \n \n\n \n Número de pasaporte\n \n \n\n \n Primer Nombre\n \n \n \n Segundo Nombre\n \n \n \n Primer Apellido\n \n \n \n Segundo Apellido\n \n \n \n Fecha Nacimiento\n \n \n \n \n \n Estado Civil\n \n \n {{civilState.name}}\n \n \n \n \n Email\n \n \n \n Email(Opcional)\n \n \n \n Celular\n \n \n \n Teléfono (Opcional)\n \n \n \n Centro de costos\n \n \n \n {{item.name}}\n \n \n \n
\n\n
\n
\n\n
\n \n
\n
\n \n \n \n \n

Información Personal

\n
\n
\n
\n\n \n Edad\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n Ciudad de expedición documento\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n ¡Advertencia! Este campo\n acepta maximo 20 caracteres\n \n \n\n \n Fecha Expedición\n \n \n \n \n ¡Advertencia! Este campo\n es requerido\n \n \n\n \n Lugar de Nacimiento\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n ¡Advertencia! Este campo\n acepta maximo 20 caracteres\n \n \n\n \n Nacionalidad\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n ¡Advertencia! Este campo acepta\n maximo 20 caracteres\n \n \n \n Alias\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n ¡Advertencia! Este campo acepta\n maximo 20 caracteres\n \n \n\n \n Género\n \n Femenino\n Masculino\n Transgénero\n No binario\n Otro\n Prefiere no decirlo\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n ¿Cual?\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n Nombre identitario\n \n \n \n\n \n Grupo Sanguineo\n \n A\n B\n O\n AB\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n RH\n \n Positivo\n Negativo\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n ¿Pertenece a algún grupo?\n \n Ninguno\n Mujer cabeza de hogar\n Hombre cabeza de hogar\n Comunidad LGBTI+Q\n Victima del conflicto armado\n Afrodecendiente\n Indigena\n \n \n\n \n EPS\n \n \n {{option.name}}\n \n \n \n ¡Advertencia! Este campo es requerido\n \n \n\n \n Fondo de pensiones\n \n \n {{option.name}}\n \n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n Ciudad de Residencia\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n ¡Advertencia! Este campo acepta\n maximo 20 caracteres\n \n \n\n \n Localidad\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n Barrio\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n ¡Advertencia! Este campo acepta maximo\n 20 caracteres\n \n \n\n \n Estrato\n \n 1\n 2\n 3\n 4\n 5\n 6\n 7\n \n \n ¡Advertencia! Este campo es requerido\n \n \n \n Direccion\n \n \n ¡Advertencia! Este campo es requerido\n \n \n\n \n Tipo de Vivienda\n \n Familiar\n Arriendo\n Propia\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n Aspiración Salarial\n \n 1 a 2 Salarios mínimos\n mensuales\n 2 a 3 Salarios mínimos\n mensuales\n 3 a 4 Salarios mínimos\n mensuales\n 4 a 5 Salarios mínimos\n mensuales\n 5 a 6 Salarios mínimos\n mensuales\n 6 a 7 Salarios mínimos\n mensuales\n 7 a 8 Salarios mínimos\n mensuales\n 8 a 9 Salarios mínimos\n mensuales\n 9 a 10 Salarios mínimos\n mensuales\n 10 a 11 Salarios mínimos\n mensuales\n 11 a 12 Salarios mínimos\n mensuales\n 12 a 13 Salarios mínimos\n mensuales\n 13 a 14 Salarios mínimos\n mensuales\n 14 o más Salarios mínimos\n mensuales\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n Hobbies\n \n \n ¡Advertencia! Este campo es requerido\n \n \n ¡Advertencia! Este campo acepta maximo 30\n caracteres\n \n \n\n\n \n En caso de emergencia contactar a\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n ¡Advertencia! Este campo acepta\n maximo 30 caracteres\n \n \n\n \n Teléfono de contacto\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n Talla Zapatos\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n ¡Advertencia! Este campo acepta maximo 10\n caracteres\n \n \n\n \n Talla de Camisa\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n ¡Advertencia! Este campo acepta maximo\n 10 caracteres\n \n \n\n \n Talla de Pantalón\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n ¡Advertencia! Este campo acepta maximo\n 10 caracteres\n \n \n\n
\n
\n
\n \n \n \n \n

Información bancaria

\n
\n
\n
\n

Si su número de cuenta tiene ceros al\n inicio éstos también deberán ser\n diligenciados

\n\n \n Banco\n \n \n {{option.name}}\n \n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n Tipo de cuenta\n \n \n {{option.name}}\n \n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n Número de cuenta\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n Confirmar numero de cuenta\n \n Su cuenta no es igual\n a la ingresada\n previamente\n \n\n
\n
\n
\n \n \n \n \n

Información familiar

\n
\n
\n
\n\n \n Número de personas a cargo\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n ¿Cuántas personas viven en su residencia?\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n Número de Hijos\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n
\n
\n \n Nombre completo\n \n \n \n Edad\n \n \n
\n
\n\n
\n
\n
\n\n \n \n \n \n

Situación militar

\n
\n
\n
\n \n Situación Militar Definida\n \n Si\n No\n No aplica\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n
\n
\n
\n \n \n \n \n

Dezplazamiento

\n
\n
\n
\n\n \n Tiempo de Desplazamiento\n \n 1 a 30 minutos\n 30 a 60 minutos\n 60 a 90 minutos\n más de 120 minutos\n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n\n \n Tiene Vehículo\n \n Si\n No\n \n \n\n \n Tipo de Vehículo\n \n Automovil\n Motocicleta\n Transporte público\n \n \n\n \n # Licencia de conducción\n \n \n ¡Advertencia! Este campo acepta\n maximo 20 caracteres\n \n \n\n \n Categoría Licencia\n \n A1\n A2\n B1\n B2\n B3\n C1\n C2\n C3\n \n \n
\n
\n
\n
\n
\n\n
\n \n
\n

Experiencia Laboral

\n
\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n\n\n \n \n
Acciones \n \n \n Empresa {{element.company_name}} Cargo {{element.position_hired}} Jefe {{element.boss_name}} Celular {{element.boss_mobile_phone}} Fecha Inicio {{element.start_date | date}} Fecha Final {{element.end_date | date}}
\n
\n
\n
\n
\n
\n \n Nombre Empresa\n \n \n \n Teléfono Empresa\n \n \n \n Cargo Desempeñado\n \n \n \n Ciudad\n \n \n \n Nombre del Jefe\n \n \n \n Cargo del Jefe\n \n \n \n Teléfono movil del Jefe\n \n \n \n Teléfono del Jefe\n \n \n \n Trabajo Actual\n \n Si\n No\n \n \n \n Fecha de inicio\n \n \n \n \n \n Fecha de finalización\n \n \n \n \n \n Salario Devengado\n \n 1 a 2 Salarios mínimos\n mensuales\n 2 a 3 Salarios mínimos\n mensuales\n 3 a 4 Salarios mínimos\n mensuales\n 4 a 5 Salarios mínimos\n mensuales\n 5 a 6 Salarios mínimos\n mensuales\n 6 a 7 Salarios mínimos\n mensuales\n 7 a 8 Salarios mínimos\n mensuales\n 8 a 9 Salarios mínimos\n mensuales\n 9 a 10 Salarios mínimos\n mensuales\n 10 a 11 Salarios mínimos\n mensuales\n 11 a 12 Salarios mínimos\n mensuales\n 12 a 13 Salarios mínimos\n mensuales\n 13 a 14 Salarios mínimos\n mensuales\n 14 o más Salarios mínimos\n mensuales\n \n \n \n Motivo del retiro\n \n Terminación del contrato\n Renuncia voluntaria\n Terminación del\n contrato con justa causa\n Terminación del\n contrato sin justa causa\n Retiro no negativo\n Otro\n \n \n\n \n Funciones y logros\n \n \n
\n \n
\n\n
\n\n
\n
\n
\n \n
\n

Estudios

\n
\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n\n \n \n
Acciones \n \n \n Nivel {{element.education_level}} Institución {{element.institution}} Título {{element.obtained_title}} Ciudad {{element.study_city}} Fecha Fianlización {{element.finish_date | date}} Periodos Cursados {{element.periods_completed}}
\n
\n
\n
\n
\n
\n \n Estudia Actualmente\n \n Si\n No\n \n \n \n Nivel de Estudios\n \n Primaria\n Bachillerato\n Técnico\n Tecnológico\n Universitario\n Especialización\n Magister\n PHD\n Doctorado\n Diplomado\n Sena\n Otro\n \n \n \n Institución\n \n \n \n Título Obtenido\n \n \n \n Ciudad de Estudio\n \n \n \n Fecha de Finalización\n \n \n \n \n \n Periodos Cursados\n \n \n
\n \n
\n
\n\n
\n\n
\n
\n \n
\n

Grupo Familiar

\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
Nombre {{element.first_name}} Apellido {{element.last_name}} Documento {{element.id_document_number}} Educación {{element.education_level}} Parentesco {{element.relationship}} Profesión {{element.profession}} Acciones \n \n \n
\n
\n
\n
\n
\n
\n \n Tipo Documento\n \n Cédula de ciudadanía\n Cédula de Extranjería\n Pasaporte\n Permiso especial de\n permanencia\n \n \n \n Número de documento\n \n \n \n Ciudad de expedición documento\n \n \n \n Fecha Expedición\n \n \n \n \n \n Primer Nombre\n \n \n \n Segundo Nombre\n \n \n \n Primer Apellido\n \n \n \n Segundo Apellido\n \n \n \n Nivel de Estudios\n \n Primaria\n Bachillerato\n Técnico\n Tecnológico\n Universitario\n Especialización\n Magister\n PHD\n Doctorado\n Diplomado\n Sena\n Otro\n \n \n \n Parentesco\n \n Madre\n Padre\n Hijo\n Hijastro\n Conyuge\n Padrastro\n Compañero permanente\n Tío\n Sobrino\n Abuelo\n Hermano\n Nieto\n Cuñado\n Suegro\n Primo\n \n \n \n Género\n \n Femenino\n Masculino\n \n \n \n Fecha de Nacimiento\n \n \n \n \n \n Profesión\n \n \n
\n \n
\n
\n
\n
\n\n
\n \n
\n

Referencias Personales

\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
Nombre {{element.first_name}} Apellido {{element.last_name}} Parentesco {{element.relationship}} Celular {{element.mobile_phone}} Ciudad {{element.city}} Ocupación {{element.occupation}} Acciones \n \n \n
\n
\n
\n
\n
\n
\n \n Primer Nombre\n \n \n \n Segundo Nombre\n \n \n \n Primer Apellido\n \n \n \n Segundo Apellido\n \n \n \n Parentesco\n \n Madre\n Padre\n Hijo\n Hijastro\n Conyuge\n Padrastro\n Compañero permanente\n Tío\n Sobrino\n Abuelo\n Hermano\n Nieto\n Cuñado\n Suegro\n Primo\n \n \n \n Celular\n \n \n \n Teléfono (Opcional)\n \n \n \n Ciudad\n \n \n \n Ocupación\n \n Empleado\n Desempleado\n \n \n
\n \n
\n
\n
\n\n
\n\n
\n \n
\n

Herramientas Tecnológicas

\n
\n
\n \n Tiene Computador\n \n Si\n No\n \n \n \n Tipo de Computador\n \n Móvil\n Fijo\n \n \n \n Memoria Ram\n \n 1Gb\n 2Gb\n 4Gb\n 8Gb\n 16Gb\n \n \n \n Procesador\n \n \n \n Internet\n \n Si\n No\n \n \n \n Capacidad de Internet\n \n \n
\n
\n
\n\n
\n \n
\n

Documentos

\n\n \n\n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n \n \n \n
Documento {{element.file}} Estado Cargado Pendiente por Cargar Acciones \n \n \n\n
\n\n
\n
\n\n
\n \n
\n\n \n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CalidadRoutingModule } from './calidad-routing.module';\nimport { CalidadComponent } from './calidad.component';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { InteligenciaNegociosComponent } from './modules/inteligencia-negocios/inteligencia-negocios.component';\nimport { MatricesComponent } from './modules/matrices/matrices.component';\nimport { TablaPreguntasComponent } from './modules/inteligencia-negocios/components/tabla-preguntas/tabla-preguntas.component';\nimport { TablaInteligenciaNegocioComponent } from './modules/inteligencia-negocios/components/tabla-inteligencia-negocio/tabla-inteligencia-negocio.component';\nimport { CrearPreguntaComponent } from './modules/inteligencia-negocios/components/crear-pregunta/crear-pregunta.component';\nimport { DetallePreguntaComponent } from './modules/inteligencia-negocios/components/detalle-pregunta/detalle-pregunta.component';\nimport { EditarFormularioComponent } from './modules/inteligencia-negocios/components/editar-formulario/editar-formulario.component';\nimport { CrearFormularioComponent } from './modules/inteligencia-negocios/components/crear-formulario/crear-formulario.component';\nimport { MatricesAsignadasComponent } from './modules/inteligencia-negocios/components/matrices-asignadas/matrices-asignadas.component';\nimport { MainMatricesComponent } from './modules/matrices/components/main-matrices/main-matrices.component';\nimport { DetalleMatrizComponent } from './modules/matrices/components/detalle-matriz/detalle-matriz.component';\nimport { CrearMatrizComponent } from './modules/matrices/components/crear-matriz/crear-matriz.component';\nimport { CrearModuloComponent } from './modules/matrices/components/crear-modulo/crear-modulo.component';\nimport { CrearItemComponent } from './modules/matrices/components/crear-item/crear-item.component';\nimport { EditarMatrizComponent } from './modules/matrices/components/editar-matriz/editar-matriz.component';\nimport { EditarModuloComponent } from './modules/matrices/components/editar-modulo/editar-modulo.component';\nimport { CrearSubItemComponent } from './modules/matrices/components/crear-sub-item/crear-sub-item.component';\nimport { EditarSubItemComponent } from './modules/matrices/components/editar-sub-item/editar-sub-item.component';\nimport { EditarItemComponent } from './modules/matrices/components/editar-item/editar-item.component';\nimport { BooleanPipe } from './pipes/boolean.pipe';\nimport { AnalistasCalidadComponent } from './modules/matrices/components/analistas-calidad/analistas-calidad.component';\nimport { AuditoriasComponent } from './modules/auditorias/auditorias.component';\nimport { DetalleAuditoriaComponent } from './modules/auditorias/components/detalle-auditoria/detalle-auditoria.component';\nimport { FormAuditarComponent } from './modules/auditorias/components/form-auditar/form-auditar.component';\nimport { CalificacionAuditoriaComponent } from './modules/auditorias/components/calificacion-auditoria/calificacion-auditoria.component';\nimport { RetroalimentarComponent } from './modules/auditorias/components/retroalimentar/retroalimentar.component';\nimport { TablaRetroalimentarComponent } from './modules/auditorias/components/retroalimentar/components/tabla-retroalimentar/tabla-retroalimentar.component';\nimport { FormInteligenciaComponent } from './modules/auditorias/components/detalle-auditoria/components/form-inteligencia/form-inteligencia.component';\nimport { CutTextPipe } from './pipes/cut-text.pipe';\nimport { DetalleRetroalimentacionComponent } from './modules/auditorias/components/retroalimentar/components/detalle-retroalimentacion/detalle-retroalimentacion.component';\nimport { TablaAuditadoComponent } from './modules/auditorias/components/tabla-auditado/tabla-auditado.component';\nimport { ControlComponent } from './modules/control/control.component';\nimport { DetalleControlComponent } from './modules/control/components/detalle-control/detalle-control.component';\nimport { TimePipe } from './pipes/time.pipe';\nimport { TablaControlComponent } from './modules/control/components/tabla-control/tabla-control.component';\nimport { DialogGrupoComponent } from './modules/control/components/dialog-grupo/dialog-grupo.component';\nimport { DetalleGrupoComponent } from './modules/control/components/detalle-grupo/detalle-grupo.component';\nimport { TablaGrupoComponent } from './modules/control/components/tabla-grupo/tabla-grupo.component';\nimport { AgregarAgenteComponent } from './modules/control/components/agregar-agente/agregar-agente.component';\nimport { MisAuditoriasComponent } from './modules/mis-auditorias/mis-auditorias.component';\nimport { ReporteriaComponent } from './modules/reporteria/reporteria.component';\nimport { UppercaseTextPipe } from './pipes/uppercase-text.pipe';\nimport { PowerbiComponent } from './modules/powerbi/powerbi.component';\nimport { EliminarAuditoriaComponent } from './modules/eliminar-auditoria/eliminar-auditoria.component';\nimport { TablaEliminacionComponent } from './modules/eliminar-auditoria/components/tabla-eliminacion/tabla-eliminacion.component';\nimport { DialogEliminacionComponent } from './modules/eliminar-auditoria/components/dialog-eliminacion/dialog-eliminacion.component';\n\n\n@NgModule({\n declarations: [\n CalidadComponent,\n InteligenciaNegociosComponent,\n MatricesComponent,\n TablaPreguntasComponent,\n TablaInteligenciaNegocioComponent,\n CrearPreguntaComponent,\n DetallePreguntaComponent,\n EditarFormularioComponent,\n MainMatricesComponent,\n CrearFormularioComponent,\n MatricesAsignadasComponent,\n DetalleMatrizComponent,\n CrearMatrizComponent,\n CrearModuloComponent,\n CrearItemComponent,\n EditarMatrizComponent,\n EditarModuloComponent,\n CrearSubItemComponent,\n EditarSubItemComponent,\n EditarItemComponent,\n BooleanPipe,\n AnalistasCalidadComponent,\n AuditoriasComponent,\n DetalleAuditoriaComponent,\n FormAuditarComponent,\n CalificacionAuditoriaComponent,\n RetroalimentarComponent,\n TablaRetroalimentarComponent,\n FormInteligenciaComponent,\n CutTextPipe,\n DetalleRetroalimentacionComponent,\n TablaAuditadoComponent,\n ControlComponent,\n DetalleControlComponent,\n TimePipe,\n TablaControlComponent,\n DialogGrupoComponent,\n DetalleGrupoComponent,\n TablaGrupoComponent,\n AgregarAgenteComponent,\n MisAuditoriasComponent,\n ReporteriaComponent,\n UppercaseTextPipe,\n PowerbiComponent,\n EliminarAuditoriaComponent,\n TablaEliminacionComponent,\n DialogEliminacionComponent,\n ],\n imports: [\n CommonModule,\n CalidadRoutingModule,\n MaterialModule,\n SharedModule\n ],\n providers:[\n TimePipe\n ],\n exports:[\n DetalleRetroalimentacionComponent,\n CutTextPipe\n ]\n})\nexport class CalidadModule { }\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatOption } from '@angular/material/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSelect } from '@angular/material/select';\nimport { ControlService } from 'src/app/modules/calidad/services/control.service';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\n\n@Component({\n selector: 'app-dialog-grupo',\n templateUrl: './dialog-grupo.component.html',\n styleUrls: ['./dialog-grupo.component.sass']\n})\nexport class DialogGrupoComponent implements OnInit {\n\n titulo:string = '';\n grupoForm:FormGroup;\n\n supervisores = [];\n campaigns = [];\n nombre_grupo:string = '';\n nombre_supervisor;\n\n companiaMatriz;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private grupoRef:MatDialogRef,\n private fb:FormBuilder,\n private controlService:ControlService,\n private matrizService:MatrizService,\n ) {}\n \n\n ngOnInit(): void {\n this.getSelects();\n this.createForm();\n this.edit();\n }\n\n createForm(){\n if (this.datos.type == 'crear') {\n this.titulo = 'Crear grupo'\n }else if (this.datos.type == 'editar') {\n this.titulo = 'Editar grupo'\n }else{\n this.titulo = '';\n }\n\n if ( typeof this.datos.campania === 'object') {\n this.companiaMatriz = this.datos.campania.id\n }\n if( this.datos.campania.length == 0){\n this.companiaMatriz = 'ninguna';\n }\n this.grupoForm = this.fb.group({\n campania:[{value:this.companiaMatriz,disabled:true}],\n supervisor_id: ['',Validators.required],\n nombre: [{value:'',disabled:true}],\n correo_jefe_opraciones: ['',[Validators.required,Validators.email]],\n correo_supervisor: ['',[Validators.required,Validators.email]],\n });\n \n }\n\n enableNombre(selectSupervisor:MatSelect){\n const data ={\n idMatriz: this.datos.idMatriz,\n idSupervisor: this.grupoForm.get('supervisor_id').value\n }\n if (selectSupervisor.value != null) { \n this.nombre_supervisor = (selectSupervisor.selected as MatOption).viewValue; \n this.controlService.getConsecutivo(data).subscribe((resp:any)=>{\n this.nombre_grupo = this.datos.matriz.replace(' ','-') + '_' + this.nombre_supervisor.replace(' ','-')+'_'+resp;\n this.grupoForm.get('nombre').setValue(this.nombre_grupo);\n });\n }else{\n this.nombre_grupo = '';\n this.grupoForm.get('nombre').setValue(this.nombre_grupo);\n }\n }\n\n edit(){\n if (this.datos.type == 'editar') {\n this.controlService.getGrupoById(this.datos.id_grupo).subscribe((resp:any)=>{\n this.grupoForm.get('supervisor_id').setValue(resp[0].supervisor_id);\n this.grupoForm.get('nombre').setValue(resp[0].nombre);\n this.grupoForm.get('correo_jefe_opraciones').setValue(resp[0].correo_jefe_opraciones);\n this.grupoForm.get('correo_supervisor').setValue(resp[0].correo_supervisor);\n this.nombre_supervisor = resp[0].nombre_supervisor;\n });\n }\n }\n\n updateGrupo(){\n if (this.grupoForm.invalid) {\n return;\n }\n this.grupoForm.get('nombre').enable();\n Object.assign(this.grupoForm.value,{id:this.datos.id_grupo, idMatriz: this.datos.idMatriz,nombre_supervisor:this.nombre_supervisor});\n this.controlService.updateGroupById(this.grupoForm.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess('¡Excelente!','El grupo se ha actualizado con éxito')\n this.closeDialog();\n }else{\n this.grupoForm.get('nombre').disable();\n Tools.swalError('¡Oops!','Lo sentimos, ha ocurrido un error inesperado y no fue posible actualizar el grupo, por favor intenta nuevamente.');\n }\n });\n }\n\n getSelects(){\n this.controlService.getSupervisores().subscribe((resp:any)=>{\n this.supervisores = resp;\n });\n this.matrizService.getCampaings().subscribe((resp:any)=>{\n this.campaigns = resp.data;\n });\n }\n\n closeDialog(){\n this.grupoRef.close();\n }\n\n createGroup(){\n if (this.grupoForm.invalid) {\n return\n }\n this.grupoForm.get('nombre').enable();\n this.grupoForm.addControl('nombre_supervisor',new FormControl(this.nombre_supervisor));\n this.grupoForm.get('supervisor_id').setValue(this.grupoForm.get('supervisor_id').value);\n Object.assign(this.grupoForm.value,{idMatriz: this.datos.idMatriz})\n this.controlService.createGroup(this.grupoForm.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess('¡Excelente!','El grupo se ha creado con éxito')\n this.closeDialog();\n }else{\n this.grupoForm.get('nombre').disable();\n Tools.swalError('¡Oops!','Lo sentimos, ha ocurrido un error inesperado y no fue posible crear el grupo, por favor intenta nuevamente.');\n }\n });\n }\n\n}\n","\n
\n

{{titulo}}

\n \n
\n \n Campaña\n \n Ninguna\n {{campaign.name}}\n \n \n \n Supervisor\n \n \n {{supervisor.nombre | titlecase}}\n \n Por favor seleccione una opción\n \n \n Nombre del grupo\n \n Por favor ingrese un nombre para el grupo\n \n \n Correo jefe de operaciones\n \n Por favor ingrese un correo electrónico\n Por favor ingrese un correo valido\n \n \n Correo supervisor\n \n Por favor ingrese un correo electrónico\n Por favor ingrese un correo valido\n \n
\n \n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { SolicitudesService } from '../../../services/rest/solicitudes.service';\nimport { DestroyComponentService } from '../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CrearSolicitudComponent } from '../componentes/crear-solicitud/crear-solicitud.component';\nimport { Solicitud } from '../../Class/solicitud';\nimport { AuthService } from '../../../../../core/services/rest/auth.service';\nimport { AprobarSolcitudComponent } from '../componentes/aprobar-solcitud/aprobar-solcitud.component';\n\n@Component({\n selector: 'app-solicitudes-cards',\n templateUrl: './solicitudes-cards.component.html',\n styleUrls: ['./solicitudes-cards.component.sass']\n})\nexport class SolicitudesCardsComponent implements OnInit {\n user : any;\n length = 0;\n rol = 1;\n pageSize = 8;\n page = 1;\n isPage = 1;\n pageSizeOptions : number[] = [4, 8, 24, 100];\n newRolComponent : boolean = false;\n requestStates : any = [];\n filterDate : string = null;\n filterStates : any[] = null;\n state_block_btnCreate : boolean =false;\n public solicitudes : [] =[];\n\n constructor(\n private solicitudService : SolicitudesService,\n private destroyService : DestroyComponentService,\n private alertsService : AlertsService,\n private authService : AuthService,\n public dialog : MatDialog\n ) { }\n\n ngOnInit(): void {\n this.solicitudService.validatorsBlocks().subscribe(resp=>{\n let exist_block = resp.data.exist_block\n if(exist_block){\n this.alertsService.alertQuestion(\n \"
¡Ten en cuenta!
\",\n `
Señor usuario, la plataforma estará en cierre de facturación del ${resp.data.dateIni} a ${resp.data.dateEnd}. Si llega a presentar una solicitud con prioridad por favor comuníquese con compras@groupcos.com.co para evaluar la prioridad y sea tomada la solicitud dentro de los tiempos de cierre de facturación.

Recuerde que después de la fecha de cierre podrá seguir montando solicitudes.
`\n )\n this.state_block_btnCreate = exist_block\n }\n })\n\n this.user=this.authService.getUser().rrhh_id;\n this.solicitudService.getRequestStates().subscribe(resp => {\n this.requestStates = resp.data;\n });\n this.getSolicitudes();\n localStorage.removeItem('filter_request')\n }\n\n\n getSolicitudes(){\n if(this.filterStates !== null) for (let index = 0; index < this.filterStates.length; index++) this.filterStates = this.filterStates[index] == 12 ? [] : this.filterStates;\n const params = {\n isPage : this.isPage,\n size : this.pageSize,\n page : this.page,\n states : this.filterStates,\n fecha : this.filterDate,\n rol : this.rol\n }\n this.solicitudService.getSolicitudesUser( this.user, params)\n .subscribe(resp =>{\n this.solicitudes = resp.data.data.sort((a, b) => {\n if (Number(a.id) > Number(b.id)) {\n return -1;\n }\n if (Number(a.id) < Number(b.id)) {\n return 1;\n }\n return 0;\n });\n this.length = resp.data.total;\n this.pageSize = resp.data.per_page;\n });\n }\n newSolicitud(){\n const dialogNewRol = this.dialog.open(CrearSolicitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Solicitud',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n //this.pageSize=5;\n this.ngOnInit();\n });\n }\n\n viewSolicitud(solicitud: Solicitud){\n\n const dialogNewRol = this.dialog.open(AprobarSolcitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'view',\n viewInfo: false,\n title: 'Detalle solicitud',\n solicitud,\n rol : 'solicitante'\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n //this.pageSize=5;\n //this.ngOnInit();\n });\n }\n\n applyFilter($event){\n\n }\n\n filterBydate(event) {\n this.filterDate = (event.target as HTMLInputElement).value;\n this.getSolicitudes();\n }\n\n filterByState(event) {\n this.filterStates = event;\n this.getSolicitudes();\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que se encarga del movimiento del paginador\n * @param event cuando se da click en el paginador trae este evento\n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getSolicitudes();\n\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","
\n\n
\n

Solicitudes

\n

\n Aquí puedes revisar las solicitudes que haz hecho\n las diferentes dependencias y su estado\n

\n\n\n
\n\n
\n\n \n Fecha de creación\n \n \n \n \n \n \n\n \n Estado\n \n {{state.name}}\n \n \n\n
\n\n
\n \n
\n\n
\n\n\n
\n\n
\n \n \n\n
\n \n
\n
\n {{solicitud.request_state.name}} \n \n {{solicitud.title}}\n 30\">...\n\n \n\n
\n

\n {{solicitud.description | slice:0:80}}\n 80\">...\n

\n\n\n\n
\n \n
\n
\n {{solicitud.created_by}} \n {{solicitud.created_at|date:'yyyy-MM-dd': 'UTC'}} \n
\n \n
\n
\n\n
\n
\n \n \n\n\n\n
\n\n
\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MeetingsService } from '../../services/meetings.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { RescheduleFormComponent } from './dialogs/reschedule-form/reschedule-form.component';\nimport * as moment from 'moment';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\n\n@Component({\n selector: 'app-meetings-admin',\n templateUrl: './meetings-admin.component.html',\n styleUrls: ['./meetings-admin.component.sass']\n})\nexport class MeetingsAdminComponent implements OnInit {\n @ViewChild(MatPaginator) paginator: MatPaginator;\n displayedColumns: string[] = ['actions', 'client_nic', 'scheduled_date', 'group', 'state']\n length: number\n pageSize: number = 5\n pageSizeOptions: number[] = [5, 10, 50, 100]\n page: number = 1\n //Información de la tabla\n data: any[] = []\n //Formulario de filtros\n filters: FormGroup\n //Nombre del rol\n rol_name: string = \"\"\n //RRHH id del usuario\n private rrhh_id: number = 0\n //Lista de campañas\n campaigns: any[] = []\n //Lista de grupos\n groups: any[] = []\n //Lista de asesores\n advisers: any[] = []\n//datasource\ndataSource = new MatTableDataSource();\n@ViewChild(MatSort) sort: MatSort;\n\n constructor(private fb: FormBuilder, private vidService: MeetingsService, private alertService: AlertsService, private authService: AuthService, private dialog: MatDialog) { }\n\n ngOnInit(): void {\n this.setRol()\n this.setCampaigns()\n this.setGroups()\n this.setAdvisers()\n this.initializeForm()\n this.getInfo(this.page, this.pageSize, this.rol_name, this.rrhh_id)\n }\n\n /**\n * Metodo que inicializa el formulario\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n*/\n initializeForm(): void {\n this.filters = this.fb.group({\n campaign: ['', []],\n group: ['', []],\n adviser: ['', []]\n })\n }\n /**\n * Metodo que filtra la información\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n filterInfo(): void {\n this.page = 1\n this.getInfo(this.page, this.pageSize, this.rol_name, this.rrhh_id, this.controls.campaign.value, this.controls.group.value, this.controls.adviser.value)\n this.paginator.firstPage()\n }\n /**\n * Metodo que restaura los filtros a su estado inicial\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n resetFilters(): void {\n this.page = 1\n this.filters.patchValue({ campaign: '', group: '', adviser: '' })\n this.getInfo(this.page, this.pageSize, this.rol_name, this.rrhh_id)\n this.paginator.firstPage()\n }\n\n get controls() {\n return this.filters.controls\n }\n\n /** Método que controla la paginación de la tabla\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getInfo(this.page, this.pageSize, this.rol_name, this.rrhh_id, this.controls.campaign.value, this.controls.group.value, this.controls.adviser.value)\n }\n\n /**\n * Metodo que obtiene la lista de videollamadas con filtros\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n*/\ngetInfo(page: number, page_size: number, rol: string, rrhh_id: number, campaign: string = \"\", group: string = \"\", adviser: string = \"\") {\n this.vidService.getVideoCalls(page, page_size, rol, rrhh_id, campaign, group, adviser).subscribe(resp => {\n this.dataSource = new MatTableDataSource(resp.data);\n this.length = resp.total;\n this.pageSize = resp.per_page;\n this.dataSource.sort = this.sort;\n });\n}\n /**\n * Metodo para cancelar una videollamada\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n cancelVideoCall(id: number, scheduled_date: string) {\n const current_schedule = moment(scheduled_date, 'YYYY-MM-DD HH:mm');\n const now = moment();\n const isWithinAnHour = current_schedule.isAfter(now) && current_schedule.diff(now, 'minutes') <= 60;\n const message = isWithinAnHour \n ? 'Falta menos de una hora, ¿Deseas cancelar la videollamada?' \n : '¿Deseas cancelar la videollamada?';\n this.alertService.alertWarning('¡Atención!', message).then(confirm => {\n if (!confirm.isConfirmed) return;\n if (isWithinAnHour) {\n this.alertService.alertWarning('¿Estás seguro?', 'No podrás revertir esta acción.').then(confirm => {\n if (!confirm.isConfirmed) return;\n this.executeCancel(id);\n });\n } else {\n this.executeCancel(id);\n }\n });\n }\n\n /**\n * Metodo para cancelar una videollamada\n * @author Yeison David Sepulveda Ospina\n * @createdate 05-12-2024\n */\n executeCancel(id: number) {\n this.vidService.cancelVideoCall({ id, rrhh_id: this.rrhh_id }).subscribe(\n () => {\n this.alertService.alertSuccess('¡Ok!', 'Se ha cancelado la videollamada con éxito.');\n this.resetFilters();\n this.getInfo(this.page, this.pageSize, this.rol_name, this.rrhh_id);\n },\n () => {\n this.alertService.alertError('¡Atención!', 'Ha ocurrido un error al intentar cancelar la videollamada.');\n }\n );\n }\n \n /**\n * Metodo que asigna un rol y una rrhh_id a la clase\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n setRol(): void {\n this.rrhh_id = this.authService.getUser().rrhh_id\n this.rol_name = this.authService.getUser().roles.find((rol) => rol.includes('meetings::'))?.split('::')[1]\n }\n\n openRescheduleForm(id: number) {\n const dialogConfig = new MatDialogConfig()\n dialogConfig.width = '60%'\n dialogConfig.height = 'auto'\n dialogConfig.data = {\n id: id,\n rrhh_id: this.rrhh_id\n }\n\n const dialogRef = this.dialog.open(RescheduleFormComponent, dialogConfig)\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n if (result.updated) {\n this.alertService.alertSuccess('!Ok!', 'Se ha reprogramado la videollamada con éxito.')\n this.resetFilters()\n }\n }\n });\n }\n /**\n * Metodo que obtiene las campañas\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n setCampaigns() {\n this.vidService.getCampaigns().subscribe(resp => {\n this.campaigns = resp\n })\n }\n /**\n * Metodo que obtiene los grupos\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n setGroups() {\n this.vidService.getGroupListPublic().subscribe(resp => {\n this.groups = resp.groups\n })\n }\n /**\n * Metodo que obtiene los asesores\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n setAdvisers() {\n this.vidService.getAdvisersList().subscribe(resp => {\n this.advisers = resp\n })\n }\n\n}\n","
\n
\n
\n

Gestión de videollamadas

\n
\n
\n

Aquí podrás ver, reagendar y cancelar las videollamadas vigentes. No olvides, \"El respeto y la empatía son claves\".

\n
\n\n
\n
\n \n Campaña\n \n --Seleccionar--\n {{ campaign.name }}\n \n \n
\n
\n \n Grupo\n \n --Seleccionar--\n {{ group.name }}\n \n \n
\n
\n \n Agente\n \n --Seleccionar--\n {{ adviser.first_name + \" \" + adviser.last_name}}\n \n \n
\n
\n \n \n
\n
\n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n\n \n \n \n \n \n
Acciones\n \n\n \n NIC del cliente{{ element.client_nic}}Fecha programada{{ element.scheduled_date | date: 'dd/MM/yyyy hh:mm a' }}Grupo{{ element.group?.name_group }}Nombre del agente{{ element.advisers?.name_adviser}}Estado{{ element.state?.name }}
No se encontraron videollamadas que coincidan con los criterios de búsqueda
\n \n \n\n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from '../../../../environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LeadersService {\n\n constructor(private http: HttpClient){}\n api_services = environment.BPMS_URL\n\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n };\n\n lideres = [\n {\n id : 5,\n nombre: 'lidera',\n email: 'lidera@groupcos.com.co'\n },\n {\n id : 6,\n nombre: 'liderb',\n email: 'liderb@montechelo.com.co'\n },\n {\n id : 7,\n nombre: 'liderc',\n email: 'liderc@montechelo.com.co'\n }\n ];\n\n\n getLideres() {\n return this.http.get(`${this.api_services}users/lider`, this.httpOptions);\n //return this.lideres;\n }\n}\n","import { Component, OnInit, Inject } from \"@angular/core\";\nimport {\n FormGroup,\n ValidatorFn,\n AbstractControl,\n Validators,\n FormControl,\n} from \"@angular/forms\";\nimport { Observable } from \"rxjs\";\nimport { CampaignsService } from \"../../../services/rest/campaigns.service\";\nimport { DestroyComponentService } from \"../../../../../core/services/utils/destroy-component.service\";\nimport { AlertsService } from \"../../../../../shared/alerts/alerts.service\";\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\nimport { Campaings } from \"../../class/Campaigns\";\nimport { AuthService } from \"../../../../../core/services/rest/auth.service\";\nimport { BusinessService } from 'src/app/modules/nomina/services/rest/business.service';\n\n@Component({\n selector: \"app-save-campaigns\",\n templateUrl: \"./save-campaigns.component.html\",\n styleUrls: [\"./save-campaigns.component.sass\"],\n})\nexport class SaveCampaignsComponent implements OnInit {\n campaignForm: FormGroup;\n filteredOptions: Observable;\n applications: any;\n menus: any;\n menusSet: any = [];\n companies: any = [];\n\n constructor(\n private campaignService: CampaignsService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n private authService: AuthService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private businessService: BusinessService\n ) {}\n\n ngOnInit(): void {\n this.formControl();\n this.getCompanies();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-05-19\n * Metodo que trae las empresas registradas.\n */\n getCompanies(): void {\n const params = { page: '', per_page: '' };\n this.businessService.getAllBusiness(params).subscribe((resp: any) => {\n this.companies = resp;\n this.setEdit();\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.applications.filter(\n (option) => option.name.toLowerCase().indexOf(filterValue) === 0\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFn(id: number): string {\n if (!id) {\n return \"\";\n }\n let index = this.applications.findIndex((resp) => resp.id === id);\n return this.applications[index].name;\n }\n\n /**\n * @author Daniel Martinez\n * Obtiene los controles\n */\n get error(): any {\n return this.campaignForm.controls;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void {\n this.campaignForm = new FormGroup({\n company: new FormControl(\"\", [Validators.required]),\n name: new FormControl(\"\", [\n Validators.required,\n Validators.maxLength(40),\n Validators.minLength(3),\n ]),\n code: new FormControl(\"\", [\n Validators.required,\n Validators.maxLength(5),\n Validators.minLength(3),\n ]),\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que valida las funciones del autocompetable\n */\n autocompleteObjectValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (typeof control.value === \"string\") {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n };\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que setea los valores al momento de editar\n */\n setEdit(): void {\n if (this.data.type === \"editar\") {\n this.campaignForm.controls.company.setValue(parseInt(this.data.campaign.company_id));\n this.campaignForm.controls.name.setValue(this.data.campaign.name);\n this.campaignForm.controls.code.setValue(this.data.campaign.code);\n }\n }\n\n /**\n * @author Johan Soler\n * @createdate 2022-05-19\n * Metodo que crea campañas\n * @param rolForm datos que recolecta el formulario de campañas\n */\n saveCampaign(rolForm): void {\n if (this.data.type === \"crear\") {\n const campaing = new Campaings();\n campaing.id = 0;\n campaing.name = this.campaignForm.value.name.toUpperCase();\n campaing.code = this.campaignForm.value.code;\n campaing.company_id = this.campaignForm.value.company;\n campaing.rrhh_id = this.authService.getUser().rrhh_id;\n campaing.description = \"\";\n\n this.campaignService.saveCampaign(campaing).subscribe((resp) => {\n this.alertsService.alertSuccess(\"Guardado\", resp.data);\n this.dialogRef.close(\"\");\n });\n } else if (this.data.type === \"editar\") {\n this.editCampaign();\n }\n }\n\n /**\n * @author Johan Soler\n * @createdate 2022-05-19\n * Metodo que edita una campaña\n */\n editCampaign(): void {\n const campaing = new Campaings();\n campaing.id = this.data.campaign.id;\n campaing.name = this.campaignForm.value.name.toUpperCase();\n campaing.code = this.campaignForm.value.code;\n campaing.company_id = this.campaignForm.value.company;\n campaing.rrhh_id = this.data.campaign.rrhh_id;\n campaing.description = \"\";\n\n this.campaignService.editCampaign(campaing).subscribe((resp) => {\n this.alertsService.alertSuccess(\"Editado\", resp.data);\n this.dialogRef.close(\"\");\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n}\n","\n
\n

\n {{ data.title }}\n

\n \n
\n \n
\n
\n \n Empresa *\n \n \n {{item?.name}}\n \n \n ¡Advertencia! Este campo\n es\n requerido\n \n
\n
\n \n Nombre de la campaña\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo\n 3\n caracteres\n ¡Cuidado! Solo puedes tener\n un\n máximo de 40 caracteres\n \n
\n
\n \n Código de la campaña\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo\n 3\n caracteres\n ¡Cuidado! Solo puedes tener\n un\n máximo de 5 caracteres\n \n
\n
\n
\n
\n Los campos marcados con el asterisco (*) son obligatorios\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { RequestService } from '../../../services/request.service';\n\n@Component({\n selector: 'app-audio-player',\n templateUrl: './audio-player-modal.component.html',\n styleUrls: ['./audio-player-modal.component.sass'],\n})\nexport class AudioPlayerComponent implements OnInit {\n audioUrl;\n recordingID;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private requestService: RequestService\n ) {\n this.recordingID = data.recordingId;\n }\n\n ngOnInit(): void {\n this.audioUrl = this.requestService.getAudioUrl(this.recordingID);\n }\n\n @ViewChild('audioPlayer') audioPlayer: ElementRef;\n\n start: number = 0;\n end: number = 0;\n audioEventListener: any;\n\n /**\n * Método para registrar y establecer los tiempos de inicio y fin de la reproducción de audio.\n * @author Yeison Sepulveda\n * @createdate 2024-03-07\n * @param start Tiempo de inicio de la reproducción.\n * @param end Tiempo de fin de la reproducción.\n */\n\n logStartAndEnd(start: number, end: number): void {\n this.start = start;\n this.end = end;\n\n if (this.audioPlayer) {\n this.audioPlayer.nativeElement.currentTime = this.start;\n this.audioPlayer.nativeElement.play();\n\n const timeUpdateListener = () => {\n if (this.audioPlayer.nativeElement.currentTime >= this.end) {\n this.audioPlayer.nativeElement.pause();\n\n //Despues de pausar crea un nuevo objeto resetea el tiempo limite al total del audio\n const audio = new Audio(this.audioUrl);\n audio.addEventListener('loadedmetadata', () => {\n const durationInSeconds = audio.duration;\n this.end = durationInSeconds;\n });\n }\n };\n\n this.audioPlayer.nativeElement.addEventListener(\n 'timeupdate',\n timeUpdateListener\n );\n } else {\n console.error('Audio indefinido');\n }\n }\n\n /**\n * Método para retroceder 10 segundos en la reproducción de audio.\n * @author Yeison Sepulveda\n * @createdate 2024-03-07\n */\n skipBackward(): void {\n if (this.audioPlayer) {\n this.audioPlayer.nativeElement.currentTime -= 10;\n }\n }\n\n /**\n * @description Método para pausar o reproducir el audio.\n * @author Yeison Sepulveda\n * @createdate 2024-03-07\n */\n togglePlay(): void {\n if (this.audioPlayer) {\n if (this.audioPlayer.nativeElement.paused) {\n this.audioPlayer.nativeElement.play();\n } else {\n this.audioPlayer.nativeElement.pause();\n }\n }\n }\n\n /**\n * Método para avanzar 10 segundos en la reproducción de audio.\n * @author Yeison Sepulveda\n * @createdate 2024-03-07\n */\n skipForward(): void {\n if (this.audioPlayer) {\n this.audioPlayer.nativeElement.currentTime += 10;\n }\n }\n}\n","\n

Reproducir grabación

\n\n\n
\n
\n \n
\n
\n
\n \n \n \n
\n
\n\n
\n\n
\n\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nconst calidad_url = environment.CALIDAD_URL;\nconst lang = JSON.parse(localStorage.getItem('locale')) ?? 'es';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PreguntasService {\n constructor(\n private http:HttpClient,\n private authService:AuthService\n ) { }\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Cristian Gallo\n * @createdate 2021-10-27\n * Servicio que trae los tipos de pregunta bien sea para usarlos como filtro o creación de preguntas.\n */\n getTypeQuestions(){\n return this.http.post(`${calidad_url}getTiposPreguntas`, {'lang':lang})\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Cristian Gallo\n * @createdate 2021-10-27\n * Servicio que guarda una nueva pregunta.\n * @param data datos de la pregunta a guardar\n */\n saveQuestion(data:Object){\n let dataForm = {dataform:[data]}\n return this.http.post(`${calidad_url}crearPregunta/${this.authService.getUser().rrhh_id}`,dataForm)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Cristian Gallo\n * @createdate 2021-10-27\n * Servicio que trae todas las preguntas creadas para mostrar en una tabla.\n * @param params parametros como N° de pagina, cantidad de registros y filtros.\n */\n getQuestions(params){\n return this.http.get(`${calidad_url}listarPreguntas`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Cristian Gallo\n * @createdate 2021-10-27\n * Servicio que actualiza una pregunta.\n * @param data datos de la pregunta a actualizar\n * @param id_question id de la pregunta a actualizar\n */\n updateQuestion(id_question,data){\n return this.http.post(`${calidad_url}updatePregunta/${id_question}/${this.authService.getUser().rrhh_id}`,{'lang':lang, dataform:[data]})\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Cristian Gallo\n * @createdate 2021-10-27\n * Servicio que actualiza una pregunta.\n * @param data datos de la pregunta a actualizar\n * @param id_question id de la pregunta a actualizar\n */\n getQuestionByID(id_question){\n return this.http.get(`${calidad_url}showPregunta/${id_question}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Cristian Gallo\n * @createdate 2021-10-27\n * Servicio que elimina una pregunta.\n * @param id_question id de la pregunta a eliminar.\n */\n removeQuestion(id_question){\n return this.http.post(`${calidad_url}eliminarPregunta/${id_question}`,{'lang':lang})\n .pipe(\n catchError(this.handleError)\n );\n }\n deleteOpcion(data){\n data.lang = lang;\n return this.http.post(`${calidad_url}deleteOpcion`,data)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Component, Inject, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatTabGroup } from '@angular/material/tabs';\nimport { Observable, of } from 'rxjs';\nimport { StorageService } from 'src/app/core/services/storage/storage.service';\nimport { DialogStateService } from 'src/app/core/services/utils/DialogSurveysState.service';\nimport { SurveyService } from 'src/app/modules/encuestas/services/suervey.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { environment } from 'src/environments/environment';\nimport { SweetAlertResult } from 'sweetalert2';\n\nconst ENCUESTAS_INTERNAS = environment.ENCUESTAS_INTERNAS;\n\n\n@Component({\n selector: 'app-modal-surveys-user',\n templateUrl: './modal-surveys-user.component.html',\n styleUrls: ['./modal-surveys-user.component.sass']\n})\nexport class ModalSurveysUserComponent implements OnInit, OnDestroy {\n\n @ViewChild('tabGroup') tabGroup: MatTabGroup;\n private countSurveyAnswered: number = 0;\n private surveySaveComplete: any[] = []\n private readonly replaceUrlStorageImg:string = ENCUESTAS_INTERNAS.replace(/api\\//g,'');\n\n public indexTabSurvey: number = 0\n surveyList: any[] = []\n\n constructor(\n private suerveyService: SurveyService,\n private alertService: AlertsService,\n private dialigRef: MatDialogRef,\n private sessionStorge: StorageService,\n private dialogStateService:DialogStateService\n ) { }\n\n ngOnInit(): void { \n this.surveyList = this.getSurveys;\n }\n\n ngOnDestroy(){\n if (this.dialogStateService.isDialogOpen()) {\n this.dialogStateService.resetDialog();\n }\n }\n\n /**\n * Metodo que se encarga de obtenerlas encuestas a aplicar al usuario\n * @returns \n */\n get getSurveys(): any[] {\n const surveysList = this.sessionStorge.getStorage('surveys'); \n if (surveysList !== undefined && surveysList !== null && Array.isArray(surveysList) == true && surveysList.length > 0) {\n let surveysNotSkiped = surveysList.filter( survey => survey?.is_skiped == false )\n return surveysNotSkiped\n }\n return [];\n }\n\n /**\n * Metodo que se encarga de guardar una solicitud\n * @author Juan David Guerrero Vrgas\n * @param survey:any {any}\n */\n saveSurvey(surveyAnswers: any, indexSurvey: number): void {\n /** Variable de control donde se recolectara la informaicon por separado para su funcion especifica **/\n\n let sections = surveyAnswers.sections;\n const surveyActual = this.surveyList[indexSurvey];\n \n sections.forEach((section: any, index: number) => {\n if (Array.isArray(section.fields)) {\n section.fields.forEach((field: any, indexField: number) => {\n if (surveyAnswers.hasOwnProperty('answer') == true) {\n for (const key in surveyAnswers.answer[index]) {\n if (key === field.key && field.seeSons === true && field.type !== 'image') {\n field.value = surveyAnswers.answer[index][key];\n break;\n }else if (key === field.key && field.seeSons === true && field.type == 'image') {\n if(surveyAnswers.answer[index][key] !== undefined){\n field.value = surveyAnswers.answer[index][key].replace(this.replaceUrlStorageImg,'');\n }else{\n field.value = \"\"\n }\n break;\n }\n }\n }\n switch (field.controlType) {\n case 'multiselect':\n if (!Array.isArray(field.value)) {\n field.value = [field.value]\n }\n break;\n }\n\n });\n }\n });\n\n const formSaveSurvey = {\n sections: sections\n }; \n\n this.suerveyService.saveAnswer(surveyActual.id, formSaveSurvey).subscribe(\n (restResponse) => {\n\n this.countSurveyAnswered++;\n let filterdSurveys = this.getSurveys.filter( (survey:any)=> survey.id != surveyActual.id );\n this.surveyList[indexSurvey]['is_skiped'] = true\n this.sessionStorge.removeStorage('surveys')\n this.sessionStorge.setStorage('surveys', filterdSurveys);\n if (indexSurvey == (this.surveyList.length - 1)) {\n this.alertService.alertSuccess('Registro exitoso', 'Porque tu opinión nos importa mucho, gracias por responder las encuestas.');\n this.dialogStateService.resetDialog();\n this.dialigRef.close();\n\n } else {\n this.indexTabSurvey++;\n }\n });\n \n }\n\n /**\n * Metodo que se encarga de obtener el total de encuestas\n * @author Juan David Guerrero Vargas\n * @returns {number} number\n */\n get totalSurvey(): number {\n if (Array.isArray(this.surveyList) == false) {\n return 0;\n } else if (Array.isArray(this.surveyList)) {\n return this.surveyList.length\n }\n\n }\n\n /**\n * Metodo que se encarga de determinar una encuesta es opcional o es obligatoria\n * @param survey:any {any} Encuesta a evaluar\n * @returns {Boolean} boolean True en caso de ser opcional False de lo contrario\n */\n isOptionalSurvey(survey):boolean{\n let launch_survey = survey.launch_configuration\n if(launch_survey?.is_optional !== undefined){\n return Boolean(launch_survey.is_optional)\n }\n return false\n }\n\n /**\n * Metodo que se encarga de saltar entre tabs \n * @params index:number {number} indice de la encuesta a saltr\n */\n skipSurvey(index:number){\n if(this.indexTabSurvey == (this.surveyList.length - 1)){\n this.dialigRef.close();\n }else{\n this.indexTabSurvey++;\n } \n this.surveyList[index]['is_skiped'] = true\n this.sessionStorge.setStorage('surveys', this.surveyList);\n }\n\n}\n","\n

Tienes {{totalSurvey}} encuestas por diligenciar.

\n\n\n
\n
\n \n \n
\n \n Saltar\n  \n \n \n \n

{{ item.name }}

\n
\n \n \n
\n
\n
\n
\n\n\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-move-email-to-trays',\n templateUrl: './move-email-to-trays.component.html',\n styleUrls: ['./move-email-to-trays.component.css']\n})\nexport class MoveEmailToTraysComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n \n }\n}","\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MedicaltestService } from '../../../services/medicaltest.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\nimport { CreateMedicalTestComponent } from '../create-medical-test/create-medical-test.component';\nimport { MedicalTestsComponent } from '../medical-tests/medical-tests.component';\nimport { saveAs as importedSaveAs } from \"file-saver\";\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n@Component({\n selector: 'app-medical-test-action',\n templateUrl: './medical-test-action.component.html',\n styleUrls: ['./medical-test-action.component.sass']\n})\nexport class MedicalTestActionComponent implements OnInit {\n\n status:any;\n candidate:any;\n medicalTest:any;\n attachment:any;\n statusOptions:any = [];\n userData;\n constructor(private medicalService:MedicaltestService,private alertServices:AlertsService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n private dialog:MatDialog,\n private authService : AuthService,\n private dialogRefCandidateTestsList:MatDialogRef\n ) {\n this.candidate = this.data.candidate;\n this.medicalTest = this.data.medicalTest;\n\n\n }\n\n ngOnInit(): void {\n this.userData = this.authService.getUser();\n \n this.status = this.medicalTest.status;\n this.attachment = this.medicalTest.attachment;\n this.medicalService.getStatus(`medical/list/status`).subscribe(res=>{\n this.statusOptions= res\n })\n }\n saveStatus(){\n this.alertServices.alertConfirm('¿Estas seguro que desea asignar el estado seleccionado?').then( e => {\n if(e.isConfirmed){\n this.medicalService.changeStatus(this.medicalTest.id,this.status,this.userData.rrhh_id).subscribe( (e:any) => {\n this.alertServices.alertSuccess('¡Hecho!',e);\n if(this.status == 34){\n this.alertServices.alertConfirm('¿Deseas agendar nuevamente este exámen médico?').then( (re) => {\n if(re.isConfirmed){\n\n this.createMedicalTest();\n }\n if(re.isDenied){\n this.dialogRef.close(true);\n }\n })\n }\n else{\n this.dialogRef.close(true);\n }\n\n\n });\n }\n } )\n }\n\n\n createMedicalTest(){\n this.medicalTest.date = null;\n const dialogCreateMedicalTests = this.dialog.open( CreateMedicalTestComponent ,{\n data:{\n 'candidate':this.candidate,\n 'medicalTest':this.medicalTest\n },\n minWidth:'700px',\n });\n dialogCreateMedicalTests.afterClosed().subscribe( e => {\n this.dialogRef.close(true);\n })\n }\n\n onFileSelected(files) {\n this.medicalService.uploadAttachment(this.medicalTest.id,files[0]).subscribe( e => {\n this.attachment = e;\n this.alertServices.alertSuccess('¡Cargado!', 'El exámen médico se ha cargado correctamente');\n })\n\n }\n\n downloadAttachment(){\n this.medicalService.downloadAttachment(this.medicalTest.id).subscribe( (e) => {\n importedSaveAs(e,'examen_medico');\n\n })\n }\n\n\n}\n","\n

Cambiar Estado de Exámen Médico

\n
\n\n
\n \n Estados\n \n {{row.name}}\n \n \n \n Exámen Médico\n \n \n \n\n \n\n \n
\n
\n\n \n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { ScheduleService } from 'src/app/core/services/rest/schedule.service';\nimport { RolesService } from 'src/app/modules/ciu/services/rest/roles.service';\nimport { sessionService } from 'src/app/modules/livechat/services/session/index.service';\nimport { storageService } from '../../../../services/storage/storage.service';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.sass'],\n providers: [storageService]\n})\nexport class HomeComponent implements OnInit {\n\n public user: any;\n public roles = [];\n public rol_livechat: string = '';\n public scheduleStatus: string = '';\n\n constructor(\n private _storageService: storageService,\n private _sessionService: sessionService,\n private _authService: AuthService,\n private _router: Router,\n private _scheduleService: ScheduleService\n ) {\n this.user = this._authService.getUser();\n // this.user = JSON.parse(this._storageService.getItem('user'));\n if (this.user) {\n this.roles = this.user.roles;\n this.getRole();\n }\n }\n\n ngOnInit(): void {\n }\n\n getRole() {\n console.log('INGRESO AQUI 1 ');\n if (this.roles) {\n this._scheduleService.getScheduleGuard().subscribe((data) => {\n this.scheduleStatus = data;\n let role;\n let roleCrm = [];\n let idx = null;\n this.roles.map(rol => {\n console.log('ROL ACTUAL', rol);\n switch (rol) {\n case 'livechat::admin':\n role = rol;\n break;\n case 'livechat::supervisor':\n role = rol;\n break;\n case 'livechat::asesor':\n role = rol;\n break;\n\n default:\n break;\n }\n })\n this.rol_livechat = role;\n this._sessionService.setItem('role', this.rol_livechat);\n if (this.rol_livechat === 'livechat::admin') {\n this._router.navigate(['/mios/livechat/omni/campaigns']);\n } else if (this.rol_livechat === 'livechat::supervisor' && this.scheduleStatus === 'started') {\n console.log('ENRUTO POR MI ROL ');\n this._router.navigate(['/mios/livechat/omni/dashboard2']);\n\n } else if (this.rol_livechat === 'livechat::supervisor' && this.scheduleStatus !== 'started') {\n this._router.navigate(['/mios/livechat/omni/await-page']);\n }else if (this.rol_livechat === 'livechat::asesor' && this.scheduleStatus === 'started') {\n this._router.navigate(['/mios/livechat/omni/conversations']);\n } else if (this.rol_livechat === 'livechat::asesor' && this.scheduleStatus !== 'started') {\n this._router.navigate(['/mios/livechat/omni/await-page']);\n }\n });\n }\n }\n}\n","
\n
\n \n
\n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\nimport {CandidatesService} from '../../../services/candidates.service';\nimport {MatSnackBar} from '@angular/material/snack-bar';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport Swal from 'sweetalert2';\nimport {Tools} from '../../../../calidad/utils/tools.utils';\n\n@Component({\n selector: 'app-attachment-delete-form',\n templateUrl: './attachment-delete-form.component.html',\n styleUrls: ['./attachment-delete-form.component.sass']\n})\nexport class AttachmentDeleteFormComponent implements OnInit {\n\n public deleteForm: FormGroup;\n causes: any;\n\n constructor(\n private candidateService: CandidatesService,\n public snackBar: MatSnackBar,\n public dialogRef: MatDialogRef,\n public dialog: MatDialog,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) { }\n\n ngOnInit(): void {\n this.buildForm();\n this.getCauses();\n }\n\n\n private buildForm() {\n this.deleteForm = new FormGroup({\n cause : new FormControl('', [Validators.required]),\n comment : new FormControl('', [\n Validators.maxLength(200),\n ]),\n });\n\n }\n\n get error(): any { return this.deleteForm.controls; }\n\n onSubmit() {\n Swal.fire({\n icon: 'warning',\n title: '¿Está seguro de asignar este estado?',\n showCancelButton: true,\n cancelButtonText: 'No',\n confirmButtonText: 'Si',\n reverseButtons: true,\n width: '700px',\n padding: '2em 2em',\n }).then((result) => {\n if (result.isConfirmed) {\n const body = {\n id: this.data.file.id,\n cause: this.deleteForm.get('cause').value,\n comment: this.deleteForm.get('comment').value,\n };\n\n this.candidateService.deleteDocumentAttachment( body ).subscribe(resp => {\n if (resp === 'Se elimino el archivo correctamente') {\n Tools.swalSuccess('¡Excelente!', 'El archivo se ha eliminado con éxito');\n } else {\n Swal.fire({\n icon: 'error',\n title: '¡Oops!',\n text: 'Lo sentimos ha sucedio un error',\n showConfirmButton: false,\n timer: 2500\n });\n }\n });\n }\n this.dialogRef.close();\n });\n }\n\n private getCauses() {\n this.candidateService.getCausesToDeleteFile().subscribe(resp => {\n this.causes = resp;\n });\n }\n\n onCancel() {\n this.dialogRef.close();\n }\n}\n","
\n

Eliminar documento

\n

\n
\n\n \n Causa *\n \n {{item?.name}}\n \n Éste campo es requerido\n \n\n \n \n Comentarios \n \n Máximo 200 carácteres\n Éste campo es requerido\n \n\n
\n \n \n
\n\n
\n
\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { Subscription } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { CoachingService } from '../../services/coaching.service';\nimport { loadAcompañamientos } from '../../state/actions/acompañamiento.actions';\nimport { loadSelects } from '../../state/actions/selects.actions';\n\nconst params = {\n\tparametro: '',\n\tfechaInicial: '',\n\tfechaFinal: '',\n\tindicador: '',\n\tnumeroReg: 5,\n\testado: '',\n\ttab: 0,\n\tpage: 1,\n\treasignado:\"\"\n}\n\n@Component({\n\tselector: 'app-coaching',\n\ttemplateUrl: './coaching.component.html',\n\tstyleUrls: ['./coaching.component.sass']\n})\nexport class CoachingComponent implements OnInit, OnDestroy {\n\tselected = new FormControl(0);\n\trol;\n\t//Observable para los cambios de la tabla\n\tsubscription: Subscription;\n\t//Variable que determina si se ingreso a la vista con el servicio o travez de una notificacion \n\tfilter: string = \"\";\n\tconstructor(\n\t\tprivate store: Store,\n\t\tprivate coachingService: CoachingService,\n\t\tprivate aRoute: ActivatedRoute,\n\t\tprivate router: Router,\n\t\tprivate authService: AuthService,\n\t) { }\n\n\tngOnInit(): void {\n\t\t/**\n\t\t* @author Cristian Gallo\n\t\t* @createdate 2021-12-10\n\t\t* Metodo para ejecutar los servicios para cargar los selects para filtros \n\t\t* como para la creación de un acompañamiento.\n\t\t*/\n\t\tthis.getRoles();\n\t\tthis.store.dispatch(loadSelects({ rol: this.rol }));\n\t\tthis.aRoute.paramMap.subscribe(param => {\n\t\t\tparams.tab = parseInt(param.get('tab'));\n\t\t\tthis.selected.setValue(param.get('tab'));\n\t\t})\n\n\t\tthis.changeTab(params.tab);\n\t\tthis.subscription = this.coachingService.refresh$.subscribe(() => {\n\t\t\tthis.changeTab(params.tab);\n\t\t});\n\n\t}\n\n\tngOnDestroy(): void {\n\t\tif (this.subscription !== undefined) {\n\t\t\tthis.subscription.unsubscribe();\n\n\t\t}\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-10\n\t* Metodo para validar el tab en el que se encuentra el usuario y asi mismo filtrar la información que se mostrara.\n\t */\n\tchangeTab(event?) {\n\t\tif (event == 1) {\n\t\t\tparams.tab = 12;\n\t\t} else {\n\t\t\tparams.tab = event;\n\t\t}\n\n\t\tthis.getParamsUrl();\n\t\tif (this.filter !== \"reasignacion\") {\n\t\t\tthis.router.navigateByUrl(`mios/coaching/coaching/${event}`);\n\t\t\tthis.selected.setValue(event);\n\t\t\tthis.store.dispatch(loadAcompañamientos(params));\n\t\t\tlocalStorage.setItem('filtros_coaching', JSON.stringify(params));\n\t\t} else {\n\t\t\tthis.selected.setValue(event);\n\t\t\t\n\t\t\tparams.reasignado = '1';\n\t\t\tthis.store.dispatch(loadAcompañamientos(params));\n\t\t\tlocalStorage.setItem('filtros_coaching', JSON.stringify(params));\n\t\t}\n\n\t}\n\n\tgetRoles() {\n\t\tthis.authService.getUser().roles.forEach(rol => {\n\t\t\tif (rol.includes('coaching::')) {\n\t\t\t\tthis.rol = rol;\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n * Metodo que carga los datos por URL para validacion y pbtencion de datos apra carga de tabla\n * @author Juan David Guerrero Vargas\n * @create_date 02/06/2022\n * @return void \n */\n\tgetParamsUrl(): void {\n\t\tthis.aRoute.paramMap.subscribe(params => {\n\t\t\tthis.filter = params.get('filter');\n\t\t});\n\n\t}\n\n\n}\n","
\n \n
\n \n

Coaching

\n
\n

Aquí podrás ver o crear un nuevo acompañamiento. No olvides,

\n

“El respeto y empatía son clave”.

\n
\n
\n \n
\n \n \n
\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n","import { ChangeDetectorRef, Component, Input, NgModule, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators, ReactiveFormsModule } from '@angular/forms';\nimport { ActivatedRoute, Params, ParamMap, Router } from '@angular/router';\nimport { Location } from '@angular/common'\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { Observable } from 'rxjs';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog } from '@angular/material/dialog';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { ClientesService } from '../../services/rest/clientes.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport Swal from 'sweetalert2';\nimport { OportunidadesService } from '../../services/rest/oportunidades.service';\nimport { HistorialnComponent } from '../historialn/historialn.component';\nimport { CompaniesService } from '../../services/rest/companies.service';\nimport { debounceTime } from 'rxjs/operators';\nimport { NotesService } from '../../services/rest/notes.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n\n@Component({\n selector: 'app-cliente-consulta',\n templateUrl: './cliente-consulta.component.html',\n styleUrls: ['./cliente-consulta.component.sass']\n})\n\nexport class ClienteConsultaComponent implements OnInit, OnDestroy {\n\n currentAdIndex = -1;\n clientesconsulta: FormGroup;\n clienteconsulta: string[] = [];\n arraycomerciales: [] = [];\n arrayservicios: any = [];\n arraycompany: any = [];\n element = false;\n data: any;\n idcliente: any;\n cliente: Observable;\n arrayNegadas: any = [];\n arrayProspecto: any = [];\n arrayganada: any = [];\n arraydesierta: any = [];\n arrayPerdidas: any = [];\n hanotaciones: any = [];\n clientInfo: any = [];\n arraycomercial: any[] = [];\n stateData: any[] = [\n { id: 'prospecto', name: 'Prospecto' },\n { id: 'acercamiento', name: 'Acercamiento Comercial' },\n { id: 'construccion', name: 'Construcción de Propuesta' },\n { id: 'enviada', name: 'Enviada' },\n { id: 'negociacion', name: 'Negociación/Sustentación' },\n { id: 'cierre', name: 'Cierre' }\n ];\n\n //Tab nuevas oportunidades\n @ViewChild(MatPaginator) paginator: MatPaginator;\n obs: Observable;\n dataSource: MatTableDataSource = new MatTableDataSource();\n pageSize: 8;\n pageSizeOptions: number[] = [8, 16, 32, 100];\n length;\n page = 1;\n comercialControl = new FormControl();\n stateControl = new FormControl();\n lineServiceControl = new FormControl();\n companyControl = new FormControl();\n nameControl = new FormControl();\n comercial: any = '';\n state: any = '';\n lineService: any = '';\n company: any = '';\n nameOportunity: any = '';\n //Tab oportunidades Ganadas\n @ViewChild(MatPaginator) paginator2: MatPaginator;\n obs2: Observable;\n dataSource2: MatTableDataSource = new MatTableDataSource();\n pageSize2: 8;\n pageSizeOptions2: number[] = [8, 16, 32, 100];\n length2;\n page2 = 1;\n comercialControl2 = new FormControl();\n lineServiceControl2 = new FormControl();\n companyControl2 = new FormControl();\n nameControl2 = new FormControl();\n comercial2: any = '';\n lineService2: any = '';\n company2: any = '';\n nameOportunity2: any = '';\n //Tab oportunidades Perdidas\n @ViewChild(MatPaginator) paginator3: MatPaginator;\n obs3: Observable;\n dataSource3: MatTableDataSource = new MatTableDataSource();\n pageSize3: 8;\n pageSizeOptions3: number[] = [8, 16, 32, 100];\n length3;\n page3 = 1;\n comercialControl3 = new FormControl();\n lineServiceControl3 = new FormControl();\n companyControl3 = new FormControl();\n nameControl3 = new FormControl();\n comercial3: any = '';\n lineService3: any = '';\n company3: any = '';\n nameOportunity3: any = '';\n //Tab oportunidades Desiertas\n @ViewChild(MatPaginator) paginator4: MatPaginator;\n obs4: Observable;\n dataSource4: MatTableDataSource = new MatTableDataSource();\n pageSize4: 8;\n pageSizeOptions4: number[] = [8, 16, 32, 100];\n length4;\n page4 = 1;\n comercialControl4 = new FormControl();\n lineServiceControl4 = new FormControl();\n companyControl4 = new FormControl();\n nameControl4 = new FormControl();\n comercial4: any = '';\n lineService4: any = '';\n company4: any = '';\n nameOportunity4: any = '';\n rolUser: any;\n observationField: boolean = false;\n observationControl = new FormControl('',Validators.maxLength(255));\n user: any;\n selectedIndex: any = 0;\n\n constructor(\n private route: ActivatedRoute,\n private location: Location,\n private clientesService: ClientesService,\n private dialog: MatDialog,\n private mattab: MatTabsModule,\n private browse: BrowserModule,\n private alertsService: AlertsService,\n private router: Router,\n private fb: FormBuilder,\n private oportunidadservice: OportunidadesService,\n private changeDetectorRef: ChangeDetectorRef,\n private companyService: CompaniesService,\n private notesService: NotesService,\n private authService: AuthService\n ) { }\n\n ngOnInit(): void {\n this.user = this.authService.decryptToken().rrhh_id;\n const local = this.authService.getUser();\n local.roles.forEach((rol) => {\n const name = rol.split('::');\n if (name[0] == 'crm-cial' && name[1] == 'comercial') {\n this.rolUser = name[1];\n }\n if (name[0] == 'crm-cial' && name[1] == 'administrador') {\n this.rolUser = name[1];\n }\n });\n\n this.idcliente = this.route.snapshot.paramMap.get('id');\n this.clientesService.searchId(this.idcliente).subscribe(resp => {\n this.clientInfo = resp.data;\n });\n this.clientesService.getComercialsList().subscribe((resp: any) => {\n this.arraycomercial = resp.data;\n });\n\n this.clientesService.getLineServices().subscribe((resp: any) => {\n this.arrayservicios = resp.data;\n });\n\n this.companyService.getCompanies().subscribe((resp: any) => {\n this.arraycompany = resp.data;\n });\n\n //Tab nuevas oportunidades\n this.tabNuevas();\n //Tab oportunidades Ganadas\n this.tabGanadas();\n //Tab oportunidades perdidas\n this.tabPerdidas();\n //Tab oportunidades desiertas\n this.tabDesiertas();\n\n this.route.queryParams.subscribe(params => {\n this.selectedIndex = params.tab ? params.tab : 0;\n });\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la consulta y captura de cambios en los filtros de la tab de nuevas oportunidades\n */\n tabNuevas(){\n this.nameControl.valueChanges.pipe(debounceTime(1000)).subscribe(res => {\n this.resetPaginator();\n this.nameOportunity = res;\n this.getOportunitiesBy();\n });\n this.comercialControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.comercial = resp;\n this.getOportunitiesBy();\n });\n this.stateControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.state = resp;\n this.getOportunitiesBy();\n });\n this.lineServiceControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.lineService = resp;\n this.getOportunitiesBy();\n });\n this.companyControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.company = resp;\n this.getOportunitiesBy();\n });\n this.getOportunitiesBy();\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la consulta y captura de cambios en los filtros de la tab de ganadas\n */\n tabGanadas(){\n this.nameControl2.valueChanges.pipe(debounceTime(1000)).subscribe(res => {\n this.resetPaginator2();\n this.nameOportunity2 = res;\n this.getOportunitiesBy2();\n });\n this.comercialControl2.valueChanges.subscribe(resp => {\n this.resetPaginator2();\n this.comercial2 = resp;\n this.getOportunitiesBy2();\n });\n this.lineServiceControl2.valueChanges.subscribe(resp => {\n this.resetPaginator2();\n this.lineService2 = resp;\n this.getOportunitiesBy2();\n });\n this.companyControl2.valueChanges.subscribe(resp => {\n this.resetPaginator2();\n this.company2 = resp;\n this.getOportunitiesBy2();\n });\n this.getOportunitiesBy2();\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la consulta y captura de cambios en los filtros de la tab de perdidas\n */\n tabPerdidas(){\n this.nameControl3.valueChanges.pipe(debounceTime(1000)).subscribe(res => {\n this.resetPaginator3();\n this.nameOportunity3 = res;\n this.getOportunitiesBy3();\n });\n this.comercialControl3.valueChanges.subscribe(resp => {\n this.resetPaginator3();\n this.comercial3 = resp;\n this.getOportunitiesBy3();\n });\n this.lineServiceControl3.valueChanges.subscribe(resp => {\n this.resetPaginator3();\n this.lineService3 = resp;\n this.getOportunitiesBy3();\n });\n this.companyControl3.valueChanges.subscribe(resp => {\n this.resetPaginator3();\n this.company3 = resp;\n this.getOportunitiesBy3();\n });\n this.getOportunitiesBy3();\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la consulta y captura de cambios en los filtros de la tab de desiertas\n */\n tabDesiertas(){\n this.nameControl4.valueChanges.pipe(debounceTime(1000)).subscribe(res => {\n this.resetPaginator4();\n this.nameOportunity4 = res;\n this.getOportunitiesBy4();\n });\n this.comercialControl4.valueChanges.subscribe(resp => {\n this.resetPaginator4();\n this.comercial4 = resp;\n this.getOportunitiesBy4();\n });\n this.lineServiceControl4.valueChanges.subscribe(resp => {\n this.resetPaginator4();\n this.lineService4 = resp;\n this.getOportunitiesBy4();\n });\n this.companyControl4.valueChanges.subscribe(resp => {\n this.resetPaginator4();\n this.company4 = resp;\n this.getOportunitiesBy4();\n });\n this.getOportunitiesBy4();\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-31\n * Metodo para apertura de modal de historico de notas\n */ \n HistoricoNotas(id) {\n const dialogNewRol = this.dialog.open(HistorialnComponent, {\n width: '77%',\n disableClose: true,\n data: {\n type: 'view',\n title: 'Editar Nota',\n rolUser: '',\n oportunity: id,\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {});\n }\n\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para regresar a la vista de oportunidades\n */ \n back(): void {\n this.router.navigate(['/mios/crm-cial/clientes']);\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la eliminación y limpieza de un componente\n */ \n ngOnDestroy() {\n if (this.dataSource) {\n this.dataSource.disconnect();\n }\n if (this.dataSource2) {\n this.dataSource2.disconnect();\n }\n if (this.dataSource3) {\n this.dataSource3.disconnect();\n }\n if (this.dataSource4) {\n this.dataSource4.disconnect();\n }\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo que se encarga del paginador al momento de cambiar de pagina tab nuevas oportunidades\n * @param {any} event evento que trae la pagina a listar\n */\n pageEvent(event: any): void { \n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getOportunitiesBy();\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo que se encarga del paginador al momento de cambiar de pagina tab ganadas\n * @param {any} event evento que trae la pagina a listar\n */\n pageEvent2(event: any): void { \n this.pageSize2 = event.pageSize;\n this.page2 = event.pageIndex + 1;\n this.getOportunitiesBy2();\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo que se encarga del paginador al momento de cambiar de pagina tab perdidas\n * @param {any} event evento que trae la pagina a listar\n */\n pageEvent3(event: any): void { \n this.pageSize3 = event.pageSize;\n this.page3 = event.pageIndex + 1;\n this.getOportunitiesBy3();\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo que se encarga del paginador al momento de cambiar de pagina tab desiertas\n * @param {any} event evento que trae la pagina a listar\n */\n pageEvent4(event: any): void { \n this.pageSize4 = event.pageSize;\n this.page4 = event.pageIndex + 1;\n this.getOportunitiesBy4();\n }\n\n /**\n * @author Javier Castañeda\n * @purpose resetea el paginador\n * @createdate 2022-10-29\n */\n resetPaginator(): void {\n this.length = 0;\n this.pageSize = 8;\n this.page = 1;\n this.paginator.firstPage();\n }\n\n /**\n * @author Javier Castañeda\n * @purpose resetea el paginador\n * @createdate 2022-10-29\n */\n resetPaginator2(): void {\n this.length2 = 0;\n this.pageSize2 = 8;\n this.page2 = 1;\n this.paginator2.firstPage();\n }\n\n /**\n * @author Javier Castañeda\n * @purpose resetea el paginador\n * @createdate 2022-10-29\n */\n resetPaginator3(): void {\n this.length3 = 0;\n this.pageSize3 = 8;\n this.page3 = 1;\n this.paginator3.firstPage();\n }\n\n /**\n * @author Javier Castañeda\n * @purpose resetea el paginador\n * @createdate 2022-10-29\n */\n resetPaginator4(): void {\n this.length4 = 0;\n this.pageSize4 = 8;\n this.page4 = 1;\n this.paginator4.firstPage();\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la consulta y filtrado de oportunidades de la tab de nuevas oportunidades\n */\n getOportunitiesBy() {\n let filters = {\n tap: 'nuevas',\n step: this.state || '',\n company: this.company || '',\n comercial: this.comercial || '',\n service_line: this.lineService || '',\n name_oportunity: this.nameOportunity || '',\n perPage: this.pageSize || 8,\n page: this.page || 1\n }; \n this.oportunidadservice.getOportunitiesBy(this.idcliente, filters).subscribe(resp => {\n this.dataSource.data = resp?.data?.data;\n this.length = resp.data.total;\n this.obs = this.dataSource.connect();\n });\n }\n\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la consulta y filtrado de oportunidades de la tab de ganadas\n */\n getOportunitiesBy2() {\n let filters = {\n tap: '',\n state: 'ganada',\n company: this.company2 || '',\n comercial: this.comercial2 || '',\n service_line: this.lineService2 || '',\n name_oportunity: this.nameOportunity2 || '',\n perPage: this.pageSize2|| 8,\n page: this.page2 || 1\n }; \n this.oportunidadservice.getOportunitiesBy(this.idcliente, filters).subscribe(resp => {\n this.dataSource2.data = resp?.data?.data;\n this.length2 = resp.data.total;\n this.obs2= this.dataSource2.connect();\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la consulta y filtrado de oportunidades de la tab de perdidas\n */\n getOportunitiesBy3() {\n let filters = {\n tap: '',\n state: 'perdida',\n company: this.company3 || '',\n comercial: this.comercial3 || '',\n service_line: this.lineService3 || '',\n name_oportunity: this.nameOportunity3 || '',\n perPage: this.pageSize3 || 8,\n page: this.page3 || 1\n }; \n this.oportunidadservice.getOportunitiesBy(this.idcliente, filters).subscribe(resp => {\n this.dataSource3.data = resp?.data?.data;\n this.length3 = resp.data.total;\n this.obs3 = this.dataSource3.connect();\n });\n }\n\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la consulta y filtrado de oportunidades de la tab de desiertas\n */\n getOportunitiesBy4() {\n let filters = {\n tap: '',\n state: 'desierta',\n company: this.company4 || '',\n comercial: this.comercial4 || '',\n service_line: this.lineService4 || '',\n name_oportunity: this.nameOportunity4 || '',\n perPage: this.pageSize4 || 8,\n page: this.page4 || 1\n }; \n this.oportunidadservice.getOportunitiesBy(this.idcliente, filters).subscribe(resp => {\n this.dataSource4.data = resp?.data?.data;\n this.length4 = resp.data.total;\n this.obs4 = this.dataSource4.connect();\n });\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-01\n * Metodo para mostrar y ocultar campo de observaciones para edición\n */\n EditObservation(){\n \n this.observationField == true ? this.observationField = false : (this.observationField = true, this.observationControl.setValue(this.clientInfo.observations));\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-01\n * Metodo para actualizar la observación del cliente \n */\n updateObservation(){\n let formData = new FormData();\n formData.append('observations', this.observationControl.value ? this.observationControl.value : '');\n this.clientesService.updateCliente(this.idcliente, formData).subscribe(resp => {\n this.clientesService.searchId(this.idcliente).subscribe(res => {\n this.clientInfo = res.data;\n });\n this.alertsService.alertSuccessWithoutButton('Excelente',`El cliente ${this.clientInfo?.nameClient || ''} se ha guardado con éxito.`);\n this.EditObservation();\n });\n }\n\n /**\n * @author Nicoll Ramirez\n * @createdate 2022-11-03 \n * Funcion para cambiar la oportunidad a desierta\n * @returns Json\n *\n */\n saveDesierta(element) {\n let formData = new FormData();\n formData.append('step', 'cierre');\n formData.append('state', 'desierta');\n \n this.alertsService.alertWarning(\n '¿Estás seguro?',\n '¿En verdad deseas dejar esta oportunidad como desierta?, recuerda que esta acción será definitiva y no se podrá deshacer.'\n ).then((result) => {\n if (result.isConfirmed) {\n this.clientesService.updateOpportunities(element.id, formData)\n .subscribe((resp: any) => {\n this.getOportunitiesBy();\n this.getOportunitiesBy2();\n this.getOportunitiesBy3();\n this.getOportunitiesBy4();\n this.alertsService.alertSuccessWithoutButton('Excelente', resp.data);\n \n });\n }\n });\n }\n \n\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-01\n * Metodo para gestionar la oportunidad\n */\n manageOpportunities(element, tab){\n this.router.navigate([`/mios/crm-cial/creop/${this.clientInfo?.idClient}`], { queryParams: { type: 'edit', idOportunity: element.id, tab: tab, table: 0 }});\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-01\n * Metodo para ver detalle de la oportunidad\n */\n viewOpportunities(element, tab){\n this.router.navigate([`/mios/crm-cial/creop/${this.clientInfo?.idClient}`], { queryParams: { type: 'view', idOportunity: element.id, tab:tab, table: 0 }});\n }\n}\n","
\n
\n \n
\n
\n

{{clientInfo?.nameClient || ''}}

\n
\n\n
\n
\n

NIT. {{clientInfo?.id_number || ''}}

\n

EIN. {{clientInfo?.id_number || ''}}

\n

Teléfono: {{clientInfo?.phone_number || ''}}

\n

Dirección: {{clientInfo?.address || ''}}

\n

Página web: {{clientInfo?.website}}

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

Observación

\n \n
\n

{{clientInfo?.observations}}

\n \n Observaciones\n \n ¡Advertencia! Solo se permite maximo 255 caracteres\n \n \n
\n\n
\n \n \n
\n\n \n Nombre de la oportunidad\n \n \n \n\n \n Comercial asignado\n \n Todos\n {{item.name}}\n \n \n\n \n Estado\n \n Todos\n {{item.name}}\n \n \n\n \n Linea de servicio\n \n Todos\n {{item.name}}\n \n \n\n \n Empresa asignada\n \n Todos\n {{item.name}}\n \n \n
\n\n
\n\n
\n \n \n
\n \n \n \n \n \n \n
\n
\n \n {{item?.step}} \n
\n
\n

\n {{item?.name_oportunity}}\n

\n
\n
\n

líneas de servicio: {{item?.lineas}}

\n
\n
\n \n \n
\n  {{item?.invoicing ? '$' : ''}}{{item?.invoicing}}\n
\n  {{item?.tiempo_contrato}} {{ item?.tiempo_contrato ? (item?.tiempo_contrato > 1 ? ' meses' : ' mes') : ''}}\n
\n  {{item?.val_oportunidad ? '$' : ''}}{{item?.val_oportunidad}}\n
\n  {{item?.comercial}}\n
\n  {{item?.empresa}}\n
\n
\n \n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n\n
\n \n \n
\n\n \n Nombre de la oportunidad\n \n \n \n\n \n Linea de servicio\n \n Todos\n {{item.name}}\n \n \n\n \n Comercial asignado\n \n Todos\n {{item.name}}\n \n \n\n
\n\n
\n\n
\n \n \n
\n \n
\n
\n \n {{item?.state}} \n
\n
\n

\n {{item?.name_oportunity}}\n

\n
\n
\n

líneas de servicio: {{item?.lineas}}

\n
\n
\n \n \n
\n  {{item?.invoicing ? '$' : ''}}{{item?.invoicing}}\n
\n  {{item?.tiempo_contrato}} {{ item?.tiempo_contrato ? (item?.tiempo_contrato > 1 ? ' meses' : ' mes') : ''}}\n
\n  {{item?.val_oportunidad ? '$' : ''}}{{item?.val_oportunidad}}\n
\n  {{item?.comercial}}\n
\n  {{item?.empresa}}\n
\n
\n \n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n\n
\n \n \n
\n\n \n Nombre de la oportunidad\n \n \n \n\n \n Linea de servicio\n \n Todos\n {{item.name}}\n \n \n\n \n Comercial asignado\n \n Todos\n {{item.name}}\n \n \n\n
\n\n
\n\n
\n \n \n
\n \n
\n
\n \n {{item?.state}} \n
\n
\n

\n {{item?.name_oportunity}}\n

\n
\n
\n

líneas de servicio: {{item?.lineas}}

\n
\n
\n \n \n
\n  {{item?.invoicing ? '$' : ''}}{{item?.invoicing}}\n
\n  {{item?.tiempo_contrato}} {{ item?.tiempo_contrato ? (item?.tiempo_contrato > 1 ? ' meses' : ' mes') : ''}}\n
\n  {{item?.val_oportunidad ? '$' : ''}}{{item?.val_oportunidad}}\n
\n  {{item?.comercial}}\n
\n  {{item?.empresa}}\n
\n
\n \n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n\n
\n \n \n
\n\n \n Nombre de la oportunidad\n \n \n \n\n \n Linea de servicio\n \n Todos\n {{item.name}}\n \n \n\n \n Comercial asignado\n \n Todos\n {{item.name}}\n \n \n\n
\n\n
\n\n
\n \n \n
\n \n
\n
\n \n {{item?.state}} \n
\n
\n

\n {{item?.name_oportunity}}\n

\n
\n
\n

líneas de servicio: {{item?.lineas}}

\n
\n
\n \n \n
\n  {{item?.invoicing ? '$' : ''}}{{item?.invoicing}}\n
\n  {{item?.tiempo_contrato}} {{ item?.tiempo_contrato ? (item?.tiempo_contrato > 1 ? ' meses' : ' mes') : ''}}\n
\n  {{item?.val_oportunidad ? '$' : ''}}{{item?.val_oportunidad}}\n
\n  {{item?.comercial}}\n
\n  {{item?.empresa}}\n
\n
\n \n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n\n
\n
\n
\n\n
\n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpHeaders, HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { Menu } from '../../modules/class/menu';\n\nconst CIU_URL = environment.CIU_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MenusService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-02\n * Servicio que lista todos los menus por un aplicativo\n * @param id id del aplicativo\n */\n getMenus(id: number): Observable {\n return this.http.get(`${CIU_URL}menus/showByApplicationId/` + id)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author jose vicente silva\n * @createdate 2021-02-03\n * Servicio que lista todos los aplicativos del aplicativo ciu paginados\n */\n getMenuPaginate(isPage: number, size: number, page: number, app: number = null, name: string = null): Observable {\n let params = new HttpParams();\n params = params.append('perPage', size.toString());\n params = params.append('page', (page + 1).toString());\n if (app) params = params.append('app', app.toString());\n if (name) params = params.append('name', name);\n return this.http.get(`${CIU_URL}menus/all`, { params: params })\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author José Vicente Silva Rivera\n * @createdate 2021-03-12\n * Servicio que realiza una busqueda avanzada de groupes por un valor\n * @param size tamaño de los datos a traer\n * @param value valor a buscar\n */\n searchMenu(size: number, page: number, value: any): Observable {\n return this.http.get(`${CIU_URL}menus/search?n=${size}&page=${page}&q=${value}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author José Vicente Silva Rivera\n * @createdate 2021-02-03\n * Servicio que guarda un group en su respectiva tabla\n * @param campaign campaign a guardarse\n */\n saveMenu(app: Menu): Observable {\n\n return this.http.post(`${CIU_URL}menus`, app)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author José Vicente Silva Rivera\n * @createdate 2021-03-12\n * Servicio que edita un group en su respectiva tabla\n * @param campaign campaign a editarse\n */\n editMenu(app: Menu): Observable {\n return this.http.put(`${CIU_URL}menus`, app)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author José Vicente Silva Rivera\n * @createdate 2021-02-04\n * Servicio que borra una campaña en su respectiva tabla modo logico\n * @param campaign id del group a eliminarse\n * @param idcampaign id del group a eliminarse\n */\n deleteMenu(app: Menu, idMenu: number): Observable {\n return this.http.put(`${CIU_URL}menus/${idMenu}/updateState`, app)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormBuilder, FormGroup, FormControl, Validators, FormArray } from '@angular/forms';\nimport { OrdenesService } from '../../../../services/rest/ordenes.service';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { DestroyComponentService } from '../../../../../../core/services/utils/destroy-component.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ToWords } from '../../../../../../core/to-words/to-words';\nimport { OrdenCompra } from '../../../Class/orden-compras';\nimport { ProveedoresService } from '../../../../../portal/services/proveedores.service';\nimport { ArchivosService } from '../../../../services/rest/archivos.service';\nimport { ObservationCancelInterface } from '../../../interfaces/observation.cancel.interface';\nimport { CurrencyMaskInputMode } from 'ngx-currency';\n\n\n@Component({\n\tselector: 'app-orden-compra-frag',\n\ttemplateUrl: './orden-compra-frag.component.html',\n\tstyleUrls: ['./orden-compra-frag.component.sass']\n})\nexport class OrdenCompraFragComponent implements OnInit {\n\tfirstFormGroup: FormGroup;\n\tsecondFormGroup: FormGroup;\n\tisEditable = true;\n\ttoWords = new ToWords();\n\titemsOrder: any[] = [];\n\tvalorFinal = 0;\n\tvalorIva = 0;\n\tfragmentar = true\n\tproveedor: any;\n\tview: boolean = false;\n\tdisableButton: boolean;\n\tarchivoSolicitud: boolean;\n\tObservacion_cancel: ObservationCancelInterface = {\n\t\tvalueInput :\"\",\n\t\tdisabled:false\n\t};\n options = {\n prefix: '',\n thousands: ',',\n decimal: '.',\n inputMode: CurrencyMaskInputMode.NATURAL\n };\n\n\n\tconstructor(private formBuilder: FormBuilder,\n\t\tprivate form: FormBuilder,\n\t\tprivate ordenService: OrdenesService,\n\t\tprivate proveedorService: ProveedoresService,\n\t\tprivate destroyService: DestroyComponentService,\n\t\tprivate alertsService: AlertsService,\n\t\tprivate archivoService: ArchivosService,\n\t\tprivate dialogRef:MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public data: any) { }\n\n\tngOnInit(): void {\n\n\n\t\tif (this.data.type === 'view') {\n\t\t\tthis.fragmentar = false;\n\t\t\tthis.view = true;\n\t\t}\n\n\t\t//this.infoFile();\n\n\t\tconst proveedor = {\n\t\t\tnit: this.data.ordenCompra.provider.nit\n\t\t}\n\t\tthis.proveedorService.getProveedores(1, proveedor).subscribe((prov) => {\n\t\t\tif (prov.data.length > 0) {\n\n\t\t\t\tthis.proveedor = prov.data[0];\n\n\t\t\t} else {\n\t\t\t\tthis.proveedor = \"No se ha encontrado proveedor.\"\n\n\t\t\t}\n\t\t});\n\t\tthis.crearControles();\n\t\tthis.setEdit();\n\n\t\t//Se consulta por metodo get si hay una observacion registrada\n\t\t//dependiendo del estado de la orden de compra y la cancelacion se define que partes mostrar del componente\n\t\tthis.ordenService.procesarObservacion(this.data.ordenCompra.id, null, \"get\").subscribe(\n\t\t\t(resp) => {\n\n\t\t\t\tif(resp){\n\t\t\t\t\tthis.Observacion_cancel = {\n\t\t\t\t\t\tvalueInput :resp.observation,\n\t\t\t\t\t\tdisabled:true\n\t\t\t\t\t}\n\t\t\t\t}else{\n\n\t\t\t\t\tthis.Observacion_cancel = {\n\t\t\t\t\t\tvalueInput :\"\",\n\t\t\t\t\t\tdisabled:false\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t}//Fin del resp (Respuesta subscribe)\n\t\t);//Fn del obsrbavle\n\n\t}\n\n\n\n\n\n\tcrearControles() {\n\t\tthis.firstFormGroup = this.formBuilder.group({\n\t\t\tdata: [''],\n\t\t\titems: this.form.array([])\n\t\t});\n\n\t\tthis.secondFormGroup = this.formBuilder.group({\n\n\t\t\tobservations: new FormControl({ value: '', disabled: this.view }, [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n\t\t\tsub_total: new FormControl({ value: '', disabled: true }, [Validators.required, Validators.maxLength(100), Validators.minLength(3)]),\n\t\t\tdiscount: new FormControl({ value: '', disabled: this.view }, [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n\t\t\tiva: new FormControl({ value: '', disabled: this.view }, [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n\t\t\ttotal: new FormControl({ value: '', disabled: true }, [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n\t\t\tvalue_in_letters: new FormControl({ value: '', disabled: true }, [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n\t\t\tdelivery_date: new FormControl({ value: '', disabled: this.view }, [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n\t\t\tpay: new FormControl({ value: '', disabled: this.view }, [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n\t\t\tpayment_condition: new FormControl({ value: '', disabled: this.view }, [Validators.required]),\n\t\t\tpayment_deb: new FormControl({ value: '', disabled: this.view }),\n\t\t\tpayment_percent: new FormControl({ value: '', disabled: this.view }),\n\t\t\tcredit_condition: new FormControl({ value: '', disabled: this.view }),\n\t\t\twarranty: new FormControl({ value: '', disabled: this.view }, [Validators.required]),\n\t\t\tpolicy: new FormControl({ value: '', disabled: this.view }, [Validators.required]),\n\t\t\tpay_value: new FormControl({ value: '', disabled: true }, []),\n\t\t\tobserv_cancel: new FormControl({ value: '', disabled: false}, [ Validators.maxLength(255), Validators.minLength(5)]),\n ciudad : new FormControl({ value: '', disabled: this.view}, [Validators.required, Validators.minLength(4), Validators.maxLength(50)]),\n direccion : new FormControl({ value: '', disabled: this.view}, [Validators.required, Validators.minLength(4), Validators.maxLength(20)]),\n observacionCondiciones : new FormControl({ value: '', disabled: this.view}, [Validators.required, Validators.minLength(20), Validators.maxLength(100)])\n\n\t\t});\n\n\n\t}\n\tget error(): any { return this.secondFormGroup.controls; }\n\tget errorItem(): any { return this.firstFormGroup.controls }\n\n\tget items(): FormArray {\n\t\treturn this.firstFormGroup.get('items') as FormArray;\n\t}\n\n\tnewItems(): void {\n\t\tconst newItems = this.form.group({\n\t\t\tid: new FormControl('', []),\n\t\t\tdescription: new FormControl({ value: '', disabled: true }, [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n\t\t\tspecs: new FormControl({ value: '', disabled: true }, [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n\t\t\tunit: new FormControl({ value: '', disabled: true }, [Validators.required, Validators.maxLength(5), Validators.minLength(1)]),\n\t\t\tpendiente: new FormControl({ value: '', disabled: true }, [Validators.required, Validators.maxLength(5), Validators.minLength(1)]),\n\t\t\tnewUnit: new FormControl({ value: '', disabled: false }, [Validators.required, Validators.maxLength(5), Validators.minLength(1)]),\n\t\t\tunit_value: new FormControl({ value: '', disabled: true }, [Validators.required, Validators.maxLength(5), Validators.minLength(1)]),\n\t\t\tvalorIva: new FormControl({ value: '', disabled: true }, [Validators.required]),\n\t\t\ttotal_value: new FormControl({ value: '', disabled: true }, [Validators.required, Validators.maxLength(5), Validators.minLength(1)]),\n coin_type: new FormControl({ value: '', disabled: true }, [Validators.required])\n\t\t});\n\t\tthis.items.push(newItems);\n\t}\n\n\tonStepChange(event) {\n\t\tif (event.selectedIndex == 2 && this.view != true) {\n\t\t\tthis.calcularValores();\n\t\t\tthis.validarPendiente();\n\t\t}\n\t}\n\n\tsetEdit() {\n\n\t\tthis.ordenService.getOrderItems(this.data.ordenCompra.id).subscribe((resp) => {\n\n\t\t\tif (this.data.type != 'view') {\n\t\t\t\tresp.data.map(item => {\n\t\t\t\t\tif (item.pendiente > 0) {\n\t\t\t\t\t\tthis.itemsOrder.push(item);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.itemsOrder = resp.data;\n\t\t\t}\n\n\t\t\tthis.secondFormGroup.controls.pay.setValue(this.data.ordenCompra.pay);\n\t\t\tthis.secondFormGroup.controls.payment_condition.setValue(this.data.ordenCompra.payment_condition);\n\t\t\tthis.secondFormGroup.controls.payment_deb.setValue(this.data.ordenCompra.payment_deb);\n\t\t\tthis.secondFormGroup.controls.payment_percent.setValue(this.data.ordenCompra.payment_percent);\n\t\t\tthis.secondFormGroup.controls.credit_condition.setValue(this.data.ordenCompra.credit_condition);\n\t\t\tthis.secondFormGroup.controls.pay_value.setValue(this.data.ordenCompra.pay_value);\n\t\t\tthis.secondFormGroup.controls.warranty.setValue(this.data.ordenCompra.warranty);\n\t\t\tthis.secondFormGroup.controls.policy.setValue(this.data.ordenCompra.policy);\n\t\t\tthis.secondFormGroup.controls.observations.setValue(this.data.ordenCompra.observations);\n\t\t\tthis.secondFormGroup.controls.sub_total.setValue(this.data.ordenCompra.sub_total);\n\t\t\tthis.secondFormGroup.controls.discount.setValue(this.data.ordenCompra.discount);\n\t\t\tthis.secondFormGroup.controls.iva.setValue(this.data.ordenCompra.iva);\n\t\t\tthis.secondFormGroup.controls.total.setValue(this.data.ordenCompra.total);\n\t\t\tthis.secondFormGroup.controls.value_in_letters.setValue(this.data.ordenCompra.value_in_letters);\n\t\t\tthis.secondFormGroup.controls.delivery_date.setValue(this.data.ordenCompra.delivery_date);\n this.secondFormGroup.controls.observacionCondiciones.setValue(this.data.ordenCompra.observaciones_condiciones);\n this.secondFormGroup.controls.ciudad.setValue(this.data.ordenCompra.ciudad);\n this.secondFormGroup.controls.direccion.setValue(this.data.ordenCompra.direccion);\n\n\t\t\tthis.itemsOrder.forEach((element, index) => {\n\t\t\t\tthis.newItems();\n\t\t\t\tthis.items.controls[index].get('id').setValue(element.id);\n\t\t\t\tthis.items.controls[index].get('specs').setValue(element.specs);\n\t\t\t\tthis.items.controls[index].get('description').setValue(element.description);\n\t\t\t\tthis.items.controls[index].get('unit').setValue(element.unit);\n\t\t\t\tthis.items.controls[index].get('unit_value').setValue(element.unit_value);\n\t\t\t\tthis.items.controls[index].get('valorIva').setValue(element.iva);\n\t\t\t\tthis.items.controls[index].get('total_value').setValue(element.total_value);\n\t\t\t\tthis.items.controls[index].get('pendiente').setValue(element.pendiente);\n\t\t\t\tthis.items.controls[index].get('newUnit').setValue(0);\n this.items.controls[index].get('coin_type').setValue(this.data.ordenCompra.coin_type);\n\t\t\t});\n\t\t\tif (this.view) {\n\t\t\t\tthis.disableControls();\n\t\t\t}\n\n\t\t});\n\t}\n\n\n\tcalcularValores() {\n\t\tlet valorTotal = 0;\n\t\tthis.valorIva = 0;\n\n\t\t//this.firstFormGroup.get('items').value.forEach((element, index) => {\n\t\tthis.firstFormGroup.getRawValue()[\"items\"].forEach((element, index) => {\n\t\t\tif (element['newUnit'] > 0) {\n\t\t\t\tvalorTotal += element['total_value'];\n\t\t\t\tthis.valorIva += (element['total_value'] * element['valorIva']) / 100;\n\t\t\t}\n\t\t});\n\n\t\tthis.valorFinal = valorTotal + this.valorIva;\n\t\tlet valorfinalletras = this.toWords.convert(this.valorFinal);\n\n if(this.firstFormGroup.getRawValue()['items'][0].coin_type === 'USD'){\n valorfinalletras = valorfinalletras.replace('PESOS','DOLARES');\n }else if (this.firstFormGroup.getRawValue()['items'][0].coin_type === 'MXN') {\n valorfinalletras = valorfinalletras.replace('PESOS','PESOS MEXICANOS');\n }\n\n\t\tthis.secondFormGroup.controls.sub_total.setValue(valorTotal);\n\t\tthis.secondFormGroup.controls.discount.setValue(0);\n\t\tthis.secondFormGroup.controls.iva.setValue(this.valorIva);\n\t\tthis.secondFormGroup.controls.total.setValue(this.valorFinal);\n\t\tthis.secondFormGroup.controls.value_in_letters.setValue(valorfinalletras);\n\t}\n\n\tcalcularValorTotal(indice) {\n\t\tlet cantidad = this.firstFormGroup.getRawValue()[\"items\"][indice].newUnit;\n\t\tlet pendiente = this.firstFormGroup.getRawValue()[\"items\"][indice].pendiente;\n\t\tlet valor = this.firstFormGroup.getRawValue()[\"items\"][indice].unit_value;\n\n\n\t\tif (cantidad > pendiente) {\n\t\t\tthis.alertsService.alertError('Error', 'No se puede elegir una cantidad mayor a la cantidad pendiente.')\n\t\t}\n\t\tlet valorTotal = (cantidad == undefined ? 0 : cantidad) * (valor == undefined ? 0 : valor);\n\t\tthis.firstFormGroup.controls.items[\"controls\"][indice].controls.total_value.setValue(valorTotal);\n\n\n\t}\n\n\tcalculardiscount() {\n\t\tconst descuento = this.secondFormGroup.get('discount').value;\n\t\t//const iva =this.secondFormGroup.get('iva').value;\n\n\t\tconst valorFinal = this.valorFinal - descuento;\n\t\tlet valorfinalletras = this.toWords.convert(valorFinal);\n\n if(this.firstFormGroup.getRawValue()['items'][0].coin_type === 'USD'){\n valorfinalletras = valorfinalletras.replace('PESOS','DOLARES');\n }else if (this.firstFormGroup.getRawValue()['items'][0].coin_type === 'MXN') {\n valorfinalletras = valorfinalletras.replace('PESOS','PESOS MEXICANOS');\n }\n\n\t\tif (valorFinal > 0) {\n\t\t\tthis.secondFormGroup.controls.total.setValue(valorFinal);\n\t\t\tthis.secondFormGroup.controls.value_in_letters.setValue(valorfinalletras);\n\t\t} else {\n\t\t\tthis.alertsService.alertError('Error', 'No se puede aplicar un descuento superior al valor total')\n\t\t}\n\t}\n\n\t// cambioEstado(event, index){\n\n\n\t// if (event === 100){\n\t// this.firstFormGroup.controls.items[\"controls\"][0].controls.valorIva.enable();\n\t// } else {\n\t// this.firstFormGroup.controls.items[\"controls\"][0].controls.valorIva.disable();\n\t// }\n\n\t// }\n\n\tcambioPagoValue(event) {\n\t\tif (event === 'Abono' || event === 'Anticipo' || event === 'Credito') {\n\t\t\tthis.secondFormGroup.controls.pay_value.enable();\n\t\t} else {\n\t\t\tthis.firstFormGroup.controls.pay_value.disable();\n\t\t}\n\t}\n\n\tvalidarPendiente() {\n\t\tlet contador = 0;\n\t\tthis.firstFormGroup.getRawValue()[\"items\"].forEach((element) => {\n\t\t\tif (element['newUnit'] == 0) {\n\t\t\t\tcontador++\n\t\t\t}\n\t\t})\n\n\t\tif (contador == this.firstFormGroup.getRawValue()[\"items\"].length) {\n\t\t\tthis.disableButton = true;\n\t\t} else {\n\t\t\tthis.disableButton = false;\n\t\t}\n\n\t}\n\n\n\tsaveOrder() {\n\n\n\n\t\tconst orden = new OrdenCompra();\n\t\torden.idPurchase = this.data.ordenCompra.id;\n\t\torden.observations = this.secondFormGroup.getRawValue()[\"observations\"];\n\t\torden.sub_total = this.secondFormGroup.getRawValue()[\"sub_total\"];\n\t\torden.discount = this.secondFormGroup.getRawValue()[\"discount\"];\n\t\torden.iva = this.secondFormGroup.getRawValue()[\"iva\"];\n\t\torden.calculated_iva = this.valorIva;\n\t\torden.total = this.secondFormGroup.getRawValue()[\"total\"];\n\t\torden.value_in_letters = this.secondFormGroup.getRawValue()[\"value_in_letters\"];\n\t\torden.delivery_date = this.secondFormGroup.getRawValue()[\"delivery_date\"];\n\t\torden.warranty = this.secondFormGroup.getRawValue()[\"warranty\"];\n\t\torden.pay = this.secondFormGroup.getRawValue()[\"pay\"];\n\t\torden.payment_deb = this.secondFormGroup.getRawValue()[\"payment_deb\"];\n\t\torden.payment_percent = this.secondFormGroup.getRawValue()[\"payment_percent\"];\n\t\torden.payment_condition = this.secondFormGroup.getRawValue()[\"payment_condition\"];\n\t\torden.credit_condition = this.secondFormGroup.getRawValue()[\"credit_condition\"];\n\t\torden.pay_value = (this.secondFormGroup.getRawValue()[\"pay_value\"] == undefined ? '' : this.secondFormGroup.getRawValue()[\"pay_value\"]);\n\t\torden.policy = this.secondFormGroup.getRawValue()[\"policy\"];\n\t\torden.request_id = this.data.ordenCompra.request_id;\n\t\torden.proveedor_nit = this.data.ordenCompra.provider.nit;\n\t\torden.company_id = this.data.ordenCompra.company.id;\n \torden.observacionCondiciones = this.secondFormGroup.getRawValue()[\"observacionCondiciones\"];\n \torden.ciudad = this.secondFormGroup.getRawValue()[\"ciudad\"];\n \torden.direccion = this.secondFormGroup.getRawValue()[\"direccion\"];\n\t\t//orden.PurchaseOrderItem = this.firstFormGroup.value.items;\n\t\torden.PurchaseOrderItem = this.firstFormGroup.getRawValue()[\"items\"];\n\t\tthis.ordenService.saveOrderFrag(orden).subscribe(resp => {\n\t\t\tif(resp){\n\t\t\t\t// this.alertsService.alertSuccess('Guardado', resp.data);\n\t\t\t\tthis.alertsService.alertWithAnyProperties('Guardado', resp.data, 'success', 'Continuar').then(res => {\n\t\t\t\t\tif (res.isConfirmed) {\n\t\t\t\t\t\tthis.dialogRef.close();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\n\n\tngOnDestroy(): void {\n\t\tthis.destroyService.destroyComponent();\n\t}\n\n\tprivate disableControls() {\n\t\t//this.firstFormGroup.controls[\"items\"].disable();\n\t\tvar arrayControl = this.firstFormGroup.get('items') as FormArray;\n\n\t\tfor (let i = 0; i < arrayControl.length; i++) {\n\t\t\tconst controlItems = arrayControl.at(i) as FormArray;\n\t\t\tfor (var controlItem in controlItems.controls) {\n\t\t\t\tcontrolItems.controls[controlItem].disable();\n\t\t\t}\n\n\t\t}\n\n\t\tfor (var control2 in this.secondFormGroup.controls) {\n\n\t\t\tif (!this.secondFormGroup.controls['observ_cancel']) {\n\t\t\t\tthis.secondFormGroup.controls[control2].disable();\n\t\t\t}\n\t\t}\n\n\t}\n\n\n\t/*\n\t*/\n\tsendObservCancel() {\n\t\t//const observacion = new FormData();\n\t\t//observacion.append('observacion', this.secondFormGroup.getRawValue()[\"observ_cancel\"]);\n\t\t//observacion.append('idSolicitud', this.data.ordenCompra.request_id);\n\t\t//observacion.append('type', \"cancelacion\");\n\t\tlet $ordenObservale = this.ordenService.procesarObservacion(this.data.ordenCompra.id,\n\t\t\tthis.secondFormGroup.getRawValue()[\"observ_cancel\"], \"post\");\n\t\tif ($ordenObservale) {\n\t\t\t$ordenObservale.subscribe(resp => {\n this.alertsService.alertWithAnyProperties(\n 'Guardado',\n 'Tu observación se ha enviado satisfactoriamente',\n 'success',\n 'Continuar'\n ).then(res => {\n if(res.isConfirmed){\n this.dialogRef.close();\n return true;\n }\n })\n\t\t\t});\n\n\t\t} else {\n\n\t\t\tthis.alertsService.alertError('Error en proceso', 'Lo sentimos no hemos logrado procesar tu peticion');\n\n\t\t}\n\n\t}\n\n\n\t/**\n\t * @method downloadCotizacion Permite la descarga de la Cotizacion Seleccionada para la solicitud\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 18/03/2022\n\t * @param id_purchase_id | string PArametro ue recibe el Id de la solicitud donde se registra el archivoa descargar\n\t */\n\tdownloadCotizacion(id_solicitud_id:Number){\n\n\t\tthis.archivoService.getArchivosSolicitud(id_solicitud_id, true).subscribe(\n\t\t\tresp => {\n\t\t\t\tif(resp){\n\t\t\t\t\tlet e = resp.data[0]\n\t\t\t\t\tconst archivo = {\n\t\t\t\t\t\tpath: e.path\n\t\t\t\t\t };\n\n\t\t\t\t\tthis.archivoService.downloadOrder(e).subscribe( (data) => {\n\t\t\t\t\t\tconst a = document.createElement('a');\n\t\t\t\t\t\tconst file = new Blob([data], {type: e.fileContentType});\n\t\t\t\t\t\ta.href = URL.createObjectURL(file);\n\t\t\t\t\t\ta.download = e.name;\n\t\t\t\t\t\ta.click();\n\n\t\t\t\t\t},\n\t\t\t\t\t(error) =>{\n\n\t\t\t\t\t\tthis.alertsService.alertError(\"Error al descargar\", \"Se ah producido un error en la descarga \");\n\n\t\t\t\t\t});\n\t\t\t\t}else{\n\n\t\t\t\t\tthis.alertsService.alertError(\"No se encontro archivo adjunto\", \"No se ha encontrado ningun archivo adjunto seleccionado\");\n\n\t\t\t\t}\n\n\n\t\t\t},\n\t\t\terror =>{\n\t\t\t\tthis.alertsService.alertError(\"Archivo No encontrado\", \"Lo sentimos no hemos logrado encontrar el documento adjunto\" );\n\t\t\t}\n\t\t);\n\n\t}\n\n}\n","
\n \n
\n \n
\n\n\n \n
\n
\n

\n {{data.title}} OC-{{data.ordenCompra.purchase_order_number}}{{ data.frag ? '-' + data.frag.purchase_order_number : '' }}\n

\n\n\n
\n
\n \n
\n\n
\n\n
\n\n\n\n \n \n\n Datos generales\n
\n
\n Datos de la empresa\n
\n
\n
\n
\n\n
\n Empresa
\n {{data.ordenCompra.company.name}}\n
\n
\n Nit
\n {{data.ordenCompra.company.nit}}\n
\n
\n\n
\n
\n Documento controlado\n
\n
\n
\n\n
\n\n\n
\n Fecha emisión
\n {{data.ordenCompra.request.created_at | date:'yyyy-MM-dd': 'UTC'}}\n
\n
\n Tipo de adquisición
\n {{ data.ordenCompra.product_type.name }}\n
\n
\n\n
\n
\n Datos del proveedor\n
\n
\n
\n
\n\n
\n Razón social
\n {{data.ordenCompra.provider.razon_social}}\n
\n
\n Nit
\n {{data.ordenCompra.provider.nit}}\n
\n
\n Dirección
\n {{data.ordenCompra.provider.direccion}}\n
\n
\n
\n
\n Celular
\n {{proveedor.user.celular}}\n
\n
\n Teléfono
\n {{proveedor.telefono_proveedor}}\n
\n
\n E-mail
\n {{proveedor.user.correo}}\n
\n
\n
\n
\n Datos del solicitante\n
\n
\n
\n
\n\n
\n Nombre del solicitante
\n {{data.ordenCompra.created_by}}\n
\n
\n\n\n
\n \n
\n\n
\n \n
\n Detalle compra\n \n\n
\n

\n Por los siguientes ítems\n\n

\n\n
\n ítem {{i+1}}\n
\n\n \n Descripción\n \n ¡Advertencia! Este campo\n es requerido\n ¡Aún falta! Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo puedes\n tener un máximo de 255 caracteres\n \n\n \n Especificación\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo 3\n caracteres\n ¡Cuidado! Solo puedes tener un\n máximo de 255 caracteres\n \n\n \n Cantidad\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo 3\n caracteres\n ¡Cuidado! Solo puedes tener un\n máximo de 3 caracteres\n \n \n Tipo de moneda\n \n {{typeCoin}} \n \n ¡Advertencia! Este campo es requerido\n \n \n Pendiente\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo puedes\n tener un máximo de 3 caracteres\n \n \n Nueva Cantidad\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo\n 3 caracteres\n ¡Cuidado! Solo puedes tener\n un máximo de 3 caracteres\n \n \n Valor unitario\n \n ¡Advertencia! Este campo\n es requerido\n ¡Aún falta! Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo puedes\n tener un máximo de 3 caracteres\n \n\n \n Otro IVA\n \n \n \n Valor total\n \n ¡Advertencia! Este campo\n es requerido\n ¡Aún falta! Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo puedes\n tener un máximo de 3 caracteres\n \n\n \n\n
\n
\n {{item.name}}\n
\n
\n \n
\n
\n
\n\n\n\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n
\n Finalizar orden\n

Condiciones comerciales

\n
\n\n \n Sub-total\n \n ¡Advertencia! Este\n campo es requerido\n ¡Aún falta!\n Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo\n puedes tener un máximo de 40 caracteres\n \n\n\n\n \n Descuento\n \n ¡Advertencia! Este\n campo es requerido\n ¡Aún falta!\n Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo\n puedes tener un máximo de 3 caracteres\n \n\n \n Total IVA\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo\n 3 caracteres\n ¡Cuidado! Solo puedes tener\n un máximo de 40 caracteres\n \n\n\n\n \n Total\n \n ¡Advertencia! Este campo\n es requerido\n ¡Aún falta! Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo puedes\n tener un máximo de 3 caracteres\n \n\n \n Valor en Letras\n \n ¡Advertencia! Este campo es requerido\n \n ¡Aún falta! Recibimos mínimo 3 caracteres\n \n ¡Cuidado! Solo puedes tener un máximo de 3\n caracteres\n \n\n \n Observaciones\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta!\n Recibimos mínimo 3 caracteres\n ¡Cuidado!\n Solo puedes tener un máximo de 255 caracteres\n \n\n
\n\n \n Fecha de Entrega\n \n ¡Advertencia! Este campo es requerido\n ¡Aún\n falta! Recibimos mínimo 3 caracteres\n ¡Cuidado!\n Solo puedes tener un máximo de 40 caracteres\n \n\n\n \n Método de Pago\n \n {{item}} \n \n ¡Advertencia! Este campo es requerido\n \n\n\n \n Condición de Pago\n \n {{item}} \n \n \n\n \n Valor {{secondFormGroup.get('payment_condition').value}} \n \n ¡Advertencia!\n Este campo es requerido\n \n\n \n Porcentaje de {{secondFormGroup.get('payment_condition').value}} \n \n %  \n ¡Advertencia! Este\n campo es requerido\n \n\n\n \n Condición de crédito\n \n {{item}} \n \n ¡Advertencia! Este campo es\n requerido\n \n\n \n Garantía\n \n Si\n No\n \n ¡Advertencia! Este\n campo es requerido\n ¡Aún falta!\n Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo\n puedes tener un máximo de 3 caracteres\n \n\n \n Póliza\n \n Si\n No\n \n ¡Advertencia! Este campo\n es requerido\n ¡Aún falta! Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo puedes\n tener un máximo de 3 caracteres\n \n\n \n Ciudad de Entrega\n \n ¡Advertencia! Este campo es requerido\n ¡Advertencia! No puede ser inferior a 4 caracteres\n ¡Advertencia! No puede ser superior a 50 caracteres\n \n \n Dirección\n \n ¡Advertencia! Este campo es requerido\n ¡Advertencia! No puede ser inferior a 4 caracteres\n ¡Advertencia! No puede ser superior a 20 caracteres\n \n \n Observaciones de condiciones\n \n ¡Advertencia! Este campo es requerido\n ¡Advertencia! No puede ser inferior a 20 caracteres\n ¡Advertencia! No puede ser superior a 100 caracteres\n \n\n \n
\n

\n Observación para cancelación (Opcional)\n

\n
\n\n \n Observación\n \n \n\n ¡Aún falta! Recibimos mínimo 5 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 200 caracteres\n \n\n \n\n
\n\n \n\n \n\n
\n\n
\n\n\n
\n
\n
\n \n \n
\n
\n
\n\n\n\n\n
\n
\n
\n
\n
\n \n
\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cutText'\n})\nexport class CutTextPipe implements PipeTransform {\n\n transform(value: string,start:number,end:number): string {\n value = value.slice(start,end);\n if (value.length >= end) {\n value = value + '...';\n }\n return value;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule, CurrencyPipe, DecimalPipe } from '@angular/common';\nimport { DynamicFormComponent } from './dynamic-form/dynamic-form.component';\nimport { DynamicFormQuestionComponent } from './dynamic-form-question/dynamic-form-question.component';\nimport { SharedModule } from '../../../../shared/shared.module';\nimport { CopCurrencyDirective } from '../../directives/cop-currency.directive';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\n\n@NgModule({\n declarations: [DynamicFormComponent, DynamicFormQuestionComponent, CopCurrencyDirective],\n imports: [\n CommonModule,\n SharedModule,\n MaterialModule\n ],\n exports : [\n DynamicFormComponent\n ],\n providers: [CurrencyPipe, DecimalPipe]\n})\nexport class SharedFormModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\n\nconst CRM_URL = environment.CRM2_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DynamicFormServiceService {\n\n constructor(private http:HttpClient) { }\n\n getData(apiserve:string, key:string){\n // const httpOptions = {\n // headers: new HttpHeaders({\n // Authorization: 'bearer ' + this.AuthService.getUser().access_token,\n // }),\n // };\n\n let serve = null;\n if(apiserve == 'rrhh'){\n serve = environment.RRHH_URL;\n }else if(apiserve == 'bpms'){\n serve = environment.BPMS_URL;\n }else if(apiserve == 'nomina'){\n serve = environment.NOMINA_URL\n }else if(apiserve == 'health'){\n serve = environment.HEALTH_URL\n }\n if(!serve) throw new Error(\"Api Serve no encontrado\");\n return this.http.get( `${serve}${key}`);\n }\n\n downloadFile(params: FormData){\n return this.http.post(`${CRM_URL}formanswer/download`, params, {responseType: 'blob'});\n }\n}\n","import { VacationsService } from './../../../../services/rest/vacations.service';\nimport { DatePipe } from '@angular/common';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { UsersService } from 'src/app/modules/ciu/services/rest/users.service';\nimport { CampaignsService } from 'src/app/modules/nomina/services/rest/campaigns.service';\nimport { VacationsResponseComponent } from '../vacations-response/vacations-response.component';\nimport { VacationsViewComponent } from '../vacations-view/vacations-view.component';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport * as moment from 'moment';\n\n@Component({\n selector: 'app-vacations',\n templateUrl: './vacations.component.html',\n styleUrls: [ './vacations.component.sass' ]\n})\nexport class VacationsComponent implements OnInit {\n // MatPaginator Inputs\n length;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [ 5, 10, 25, 100 ];\n\n // paginator for reversions\n length2;\n pageSize2 = 5;\n page2 = 1;\n isPage2 = 1;\n pageSizeOptions2: number[] = [ 5, 10, 25, 100 ];\n\n displayedColumns: string[] = [ 'acciones', 'fecha', 'nombre', 'numero', 'estado', 'campana' ];\n displayedColumns2: string[] = [ 'acciones', 'fecha', 'nombre', 'numero', 'campana', 'codigo', 'action', 'value', 'estado' ];\n dataSource = new MatTableDataSource();\n dataSourceReversions = new MatTableDataSource();\n\n reportForm: FormGroup;\n reversionForm: FormGroup;\n Campaings: any;\n filterControl = new FormControl();\n filterControl2 = new FormControl();\n states: any = [ { id: 1, name: 'En revisión' }, { id: 2, name: 'Aprobado' }, { id: 3, name: 'Rechazado' }, {id: 4, name: 'Pendiente aprobación jefe'} ];\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatPaginator, { static: true }) paginator2: MatPaginator;\n\n document: any = '';\n startDate: any = '';\n endDate: any = '';\n idCampaing: any;\n idState: any = 1;\n\n documents: any = [];\n idTypeDoc: any;\n idTypeDoc2: any;\n\n typeDocument = new FormControl();\n typeDocument2 = new FormControl();\n\n startDateRever: any;\n endDateRever: any;\n\n constructor(public dialog: MatDialog,\n private service: CampaignsService,\n public userService: UsersService,\n private vacation: VacationsService,\n private alertsService: AlertsService,\n private users: CandidatesService\n ) {\n }\n\n ngOnInit() {\n this.reportForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n\n this.reversionForm = new FormGroup({\n startDate: new FormControl(''),\n endDate: new FormControl(''),\n campaignId: new FormControl(''),\n docType: new FormControl(1),\n document: new FormControl('')\n });\n\n this.filterControl2.setValue(1);\n this.service.getAllCampaigns().subscribe(resp => {\n this.Campaings = resp.data;\n });\n\n this.getVacationsForReversions(this.pageSize2, this.page2);\n\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.idTypeDoc = resp;\n this.getVacations(1, this.pageSize, this.page);\n });\n this.typeDocument.setValue(1);\n\n // filtro de campania | tab: solicitudes\n this.filterControl.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idCampaing = resp;\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n // filtro de estado | tab: solicitudes\n this.filterControl2.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idState = resp;\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n\n // form reversiones\n // filtro campania | tab: reversiones\n this.reversionFormControls.campaignId.valueChanges.subscribe(resp => {\n this.resetPaginator(2);\n this.getVacationsForReversions(this.pageSize, this.page);\n });\n\n // filtro tipo doc | tab: reversiones\n this.reversionFormControls.docType.valueChanges.subscribe(resp => {\n if (this.reversionFormControls.document.value) {\n this.getVacationsForReversions(this.pageSize, this.page);\n }\n });\n }\n\n get reversionFormControls() {\n return this.reversionForm.controls;\n }\n\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-26\n * Metodo de paginación\n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getVacations(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-27\n * Modal de solicitud\n */\n viewJustification(element?): void {\n const dialogNewgroup = this.dialog.open(VacationsResponseComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'vacaciones',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-28\n * Modal de solicitud rechazada\n */\n viewJustification2(element?): void {\n const dialogNewgroup = this.dialog.open(VacationsViewComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'vacaciones',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n\n }\n\n /**\n * Modal para cambiar el estado de la reversion de vacaciones\n * @author Andres Buitrago\n * @created 2021-10-22\n */\n changeReversionStatus(vacation, state): void {\n this.alertsService.alertConfirm('¿Está seguro de modificar el estado?').then(result => {\n if (result.isConfirmed) {\n this.vacation.changeStatusReversion(vacation.id, state).subscribe((resp) => {\n this.alertsService.alertSuccess('Modificación realizada', 'Proceso realizado correctamente');\n this.getVacationsForReversions(this.pageSize2, this.page2);\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n }\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-26\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e) {\n this.resetPaginator(1);\n this.document = e;\n this.getVacations(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-26\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethodDocumentReversion(e) {\n this.resetPaginator(2);\n this.getVacationsForReversions(this.pageSize, this.page);\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-26\n * Metodo para capturar el rango de fechas a filtrar\n */\n dateRangeChange() {\n this.resetPaginator(1);\n const date1: Date = this.reportForm.controls.start.value;\n const date2: Date = this.reportForm.controls.end.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n this.getVacations(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Andres Buitrago\n * @createdate 2021-10-22\n * Metodo para capturar el rango de fechas a filtrar en el tab de reversiones\n */\n dateRangeChangeReversions() {\n this.resetPaginator(2);\n const date1: Date = this.reversionFormControls.startDate.value;\n const date2: Date = this.reversionFormControls.endDate.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDateRever = dateStart;\n this.endDateRever =dateEnd;\n this.getVacationsForReversions(this.pageSize, this.page);\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-28\n * Metodo para filtrar fecha, campaña y rango de fechas\n */\n getVacations(state, pageSi, page, exportData: boolean = false): void {\n this.vacation.getVacationsBy({\n state,\n idTipDoc: this.idTypeDoc,\n document: this.document,\n campaign_id: this.idCampaing,\n startDate: this.startDate,\n endDate: this.endDate,\n exportData\n }, pageSi, page).subscribe(resp => {\n if (!exportData) {\n this.dataSource = resp.data.data;\n this.length = resp.data.total;\n } else {\n importedSaveAs(resp, 'reporte_vacaciones_nomina.xlsx');\n }\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-28\n * Metodo para filtrar fecha, campaña y rango de fechas\n */\n getVacationsForReversions(pageSi, page, exportData: boolean = false) {\n this.vacation.getVacationsForReversions({\n docType: this.reversionFormControls.docType.value,\n document: this.reversionFormControls.document.value,\n campaignId: this.reversionFormControls.campaignId.value,\n startDate: this.startDateRever,\n endDate: this.endDateRever,\n exportData\n }, pageSi, page).subscribe(resp => {\n if (!exportData) {\n this.dataSourceReversions = resp.data.data;\n this.length2 = resp.data.total;\n } else {\n importedSaveAs(resp, 'reporte_vacaciones_reversion_nomina.xlsx');\n }\n });\n }\n\n resetPaginator(numPaginator): void {\n if (numPaginator === 1) {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n } else {\n this.length2 = 0;\n this.pageSize2 = 5;\n this.page2 = 1;\n this.paginator2.firstPage();\n }\n }\n\n selectView(element: any){\n if(element.noveltyStateKey == 'aprobada-jefe-area' && element.fullName.includes('extemporáneas')){\n return false;\n }\n if(element.noveltyStateKey == 'aprobada-jefe-area' || element.noveltyStateKey == 'cancelacion-vacaciones' || element.noveltyStateKey == 'aprobada-gerente-operaciones'){\n return true;\n }\n return false;\n }\n\n}\n","
\n
\n

Novedades de vacaciones

\n

En este espacio podrás revisar y/o gestionar las novedades de vacaciones de
los trabajadores, no olvides,\"El\n respeto y la\n empatiá son clave\"

\n
\n\n \n \n
\n \n Filtrar por fecha\n \n \n \n \n \n \n \n\n \n Filtrar por identificación\n \n \n {{item.key}}\n \n \n\n \n Filtrar por campaña\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n\n \n Filtrar por estado\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n\n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n \n Fecha {{element.fechaSolicitud | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}} Estado{{element.noveltyState}} Campaña{{element.campaignName}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n
\n
\n
\n \n
\n \n Filtrar por fecha\n \n \n \n \n \n \n \n\n \n Filtrar por campaña\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n\n \n Filtrar por identificación\n \n \n {{item.key}}\n \n \n\n\n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n \n Fechas\n {{element.fechaSolicitud | date:\"dd-MM-yyyy\"}} | {{element.fechaFinSolicitud | date:\"dd-MM-yyyy\"}}\n Nombre trabajador {{element.name}}Número de identificación{{element.docNumber}} Campaña{{element.campaignName}}Novedad{{element.noveltyKey+' - '+element.fullName}}Acción{{ (element.extra?.reversion?.action == 'modify') ? 'Nuevas Fechas' : 'Cancelar Solicitud' }}Nuevas Fechas{{ (element.extra?.reversion?.action == 'modify') ? element.extra?.reversion?.startDate+' | '+element.extra?.reversion?.endDate : 'No aplica' }} Estado{{element.novelty_state.name}}
No hay reversiones
\n \n \n
\n
\n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DestroyComponentService {\n\n private destroys = new Subject();\n\n constructor() { }\n\n /**\n * Metodo que destruye todas las peticiones antes de cerrar el componente\n */\n destroyComponent(): void{\n\n this.destroys.next();\n this.destroys.complete();\n\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport * as moment from 'moment';\nimport { AuditoriaService } from 'src/app/modules/auditoria/services/auditoria.service';\n\n@Component({\n selector: 'app-retroalimentar',\n templateUrl: './retroalimentar.component.html',\n styleUrls: ['./retroalimentar.component.sass']\n})\nexport class RetroalimentarComponent implements OnInit {\n\n @Input() idMatriz;\n filtroAsesor:string = \"\";\n filtroCedula:string = \"\";\n filtroFecha = new FormGroup({\n fechaInicial: new FormControl(),\n fechaFinal: new FormControl(),\n });\n filtroGestion:string = \"\";\n datosTabla = [];\n length;\n pageSize = 5;\n page = 1;\n constructor(\n private auditoriaService:AuditoriaService,\n ) { }\n\n ngOnInit(): void {\n }\n\n getRetroalimentaciones(page?,pageSize?){\n const params = {\n cedula: '',\n fechaInicial:'',\n fechaFinal: '',\n asesor: '',\n retroalimentacion:'',\n numeroReg: this.pageSize,\n page: this.page,\n idMatriz: this.idMatriz\n };\n //Filtros\n if (this.filtroAsesor != '') {\n params.asesor = this.filtroAsesor;\n }\n if (this.filtroCedula != '' && this.filtroCedula != null) {\n params.cedula = this.filtroCedula;\n }\n if (this.filtroFecha.get('fechaInicial').value != '' && this.filtroFecha.get('fechaInicial').value != null) {\n params.fechaInicial = moment(this.filtroFecha.get('fechaInicial').value).format('yyyy-MM-DD');\n }\n if (this.filtroFecha.get('fechaFinal').value != '' && this.filtroFecha.get('fechaFinal').value != null) {\n params.fechaFinal = moment(this.filtroFecha.get('fechaFinal').value).format('yyyy-MM-DD');\n }\n if (this.filtroGestion != '') {\n params.retroalimentacion = this.filtroGestion;\n }\n if (page != '' && page > 0) {\n params.page = page\n }\n if (pageSize != '' && pageSize > 0) {\n params.numeroReg = pageSize\n }\n this.auditoriaService.getRetroalimentar(params).subscribe((resp:any)=>{\n this.datosTabla = resp.data;\n this.length = resp.total;\n this.pageSize = resp.per_page;\n });\n\n }\n\n filtroFechas(){\n if (this.filtroFecha.get('fechaInicial').value != null && this.filtroFecha.get('fechaFinal').value != null) {\n this.filtrar();\n }\n }\n\n filtrar(){\n this.getRetroalimentaciones(this.page,this.pageSize);\n }\n\n}\n","
\n
\n \n Filtrar por auditado\n \n \n \n \n Filtrar por cedula\n \n \n \n \n Fecha\n \n \n \n \n \n \n \n \n \n \n Gestión\n \n -------\n Retroalimentada\n Sin retroalimentación\n \n \n
\n \n
\n
\n
\n 0\"\n [length]=\"length\" [pageSize]=\"pageSize\" [page]=\"page\"\n (paginacion)=\"getRetroalimentaciones($event.pagina,$event.registros)\">\n
\n
","import {\n animate,\n keyframes,\n query,\n stagger,\n state,\n style,\n transition,\n trigger\n } from '@angular/animations';\n\nexport const speedDialFabAnimations = [\n\n trigger('fabToggler', [\n state('inactive', style({\n transform: 'rotate(0deg)'\n })),\n state('active', style({\n transform: 'rotate(225deg)'\n })),\n transition('* <=> *', animate('200ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n\n trigger('speedDialStagger', [\n transition('* => *', [\n\n query(':enter', style({ opacity: 0 }), {optional: true}),\n\n query(':enter', stagger('40ms',\n [\n animate('200ms cubic-bezier(0.4, 0.0, 0.2, 1)',\n keyframes(\n [\n style({opacity: 0, transform: 'translateY(10px)'}),\n style({opacity: 1, transform: 'translateY(0)'}),\n ]\n )\n )\n ]\n ), {optional: true}),\n\n query(':leave',\n animate('200ms cubic-bezier(0.4, 0.0, 0.2, 1)',\n keyframes([\n style({opacity: 1}),\n style({opacity: 0}),\n ])\n ), {optional: true}\n )\n\n ])\n ])\n ];\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { speedDialFabAnimations } from './speed-dial-fab.animations';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AdminEscalationComponent } from '../../modules/crm/modules/escalation/admin-escalation/admin-escalation.component';\nimport { AdminEmailComponent } from '../../modules/crm/modules/email/admin-email/admin-email.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { VicidialVozComponent } from 'src/app/shared/vicidial-voz/vicidial-voz.component';\nimport { PhoneComponent } from 'src/app/shared/phone/phone.component';\nimport { VicidialService } from '../vicidial-voz/services/vicidial.service';\nimport { VideollamadaComponent } from '../videollamada/videollamada.component';\nimport { RpaModalComponent } from '../rpa-modal/rpa-modal.component';\n\nimport { ManagerChatService } from './../chat-soul/services/manager-chat.service'\nimport { PhonePanelService } from '../phone/phone.service';\n\n@Component({\n\tselector: 'app-speed-dial-fab',\n\ttemplateUrl: './speed-dial-fab.component.html',\n\tstyleUrls: ['./speed-dial-fab.component.sass'],\n\tanimations: speedDialFabAnimations\n})\nexport class SpeedDialFabComponent implements OnInit {\n\trol: any;\n\tpqrs: any;\n\thistorial = false;\n\toptions: any = false;\n\temail: any = false;\n\tvoz = true;\n\tvozButton = false;\n\tphoneButton = false;\n\tviewPhoneState = false;\n\tgroups = ['Grupo 1', 'Grupo 2', 'Grupo 3'];\n\n\tchat: any = false;\n\n\tbuttons = [];\n\tfabTogglerState = 'inactive';\n\t@Output() vicidialActive = new EventEmitter();\n\t@Output() callResponse = new EventEmitter();\n\t// @Input() campaignId;\n\t@Input()\n\tpublic set campaignId(campaignId: number) {\n\t\tthis.campaignId = 0;\n\t\tif (campaignId !== undefined) {\n\t\t\tthis.campaignId = campaignId;\n\t\t} else {\n\t\t\tthis.campaignId = 0;\n\t\t}\n\t}\n\n\tvideoLlamada: boolean = false;\n\tVideollamadaButton: boolean = false;\n\tstateMinimizeModalRPA:boolean = false;\n\tstateOpenModal = {\n\t\tstatus: false,\n\t\tuid: null\n\t};\n\n\t/**\n\t * Posicion en la pantalla del componente de soulphne\n\t */\n\tdragPosition = { x: 0, y: 0 };\n\n\n\tconstructor(public dialog: MatDialog, public authService: AuthService, public vicidialService: VicidialService,\n\t\tprivate managerChatSoulService:ManagerChatService,\n\t private phonePanelService:PhonePanelService,\n ) {\n\t\tthis.getRolUser();\n\t\t\n\tthis.phonePanelService.statusSeePanelSoulPhone.subscribe(resp=>{\n\t\tthis.phoneButton = resp\n\t});\n\n\t\t// @Input() options;\n\t\tthis.options = {\n\t\t\tbuttons: [\n\t\t\t\t{\n\t\t\t\t\ticon: 'fi-sr-envelope',\n\t\t\t\t\tlabel: 'Email',\n\t\t\t\t\tkey: 'email',\n\t\t\t\t\tpermiso: this.email\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'fi-sr-shuffle',\n\t\t\t\t\tlabel: 'Escalamiento',\n\t\t\t\t\tkey: 'escala',\n\t\t\t\t\tpermiso: this.pqrs\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'fi-rr-comment',\n\t\t\t\t\tlabel: 'Chat',\n\t\t\t\t\tkey: 'chat',\n\t\t\t\t\tpermiso: this.chat\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ticon: 'fi-rr-video-camera',\n\t\t\t\t\tlabel: 'Videollamada',\n\t\t\t\t\tkey: 'video_llamada',\n\t\t\t\t\tpermiso: this.videoLlamada\n\t\t\t\t},\n\t\t\t\t/*\n\t\t\t\t{\n\t\t\t\t\ticon: 'fi-rr-comment',\n\t\t\t\t\tlabel: 'Chat SOUL',\n\t\t\t\t\tkey: 'chat_soul',\n\t\t\t\t\tpermiso: true\n\t\t\t\t},\n\t\t\t\t*/\n\t\t\t]\n\t\t};\n\n\t\tconst local = this.authService.getUser();\n\t\tlocal.roles.forEach((rol) =>{\n\t\t\tconst name = rol.split('::');\n\n\t\t\tif (name[0] === 'widgetphone' && name[1] == \"phone1\") {\n\t\t\t\t\tthis.options.buttons.push({\n\t\t\t\t\t\t\ticon: 'phone',\n\t\t\t\t\t\t\tlabel: 'Soul phone',\n\t\t\t\t\t\t\tkey: 'phone',\n\t\t\t\t\t\t\tpermiso: true\n\t\t\t\t\t})\n\t\t\t}\n\t\t\tif (name[0] === 'widgetphone' && name[1] == \"phone2\"){\n\t\t\t\t\tthis.options.buttons.push({\n\t\t\t\t\t\t\ticon: 'phone',\n\t\t\t\t\t\t\tlabel: 'Voz',\n\t\t\t\t\t\t\tkey: 'voz',\n\t\t\t\t\t\t\tpermiso: true\n\t\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\t\n\t}\n\n\tngOnInit() {\n\t\tconst maxButtons = 10;\n\t\tif (this.options.buttons.length > maxButtons) {\n\t\t\tthis.options.buttons.splice(6, this.options.buttons.length - maxButtons);\n\t\t}\n\t\tthis.vicidialService.statusRPAObservable.subscribe( (resp: any) => {\n\t\t\tthis.stateOpenModal = resp;\n\t\t\tconsole.log(resp);\n\t\t });\n\t}\n\n\tdisabledBtnBack = false;\n\tchangeVicidialArg(event) {\n\t\tthis.disabledBtnBack = event;\n\t\tthis.vicidialActive.emit(event);\n\t}\n\n\tprocessCallResponse(event) {\n\t\tthis.callResponse.emit(event);\n\t}\n\n\tgetRolUser(): void {\n\t\tconst user = this.authService.decryptToken();\n\t\tconst local = this.authService.getUser();\n\t\tlocal.roles.forEach((rol) => {\n\t\t\tconst name = rol.split('::');\n\t\t\tif (name[0] === 'pqrs') {\n\t\t\t\tthis.rol = name[1];\n\t\t\t\tthis.pqrs = true;\n\t\t\t}\n\t\t\tif (name[1] === 'mailcore') {\n\t\t\t\tthis.email = true;\n\t\t\t}\n\t\t\tif (local.chat_active === 1) {\n\t\t\t\tthis.chat = true;\n\t\t\t}\n\t\t\tif (name[1] === 'meetings') {\n\t\t\t\tthis.videoLlamada = true;\n\t\t\t}\n\t\t});\n\t}\n\n\tshowItems() {\n\t\tthis.fabTogglerState = 'active';\n\t\tthis.buttons = this.options.buttons;\n\t}\n\n\thideItems() {\n\t\tthis.fabTogglerState = 'inactive';\n\t\tthis.buttons = [];\n\t}\n\n\tonToggleFab() {\n\t\tthis.buttons.length ? this.hideItems() : this.showItems();\n\t}\n\n\tocultarChat() {\n\t\tthis.historial = !this.historial;\n\t}\n\n\t/**\n\t * @author Daniel Martinez\n\t * @createdate 2021-03-10\n\t * Metodo que se encarga de direccionar a cada integracion\n\t * @param key key de cada integracion\n\t */\n\tfuncionalidad(key: any): void {\n\t\tswitch (key) {\n\t\t\tcase 'escala': {\n\t\t\t\tconst dialogEscala = this.dialog.open(AdminEscalationComponent, {\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\tdisableClose: true,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\ttype: 'escalamiento',\n\t\t\t\t\t\ttitle: 'Escalamiento'\n\t\t\t\t\t},\n\t\t\t\t\tpanelClass: 'custom-dialog-container'\n\t\t\t\t});\n\n\t\t\t\tdialogEscala.afterClosed().subscribe(() => {});\n\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase 'email': {\n\t\t\t\tconst dialogEmail = this.dialog.open(AdminEmailComponent, {\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\tdisableClose: true,\n\t\t\t\t\tmaxHeight: '85vh',\n\t\t\t\t\tdata: {\n\t\t\t\t\t\ttype: 'email',\n\t\t\t\t\t\ttitle: 'Email'\n\t\t\t\t\t},\n\t\t\t\t\tpanelClass: 'custom-dialog-container'\n\t\t\t\t});\n\n\t\t\t\tdialogEmail.afterClosed().subscribe(() => {});\n\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase 'chat': {\n\t\t\t\tthis.historial = true;\n\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase 'voz': {\n\t\t\t\tthis.vozButton = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'phone': {\n\t\t\t\tthis.phoneButton = true;\n\t\t\t\tthis.phonePanelService.setStatusSeePanelSoulPhone = true\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase 'video_llamada': {\n\t\t\t\tthis.VideollamadaButton = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'chat_soul':{\n\t\t\t\tthis.managerChatSoulService.openListContact = true;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t}\n\t}\n\n\tchangeViewPhone(bool) {\n\t\tthis.vozButton = bool;\n\t\tthis.onToggleFab();\n\t}\n\n\tchangeViewVideo(bool) {\n\t\tthis.VideollamadaButton = bool;\n\t\tthis.onToggleFab();\n\t}\n\n\n\t/**\n\t * Identifica el evento de minimizar o cerrrar el modal\n\t * @param data:any {any} valor emitido desde el modal para identificar las acciones del modal\n\t */\n\tmodifyModal(data:any){\n\t\tif(data.action == 'minimize'){\n\t\t\tthis.stateMinimizeModalRPA = true\n\t\t}else{\n\t\t\tthis.stateMinimizeModalRPA = false\n\t\t}\n\n\t\tif(data.action == 'close'){\n\t\t\tthis.stateOpenModal = {status: false, uid:null};\n\t\t}\n\t}\n\n\n\t/**\n\t * Metodo que se encarga de actualizar la posicion del contenedor cuando se va haciendo DRAG sobre el componente de soulphne\n\t * con esto conseguimos dejar el modo DragFree y todos los componentes por debajo de este podran ser usados\n\t * @param event:any DragEvent\n\t */\n\tonDragReleased(event: any): void {\n\t\tthis.dragPosition = { x: event.source._dragRef._passiveTransform.x, y: event.source._dragRef._passiveTransform.y };\n\t}\n}\n","
\n\n
\n\t\n\n\t\n\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t{{ btn.label }}\n\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n\t
\n\t\t\n\t
\n\n
\n\n
\n\t  RPA\n
\n","import { Component, Inject } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { ProfileService } from '../../services/rest/profile.service';\nimport { MatDialog, MAT_DIALOG_DATA,MatDialogRef } from '@angular/material/dialog';\nimport { AlertsService } from '../../../../shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-profile-update',\n templateUrl: './profile-update.component.html',\n styleUrls: ['./profile-update.component.sass']\n})\nexport class ProfileUpdateComponent {\n profileForm:FormGroup;\n userLogged;\n\n constructor(private profileService:ProfileService,\n private dialog:MatDialog,private alertService:AlertsService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.createForm();\n }\n\n get error(): any { return this.profileForm.controls; }\n\n /**\n * toma el formuliario y habilta los campos \n * que se van a actualizar\n * @author Carlos Nieto\n */\n createForm(){\n this.profileForm = this.data.profileForm;\n this.profileForm.patchValue(this.data.patch);\n this.profileForm.enable()\n this.profileForm.controls.birth_date.disable();\n this.profileForm.controls.first_name.disable();\n this.profileForm.controls.id_number.disable();\n this.profileForm.controls.id_type_id.disable();\n this.profileForm.controls.last_name.disable();\n this.profileForm.controls.middle_name.disable();\n this.profileForm.controls.second_last_name.disable();\n }\n\n\n /**\n * metodo que consume el api de edit\n * @author Carlos Nieto\n */\n edit()\n {\n this.profileService.editProfile(this.profileForm.value).subscribe(\n response => {\n let text = response['data'];\n this.alertService.alertSuccess('Completado',text);\n this.dialogRef.close();\n }\n )\n }\n }\n","
\n \n

Editar información

\n
\n\n
\n
\n \n Tipo Documento\n \n \n \n Número de Identificación\n \n \n \n Primer Nombre\n \n \n \n Segundo Nombre\n \n \n \n Primer Apellido\n \n \n \n Segundo Apellido\n \n \n \n Email\n \n ¡Advertencia! Este campo es requerido\n ¡¡Advertencia! Recibimos un email\n \n \n Email Secundario\n \n ¡¡Advertencia! Recibimos un email\n \n \n Teléfono\n \n ¡Aún falta! Recibimos mínimo 7 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 12 caracteres\n ¡Cuidado! Solo puedes ingresar números\n \n \n Teléfono Movil\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 10 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 13 caracteres\n ¡Cuidado! Solo puedes ingresar números\n \n \n Fecha de Nacimiento\n \n \n
\n
\n \n \n
\n
\n
","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\nconst CRM_URL = environment.CRM2_URL;\nconst NOMINA_URL = environment.NOMINA_URL;\n@Injectable({\n providedIn: 'root'\n})\nexport class CampaingsService {\n putState(id: any, data: { state: any; }) {\n throw new Error('Method not implemented.');\n }\n\n constructor(private http: HttpClient, private AuthService: AuthService) { }\n\n getCampaings(direction) {\n return this.http.get(`${NOMINA_URL}${direction}`);\n }\n\n getCampaingsByUser(direction, id) {\n return this.http.get(`${CRM_URL}${direction}${id}`);\n }\n\n /* UpdateState(id, state) {\n return this.http.post(`${CRM_URL}campaigns/${id}/updateState`, state);\n } */\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {TranslatesService} from '../../services/translates.service';\n\n@Component({\n selector: 'app-inteligencia-negocios',\n templateUrl: './inteligencia-negocios.component.html',\n styleUrls: ['./inteligencia-negocios.component.sass']\n})\nexport class InteligenciaNegociosComponent implements OnInit {\n private uuid = '6111a21c-74b7-42dd-aac4-992da45dc867';\n public config: any;\n\n selected = new FormControl(0);\n tab;\n constructor(\n private aRouter: ActivatedRoute,\n private router: Router,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.aRouter.paramMap.subscribe(params =>{\n this.selected.setValue(params.get('tab'));\n });\n\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n changeTab(event) {\n this.router.navigateByUrl(`/mios/calidad/inteligencia-negocios/${event}`);\n this.selected.setValue(event);\n }\n\n}\n","
\n\n
\n\n

{{config.title}}

\n
\n {{config.subtitle}}\n
\n\n \n \n \n \n \n \n \n \n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { EmailService } from '../../services/email.service';\n\n@Component({\n selector: 'app-move-email-tray',\n templateUrl: './move-email-tray.component.html',\n styleUrls: ['./move-email-tray.component.css']\n})\nexport class MoveEmailTrayComponent implements OnInit {\n formMoveEmail: FormGroup = new FormGroup({\n id_bandeja: new FormControl('', [Validators.required])\n });\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alertService: AlertsService,\n private matDialogRef: MatDialogRef,\n private matSnackBar: MatSnackBar,\n private emailService: EmailService) { }\n\n ngOnInit(): void {\n\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-01-26\n * Metodo que guarda el movimiento del correo entre bandejas o carpetas. \n */\n saveMoveEmail(): void {\n if (this.formMoveEmail.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n const formData = new FormData();\n formData.append('id_bandeja', this.formMoveEmail.value.id_bandeja);\n formData.append('email_list', `[${this.data.emails.toString()}]`);\n this.emailService.moveEmails(formData).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(res);\n })\n }\n });\n } else {\n this.formMoveEmail.markAllAsTouched();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-30\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formMoveEmail.controls;\n }\n}","
\n
\n \n
\n
\n
\n
Mover correos
\n \n
\n
\n
\n \n Bandejas y carpetas\n \n \n 0\" [label]=\"group.name\">\n \n {{ item.name }}\n \n \n \n No hay información disponible para {{ group.name }}\n \n \n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport {Location} from '@angular/common';\nimport { FormControl, Validators, FormBuilder, FormGroup} from '@angular/forms';\nimport { UpdatesService } from '../../../services/updates.service';\nimport { saveAs as importedSaveAs } from \"file-saver\";\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-updates-main',\n templateUrl: './updates-main.component.html',\n styleUrls: ['./updates-main.component.sass']\n})\nexport class UpdatesMainComponent implements OnInit {\n\n constructor(public _location: Location, private fb: FormBuilder,\n public UpdatesService:UpdatesService, public alertService:AlertsService) { }\n\n filterForm = new FormControl('',[Validators.required]);\n fileUpdaloaded = null\n ngOnInit(): void {\n }\n getUpdate(file){\n this.fileUpdaloaded= null\n this.UpdatesService.postUpdates(this.filterForm.value, file[0])\n .subscribe((res:any)=>{\n this.fileUpdaloaded = res\n this.alertService.alertSuccess('¡Cargado!', 'Su documento se ha cargado correctamente');\n })\n\n }\n downloadDocument(){\n\n this.UpdatesService.downloadFormat(this.filterForm.value).subscribe(res=>{\n importedSaveAs(res, `${this.filterForm.value}.xlsx`);\n })\n }\n}\n","
\n \n

Actualizaciones de contratación

\n

En esta sección podrás gestionar las actualizaciones de los contratos

\n\n\n
\n \n Actualizaciones Disponibles\n \n Otro SI\n Actualización de Sesión\n \n \n \n \n \n
\n
\n

Resumen

\n

  Total de Candidatos Importados    {{fileUpdaloaded.totalCandidates}}

\n

  Candidatos registrados con éxito   {{fileUpdaloaded[filterForm.value + 'ToSave']}}

\n

  Candidatos o razones para ignorar este proceso   {{ fileUpdaloaded[filterForm.value +'ToIgnore'].length }}

\n
\n
    \n
  • {{row.name}} ({{ row.reason }})
  • \n
\n
\n
\n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/auditoria/services/matriz.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\n\n@Component({\n selector: 'app-editar-sub-item',\n templateUrl: './editar-sub-item.component.html',\n styleUrls: ['./editar-sub-item.component.sass']\n})\nexport class EditarSubItemComponent implements OnInit {\n\n subItemForm:FormGroup;\n items = [];\n filteredOptions: Observable;\n verError:boolean = true;\n continue:boolean = true;\n nuevo:boolean = false;\n descripcion:boolean = true;\n constructor(\n private fb:FormBuilder,\n public subItemRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private matrizService:MatrizService,\n ) { }\n\n ngOnInit(): void {\n this.createForm();\n this.getSubItemById();\n }\n\n \n createForm(){\n this.subItemForm = this.fb.group({\n nombre:['',Validators.required],\n descripcion:[''],\n })\n }\n\n getSubItemById(){\n this.matrizService.getModuleById(this.datos.id_subItem).subscribe((resp:any)=>{\n this.subItemForm.setValue({\n nombre: resp.nombre,\n descripcion: resp.descripcion,\n })\n });\n }\n\n updateSubItem(){\n if (this.subItemForm.invalid) {\n //return\n }\n const data = {\n idModulo: this.datos.id_subItem,\n }\n Object.assign(data,this.subItemForm.value);\n this.matrizService.updateSubItem(data).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) { \n Tools.swalSuccess('¡Excelente!','Se ha actualizado el módulo correctamente.');\n this.subItemRef.close();\n }\n });\n }\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.items.filter(option => option.nombre.toLowerCase().includes(filterValue));\n }\n\n displayFn(module: any): string {\n return module && module ? module : '';\n }\n\n getSubItems(){\n this.matrizService.getItems(this.subItemForm.get('nombre').value).subscribe((resp:any)=>{\n if (resp.length == 0) {\n this.verError = true\n this.subItemForm.get('nombre').setErrors({invalid:true});\n this.nuevo = true;\n this.descripcion = false;\n this.continue = true;\n }else{\n this.verError = false;\n this.nuevo = false;\n this.items = resp\n this.filteredOptions = this.subItemForm.get('nombre').valueChanges.pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n }\n })\n }\n newSubItem(){\n this.nuevo = false;\n this.subItemForm.get('nombre').setErrors(null);\n this.continue = true;\n this.descripcion = true;\n }\n \n\n}\n","\n
\n

Editar Subítem

\n \n \n Nombre\n \n \n \n \n {{option.nombre}}\n \n \n No se encontraron coincidencias con el nombre que acabas de ingresar\n Por favor ingresa un nombre.\n \n \n \n Descripción\n \n \n\n
\n \n \n
\n
","import { ProcesarSolicitudComponent } from './../procesar-solicitud/procesar-solicitud.component';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { SolicitudesService } from '../../../../services/rest/solicitudes.service';\nimport { DestroyComponentService } from '../../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { FormBuilder, FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AuthService } from '../../../../../../core/services/rest/auth.service';\nimport { ArchivosService } from '../../../../services/rest/archivos.service';\n\nimport Swal from 'sweetalert2';\nimport { formatNumber, JsonPipe } from '@angular/common';\nimport { ViewObservationItemComponent } from '../view-observation-item/view-observation-item.component';\n\n@Component({\n selector: 'app-aprobar-solcitud',\n templateUrl: './aprobar-solcitud.component.html',\n styleUrls: ['./aprobar-solcitud.component.sass']\n})\nexport class AprobarSolcitudComponent implements OnInit {\n\n solicitudesForm : FormGroup;\n itemsSolciitud : [] = [];\n itemsAsociada : [] = [];\n archivosPorSolicitud : any;\n archivo : any;\n view = false;\n coordinador:boolean = false;\n applicant :boolean = false;\n viewInfo :boolean;\n rol = null;\n ordenCompra :any;\n viewFile :boolean;\n\n constructor(\n private solicitudService : SolicitudesService,\n private archivoService : ArchivosService,\n private destroyService : DestroyComponentService,\n private form : FormBuilder,\n private alertsService : AlertsService,\n private authService : AuthService,\n public dialog : MatDialog,\n private dialogRef : MatDialogRef< AprobarSolcitudComponent >,\n @Inject(MAT_DIALOG_DATA) public data : any) { }\n\n ngOnInit(): void {\n this.data.solicitud.request_items = this.data.solicitud.request_items.map(item => {\n if(item.observations && typeof item.observations == 'string') {\n const itemParse = JSON.parse(item.observations)\n item.observations = itemParse\n }\n return item\n });\n\n if(this.data.solicitud.is_associated == \"1\"){\n this.solicitudService.itemsMother(this.data.solicitud.request_id).subscribe(resp => {\n this.itemsSolciitud = resp.data;\n this.itemsAsociada = this.data.solicitud.request_items;\n })\n }else{\n this.itemsSolciitud = this.data.solicitud.request_items;\n }\n this.viewFile = false;\n this.applicant = this.authService.getUser().roles.includes(\"compras::solicitante\")\n this.coordinador = this.data.coordinador;\n this.rol = this.data.rol;\n if((this.data.solicitud.request_state.id == 11 || this.data.solicitud.request_state.id == 6) && this.data.solicitud.purchase_order && this.data.solicitud.purchase_order[0].path && this.rol == 'solicitante'){\n this.viewFile = true;\n this.ordenCompra = this.data.solicitud.purchase_order[0];\n }\n this.formControl();\n if (this.data.type === 'view') {\n this.view = true;\n this.viewInfo = this.data.viewInfo;\n // this.formControlView();\n }\n\n\n this.archivoService.getArchivosSolicitud(this.data.solicitud.id)\n .subscribe(resp => {\n this.archivosPorSolicitud = resp.data;\n this.archivosPorSolicitud.forEach((element, index) => {\n if (element.state == 1) {\n this.solicitudesForm.controls.cotizacion.setValue(element.id);\n }\n });\n });\n\n }\n\n private save(solicitudesForm){\n let estado = {\n state: solicitudesForm.value.estado\n };\n let archivoSeleccionado = {\n state: 1,\n idSolicitud: this.data.solicitud.id\n };\n const observacion = new FormData();\n observacion.append('observacion', solicitudesForm.value.observacion);\n observacion.append('idSolicitud', this.data.solicitud.id);\n observacion.append('type', \"coordinador\");\n\n this.solicitudService.updateSolicitudEstado(estado, this.data.solicitud.id).subscribe(resp => {\n // observacion\n this.solicitudService.saveObservacion(observacion).subscribe();\n if (solicitudesForm.value.estado == 4) {\n if (solicitudesForm.value.cotizacion != null) {\n this.archivoService.updateArchivosSolicitud(archivoSeleccionado, solicitudesForm.value.cotizacion).subscribe();\n } else {\n this.alertsService.alertError('Error', 'Seleccione una cotizcion');\n return;\n }\n this.alertsService.alertSuccess('¡Excelente!', ' Se aprobó una cotización de la solicitud, será enviada al analista para generar la orden de compra');\n } else {\n this.alertsService.alertSuccess('¡Excelente!', resp.data);\n }\n });\n\n }\n\n saveSolicitud(solicitudesForm): void {\n let confirmationText = null;\n\n\n if( this.data.solicitud.request_state_id == 4 &&\n solicitudesForm.value.estado == 5 ){\n confirmationText = \"¿Deseas cambiar el estado de la solicitud de aprobada a rechazada?, recuerda que podrás volver a editar la solicitud.\";\n }\n else if (\n this.data.solicitud.request_state_id == 5 &&\n solicitudesForm.value.estado == 4\n )\n {\n confirmationText = \"¿Deseas cambiar el estado de la solicitud de rechazada a aprobada?, recuerda que podrás volver a editar antes de que se genere la orden de compra.\";\n }\n\n if( confirmationText != null ){\n //Confirma cambio de estado de aproba a rechazada\n Swal.fire({\n icon : 'warning',\n title : '¿Estás seguro?',\n text : confirmationText,\n showCancelButton : true,\n focusConfirm : false,\n confirmButtonText : 'Aceptar',\n cancelButtonText : \"Cancelar\"\n }).then( (result) => {\n if(result.isConfirmed){\n this.save( solicitudesForm );\n }\n } )\n }else{\n this.save( solicitudesForm );\n }\n\n\n\n\n }\n\n get error(): any { return this.solicitudesForm.controls; }\n\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void {\n\n const stateId = parseInt(this.data.solicitud.request_state_id);\n this.solicitudesForm = new FormGroup({\n cotizacion: new FormControl('', stateId == 4 ? [ Validators.required ] : []),\n estado: new FormControl( stateId , [ Validators.required ]),\n observacion: new FormControl( this.getObservacion( this.coordinador ? \"coordinador\" : \"analista\" ) , [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n });\n\n }\n\n validate_latesObservation(data){\n return data == undefined ? 'No hay informacion del usuario' : data;\n }\n\n\n downloadFile(e: any) {\n\n const archivo = {\n path: e.path\n };\n this.archivoService.downloadOrder(archivo).subscribe( (data) => {\n const a = document.createElement('a');\n const file = new Blob([data], {type: e.fileContentType});\n a.href = URL.createObjectURL(file);\n a.download = e.name;\n a.click();\n });\n }\n\n downloadOrder (order) {\n const archivo ={\n path:order.path\n };\n this.archivoService.downloadOrder(archivo).subscribe( resp=>{\n const a = document.createElement('a');\n const file = new Blob([resp], { type: 'application/pdf' });\n a.href = window.URL.createObjectURL(file);\n a.download = 'Orden_Compra.pdf';\n a.click();\n\n }, error =>{\n\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n formatNumber(number){\n const formatter = new Intl.NumberFormat('en-US', {\n style: 'currency',\n minimumFractionDigits: 2,\n currency: 'USD'\n })\n return formatter.format(number)\n }\n\n editSolicitud( ){\n let component;\n if( !this.coordinador ){\n component = ProcesarSolicitudComponent;\n this.dialog.open(component , {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Detalles solicitud',\n coordinador : this.coordinador,\n solicitud:this.data.solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n this.dialogRef.close();\n }\n else{\n this.view = false;\n }\n\n\n }\n\n getNombreObservacion(tipo){\n if( this.data.solicitud.request_observation == undefined ){\n return \"\";\n }\n const obs = this.data.solicitud.request_observation.filter( (v,i) => v.type == tipo );\n const len = obs.length;\n if( len > 0 ){\n return obs[len -1 ].name_created;\n }\n return \"\";\n }\n\n getfechaCreated(tipo){\n if( this.data.solicitud.request_observation == undefined ){\n return \"\";\n }\n const obs = this.data.solicitud.request_observation.filter( (v,i) => v.type == tipo );\n const len = obs.length;\n if( len > 0 ){\n return obs[len -1 ].created_at;\n }\n return \"\";\n }\n\n\n getObservacion( tipo ){\n if( this.data.solicitud.request_observation == undefined ){\n return \"\";\n }\n const obs = this.data.solicitud.request_observation.filter( (v,i) => v.type == tipo );\n const len = obs.length;\n if( len > 0 ){\n return obs[len -1 ].observation;\n }\n return \"\";\n\n }\n\n validateCotizatioControlRequired(state){\n if(state == 5)\n this.solicitudesForm.get('cotizacion').clearValidators();\n else if(state == 4)\n this.solicitudesForm.get('cotizacion').setValidators([Validators.required]);\n this.solicitudesForm.get('cotizacion').updateValueAndValidity();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-04-17\n * Abre la modal de la vista de observaciones de los items.\n */\n viewObservation(observation, indexItem): void {\n const modalViewObservation = this.dialog.open(ViewObservationItemComponent, {\n data: {\n observation: observation,\n indexItem: indexItem\n },\n width: '50%'\n });\n modalViewObservation.afterClosed().subscribe(res => {\n if (typeof res !== 'string' && res !== undefined) {\n const itemsRequest = this.data.solicitud.request_items;\n const setItemsRequest = itemsRequest.map(item => {\n if (item.id === res.resUpdate.indexItem) item.observations = res.resUpdate.observation;\n return item;\n });\n this.data.solicitud.request_items = setItemsRequest;\n }\n });\n }\n}\n","
\n
\n \n
\n
\n \n
\n
\n \n
\n

\n {{ data.title }}\n

\n Estado actual : {{data.solicitud.request_state.name}}\n
\n
\n
\n Descarga orden de compra\n
\n
\n \n \n \n\n
\n\n
\n
\n\n Fecha de creación\n

{{data.solicitud.created_at|date:'dd-MM-yyyy': 'UTC'}}

\n
\n
\n\n Nombre del solicitante\n

{{data.solicitud.created_by}}

\n
\n
\n\n Tipo de adquisición\n

{{data.solicitud.product_type.name}}

\n
\n
\n
\n
\n\n Categoría\n

{{data.solicitud.category.name}}

\n
\n
\n\n Empresa\n

{{data.solicitud.company.name}}

\n
\n
\n\n Campaña\n

{{data.solicitud.project}}

\n
\n
\n
\n
\n\n Título solicitud\n

{{data.solicitud.title}}

\n
\n
\n\n Descripción solicitud\n

{{data.solicitud.description}}

\n
\n\n
\n\n
\n
\n Fecha de ejecución\n

{{data.solicitud.date_ejecucion | date:'dd-MM-yyyy': 'UTC'}}

\n
\n
\n Observación de ejecución\n

{{data.solicitud.observaciones_ejecuccion}}

\n
\n
\n
\n
\n Ítem de compra\n
\n
\n Cantidad\n
\n
\n \n Referencia\n \n
\n
\n \n Observación\n \n
\n
\n
\n
\n

{{item.detail}}

\n
\n
\n

{{item.quantity}}

\n
\n
\n {{item.observations.observations}}\n
\n \n
\n
\n {{item.name}}\n
\n
\n
\n \n \n \n
\n
\n
\n\n
\n\n
\n \n\n
\n
\n \n
\n Fecha de creación de la orden de compra - \n {{data.solicitud.updated_at|date:'dd/MM/yyyy HH:mm:ss'}} | \n {{validate_latesObservation(data.solicitud.created_purchase)}}\n
\n
\n
\n\n \n
\n\n
\n
\n
\n Ítems de compra solicitud asociada\n

\n
\n
\n\n
\n
\n Ítem de compra\n
\n
\n Cantidad\n
\n
\n Observación\n
\n
\n
\n
\n

{{item.detail}}

\n
\n
\n

{{item.quantity}}

\n
\n
\n

{{item.observations.observations}}

\n
\n
\n\n
\n
\n
\n Observaciones de la solicitud asociada\n

\n
\n
\n\n
\n

{{this.data.solicitud.observaciones_associated}}

\n
\n
\n
\n

\n\n

0) && ((view && solicitudesForm.value.estado != 2) || !view ) && rol != 'solicitante'\">\n Cotizaciones\n
\n A continuación, se presentan las cotizaciones previamente cargadas por el solicitante.\n

\n\n\n
\n
\n \n
\n \n Cotización {{i + 1}} \n \n
\n \n {{ ( archivo.name.length > 15 ) ? archivo.name.slice(0,12)+\"...\" : archivo.name }}\n \n  \n \n
\n \n Valor:\n \n  \n \n \n {{formatNumber(archivo.value)}}\n \n \n N/A\n \n
\n
\n
\n
\n
\n
\n
0\" >\n
\n\n Observación analista - \n {{ getfechaCreated('analista') |date:'dd/MM/yyyy HH:mm:ss'}} | \n {{ getNombreObservacion('analista') }} \n

{{ getObservacion('analista') }}

\n
\n\n
\n\n
0\">\n
\n\n Observación aprobador - \n {{ getfechaCreated('coordinador') |date:'dd/MM/yyyy HH:mm:ss'}} | \n {{ getNombreObservacion('coordinador') }}\n

{{ getObservacion('coordinador') }}

\n
\n\n
\n\n
0\">\n
\n\n Observación control - \n {{ getfechaCreated('control') |date:'dd/MM/yyyy HH:mm:ss'}} | \n {{ getNombreObservacion('control') }}\n

{{ getObservacion('control') }}

\n
\n\n
\n\n
0\">\n
\n\n Fecha de anulacion - \n {{ getfechaCreated('anulacion') |date:'dd/MM/yyyy HH:mm:ss'}} | \n {{ getNombreObservacion('anulacion') }}\n

{{ getObservacion('anulacion') }}

\n
\n\n
\n\n
0\">\n
\n Observación cancelacion - \n {{ data.solicitud.observation_logs[0].created_at |date:'dd/MM/yyyy HH:mm:ss'}} | \n {{ data.solicitud.observation_logs[0].create_rrhh_id }}\n

{{ data.solicitud.observation_logs[0].observation }}

\n
\n\n
\n\n \n Estado\n \n Aprobada\n Rechazada\n \n ¡Advertencia! Este campo es requerido\n \n\n\n \n {{ [5,8].includes(solicitudesForm.get('estado').value) ? \"Motivo de rechazo\" : \"Observación\" }} \n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 255 caracteres\n \n\n
\n
\n \n \n
\n
\n\n
\n\n\n\n\n\n\n
\n
\n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ChatService } from '../../../services/chat.service';\nimport { MatExpansionPanel } from '@angular/material/expansion';\nimport * as html2pdf from 'html2pdf.js';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-analytics-chat-modal',\n templateUrl: './analytics-chat-modal.component.html',\n styleUrls: ['./analytics-chat-modal.component.sass']\n})\nexport class AnalyticsChatModalComponent implements OnInit {\n\n @ViewChild('containerViewReport') containerViewReport: ElementRef;\n @ViewChild('transcripcionPanel') transcripcionPanel: MatExpansionPanel;\n @ViewChild('resumenPanel') resumenPanel: MatExpansionPanel;\n @ViewChild('analisisTexto') analisisTexto: MatExpansionPanel;\n\n highlightedTerms: Set = new Set();\n interactions: any[] = [];\n palabrasClaveArray: string[] = [];\n data: any;\n case_id: any;\n llmResponseObject: any;\n editMode = false;\n\n chatData: any;\n interactionsFormat: any[];\n sentimientosDataPorSpeaker: any[];\n sentimientosData: { name: string; value: number; label: string; }[];\n\n\n //propiedades grafica\n view: any[] = [700, 400]; // Tamaño de la gráfica\n showLegend = true;\n showLabels = true;\n isDoughnut = false;\n gradient = false;\n colorScheme2 = {\n domain: ['#1565C0', '#B0BEC5', '#FFF176']\n };\n selectedInteractions: any[] = []; // Almacena las interacciones filtradas\n modificarInteracciones: boolean = false; //modificar iteraciones para anlisis\n selectAll: boolean = true; //sekecciona todas las iteracciones\n indeterminate: boolean = false; //validas si hay interacciones indeterminadas\n\n constructor( \n @Inject(MAT_DIALOG_DATA) public dialogData: any,\n private chatService: ChatService,\n private sanitazer: DomSanitizer) \n {}\n \n ngOnInit(): void {\n this.case_id = this.dialogData.id;\n this.loadChatData();\n }\n\n /**\n * Metodo para cargar los datos del chat y las interacciones formatadas.\n * @author Yeison Sepulveda\n * @createdate 2024-07-16\n */\n \n loadChatData(): void {\n this.chatService.getChatById(this.case_id).subscribe(\n (response) => {\n this.chatData = response.data[0];\n \n this.chatService.showResultsChat(this.case_id).subscribe(res => {\n this.llmResponseObject = res.data[0].llm_response;\n this.palabrasClaveArray = this.llmResponseObject.palabras_clave;\n\n let analysisFeelings: any[] = [];\n\n // Verifica si analysis_feelings es un string\n const analysisFeelingsData = res.data[0].analysis_feelings;\n if (typeof analysisFeelingsData === 'string') {\n // Convierte la cadena JSON a un array, si la cadena es válida\n analysisFeelings = JSON.parse(analysisFeelingsData || '[]');\n } else if (Array.isArray(analysisFeelingsData)) {\n // Si ya es un array, asígnalo directamente\n analysisFeelings = analysisFeelingsData;\n }\n\n this.interactions = this.mergeInteractions(this.chatData.chat_details, analysisFeelings);\n this.interactionsFormat = this.interactions;\n \n this.interactionsFormat.forEach(interaction => {\n interaction.selected = true; // Inicialmente todas seleccionadas\n });\n \n this.calcularPorcentajes(this.interactions);\n });\n },\n (error) => {\n console.error('Error al consultar los resultados de análisis', error);\n }\n );\n }\n \n\n /**\n * Combina los detalles del chat con los sentimientos analizados basados en el ID.\n * @updated Yeison Sepulveda\n * @createdate 2024-07-16\n * @param {any[]} chatDetails - Detalles del chat a ser combinados.\n * @param {any[]} analysisFeelings - Sentimientos analizados a ser combinados.\n * @returns {any[]} Un arreglo de interacciones combinadas.\n */\n mergeInteractions(chatDetails: any[], analysisFeelings: any[]): any[] {\n if (!Array.isArray(analysisFeelings)) {\n console.error('analysisFeelings no es un array', analysisFeelings);\n return chatDetails; // O manejarlo como creas conveniente\n }\n \n return chatDetails.reduce((mergedInteractions, detail) => {\n const matchingAnalysis = analysisFeelings.find(analysis => analysis.id === detail.id);\n \n if (matchingAnalysis) {\n const isTextEmptyInAnalysis = !matchingAnalysis.text || matchingAnalysis.text.trim().length === 0;\n const isTextRepetitive = this.validateText(matchingAnalysis.text || detail.content);\n \n const adjustedSentimiento = (isTextEmptyInAnalysis || isTextRepetitive) ? 'NEU' : matchingAnalysis.sentimiento;\n const sentimentProbabilities = (isTextEmptyInAnalysis || isTextRepetitive) ? { NEG: 0, NEU: 1, POS: 0 } : matchingAnalysis.probabilidad_sentimiento;\n \n const palabrasClave = this.palabrasClaveArray.filter(palabra => detail.content.includes(palabra));\n const sentimentTooltip = this.getSentimentTooltip(adjustedSentimiento);\n \n mergedInteractions.push({\n ...detail,\n ...matchingAnalysis,\n text: detail.content,\n palabrasClave: palabrasClave,\n probabilidadSentimiento: sentimentProbabilities,\n sentimiento: adjustedSentimiento,\n sentimentEmoji: sentimentTooltip.emoji,\n sentimentMessage: `${sentimentTooltip.message} ${sentimentTooltip.emoji}`,\n explicacion: matchingAnalysis.explicacion\n });\n }\n return mergedInteractions;\n }, []);\n }\n \n /**\n * Metodo para detectar textos repetitivos\n * @author Yeison Sepulveda\n * @createdate 28-08-2024\n */\n validateText(text: string): boolean {\n if (!text) return false;\n const repetitivePattern = /(.)\\1{3,}/;\n return repetitivePattern.test(text);\n }\n /**\n * Metodo para los chips en los cuales busca las palabras y los subraya\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n */\n toggleHighlight(palabra: string): void {\n if (this.highlightedTerms.has(palabra)) {\n this.highlightedTerms.delete(palabra);\n } else {\n this.highlightedTerms.add(palabra);\n }\n \n this.interactionsFormat = this.interactions.map(interaction => {\n let text = interaction.text;\n \n text = this.removeHighlight(text);\n \n text = this.highlightedText(text, this.highlightedTerms);\n \n return { ...interaction, text: this.sanitazer.bypassSecurityTrustHtml(text) };\n });\n \n }\n \n /**\n * Elimina el resaltado de las palabras clave dentro de un texto resaltado.\n * @author Yeison Sepulveda\n * @createdate 20/05/2024\n * @param {string} text - El texto con las palabras clave resaltadas.\n * @returns {string} El texto sin el resaltado de las palabras clave.\n */\n \n removeHighlight(text: string): string {\n const spanRegex = /(.*?)<\\/span>/g;\n return text.replace(spanRegex, '$1');\n }\n\n\n /**\n * Subraya las palabras clave dentro de un texto.\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n * @param {string} text - El texto en el que se buscarán y resaltarán las palabras clave.\n * @param {string} term - La palabra clave que se debe resaltar.\n * @returns {string} El texto con las palabras clave resaltadas.\n */\n\n highlightedText(text: string, terms: Set): string {\n if (!terms || terms.size === 0) {\n return text;\n }\n\n const styleCss = 'padding: 0.1rem 0.4rem; background-color: #00acc1; color: #fff; border-radius: 50px;';\n terms.forEach(term => {\n if (term && term.trim()) {\n const regex = new RegExp(`\\\\b${term}\\\\b`, 'gi');\n text = text.replace(regex, `$&`);\n }\n });\n\n return text;\n }\n\n /**\n * Método que devuelve un tooltip con un emoji y un mensaje correspondiente a un sentimiento dado.\n * @author Yeison Sepulveda\n * @createdate 27-06-2024\n * @param {string} sentimiento - El sentimiento para el cual se desea obtener el tooltip.\n * @returns {{ emoji: string, message: string }} - Un objeto con un emoji y un mensaje correspondientes al sentimiento.\n */\n getSentimentTooltip(sentimiento: string): { emoji: string, message: string } {\n switch (sentimiento) {\n case 'NEG':\n return { emoji: '😡', message: 'Negativo' };\n case 'NEU':\n return { emoji: '😐', message: 'Neutral' };\n case 'POS':\n return { emoji: '😊', message: 'Positivo' };\n default:\n return { emoji: '😐', message: 'Neutral' };\n }\n }\n\n /**\n * Metodo descarga e imprime pantallazo del modal\n * @update Yeison Sepulveda\n * @updatedate 29-05-2024\n */\n async onClickPrintPdf() {\n if (this.modificarInteracciones) {\n this.modificarInteracciones = false;\n }\n this.transcripcionPanel.open();\n this.resumenPanel.open();\n this.analisisTexto.open();\n\n this.interactionsFormat.forEach(interaction => {\n if (interaction.explicacion) {\n interaction.expanded = true;\n }\n });\n await new Promise(resolve => setTimeout(resolve, 1000));\n const content = this.containerViewReport.nativeElement;\n \n const margin = 13;\n const filename = this.generateFilename();\n \n const options = {\n margin: margin,\n filename: filename,\n image: { type: 'jpeg', quality: 0.98 },\n html2canvas: {\n scale: 2,\n },\n jsPDF: {\n unit: 'mm',\n format: 'tabloid',\n orientation: 'portrait'\n },\n pagebreak: {\n mode: ['avoid-all', 'css', 'legacy']\n }\n };\n \n const testPDF = html2pdf().from(content).set(options).toContainer().toCanvas().toImg().toPdf();\n testPDF.get('pdf').then(function (pdf) {\n const totalHeight = content.scrollHeight * 0.264583 + 2 * margin;\n pdf.internal.pageSize = { width: 430, height: totalHeight };\n });\n \n testPDF.save();\n }\n\n\n /**\n * Metodo generar el nombre del documento a descargar \n * @author Yeison Sepulveda\n * @createdate 2024-0-03\n * @return nombre del archivo PDF\n */\n \n generateFilename(): string {\n const currentDate = new Date().toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n }).replace(/\\//g, '');\n \n const currentTime = new Date().toLocaleTimeString('es-ES', {\n hour: '2-digit',\n minute: '2-digit',\n hour12: false\n }).replace(/:/g, '');\n \n const dateTimeString = `${currentDate}${currentTime}`;\n return `reporte_analisis_${this.case_id}_${dateTimeString}.pdf`;\n }\n\n /**\n * Método para formatear datos por speaker en base a los sentimientos.\n * @author Yeison Sepulveda\n * @createdate 28-06-2024\n * @param data - Los datos de sentimientos por speaker.\n * @param totalInteraccionesPorSpeaker - El número total de interacciones por speaker.\n * @returns Un array de datos formateados por speaker.\n */\n\n private formatSentimientosPorSpeaker(data: { [key: string]: any }, totalInteraccionesPorSpeaker: { [key: string]: number }): any[] {\n const formattedData = [];\n \n Object.keys(data).forEach(speaker => {\n if (speaker) {\n const speakerTotalInteracciones = totalInteraccionesPorSpeaker[speaker];\n formattedData.push(\n {\n name: speaker,\n series: [\n { name: 'Negativo', value: +(data[speaker].NEG / speakerTotalInteracciones * 100).toFixed(2), label: `${((data[speaker].NEG / speakerTotalInteracciones) * 100).toFixed(2)}%` },\n { name: 'Neutral', value: +(data[speaker].NEU / speakerTotalInteracciones * 100).toFixed(2), label: `${((data[speaker].NEU / speakerTotalInteracciones) * 100).toFixed(2)}%` },\n { name: 'Positivo', value: +(data[speaker].POS / speakerTotalInteracciones * 100).toFixed(2), label: `${((data[speaker].POS / speakerTotalInteracciones) * 100).toFixed(2)}%` }\n ]\n }\n );\n }\n });\n console.log('Formatted Data por Speaker:', formattedData);\n return formattedData;\n }\n \n /**\n * Método que calcula los porcentajes de emociones y sentimientos en las interacciones.\n * @author Yeison Sepulveda\n * @createdate 28-06-2024\n * @param {any[]} interactions - Un array de interacciones que contiene emociones y sentimientos.\n */\n\n calcularPorcentajes(interactions: any[]): void {\n const sentimientoContadores = { NEG: 0, NEU: 0, POS: 0 };\n const totalInteracciones = interactions.length;\n\n if (totalInteracciones === 0) {\n // Si no hay interacciones, se asigna valor neutral a todos los sentimientos\n this.sentimientosData = [\n { name: 'Negativo', value: 0, label: '0%' },\n { name: 'Neutral', value: 100, label: '100%' },\n { name: 'Positivo', value: 0, label: '0%' }\n ];\n this.sentimientosDataPorSpeaker = [];\n return;\n }\n \n //contador por speaker y sus totales\n const sentimientoContadoresPorSpeaker: { [key: string]: any } = {};\n const totalInteraccionesPorSpeaker: { [key: string]: number } = {};\n \n interactions.forEach(interaction => {\n const sentimiento = interaction.sentimiento;\n const speaker = interaction.answered_by === 'Agente' ? interaction.agent_name : 'Cliente';\n \n if (speaker) {\n //contador general\n if (sentimientoContadores[sentimiento] !== undefined) {\n sentimientoContadores[sentimiento]++;\n }\n \n //contador por speaker\n if (!sentimientoContadoresPorSpeaker[speaker]) {\n sentimientoContadoresPorSpeaker[speaker] = { NEG: 0, NEU: 0, POS: 0 };\n }\n if (!totalInteraccionesPorSpeaker[speaker]) {\n totalInteraccionesPorSpeaker[speaker] = 0;\n }\n \n if (sentimientoContadoresPorSpeaker[speaker][sentimiento] !== undefined) {\n sentimientoContadoresPorSpeaker[speaker][sentimiento]++;\n }\n \n //contador para interacciones\n totalInteraccionesPorSpeaker[speaker]++;\n }\n });\n\n // Datos generales\n this.sentimientosData = [\n { name: 'Negativo', value: (sentimientoContadores.NEG / totalInteracciones) * 100, label: `${((sentimientoContadores.NEG / totalInteracciones) * 100).toFixed(2)}%` },\n { name: 'Neutral', value: (sentimientoContadores.NEU / totalInteracciones) * 100, label: `${((sentimientoContadores.NEU / totalInteracciones) * 100).toFixed(2)}%` },\n { name: 'Positivo', value: (sentimientoContadores.POS / totalInteracciones) * 100, label: `${((sentimientoContadores.POS / totalInteracciones) * 100).toFixed(2)}%` }\n ];\n\n console.log('Datos Generales de Sentimientos:', this.sentimientosData)\n \n //resultados por speaker\n this.sentimientosDataPorSpeaker = this.formatSentimientosPorSpeaker(sentimientoContadoresPorSpeaker, totalInteraccionesPorSpeaker);\n }\n\n /**\n * Método asignar valor del label a la grafica de torta\n * @author Yeison Sepulveda\n * @createdate 2024-07-17\n */\n pieChartLabel(series: any[], name: string): string {\n const item = series.find(data => data.name === name);\n return item ? item.label : name;\n }\n\n /**\n * Metodo para manejar los cambios de selección en las interacciones.\n * @author Yeison Sepulveda\n * @createdate 2024-08-27\n */\n onSelectionChange(): void {\n this.selectedInteractions = this.interactionsFormat.filter(item => item.selected);\n this.updateGraphs();\n this.updateCheckboxState(); \n }\n\n /**\n * Metodo para actualizar la informacion de las graficas basadas en las interacciones seleccionadas\n * @author Yeison Sepulveda\n * @createdate 2024-08-27\n */\n updateGraphs() {\n const selectedInteractions = this.selectedInteractions; \n this.calcularPorcentajes(selectedInteractions);\n }\n\n /**\n * Metodo para actualizar la informacion de las graficas basadas en las interacciones seleccionadas\n * @author Yeison Sepulveda\n * @createdate 2024-08-27\n */\n toggleModificacion() {\n if (!this.modificarInteracciones) {\n Swal.fire({\n title: '¿Estás seguro?',\n text: 'Podrás desactivar interacciones y no se tendrán en cuenta en el análisis de las gráficas. Estos cambios son temporales.',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n confirmButtonText: 'Sí, continuar',\n cancelButtonText: 'Cancelar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.modificarInteracciones = true;\n }\n });\n } else {\n Swal.fire({\n title: 'Advertencia',\n text: 'Recuerda que si deseleccionas algo, no se tendrá en cuenta para el análisis de las gráficas. Los cambios son temporales y puedes reactivarlos si lo deseas.',\n icon: 'warning',\n confirmButtonColor: '#2CABBC',\n confirmButtonText: '¡Entendido!'\n }).then(() => {\n this.modificarInteracciones = false;\n });\n }\n }\n\n /**\n * Metodo para Manejar el cambio en el checkbox global\n * @author Yeison Sepulveda\n * @createdate 2024-08-28\n */\n toggleSelectAll(checked: boolean): void {\n this.interactionsFormat.forEach(item => item.selected = checked);\n this.onSelectionChange(); \n this.updateCheckboxState();\n }\n \n /**\n * Metodo para actualizar el estado del checkbox global\n * @author Yeison Sepulveda\n * @createdate 2024-08-28\n */\n updateCheckboxState(): void {\n const allSelected = this.interactionsFormat.every(item => item.selected);\n const noneSelected = this.interactionsFormat.every(item => !item.selected);\n\n this.selectAll = allSelected;\n this.indeterminate = !allSelected && !noneSelected;\n }\n\n /**\n * Metodo para manejar estado indeterminado \n * @author Yeison Sepulveda\n * @createdate 2024-08-28\n */\n isIndeterminate(): boolean {\n return this.indeterminate;\n }\n \n}\n","\n \n
\n

Resultados de análisis.

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

Transcripción

\n
\n
\n
\n \n
\n \n \n {{ palabra }}\n \n \n
\n \n
\n \n Seleccionar/Deseleccionar todo\n \n \n \n
\n \n
\n

\n \n \n \n {{ item.sentimentEmoji }} {{ item.answered_by ? 'Agente (' + item.agent_name + ')' : 'Cliente (' + chatData.phone + ')' }}\n \n \n ({{ item.entry_date_time ? item.entry_date_time : ':' }}):\n \n \n \n \n \n \n \n

\n \n

\n Explicación: \n {{ item.explicacion }}\n

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

Resumen e Identificación de Objetivo

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

Resumen: {{ llmResponseObject.resumen }}\n

\n\n

0\">\n Palabras Clave: \n {{ palabra }}, \n

\n\n 0\">\n Entidades principales: \n {{ entidad }}, \n

\n\n 0\">\n Temas Principales: \n {{ tema }}, \n

\n\n

0\">\n Puntos Clave: \n {{ punto }}, \n

\n
\n
\n
\n
\n \n \n Análisis de texto\n \n
\n
\n Gráfica de Análisis de texto general\n
\n
\n \n \n
\n
\n\n
\n
\n
\n Gráfica de Análisis de texto {{ speakerData.name }}\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormBuilder, FormControl, Validators, AbstractControl, ValidatorFn, FormArray } from '@angular/forms';\nimport { UsersService } from '../../../services/rest/users.service';\nimport { ApplicationsService } from '../../../services/rest/applications.service';\nimport { Observable } from 'rxjs';\nimport { startWith, map } from 'rxjs/operators';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport swal from 'sweetalert2';\n\n\n@Component({\n selector: 'app-edit-users',\n templateUrl: './edit-users.component.html',\n styleUrls: ['./edit-users.component.sass']\n})\nexport class EditUsersComponent implements OnInit {\n\n hide: boolean = true;\n userForm: FormGroup;\n applications: any;\n filteredOptions: Observable;\n roles: any = [];\n dobAuthCheck: boolean;\n enableCheck: boolean;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private form: FormBuilder,\n public userService: UsersService,\n private appService: ApplicationsService,\n private alertsService: AlertsService,\n private destroyService: DestroyComponentService,\n private dialogRef: MatDialogRef\n ) { }\n\n ngOnInit(): void {\n this.dobAuthCheck = this.data.user.dob_auth == \"0\" ? false : true;\n this.enableCheck = this.data.user.mobile_phone != '' && this.data.user.email != '' ? true : false;\n this.formControl();\n\n this.appService.getApplications().subscribe((resp) => {\n this.applications = resp.data;\n });\n\n this.userService.getAppxRol(this.data.user.id).subscribe((resp) => {\n\n resp.data.forEach((element, index) => {\n this.newappxrol();\n this.appxrol.controls[index].get('application_id').setValue(element.application_id);\n this.appSelected(element.application_id, index);\n this.appxrol.controls[index].get('role_id').setValue(element.role_id);\n });\n\n });\n\n }\n\n get error(): any { return this.userForm.controls; }\n\n get appxrol(): FormArray {\n return this.userForm.get('appxrol') as FormArray;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void {\n\n this.userForm = this.form.group({\n password: new FormControl('', []),\n phone: new FormControl('', [Validators.maxLength(15), Validators.minLength(7)]),\n mobile_phone: new FormControl('', [Validators.maxLength(15), Validators.minLength(10)]),\n email: new FormControl('', [Validators.maxLength(50), Validators.minLength(5), Validators.email]),\n dobAuth: new FormControl(''),\n appxrol: this.form.array([])\n });\n\n }\n\n validatorEvent(): void {\n if (this.userForm.controls['password'].value !== '') {\n this.userForm.controls['password'].setValidators([this.passwordValidate(), Validators.maxLength(15), Validators.minLength(5)]);\n } else {\n this.userForm.controls['password'].setValidators([]);\n }\n this.userForm.controls['password'].updateValueAndValidity();\n }\n\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que estable las validaciones del formarray dentro del formulario\n */\n newappxrol(): void {\n const newappxrol = this.form.group({\n application_id: new FormControl('', [Validators.required]),\n role_id: new FormControl('', [Validators.required]),\n });\n this.appxrol.push(newappxrol);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que evalua en tiempo real los caracteres ingresados en el input, no deja ingresar espacios\n * @param event evento del keypress del input usuario\n */\n omitSpecialChar(event): any {\n let k;\n k = event.charCode;\n return ((k > 32 && k < 126));\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se encarga de las validaciones del campo password\n */\n passwordValidate(): ValidatorFn {\n\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (!/[A-Z]/.test(control.value)) {\n return { hasCapitalCase: { value: control.value } };\n }\n else if (!/[a-z]/.test(control.value)) {\n return { hasSmallCase: { value: control.value } };\n }\n else if (!/[!@#$%^&*()_+=[{};':\"|,.<>/?/{};':\"|,.<>/?-]/.test(control.value)) {\n return { hasSpecialCharacters: { value: control.value } };\n }\n else if (!/\\d/.test(control.value)) {\n return { hasNumber: { value: control.value } };\n }\n return null;\n };\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se encarga de la filtracion de aplicaciones\n * @param pos posicion del autocompletable a filtrar\n */\n getFilter(pos: number): void {\n this.filteredOptions = this.appxrol.controls[pos].get('application_id').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(applications => applications ? this._filter(applications) : this.applications.slice())\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se encarga de la eliminacion de un grupo de aplicacion y rol\n * @param indice indice del grupo de aplicacion y rol a eliminar\n */\n deleteappxrol(indice: number): void {\n this.roles.splice(indice, 1);\n this.appxrol.removeAt(indice);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.applications.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFn(id: number): string {\n if (!id) { return ''; }\n let index = this.applications.findIndex(resp => resp.id === id);\n return this.applications[index].name;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se activa cuando una aplicacion ha sido seleccionada, busca los roles de la aplicacion seleccionada\n * @param id id de la aplicacion\n * @param pos posicion del grupo de app y rol\n */\n appSelected(id: any, pos: number): void {\n this.appxrol.controls[pos].get('role_id').setValue('');\n this.appService.getRolesxApp(id).subscribe((resp) => {\n this.roles[pos] = resp.data;\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se encarga de la edicion de aplicacion y roles de un usuario\n * @param userForm formulario del usuario a editar\n */\n editUser(userForm): void {\n const user = {\n password: userForm.value.password,\n mobile_phone: userForm.value.mobile_phone,\n appxrol: userForm.value.appxrol,\n admin: true,\n dob_auth: this.dobAuthCheck,\n email: userForm.value.email\n };\n\n this.userService.editUser(this.data.user.id, user).subscribe((resp) => {\n this.dialogRef.close();\n this.alertsService.alertSuccess('Editado', resp.data.ciu);\n });\n\n }\n\n DobAuthValidate(event) {\n if (this.userForm.value.mobile_phone != '' && this.userForm.value.email != '') {\n this.dobAuthCheck = event.checked;\n } else {\n swal.fire(\n '!Atención!',\n 'Debes tener número de telefono y email registrados para poder activar esta función',\n 'warning'\n );\n }\n }\n\n enableCheckBox() {\n this.enableCheck = this.userForm.value.mobile_phone != '' && this.userForm.value.email != '' && this.userForm.valid ? true : false;\n if (!this.enableCheck) {\n this.dobAuthCheck = false;\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-04-22\n * Metodo que se encarga de validar que no se repitan roles\n * @param pos posicion del select\n */\n verifyRoles(pos: number): void {\n let cont = 0;\n this.appxrol.controls.forEach(element => {\n if (element.get('role_id').value === this.appxrol.controls[pos].get('role_id').value) {\n cont++;\n }\n });\n\n if (cont > 1) {\n this.appxrol.controls[pos].get('role_id').setErrors({ invalidRol: true });\n }\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que evalua en tiempo real los caracteres ingresados en el input\n * @param event evento del keypress del input usuario\n */\n omitSpecialCharPhone(event): any {\n let k;\n k = event.charCode;\n return ((k > 47 && k < 58));\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","

{{data.title}}\n \n

\n\n
\n\n \n\n
\n \n Contraseña\n \n ¡Aún falta! Recibimos\n mínimo 5 caracteres\n ¡Cuidado! Solo puedes\n tener un máximo de 15 caracteres\n Su contraseña debe tener\n un número\n Su contraseña debe\n tener una mayuscula\n Su contraseña debe\n tener una minuscula\n Su contraseña\n debe tener un caracter especial\n \n {{hide ? 'visibility' : 'visibility_off'}}\n \n \n\n \n Teléfono Celular\n \n \n ¡Aún falta!\n Recibimos mínimo 10 caracteres\n ¡Cuidado! Solo\n puedes tener un máximo de 15 caracteres\n \n\n \n Correo\n \n ¡Aún falta! Recibimos mínimo 7\n caracteres\n ¡Cuidado! Solo puedes tener un\n máximo de 50 caracteres\n ¡Advertencia! Debe ingresar un\n correo valido\n \n \n
\n ¿Requiere doble autentificación?\n
\n
\n

\n
\n\n

Editar permisos

\n\n
\n\n \n\n
\n \n Aplicación\n \n \n \n {{option.name}}\n \n \n ¡Advertencia! Este campo es requerido\n \n\n \n Rol\n \n \n {{rol.name}}\n \n \n ¡Advertencia! Este campo es\n requerido\n ¡Advertencia! Este rol ya fue\n seleccionado para esta aplicación\n \n
\n \n
\n\n
\n\n\n\n
\n
\n
\n
\n\n
\n\n
\n \n
\n\n
\n\n \n \n \n \n\n
","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { MatDialog, MatDialogConfig, MatDialogModule } from '@angular/material/dialog';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MeetingsService } from '../../services/meetings.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { HistoryDetailsComponent } from '../../components/history-details/history-details.component';\nimport * as moment from 'moment';\n\n@Component({\n selector: 'app-meeting-history',\n templateUrl: './meeting-history.component.html',\n styleUrls: ['./meeting-history.component.sass']\n})\nexport class MeetingHistoryComponent implements OnInit {\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort\n dataSource = new MatTableDataSource(); \n configPaginator: any = { length: 0, pageSize: 5, pageIndex: 1 };\n pagesizeOptions: number[] = [5, 10, 20, 50, 100]\n keysColumnsTable: string[] = [];\n displayedColumns: string[] = ['actions','scheduled_date', 'agent_name', 'client_name','client_nic', 'state'];\n formFilters: FormGroup;\n state_list: any[] = [];\n\n ngOnInit(): void {\n this.keysColumnsTable = this.configColumnsTable.map((item: any) => item.key);\n this.initFormFilters();\n this.getStates();\n this.search();\n }\n\n constructor(\n private dialog:MatDialog,\n private videcallservice:MeetingsService,\n private datePipe: DatePipe,\n private alertService: AlertsService,\n ) { }\n\n\n /**\n * Metodo donde se establecen las validaciones del formulario\n * @author Yeison David Sepulveda Ospina\n * @createdate 06-12-2024\n * @returns void {void} \n */\n initFormFilters(): void {\n this.formFilters = new FormGroup({\n dateStart: new FormControl(''),\n dateEnd: new FormControl(''),\n state: new FormControl(''),\n name: new FormControl(''),\n });\n }\n\n /**\n * Método que pagina la informacion de la tabla.\n * @author Yeison Sepulveda\n * @createdate 06-12-2024\n * @param $event Evento emitido por el paginador.\n */\n changePage($event: PageEvent): void {\n this.configPaginator.pageSize = $event.pageSize;\n this.configPaginator.pageIndex = $event.pageIndex + 1;\n this.search();\n }\n\n /**\n * Configuración para visualizar la informacion en la tabla\n * @author Yeison Sepulveda\n * @createdate 06-12-2024\n */\n\n configColumnsTable: any[] = [\n { key: 'actions', name: 'Acciones' },\n { key: 'scheduled_date', name: 'Fecha programada' },\n { key: 'agent_name', name: 'Nombre del agente' },\n { key: 'client_name', name: 'Nombre del cliente' },\n { key: 'client_nic', name: 'NIC del cliente' },\n { key: 'state', name: 'Estado' },\n ]; \n\n /**\n * Metodo validar rango de fecha\n * @author Yeison David Sepulveda Ospina\n * @createdate 06-12-2024\n * @returns void {void} \n */\n myDateFilter = (d: Date | null): boolean => {\n const today = new Date(); \n const dayOfWeek = today.getDay();\n const daysToNextSunday = dayOfWeek === 0 ? 7 : 7 - dayOfWeek; \n const nextSunday = new Date(today);\n nextSunday.setDate(today.getDate() + daysToNextSunday); \n return d ? d <= nextSunday : true;\n };\n \n /**\n * Método para el consumo y busqueda por los selectores\n * @author Yeison Sepulveda\n * @createdate 06-12-2024\n */\n search(): void {\n const filters = {\n dateStart: this.formFilters.get('dateStart').value,\n dateEnd: this.formFilters.get('dateEnd').value,\n state: this.formFilters.get('state').value,\n name: this.formFilters.get('name').value,\n };\n\n this.videcallservice.getRoomsHistoryPaginate(filters, this.configPaginator).subscribe(\n (resp) => {\n const data = resp.data.map((item: any) => {\n return {\n id: item.id,\n scheduled_date: this.datePipe.transform(item.scheduled_date, 'dd/MM/yyyy hh:mm a'),\n agent_name: item.advisers?.name_adviser, \n client_name: item.client_name,\n client_nic: item.client_nic,\n state: item.state?.name, \n };\n });\n\n this.dataSource.data = data;\n this.dataSource.sort = this.sort;\n this.configPaginator.length = resp.total;\n },\n (error) => {\n console.error('Error en la solicitud:', error.error);\n }\n );\n }\n\n /**\n * Metodo botón de busqueda\n * @author Yeison David Sepulveda Ospina\n * @createdate 06-12-2024\n * @returns void {void}\n */\n searchSelection() {\n this.configPaginator.pageIndex = 0;\n this.dataSource.data = [];\n this.paginator.firstPage();\n this.search();\n }\n\n /**\n * Metodo trae los estados para selector\n * @author Yeison David Sepulveda Ospina\n * @createdate 06-12-2024\n * @returns void {void}\n */\n getStates(): void {\n this.videcallservice.getRoomStates().subscribe(\n (res) => {\n this.state_list = res;\n },\n (error) => {\n this.state_list = [];\n }\n );\n }\n\n /**\n * Resetear los filtros de busqueda\n * @author Yeison David Sepulveda Ospina\n * @createdate 06-12-2024\n */\n resetFilters(): void {\n this.formFilters.reset({dateStart: '', dateEnd: '', state: '', name: ''});\n this.search();\n this.paginator.firstPage();\n }\n\n /**\n * Metodo abre modal para visualizar detalles de la videollamada\n * @author Yeison David Sepulveda Ospina\n * @createdate 06-12-2024\n */\n openViewHistoryDetails(id: number) {\n const dialogConfig = new MatDialogConfig()\n dialogConfig.width = '60%'\n dialogConfig.height = 'auto'\n dialogConfig.data = {\n id: id\n }\n const dialogRef = this.dialog.open(HistoryDetailsComponent, dialogConfig)\n }\n\n /**\n\t * Método manejo y descarga el documento\n * @param data data repuesta de la api\n * @param fileName nombre descarga del documento\n\t * @author Yeison David Sepulveda Ospina\n\t * @createdate 06-12-2024\n\t */\n fileDownload(data: any, fileName: string): void {\n const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.download = fileName;\n link.click();\n }\n\n /**\n * Descargar reporte de busqueda excel\n * @author Yeison David Sepulveda Ospina\n * @createdate 06-12-2024\n */\n downloadReport() {\n let dateStart = this.formFilters.get('dateStart').value;\n let dateEnd = this.formFilters.get('dateEnd').value; \n let name = this.formFilters.get('name').value; \n let state = this.formFilters.get('state').value; \n const formattedDateStart = moment().tz('America/Bogota').format('YYYY-MM-DD HH:mm:ss');\n const filename = `Historical_videocall_${formattedDateStart}.xlsx`;\n \n const filters = {\n dateStart: dateStart,\n dateEnd: dateEnd,\n name: name,\n state: state,\n };\n \n this.videcallservice.downloadReport(filters).subscribe(\n (response: any) => {\n this.fileDownload(response, filename);\n },\n (error) => {\n console.error('Error en la solicitud:', error);\n this.alertService.alertError('¡Atención!', 'Ha ocurrido un error al intentar descargar el informe.');\n }\n );\n }\n \n}\n","
\n
\n
\n

Histórico de agendamientos

\n
\n
\n

\n Aquí podrás consultar el historial de agendamientos de videollamadas,\n junto con los detalles de cada una. No olvides, “El respeto y empatía son clave”.\n

\n
\n
\n
\n
\n \n \n Estado\n \n --Seleccionar--\n {{ state.name }}\n \n \n
\n \n
\n \n Fecha\n \n \n \n \n \n \n Por\n favor, seleccione un rango de fechas\n \n
\n\n
\n \n Nombre cliente\n \n Por favor, ingrese un nombre\n \n
\n \n
\n \n
\n \n
\n \n
\n\n
\n \n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ column.name }} {{ element[column.key] }} {{ column.name }} \n \n
No se encontraron registros de videollamadas que coincidan con los criterios de búsqueda
\n \n \n \n \n\n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { environment } from '../../../../environments/environment';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthService } from '../../../core/services/rest/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RequestsService {\n\n private server = environment.RRHH_URL;\n\n user;\n constructor(private http:HttpClient, private activeRoute: ActivatedRoute, private authService:AuthService) {\n this.user = this.authService.getUser();\n\n }\n\n getRequestsByUser(entries) {\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}requests/role`, {params});\n\n }\n\n getCampaignsByUser(){\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}campaigns/role`, {params});\n }\n\n getRequestDetail(id) {\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}request/${id}`, {params});\n }\n assignRecluter(requestId,entries){\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.post(`${this.server}request/assign/recluter/${requestId}`, params);\n }\n\n getAllRequests(oldRequestId?){\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n entries['requestId'] = oldRequestId;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}requests/all`, {params});\n }\n getRecord(direction){\n return this.http.get(`${this.server}${direction}`);\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/auditoria/services/matriz.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\n\n@Component({\n selector: 'app-crear-item',\n templateUrl: './crear-item.component.html',\n styleUrls: ['./crear-item.component.sass']\n})\nexport class CrearItemComponent implements OnInit {\n\n itemForm:FormGroup;\n items = [];\n filteredOptions: Observable;\n verError:boolean = true;\n continue:boolean = true;\n nuevo:boolean = false;\n peso:boolean = false;\n descripcion:boolean = false;\n\n constructor(\n public itemRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private fb:FormBuilder,\n private matrizService:MatrizService,\n ) { }\n\n ngOnInit(): void {\n this.createForm();\n }\n \n createForm(){\n this.itemForm = this.fb.group({\n nombre:['',Validators.required],\n peso:['',[Validators.required]],\n descripcion:[''],\n })\n }\n\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.items.filter(option => option.nombre.toLowerCase().includes(filterValue));\n }\n\n displayFn(module: any): string {\n return module && module ? module : '';\n }\n\n getItems(){\n this.matrizService.getItems(this.itemForm.get('nombre').value).subscribe((resp:any)=>{\n if (resp.length == 0) {\n this.verError = true\n this.itemForm.get('nombre').setErrors({invalid:true});\n this.nuevo = true;\n this.continue = true;\n this.descripcion = false;\n this.peso = false;\n }else{\n this.newItem();\n this.descripcion = true;\n this.verError = false;\n this.nuevo = false;\n this.items = resp\n this.filteredOptions = this.itemForm.get('nombre').valueChanges.pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n }\n })\n }\n\n newItem(){\n this.nuevo = false;\n this.itemForm.get('nombre').setErrors(null);\n this.descripcion = true;\n if (this.datos.tipo_matriz == \"Cumplimiento\") {\n this.peso = false\n this.itemForm.get('peso').setValue(null);\n this.itemForm.get('peso').setErrors(null);\n }else{\n if (this.datos.tipo_peso == 'Peso en Items') {\n if (this.datos.error_critico) {\n this.peso = false;\n this.itemForm.get('peso').setValue(null);\n this.itemForm.get('peso').setErrors(null);\n }else{\n this.peso = true;\n }\n }else{\n this.peso = false;\n this.itemForm.get('peso').setValue(null);\n this.itemForm.get('peso').setErrors(null);\n }\n }\n this.descripcion = true;\n this.continue = false;\n }\n\n saveItem(){\n if (this.itemForm.invalid) {\n return\n }\n const data = {\n idMatriz: this.datos.id_matriz,\n nivel: 2,\n sigla: this.datos.sigla,\n padre_id: this.datos.id_modulo,\n error_critico: this.datos.error_critico,\n }\n Object.assign(data,this.itemForm.value);\n this.matrizService.newItem(data).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess('¡Excelente!','Se ha creado el ítem correctamente.');\n this.itemRef.close();\n }else if (resp.respuesta.codigo > 400) {\n Tools.swalError('¡Oops!','Lo sentimos, ha ocurrido un error inesperado y no fue posible crear el ítem, por favor intenta nuevamente.');\n }\n },(err:any)=>{\n }\n );\n }\n\n}\n","\n
\n

Crear ítem

\n \n \n Nombre\n \n \n \n \n {{option.nombre}}\n \n \n No se encontraron coincidencias con el nombre que acabas de ingresar\n \n \n \n Peso\n \n Por favor ingresa un número de peso.\n \n \n Descripción\n \n \n\n
\n \n \n
\n
","import { AfterViewInit, Component, OnInit } from '@angular/core';\nimport { ReportsService } from '../../../../nomina/services/rest/reports.service';\nimport { Chart, ChartType, registerables } from 'chart.js';\nimport { GraphService } from '../../../services/rest/graph.service';\nimport * as moment from 'moment';\nimport { MatTabChangeEvent } from '@angular/material/tabs';\nimport { DatePipe } from '@angular/common';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-report-adhesion',\n templateUrl: './report-adhesion.component.html',\n styleUrls: ['./report-adhesion.component.sass']\n})\nexport class ReportAdhesionComponent implements OnInit, AfterViewInit {\n chart: any = null; //Variable que crea el grafico que se va a renderizar\n newChart: any = null; // variable que almacena la información del grafico que llega desde el componente padre\n tipyeGraf: any = 'line';\n dataLabel: any[] = [];\n canvas: any;\n ctx: any;\n\n //Grafica semanal\n multi: any[] = [\n {\n \"name\": \"Lunes\",\n \"series\": [\n {\n \"name\": \"Turno\",\n \"value\": 5421665,\n },\n {\n \"name\": \"Turno realizado\",\n \"value\": 7562125\n }\n ]\n },\n {\n \"name\": \"Martes\",\n \"series\": [\n {\n \"name\": \"2010\",\n \"value\": 7870000\n },\n {\n \"name\": \"2011\",\n \"value\": 8270000\n }\n ]\n },\n\n {\n \"name\": \"Miercoles\",\n \"series\": [\n {\n \"name\": \"2010\",\n \"value\": 5000002\n },\n {\n \"name\": \"2011\",\n \"value\": 5800000\n }\n ]\n },\n {\n \"name\": \"Jueves\",\n \"series\": [\n {\n \"name\": \"2010\",\n \"value\": 5000002\n },\n {\n \"name\": \"2011\",\n \"value\": 5800000\n }\n ]\n },\n {\n \"name\": \"Viernes\",\n \"series\": [\n {\n \"name\": \"2010\",\n \"value\": 5000002\n },\n {\n \"name\": \"2011\",\n \"value\": 5800000\n }\n ]\n },\n {\n \"name\": \"Sabado\",\n \"series\": [\n {\n \"name\": \"2010\",\n \"value\": 5000002\n },\n {\n \"name\": \"2011\",\n \"value\": 5800000\n }\n ]\n },\n {\n \"name\": \"Domingo\",\n \"series\": [\n {\n \"name\": \"2010\",\n \"value\": 5000002\n },\n {\n \"name\": \"2011\",\n \"value\": 5800000\n }\n ]\n }\n ];\n view: any[] = [900, 400];\n\n // options\n showXAxis: boolean = true;\n showYAxis: boolean = true;\n gradient: boolean = false;\n showLegend: boolean = true;\n showXAxisLabel: boolean = true;\n xAxisLabel: string = '';\n showYAxisLabel: boolean = true;\n yAxisLabel: string = '';\n animations: boolean = true;\n\n colorScheme = {\n domain: ['#227C9D', '#C7B42C', '#AAAAAA']\n };\n\n resumSchedule: any[] = [];\n date = new Date();\n titleDate: string = '';\n\n canvasBarChart: any;\n ctxBarChart: any;\n tabId: any = 'Semanal';\n barChartGraph: any;\n monthChartGraph: any;\n\n //Arreglo de fechas\n weekDates: any = [];\n weekDatesGraphLabels: any = [];\n indexDate: any = 0;\n\n constructor(private reportService: ReportsService, private graphService: GraphService, private router: Router) {\n Chart.register(...registerables);\n Object.assign(this.multi);\n }\n\n ngOnInit(): void {\n let textTitleDate = moment(this.date).locale('es').format('dddd D [de] MMMM [del] YYYY');\n this.titleDate = textTitleDate[0].toUpperCase() + textTitleDate.substr(1).toLowerCase();\n\n this.graphService.getcurrentDatesInTheWeek().subscribe(resp => {\n const array = Object(resp);\n this.weekDatesGraphLabels = Object(resp);\n array.map((element, index) => {\n let textTitleDate = moment(element).locale('es').format('dddd D [de] MMMM [del] YYYY');\n let titleDate = textTitleDate[0].toUpperCase() + textTitleDate.substr(1).toLowerCase();\n this.weekDates.push({ title: titleDate, date: element });\n });\n\n this.weekDates.filter((item, index) => {\n if (moment(this.date).locale('es').format('YYYY-MM-D') == moment(item.date).locale('es').format('YYYY-MM-D')) {\n this.indexDate = index;\n this.getInfoSummary(item.date);\n }\n });\n\n });\n }\n\n ngAfterViewInit() {\n if (this.tabId == 'Semanal') {\n this.getInfo2();\n } else if (this.tabId == 'Mensual') {\n this.getInfo();\n }\n }\n\n getInfo() {\n this.graphService.getInfo().subscribe(res => {\n this.renderGraphVoid2(res[\"dias\"], res[\"horario\"], res[\"inicio_turno\"], res['breaks'], res['lunch'], res['training']);\n })\n }\n\n getInfo2() {\n this.graphService.getgraphBars().subscribe((res) => {\n this.stackedBarsGraph(res);\n })\n }\n\n renderGraphVoid2(dias, horario, inicioTurno, breaks?, lunch?, training?) {\n this.canvas = document.getElementById('barras');\n this.ctx = this.canvas.getContext('2d');\n\n let data = dias.map((year, index) => ({\n x: moment(`${year}`),\n y: moment(`1970-02-01 ${horario[index]}`).valueOf()\n }));\n\n let data2 = dias.map((year, index) => ({\n x: moment(`${year}`),\n y: moment(`1970-02-01 ${inicioTurno[index]}`).valueOf()\n }));\n\n let dataSets = [\n {\n label: \"Horario\",\n borderColor: 'rgb(43,170,187)',\n data: data,\n },\n {\n label: \"Inicio de turno\",\n borderColor: 'rgb(0,153,0)',\n data: data2\n }\n ];\n\n breaks.map(resp => {\n let breaksData = this.monthBreaks(resp, dias);\n dataSets.push({\n label: \"Break\",\n borderColor: 'rgb(186,102,204)',\n data: breaksData\n });\n });\n\n lunch.map(resp => {\n let lunchData = this.monthLunch(resp, dias);\n dataSets.push({\n label: \"Almuerzo\",\n borderColor: 'rgb(242,189,0)',\n data: lunchData\n });\n });\n\n training.map(resp => {\n let trainingData = this.monthTraining(resp, dias);\n dataSets.push({\n label: \"Capacitación\",\n borderColor: 'rgb(255,148,0)',\n data: trainingData\n });\n });\n\n\n this.monthChartGraph = new Chart(this.ctx, {\n type: 'line',\n data: {\n datasets: dataSets\n },\n options: {\n plugins: {\n legend: {\n display: true,\n position: 'right',\n },\n tooltip: {\n callbacks: {\n label: function (context) {\n let date = moment(context.parsed.y);\n if (date.diff(moment('1970-02-01 23:59:59'), 'minutes') === 0) {\n return null;\n }\n\n return date.format('HH:mm A');\n\n }\n }\n }\n },\n scales: {\n x:\n {\n type: 'category',\n labels: dias\n },\n y:\n {\n type: 'linear',\n position: 'left',\n ticks: {\n stepSize: 3.6e+6,\n callback: value => {\n let date = moment(value);\n if (date.diff(moment('1970-02-01 23:59:59'), 'minutes') === 0) {\n return null;\n }\n\n return date.format('HH:mm A');\n }\n }\n }\n },\n }\n });\n }\n /**\n* @author Javier Castañeda\n* @createdate 2022-05-23\n* Metodo para saber la pestaña seleccionada y pintar la grafica correcta\n*/\n onTabChange(event: MatTabChangeEvent) {\n this.tabId = event.tab.textLabel;\n if (this.tabId == 'Semanal') {\n this.monthChartGraph.destroy();\n // Dibuja la grafica de Semanal\n this.getInfo2();\n } else if (this.tabId == 'Mensual') {\n this.barChartGraph.destroy();\n // Dibuja la grafica Mensual\n this.getInfo();\n }\n }\n /**\n* @author Javier Castañeda\n* @createdate 2022-05-20\n* Metodo para Pintar grafica semanal\n*/\n stackedBarsGraph(dataBarsData) {\n this.canvasBarChart = document.getElementById('barChart');\n this.ctxBarChart = this.canvasBarChart.getContext('2d');\n //data del turno programado y el realizado con sus respectivas diferencias\n let turnoProgramado = this.turnoProgramado(dataBarsData);\n let diferenciaT = this.diferenciaBar(dataBarsData);\n let hours = this.horasTurnoProgramado(dataBarsData);\n let diferenciaT2 = this.diferenciaTurnoProgramado(dataBarsData);\n let diferencia = this.diferenciaTurnoRealizado(dataBarsData);\n let realizado = this.turnoRealizado(dataBarsData);\n let diferencia2 = this.diferenciaTurnoRealizado2(dataBarsData);\n\n let dataSets = [\n {\n label: \"\",\n type: \"bar\",\n stack: \"Turn\",\n backgroundColor: \"#FFFFFF\",\n barThickness: 12,\n data: turnoProgramado // posiciona la barra []\n },\n {\n label: \"Diferencia\",\n type: \"bar\",\n stack: \"Turn\",\n backgroundColor: \"#FF585E\",\n barThickness: 12,\n data: diferenciaT\n },\n {\n label: \"Turno programado\",\n type: \"bar\",\n stack: \"Turn\",\n backgroundColor: \"#227C9D\",\n barThickness: 12,\n data: hours\n },\n {\n label: \"Diferencia\",\n type: \"bar\",\n stack: \"Turn\",\n backgroundColor: \"#FF585E\",\n barThickness: 12,\n data: diferenciaT2\n },\n {\n label: \"\",\n type: \"bar\",\n stack: \"Mark\",\n backgroundColor: \"#FFFFFF\",\n barThickness: 12,\n data: turnoProgramado // posiciona la barra realizado []\n },\n {\n label: \"Diferencia\",\n type: \"bar\",\n stack: \"Mark\",\n backgroundColor: \"#FF585E\",\n barThickness: 12,\n data: diferencia\n },\n {\n label: \"Turno realizado\",\n type: \"bar\",\n stack: \"Mark\",\n backgroundColor: \"#2ECDF0\",\n barThickness: 12,\n data: realizado\n },\n {\n label: \"Diferencia\",\n type: \"bar\",\n stack: \"Mark\",\n backgroundColor: \"#FF585E\",\n barThickness: 12,\n data: diferencia2\n },\n ];\n \n if (dataBarsData.TypesReal) {\n dataBarsData.TypesReal.map((resp, index) => {\n switch (resp.schedule_type) {\n case 2: //Break\n let breakPosition = this.dinamicTypesPositionBar(resp, 'break' + index, 2);\n let breakBar = this.dinamicTypes(resp, 'Break', 'break' + index, '#BA66CC', 2);\n dataSets.push(breakPosition);\n dataSets.push(breakBar);\n break;\n case 3: //Almuerzo\n let lunchPosition = this.dinamicTypesPositionBar(resp, 'lunch' + index, 3);\n let lunchBar = this.dinamicTypes(resp, 'Almuerzo', 'lunch' + index, '#F2BD00', 3);\n dataSets.push(lunchPosition);\n dataSets.push(lunchBar);\n break;\n case 4: // Capacitación\n let capacitacionPosition = this.dinamicTypesPositionBar(resp, 'training' + index, 4);\n let capacitacionBar = this.dinamicTypes(resp, 'Capacitación', 'training' + index, '#FF9400', 4);\n dataSets.push(capacitacionPosition);\n dataSets.push(capacitacionBar);\n break;\n default:\n\n break;\n }\n\n });\n }\n this.barChartGraph = new Chart(this.ctxBarChart, {\n type: 'bar' as ChartType,\n data: {\n datasets: Object(dataSets)\n },\n options: {\n responsive: true,\n plugins: {\n legend: {\n display: true,\n position: 'right',\n labels: {\n generateLabels(chart: any) {\n const newLabels = [\n { text: 'Turno programado', fillStyle: '#227C9D', strokeStyle: 'transparent', lineWidth: 0 },\n { text: 'Turno realizado', fillStyle: '#2ECDF0', strokeStyle: 'transparent', lineWidth: 0 },\n { text: 'Diferencia', fillStyle: '#FF585E', strokeStyle: 'transparent', lineWidth: 0 },\n ];\n return newLabels;\n },\n }\n },\n tooltip: {\n callbacks: {\n label: function (context: any) {\n const title = context.dataset.label;\n let titleWithHours = 'Sin horarios';\n const searchDay = dataBarsData.JornadaProgramada.find((day: any) => {\n return day.date_start === context.dataset.data[context.dataIndex].x;\n });\n if (searchDay) {\n if (title === 'Turno programado') {\n titleWithHours = `${title} ${searchDay.hour_start} - ${searchDay.hour_end}`;\n } else if (title === 'Turno realizado') {\n const searchRealDay = dataBarsData.JornadaReal.find((day: any) => {\n return day.date_start === context.dataset.data[context.dataIndex].x;\n });\n titleWithHours = searchRealDay ? `${title} ${searchRealDay.hour_start} - ${searchDay.hour_end}` : 'Sin horarios';\n } else if (title === 'Diferencia') {\n const searchRealDay = dataBarsData.JornadaReal.find((day: any) => {\n return day.date_start === context.dataset.data[context.dataIndex].x;\n });\n titleWithHours = searchRealDay ? `${title} ${searchDay.hour_start} - ${searchRealDay.hour_start}` : 'Sin horarios';\n }\n }\n return titleWithHours;\n },\n },\n }\n },\n scales: {\n x: {\n stacked: true,\n grid: {\n display: false,\n },\n labels: this.weekDatesGraphLabels,\n },\n y: {\n stacked: true,\n grid: {\n display: false,\n },\n position: 'left',\n min: moment('1970-02-01 00:00:00').valueOf(),\n max: moment('1970-02-01 23:59:59').valueOf(),\n beginAtZero: false,\n ticks: {\n stepSize: 3.6e+6,\n callback: value => {\n let date = moment(value);\n if (date.diff(moment('1970-02-01 23:59:59'), 'minutes') === 0) {\n return null;\n }\n\n return date.format('HH:mm A');\n }\n }\n }\n }\n }\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-05-25\n * Metodo de consulta de resumen del horario del usuario logueado\n */\n getInfoSummary(date?) {\n this.graphService.getCalculosSchedule(date).subscribe((res) => {\n let data = Object(res); \n let format_data = [];\n data.forEach(function(rw, index) {\n if(rw.schedule_type_id==1 || rw.schedule_type_id==3 ){\n format_data.push(rw);\n }\n });\n this.resumSchedule = Object(format_data);\n }, (error) => {\n this.resumSchedule = [];\n });\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-05-25\n * Metodo para cambio de día hacia adelante en la semanal actual y consulta del resumen del dia.\n */\n nextDate() {\n if (this.indexDate < this.weekDates.length - 1) {\n this.indexDate += 1;\n this.titleDate = '';\n this.titleDate = this.weekDates[this.indexDate]?.title;\n this.getInfoSummary(this.weekDates[this.indexDate]?.date);\n }\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-05-25\n * Metodo para cambio de día hacia atras en la semanal actual y consulta del resumen del dia.\n */\n prevDate() {\n if (this.indexDate > 0 || this.indexDate < this.weekDates.lenght - 1) {\n this.indexDate = this.indexDate - 1;\n this.titleDate = '';\n this.titleDate = this.weekDates[this.indexDate]?.title;\n this.getInfoSummary(this.weekDates[this.indexDate]?.date);\n }\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-05-26\n * Metodo para calculo de data en la grafica semanal del turno programado para posicionar las barras\n */\n turnoProgramado(dataBars) {\n let dataBarsTurn = [];\n let RealData = [];\n let turnoProgramado = [];\n //hora de inicio\n dataBarsTurn = dataBars.JornadaReal;\n dataBarsTurn.map(item => {\n RealData.push({\n date_end: item.date_end,\n date_start: item.date_start,\n hour_end: item.hour_end,\n hour_start: item.hour_start,\n schedule_key: item.schedule_key,\n schedule_name: item.schedule_name,\n schedule_type: item.schedule_type\n });\n });\n this.weekDatesGraphLabels.map(item => {\n let programada = dataBars.JornadaProgramada.filter(resp => resp.date_start == item);\n let realObject = RealData.filter(resp => resp.date_start == item);\n\n if (programada.length > 0 && realObject.length > 0) {\n let start = new Date(`1970-02-01 ${programada[0].hour_start}`).getTime();\n let startDate = new Date(`1970-02-01 ${realObject[0]?.hour_start}`).getTime();\n let hora\n if (start > startDate) {\n hora = realObject[0]?.hour_start;\n } else {\n hora = programada[0].hour_start;\n }\n turnoProgramado.push({\n x: new DatePipe('en-US').transform(programada[0].date_start, 'yyyy-MM-dd'),\n y: moment(`1970-02-01 ${hora}`).valueOf(),\n });\n } else if (programada.length > 0) {\n turnoProgramado.push({\n x: new DatePipe('en-US').transform(programada[0].date_start, 'yyyy-MM-dd'),\n y: moment(`1970-02-01 ${programada[0].hour_start}`).valueOf()\n });\n } else {\n turnoProgramado.push({\n x: new DatePipe('en-US').transform(item, 'yyyy-MM-dd'),\n y: moment(`1970-02-01 00:00:00`).valueOf()\n });\n }\n });\n return turnoProgramado\n }\n\n /**\n* @author Javier Castañeda\n* @createdate 2022-05-26\n* Metodo para calculo de data en la grafica semanal del turno programado vs el realizado\n*/\n diferenciaBar(dataBars) {\n let diferenciaT = [];\n dataBars.JornadaReal.map((year, index) => {\n let start = new Date(`1970-02-01 ${dataBars.JornadaProgramada[index].hour_start}`).getTime();\n let end = new Date(`1970-02-01 ${year.hour_start}`).getTime();\n let resta\n if (start < end) {\n resta = 0\n } else {\n resta = start - end;\n }\n diferenciaT.push({\n x: new DatePipe('en-US').transform(year.date_start, 'yyyy-MM-dd'),\n y: resta\n });\n });\n return diferenciaT\n }\n /**\n* @author Javier Castañeda\n* @createdate 2022-05-26\n* Metodo para calculo de data en la grafica semanal del turno programado\n*/\n horasTurnoProgramado(dataBars) {\n let hours = [];\n dataBars.JornadaProgramada.map((year, index) => {\n let start = new Date(`1970-02-01 ${year.hour_start}`).getTime();\n let end = new Date(`1970-02-01 ${year.hour_end}`).getTime();\n let resta = end - start;\n hours.push({\n x: new DatePipe('en-US').transform(year.date_start, 'yyyy-MM-dd'),\n y: resta\n });\n\n });\n return hours\n }\n /**\n* @author Javier Castañeda\n* @createdate 2022-05-26\n* Metodo para calculo de data en la grafica semanal de la diferencia final del turno programado programado vs el realizado\n*/\n diferenciaTurnoProgramado(dataBars) {\n let diferenciaT2 = [];\n dataBars.JornadaReal.map((year, index) => {\n let timeEnd = year.hour_end == null ? dataBars.JornadaProgramada[index].hour_end : year.hour_end;\n let start = new Date(`1970-02-01 ${dataBars.JornadaProgramada[index].hour_end}`).getTime();\n let end = new Date(`1970-02-01 ${timeEnd}`).getTime();\n let resta\n if (start > end) {\n resta = 0\n } else {\n resta = end - start;\n }\n diferenciaT2.push({\n x: new DatePipe('en-US').transform(year.date_start, 'yyyy-MM-dd'),\n y: resta\n });\n\n });\n return diferenciaT2\n }\n /**\n* @author Javier Castañeda\n* @createdate 2022-05-26\n* Metodo para calculo de data en la grafica semanal de la diferencia final del turno realizado vs el programado\n*/\n diferenciaTurnoRealizado(dataBars) {\n let diferencia = [];\n dataBars.JornadaReal.map((year, index) => {\n let start = new Date(`1970-02-01 ${dataBars.JornadaProgramada[index].hour_start}`).getTime();\n let end = new Date(`1970-02-01 ${year.hour_start}`).getTime();\n let resta\n if (start > end) {\n resta = 0\n } else {\n resta = end - start;\n }\n diferencia.push({\n x: new DatePipe('en-US').transform(year.date_start, 'yyyy-MM-dd'),\n y: resta\n });\n });\n return diferencia\n }\n /**\n* @author Javier Castañeda\n* @createdate 2022-05-26\n* Metodo para calculo de data en la grafica semanal del turno realizado\n*/\n turnoRealizado(dataBars) {\n let realizado = [];\n dataBars.JornadaReal.map((year, index) => {\n let timeEnd = year.hour_end == null ? dataBars.JornadaProgramada[index].hour_end : year.hour_end;\n let start = new Date(`1970-02-01 ${year.hour_start}`).getTime();\n let end = new Date(`1970-02-01 ${timeEnd}`).getTime();\n let resta = end - start;\n realizado.push({\n x: new DatePipe('en-US').transform(year.date_start, 'yyyy-MM-dd'),\n y: resta\n });\n });\n return realizado\n }\n /**\n* @author Javier Castañeda\n* @createdate 2022-05-26\n* Metodo para calculo de data en la grafica semanal de la diferencia final del turno realizado vs el programado\n*/\n diferenciaTurnoRealizado2(dataBars) {\n let diferencia2 = [];\n dataBars.JornadaReal.map((year, index) => {\n let timeEnd = year.hour_end == null ? dataBars.JornadaProgramada[index].hour_end : year.hour_end;\n let start = new Date(`1970-02-01 ${dataBars.JornadaProgramada[index].hour_end}`).getTime();\n let end = new Date(`1970-02-01 ${timeEnd}`).getTime();\n let resta\n if (start < end) {\n resta = 0\n } else {\n resta = start - end;\n }\n diferencia2.push({\n x: new DatePipe('en-US').transform(year.date_start, 'yyyy-MM-dd'),\n y: resta\n });\n\n });\n return diferencia2\n }\n\n /**\n* @author Javier Castañeda\n* @createdate 2022-05-26\n* Metodo para posicionar el inicio de la barra del tipo de horarios como almuerzo, etc.\n*/\n dinamicTypesPositionBar(resp, stack, type) {\n let typePosition = [];\n typePosition.push({\n x: new DatePipe('en-US').transform(resp.date_start, 'yyyy-MM-dd'),\n y: moment(`1970-02-01 ${resp.hour_start}`).valueOf()\n });\n let Type = {\n label: '',\n type: \"bar\",\n stack: stack,\n backgroundColor: '#FFFFFF',\n barThickness: 12,\n data: typePosition\n }\n return Type\n }\n /**\n* @author Javier Castañeda\n* @createdate 2022-05-26\n* Metodo para pintar las barras y generar la data de los tipos de horario como almuerzo, etc\n*/\n dinamicTypes(resp, label, stack, color, type) {\n let data = [];\n\n let start = new Date(`1970-02-01 ${resp.hour_start}`).getTime();\n let end = new Date(`1970-02-01 ${resp.hour_end}`).getTime();\n let resta = end - start;\n data.push({\n x: new DatePipe('en-US').transform(resp.date_start, 'yyyy-MM-dd'),\n y: resta\n });\n let Type = {\n label: label,\n type: \"bar\",\n stack: stack,\n backgroundColor: color,\n barThickness: 12,\n data: data\n }\n return Type\n }\n /**\n* @author Javier Castañeda\n* @createdate 2022-05-27\n* Metodo para pintar el braek en la grafica mensual\n*/\n monthBreaks(resp, dias) {\n let hora = \"\";\n let data = [];\n dias.map((year, index) => {\n if (resp.date_start == year) {\n hora = resp.real_start;\n data.push({\n x: moment(`${year}`),\n y: moment(`1970-02-01 ${hora}`).valueOf()\n });\n } else {\n data.push({\n x: moment(`${year}`),\n y: moment(`1970-02-01 00:00:00`).valueOf()\n });\n }\n\n });\n return data\n }\n /**\n* @author Javier Castañeda\n* @createdate 2022-05-27\n* Metodo para pintar el almuerzo en la grafica mensual\n*/\n monthLunch(resp, dias) {\n let hora = \"\";\n let data = [];\n dias.map((year, index) => {\n if (resp.date_start == year) {\n hora = resp.real_start;\n data.push({\n x: moment(`${year}`),\n y: moment(`1970-02-01 ${hora}`).valueOf()\n });\n } else {\n data.push({\n x: moment(`${year}`),\n y: moment(`1970-02-01 00:00:00`).valueOf()\n });\n }\n\n });\n return data\n }\n /**\n* @author Javier Castañeda\n* @createdate 2022-05-27\n* Metodo para pintar el capacitación en la grafica mensual\n*/\n monthTraining(resp, dias) {\n let hora = \"\";\n let data = [];\n dias.map((year, index) => {\n if (resp.date_start == year) {\n hora = resp.real_start;\n data.push({\n x: moment(`${year}`),\n y: moment(`1970-02-01 ${hora}`).valueOf()\n });\n } else {\n data.push({\n x: moment(`${year}`),\n y: moment(`1970-02-01 00:00:00`).valueOf()\n });\n }\n\n });\n return data\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-05-27\n * Metodo redireccionar al home. \n */\n goToHome(): void {\n this.router.navigate(['mios/ciu']);\n }\n}","
\n
\n
\n
\n

Reporte de Adherencia

\n

En este espacio podrás encontrar el informe de adherencia\"

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

{{titleDate}}

\n \n \n
\n \n \n \n \n
\n \n
\n
\n
\n \n
\n
\n
\n
\n Horas programadas \n

{{item.total_horas}} Hrs

\n
\n
\n Horas de conexión \n

{{item.total_conexion + ' '}} Hrs

\n
\n
\n Diferencia Conexión \n

{{item.diferencia_conexion + ' '}} Hrs

\n
\n
\n Conformance \n

{{item.conformance_conexion + ' '}}

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

\n {{item.schedule_name | titlecase}} programado\n

\n

Inicio {{item.schedule_name}} : {{item.hora_progra_inicial || '--:--'}}

\n

Fin {{item.schedule_name}} : {{item.hora_progra_final || '--:--'}}

\n
\n
\n

{{item.schedule_name\n | titlecase}} realizado

\n

Inicio {{item.schedule_name}} : {{item.hora_real_inicial || '--:--'}}

\n

Fin {{item.schedule_name}} : {{item.hora_real_final || '--:--'}}

\n
\n
\n

Diferencia

\n

{{item.diferencia_inicial || '--:--'}} Hrs

\n

{{item.diferencia_real || '--:--'}} Hrs

\n
\n
\n

Conformance

\n

{{item.conformance || ''}}

\n
\n
\n
\n
\n
","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { interval, Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst MEETING_URL = environment.MEETINGS_URL;\nconst PQRS_URL = environment.PQRS_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DashboardDosService {\n\n constructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n dashboard(data: any): Observable {\n return this.http.post(`${MEETING_URL}Dashboard`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n dashboardMail(): Observable {\n return this.http.get(`${PQRS_URL}PQRS/statusEscalamientos`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { CommentsService } from '../../../services/comments.service';\nimport { RequestsAllComponent } from '../../requests/requests-all/requests-all.component';\nimport { CandidateEditComponent } from '../candidate-edit/candidate-edit.component';\nimport { AuthService } from '../../../../../core/services/rest/auth.service';\nimport { CandidateCommentEditComponent } from '../candidate-comment-edit/candidate-comment-edit.component';\nimport { type } from 'os';\n\n@Component({\n selector: 'app-candidate-comments',\n templateUrl: './candidate-comments.component.html',\n styleUrls: ['./candidate-comments.component.sass']\n})\nexport class CandidateCommentsComponent implements OnInit {\n\n userLogged;\n candidateId;\n requestId;\n comments = [];\n otherComments = [];\n candidate;\n commentsType = [];\n recruitmentUserId;\n commentForm: FormGroup;\n statusComment:string;\n isRolOPerative;\n isRoleAdministrative;\n isRoleAnalyst;\n isRoleRecruiter;\n\n canCreateComments;\n constructor(private candidateService: CandidatesService, @Inject(MAT_DIALOG_DATA) public data: any,\n private fb: FormBuilder,\n private dialogRef: MatDialogRef,\n private commentService: CommentsService,\n private dialog: MatDialog,\n private authService:AuthService) {\n this.candidateId = this.data.candidateId;\n this.requestId = this.data.requestId;\n this.userLogged = this.authService.getUser();\n this.isRolOPerative = this.authService.getUser().roles.includes('rrhh::lider_operativo');\n this.isRoleAdministrative = this.authService.getUser().roles.includes('rrhh::lider_administrativo');\n this.isRoleAnalyst = this.authService.getUser().roles.includes('rrhh::analista');\n this.isRoleRecruiter = this.authService.getUser().roles.includes('rrhh::reclutador');\n this.recruitmentUserId = this.data.recruitmentUserId;\n }\n\n ngOnInit(): void {\n this.commentService.getTypeComment(this.candidateId,this.data.requestId).subscribe((resp: any) => {\n this.commentsType = resp;\n });\n this.getComments();\n this.commentForm = this.fb.group({\n comment_type_id :['', Validators.required],\n comment :['', Validators.required],\n allProcess: ['2',Validators.required]\n }); \n }\n\n getComments(){\n this.candidateService.getComments(this.candidateId, {requestId: this.requestId,userId:this.userLogged.rrhh_id})\n .subscribe((resp: any) => {\n\n this.candidate = resp;\n this.canCreateComments = typeof this.candidate?.creatorCommentary != undefined ? this.candidate?.creatorCommentary : false;\n if(this.isRolOPerative || this.isRoleAdministrative)\n {\n this.canCreateComments = true;\n }\n \n this.comments = resp.currentComments;\n this.otherComments = resp.othersComments;\n });\n }\n saveComment(){\n if(this.commentForm.valid){\n const params = {\n ...this.commentForm.value,\n candidateId: this.candidateId,\n requestId: this.requestId\n };\n this.commentService.registerComment(params).subscribe((resp: any) => {\n this.comments.push(resp);\n this.commentForm.reset();\n this.commentForm.untouched;\n if(resp.blockCreateComentary){\n this.candidate.creatorCommentary = false;\n }\n });\n }\n }\n\n transferCandidate(){\n const transfeDialog = this.dialog.open( RequestsAllComponent, {\n minWidth: '700px',\n data: { candidateId: this.candidateId, oldRequestId: this.requestId }\n });\n transfeDialog.afterClosed().subscribe( (params) => {\n if(params){\n this.dialogRef.close()\n }\n this.candidate.creatorCommentary = false;\n });\n\n }\n editComment(comment){\n const editComment = this.dialog.open( CandidateCommentEditComponent, {\n minWidth: '400px',\n data: { comment }\n });\n editComment.afterClosed().subscribe( (params) => {\n const commentIndexEdited = this.comments.map( e => e.id ).indexOf(params.id);\n if(commentIndexEdited > -1 ){\n this.comments[commentIndexEdited].comment = params.comment;\n this.comments[commentIndexEdited].updated = params.updated_at;\n\n }\n });\n }\n\n /**\n * @author Karol García\n * @createdate 2021-04-27\n * Metodo asigna el tipo de comentario y verifica el key de estado\n */\n changeComment(event){\n const found= this.commentsType.find(element => element.id == event);\n if(found){\n this.statusComment = found.key\n }\n\n }\n}\n","\n

Comentarios globales de proceso

\n\n
\n

{{candidate?.fullname}}

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

No hay comentarios creados relacionados a este candidato

\n \n \n \n
{{row.comment_type}}
\n
{{row.comment}}
{{row.user_creator}} | Creado {{row.created_at | date:'dd/MM/yyyy'}}\n   Editado {{row.updated | date:'dd/MM/yyyy'}}
\n \n\n
\n
\n\n
\n
\n
\n \n
\n
\n

Comentarios asociados a otros procesos previos

\n

No hay comentarios creados relacionados a otras solicitudes

\n \n \n
{{row.comment_type}}
\n
{{row.comment}}
{{row.user_creator}} | Creado{{row.created_at | date:'dd/MM/yyyy'}}\n   Editado   {{row.updated | date:'dd/MM/yyyy'}}\n
\n
\n \n
\n
\n
\n\n
\n \n
\n

Crear comentarios y asignar estados a candidato

\n
\n \n Tipo de Comentario\n \n \n {{row.name}}\n \n \n \n \n \n Cualquier proceso\n \n Si\n \n No\n \n \n

Será excluido únicamente de esta campaña

\n \n Comentario\n \n\n \n \n
\n
\n
\n
\n
\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatTabChangeEvent } from '@angular/material/tabs';\nimport { AssignCampaignComponent } from '../assign-campaign/assign-campaign.component';\nimport { ConfigCampainComponent } from '../campaign/config-campain/config-campain.component';\nimport { ConnectsComponent } from '../connection/connects/connects.component';\n\n@Component({\n selector: 'app-admin',\n templateUrl: './admin.component.html',\n styleUrls: ['./admin.component.sass']\n})\nexport class AdminComponent implements OnInit {\n\n @ViewChild(ConnectsComponent) ConnectsComponent: ConnectsComponent;\n @ViewChild(ConfigCampainComponent) ConfigCampainComponent: ConfigCampainComponent;\n @ViewChild(AssignCampaignComponent) AssignCampaignComponent: AssignCampaignComponent;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n /**\n * Método que se llama cuando cambia la pestaña en el componente de tabs.\n * @author Yeison Sepulveda\n * @createdate 2024-07-16\n * @param {MatTabChangeEvent} event - El evento de cambio de pestaña de Angular Material.\n */\n onTabChange(event: MatTabChangeEvent) {\n if (event.index === 0) {\n this.ConnectsComponent.getServers();\n } else if (event.index === 1) {\n this.ConfigCampainComponent.getCampaigns();\n } else if (event.index === 2) {\n }\n }\n\n}\n","
\n
\n
\n Administrador de conexiones\n
\n
\n

\n En este espacio podrás realizar la gestión de servidores, conexiones y campañas para la configuración
\n de Speech to text. No olvides, “El respeto y empatía son clave”.\n

\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
","import { Component, OnInit, Input, OnChanges, ViewChild, ElementRef } from '@angular/core';\nimport Echo from 'laravel-echo';\nimport { ChatService } from '../../core/services/rest/chat.service';\nimport { StorageService } from '../../core/services/storage/storage.service';\nimport { FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { Message } from './models/message.model';\nimport { Observable } from 'rxjs';\nimport { MatAutocomplete, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport {COMMA, ENTER} from '@angular/cdk/keycodes';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatChipInputEvent } from '@angular/material/chips';\nimport { SpeedDialFabComponent } from './../speed-dial-fab/speed-dial-fab.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport {PusherChatService} from \"../../modules/crm/services/pusher-chat.service\";\n@Component({\n selector: 'app-chat',\n templateUrl: './chat.component.html',\n styleUrls: ['./chat.component.sass']\n})\nexport class ChatComponent implements OnInit {\n\n newMessage: FormGroup;\n newMessageDiffusion: FormGroup;\n alert: boolean = false;\n resp: any;\n rrhhId: any;\n user: any;\n conversation: any = [];\n @Input() historial;\n chat: boolean = false;\n ver: boolean = true;\n ventanaChat: any;\n mensajes: any = null;\n idConversacion: any;\n size: any = 5;\n counterConversation: any;\n openConversation: any = 0;\n newConversation: boolean = false;\n\n\n visible = true;\n selectable = true;\n removable = true;\n separatorKeysCodes: number[] = [ENTER, COMMA];\n fruitCtrl = new FormControl();\n filteredFruits: Observable;\n fruits: any[] = [];\n allFruits: any[] = [];\n\n @ViewChild('fruitInput') fruitInput: ElementRef;\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\n\n\n constructor(private chatService: ChatService,\n private storageService: StorageService,\n private parent: SpeedDialFabComponent,\n private pusherChatService: PusherChatService,\n private form: FormBuilder,\n private authService: AuthService) {\n\n this.filteredFruits = this.fruitCtrl.valueChanges.pipe(\n startWith(null),\n map((fruit: string | null) => fruit ? this._filter(fruit) : this.allFruits.slice()));\n\n this.pusherChatService.getChatConnection().bind('MessageSendEvent', (message) => this.OnMessageSendEvent(message));\n this.pusherChatService.getNotifyUserState().bind('NotifyStatusUserChangedEvent', (response) => this.OnNotifyUserState(response));\n }\n\n ngOnInit(): void {\n\n if (this.authService.getUser().chat_active !== null) {\n this.chatService.getUser().subscribe((resp) => {\n this.allFruits = resp;\n });\n }\n\n this.user = this.storageService.getStorage('user');\n this.rrhhId = this.user.rrhh_id;\n\n this.getCoversation(this.size, this.openConversation);\n\n this.newMessage = this.form.group({\n message: new FormControl('', []),\n });\n\n this.newMessageDiffusion = this.form.group({\n messageDiffusion: new FormControl('', []),\n });\n\n }\n\n public OnMessageSendEvent(message: any) {\n this.resp = message;\n this.openConversation = 0;\n if (this.historial === false) {\n this.alert = !this.alert;\n }\n\n if(this.chat === true && this.resp.message.conversation_id === this.idConversacion) {\n this.openConversation = this.idConversacion;\n }\n\n this.getCoversation(this.size, this.openConversation);\n\n if(this.mensajes !== null && this.resp.message.conversation_id === this.idConversacion) {\n this.mensajes.push(this.resp.message);\n }\n\n let objDiv = document.getElementById('parentDiv');\n if (objDiv){\n setTimeout(() => {\n objDiv.scrollTop = objDiv.scrollHeight;\n }, 1);\n }\n\n }\n public OnNotifyUserState(response) {\n this.conversation.forEach(element => {\n\n if (element.rrhh_id === response.user.rrhh_id) {\n element.userState = response.user.state;\n }\n\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-07-06\n * Metodo que se usa para hacer un cambio de variable y cerrar la alerta de un nuevo mensaje\n */\n closeAlert(): void{\n this.alert = !this.alert;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-07-06\n * Metodo que se una para ocultar la ventana de chat\n */\n cerrar(): void{\n this.parent.ocultarChat();\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-07-06\n * @param size Tamaño de informacion a traer\n * @param openConversation parametro que especifica si una conversacion esta abierta o cerrado\n * Metodo que lista todas las conversaciones disponibles de un usuario\n */\n getCoversation(size: number, openConversation: any): void {\n if (this.authService.getUser().chat_active !== null) {\n this.chatService.getListConversationByRhhId(size, openConversation).subscribe((resp) => {\n this.counterConversation = resp.conversationUnread;\n this.conversation = resp.conversations;\n });\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-07-06\n * @param size tamaño de la informacion a traer\n * Metodo que se encarga de las acciones de la flecha de ver mas o ver menos\n */\n verMas(size: number): void{\n this.size = size;\n this.getCoversation(this.size, this.openConversation);\n this.ver = !this.ver;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-07-06\n * @param item conversacion seleccionada\n * Metodo que se encarga de abrir una ventana de chat y listar sus mensajes\n */\n abrirConversacion(item: any): void{\n\n this.chat = true;\n this.ventanaChat = item;\n this.idConversacion = item._id;\n this.newConversation = false;\n this.chatService.getChatConversation(this.idConversacion).subscribe((respo) => {\n this.mensajes = respo;\n if (this.mensajes.length !== 0){\n setTimeout(() => {\n var objDiv = document.getElementById('parentDiv');\n objDiv.scrollTop = objDiv.scrollHeight;\n }, 1);\n this.getCoversation(this.size, this.openConversation);\n }\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-07-06\n * @param newMessage nuevo mensaje a enviar\n * Metodo que se encarga de enviar un nuevo mensaje\n */\n sendMessage(newMessage): void{\n\n if (newMessage.value.message !== null) {\n const message: Message = new Message('text', newMessage.value.message, this.user.rrhh.name, this.rrhhId, this.idConversacion, []);\n\n this.chatService.newMessage(message).subscribe((resp) => {\n this.newMessage.reset();\n var objDiv = document.getElementById('parentDiv');\n objDiv.scrollTop = objDiv.scrollHeight;\n });\n }\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-07-06\n * @param newMessageDiffusion mensaje a enviar\n * Metodo que se encarga de enviar un nuevo mensaje masivo\n */\n sendMessageDiffusion(newMessageDiffusion): void{\n\n const newMessage = new FormData();\n\n newMessage.append( 'message' , newMessageDiffusion.value.messageDiffusion);\n newMessage.append( 'message_type' , 'text');\n newMessage.append( 'userReceivedMessage' , JSON.stringify(this.fruits));\n\n this.chatService.newMessageDiffusion(newMessage).subscribe((resp) => {\n this.newMessageDiffusion.reset();\n this.fruitCtrl.reset();\n });\n }\n\n applyFilter(event: Event): void {\n\n const filterValue = (event.target as HTMLInputElement).value;\n\n if (this.authService.getUser().chat_active !== null) {\n this.chatService.searchConversation(filterValue).subscribe((resp) => {\n\n if(resp !== null){\n this.counterConversation = resp.conversationUnread;\n this.conversation = resp.conversations;\n } else {\n this.conversation = [];\n }\n\n });\n }\n\n }\n\n add(event: MatChipInputEvent): void {\n const input = event.input;\n const value = event.value;\n // Add our fruit\n if ((value || '').trim()) {\n this.fruits.push({\n id:Math.random(),\n name:value.trim()\n });\n }\n\n // Reset the input value\n if (input) {\n input.value = '';\n }\n\n this.fruitCtrl.setValue(null);\n }\n\n remove(fruit, indx): void {\n const index = this.fruits.indexOf(fruit);\n\n if (index >= 0) {\n this.fruits.splice(index, 1);\n }\n }\n\n selected(event: MatAutocompleteSelectedEvent): void {\n this.fruits.push(event.option.value);\n this.fruitInput.nativeElement.value = '';\n this.fruitCtrl.setValue(null);\n }\n\n private _filter(value: any): any[] {\n return this.allFruits.filter(fruit => fruit.name.toLowerCase().includes(value.name.toLowerCase()));\n }\n\n\n}\n","\n
\n\n \n \n\n
\n ¡Tienes una nueva notificación!\n
\n Tienes un mensaje nuevo de
{{resp.message.sender_name}}
\n
\n \n
\n\n
\n\n \n\n
\n\n

Historial de conversaciones

\n\n \n \n \n \n \n Mensajes\n \n \n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n
\n\n
No se encontraron resultados...
\n\n
\n \n
\n \n
\n
\n
\n
\n \n \n {{item.lastMessage?.created_at | date:'E h:mm a' }}
\n
\n {{item.lastMessage?.message}}\n
\n
{{item.quantity_unread_messages}}
\n
\n
\n
\n \n
\n\n
\n \n
\n\n
\n 4\" style=\"cursor: pointer;\" (click)=\"verMas(0)\">Ver más \n 4\" style=\"cursor: pointer;\" (click)=\"verMas(5)\">Ver menos \n
\n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n\n \n Notas\n
\n\n
\n\n \n
\n\n
\n\n
\n
\n
\n \n
\n
\n \n
\n \n \n
\n
\n \n
\n
\n
\n\n
\n
\n\n
\n\n
\n {{today | date:'hh:mm:ss'}} \n
\n\n
\n \n
\n
\n {{item.message}}\n
\n {{item.created_at | date:'E h:mm a'}}\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n {{item.message}}\n
\n {{item.created_at | date:'E h:mm a'}}\n
\n
\n
\n \n \n\n
\n\n\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n\n
\n\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n\n
\n
\n Para:\n \n \n \n {{fruit.name}}\n cancel\n \n \n \n \n \n {{fruit.name}}\n \n \n \n\n\n
\n
\n\n
\n
\n \n \n \n \n \n
\n
\n\n
\n\n","import { Component, OnInit, Input, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';\nimport { FormGroup, FormArray, FormControl, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { QuestionBase } from 'src/app/core/models/questions-base';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { PermitService } from 'src/app/core/services/utils/permit.service';\nimport { QuestionControlService } from 'src/app/core/services/utils/question-control.service';\nimport { FormsRequestService } from 'src/app/modules/crm_NSDP/services/rest/forms-request.service';\nimport { storageService } from 'src/app/modules/livechat/services/storage/storage.service';\nimport { AlertsService } from '../../alerts/alerts.service';\nimport { environment } from 'src/environments/environment';\nimport * as moment from 'moment';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { id } from '@swimlane/ngx-charts';\n\nconst ENCUESTAS_INTERNAS = environment.ENCUESTAS_INTERNAS;\n\n\n@Component({\n\tselector: 'shared-dynamic-form-v4',\n\ttemplateUrl: './dynamic-form.component.html',\n\tstyleUrls: ['./dynamic-form.component.sass']\n})\nexport class DynamicFormV4Component implements OnInit {\n\t@Output() submitForm = new EventEmitter();\n\t@Output() denyForm = new EventEmitter();\n\t@Output() enableTemplate = new EventEmitter();\n\t_sections: any;\n\tforms = new FormArray([]);\n\tprivate readonly urlStorageImg:string = ENCUESTAS_INTERNAS.replace(/api\\//g,'');\n\tconstructor(\n\t\tprivate qcs: QuestionControlService,\n\t\tprivate authService: AuthService,\n\t\tprivate permit: PermitService,\n\t\tprivate router: Router,\n\t\tprivate formsRequestService: FormsRequestService,\n\t\tpublic alertsService: AlertsService,\n\t\tprivate destroyService: DestroyComponentService,\n\t\tpublic storage: storageService,\n\t\tprivate changeDetector: ChangeDetectorRef,\n\t\tprivate _snackBar: MatSnackBar\n\n\t) { }\n\t@Input() dependencies;\n\t@Input() formId;\n\t@Input() files;\n\t@Input() template;\n\t@Input() showButtonsActions: boolean = true;\n\tFiles: any = [];\n\tvariablesTriggerLoads:any = {} //Variables Cargadas desde campos tipos API\n\tvariablesToUploadValueAPI:any[]=[] //Campos los cuales deberan ser cargados por la respuesta de un campo tipo API\n\t@Input()\n\tpublic set sections(form: any) {\n\t\tif (form.app) {\n\t\t\tthis.appOrigen = form.app\n\t\t}\n\n\t\tthis.forms = new FormArray([]);\n\t\tthis.getRolUser(form.app);\n\t\tthis._sections = form.sections;\n\n\n\n\t\tif (this._sections) {\n\n\t\t\tthis._sections.forEach((section, index) => {\n\t\t\t\tsection.fields.map(\n\t\t\t\t\tmapp =>{\n\t\t\t\t\t\tif(mapp?.newValue !== undefined ){\n\t\t\t\t\t\t\tmapp['value'] = mapp.newValue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\tif ((mapp['value'] == undefined || mapp['value'] == \"\") && mapp.options.length > 0) {\n\t\t\t\t\t\t\tconst optionDefault = mapp.options.find(finded => finded.isDefaultOption == true)\n\t\t\t\t\t\t\tif (mapp['controlType'] == \"multiselect\" && optionDefault) {\n\t\t\t\t\t\t\t\tmapp['value'] = [optionDefault.id]\n\t\t\t\t\t\t\t} else if (optionDefault) {\n\t\t\t\t\t\t\t\tmapp['value'] = optionDefault.id\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}else if (mapp['value'] != undefined && typeof mapp['value'] === \"string\" && mapp['value'] !== \"\" && mapp.options.length > 0 && mapp.type !== \"time\"){\n\t\t\t\t\t\t\tmapp['value'] = Number(mapp['value'])\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (mapp.hasOwnProperty('defaultCommentValue') && mapp.hasOwnProperty('indDefaultValue')) {\n\n\t\t\t\t\t\t\tif (mapp.indDefaultValue == true) {\n\t\t\t\t\t\t\t\tmapp['value'] = mapp.defaultCommentValue\n\t\t\t\t\t\t\t\tmapp['required'] = false\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (mapp.hasOwnProperty('isCalculated') && mapp.isCalculated == true) {\n\t\t\t\t\t\t\tif (this.activatorsCalculatefield.find(finded => finded.id == mapp.id) == undefined) {\n\t\t\t\t\t\t\t\tthis.activatorsCalculatefield.push({ field: mapp, idSectionOrigin: index })\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} \n\t\t\t\t\t\t\n\t\t\t\t\t\tif(mapp.type == 'image' && typeof mapp.value == 'string' && mapp.value.trim() !== \"\"){\n\t\t\t\t\t\t\tif(mapp.value.includes(this.urlStorageImg) == false){\n\t\t\t\t\t\t\t\tmapp.value = this.urlStorageImg + \"\" + mapp.value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(mapp?.isApiValue !== undefined && mapp.isApiValue == true && mapp.apiValueConfig.hasOwnProperty('variable_api') == true){\n\n\t\t\t\t\t\t\tthis.variablesToUploadValueAPI.push(\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tidField:mapp.id,\n\t\t\t\t\t\t\t\t\tkeyFieldLoad:mapp.key,\n\t\t\t\t\t\t\t\t\tindexSection:index,\n\t\t\t\t\t\t\t\t\tname_variable:mapp.apiValueConfig.variable_api,\n\t\t\t\t\t\t\t\t\tname_data:mapp.apiValueConfig.value_api\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn mapp;\n\t\t\t\t\t})\n\n\t\t\tif( form.app && form.app == 'crm_nsdp' ){\t\t\t\t\n\t\t\t\tthis.checkSeeRol(section);\n\t\t\t}\n\t\t\tconst group = this.qcs.toFormGroup(section.fields);\n\t\t\tthis.forms.push(group);\n\n\t\t\t});\n\n\t\t\tthis._sections.forEach((section) => {\n\t\t\t\tthis.fieldsInTrays(section);\n\t\t\t})\n\t\t\t\n\t\t}\n\t}\n\n\ttypeSelectorChargables:string[]=[\n\t\t'dropdown', 'multiselect', 'autocomplete'\n\t]\n\n\t@Input() public set clearControl(clear: any) {\n\t\tif (clear === true) {\n\t\t\t/* this.forms.removeAt(1); */\n\t\t}\n\t}\n\n\trol: any = [];\n\tfieldsPreloaded: any[] = [];\n\tquestionPush: any;\n\tevento: any;\n\tplantilla: any = '';\n\ttab: any;\n\ttray: any;\n\tseePermit: any;\n\teditPermit: any;\n\tappOrigen: string = \"crm\"\n\tactivatorsCalculatefield: any[] = []\n\n\tngOnInit(): void {\n\t\tthis.plantilla = this.router.url.substring(6).split('/', 3)[2];\n\t}\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-03-29\n\t * Metodo que captura el rol del usuario\n\t */\n\tgetRolUser(app) {\n\t\tlet user = this.authService.getUser();\n\t\tuser.roles.forEach((rol) => {\n\t\t\tlet name = rol.split('::');\n\t\t\tif (name[0] === app) {\n\t\t\t\tthis.rol.push(name[1]);\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-03-29\n\t * Metodo que verifica si tiene el permiso\n\t */\n\tcheckSeeRol(section) {\n\n\t\tsection['see'] = false;\n\n\t\tsection.fields.forEach((question) => {\n\t\t\tthis.seePermit = this.permit.permit(this.rol, question.seeRoles);\n\t\t\tthis.editPermit = this.permit.permit(this.rol, question.editRoles);\n\t\t\tquestion.disabled = !this.editPermit;\n\t\t\tquestion['see'] = this.seePermit;\n\t\t\tquestion['seeSons'] = true;\n\t\t\tquestion['edit_by_adviser'] = false;\n\t\t\tif (question.preloaded == true) {\n\t\t\t\tthis.fieldsPreloaded.push(question);\n\t\t\t}\n\t\t\tif (this.editPermit && question.isSon) {\n\n\t\t\t\tquestion = this.checkDependence(question);\n\t\t\t}\n\n\t\t\tsection.see = true;\n\t\t});\n\t}\n\n\t/**\n\t * @author Miguel Restrepo\n\t * @createdate 2022-03-01\n\t * Metodo que permite validar las dependencias de un campo\n\t */\n\n\tcheckDependence(question) {\n\n\t\tthis._sections.forEach((section, indexSection) => { // Busca si tiene dependencias de campos de otras secciones\n\t\t\tsection.fields.forEach((field, indexField) => {\n\t\t\t\tif(question?.dependencies !== undefined && question?.dependencies !== null && Array.isArray(question?.dependencies) == true){\n\t\t\t\t\tconst dependences = question?.dependencies?.filter(dependence => dependence.idField === field.id);\n\t\t\t\t\tif (dependences?.length != 0) {\n\t\t\t\t\t\tquestion.disabled = true;\n\t\t\t\t\t\tquestion.seeSons = false;\n\t\t\t\t\t\tdependences.forEach(dependence => {\n\t\t\t\t\t\t\tif(question.seeSons === false) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif(Array.isArray(field.value)){\n\t\t\t\t\t\t\t\t\tquestion.seeSons = dependence.activators.some(activator => field.value.includes( activator.id ) );\n\t\t\t\t\t\t\t\t\tquestion.disabled = !dependence.activators.some(activator => field.value.includes( activator.id ) );\n\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\tquestion.seeSons = dependence.activators.some(activator => activator.id === field.value);\n\t\t\t\t\t\t\t\t\tquestion.disabled = !dependence.activators.some(activator => activator.id === field.value);\n\t\t\t\t\t\t\t\t}\n\t\n\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (dependence.disabled) {\n\t\t\t\t\t\t\t\tquestion.disabled = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}else if(question.dependencies.length <= 0 && this.appOrigen == \"encuestas\" ){\n\t\t\t\t\t\tquestion['see'] = true\n\t\t\t\t\t\tquestion['seeSons'] = true\n\t\t\t\t\t\tquestion['disabled'] = false\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\n\t\t\t})\n\t\t})\n\t\treturn question;\n\t}\n\t/**\n\t * @author Jair Celis\n\t * @createdate 2021-08-30\n\t * Metodo que añade las dependecias, dependiendo de la opciones del padre\n\t */\n\tasync addDependencies(event: any) {\n\t\tawait this.disabledSons(event.idFather);\n\t\tconst sonsFatherFieldActive = this.findSons(event.idFather).filter( (sonFinded:any) =>{\n\t\t\treturn sonFinded.dependencies.some( (dependen:any) =>{\n\t\t\t\treturn dependen.activators.find( ffnndd => String(ffnndd.id) == String(event.idValue) ) !== undefined\n\t\t\t})\n\t\t}); //Obtenemos todos los Campos hijos del Selector que activa la dependencias (Selector Padre)\n\t\n\t\tawait this._sections.forEach(async (section, index) => {\n\t\t\tawait section.fields.forEach(async (field) => {\n\t\t\t\tif (field.isSon === true) {//Se valida que sea un campo hijo o capo dependiente\n\n\t\t\t\t\tlet idActivadores = [] //variable done se almacenara los ids de todos los activadores\n\t\t\t\t\tif(field.type != 'options'){ //En caso de no ser de tipo \"options\" significa que no se va a realizar unificacion de opciones dentro de selector de dependencia, por lo que se toma solo las dependencias asociadas al padre\n\t\t\t\t\t\tfield.dependencies.filter((filterDependence:any)=> String(filterDependence.idField) == String(event.idFather) ).forEach(dependence => {\n\t\t\t\t\t\t\tidActivadores = idActivadores.concat(dependence.activators.map(activator => String(activator.id)))\n\t\t\t\t\t\t});\n\t\t\t\t\t}else{\n\t\t\t\t\t\tfield.dependencies.forEach(dependence => {\n\t\t\t\t\t\t\tidActivadores = idActivadores.concat(dependence.activators.map(activator => String(activator.id)))\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\t// variable donde se almacenan los ids de los activadores que estan e el valor seleccionado en el multiselect\n\t\t\t\t\tconst activadorIsFinded = idActivadores.filter(filtered => (Array.isArray(event.idValue) == true && event.idValue.map( value_map => String(value_map)).includes(filtered)) || (Array.isArray(event.idValue) == false && String(event.idValue) == String(filtered)))\n\t\t\t\t\t//Se obtienen los id de todas las dependencias del padre\n\t\t\t\t\tconst idFatherdependence = field.dependencies.map(dep => dep.idField)\n\t\t\t\t\tif (idFatherdependence.find(fnd => fnd == event.idFather)) {//si el campo es padre e alguna dependencia se limpia las opciones a marcar\n\t\t\t\t\t\tfield.options = [];\n\t\t\t\t\t}\n\n\n\t\t\t\t\tlet options = [];\n\t\t\t\t\tawait field.dependencies.forEach(async dependence => {//Iteracion para mostrar campos de dependientes\n\n\t\t\t\t\t\tif (dependence.idField === event.idFather) { //Validamos que la depencia a agregar sea del cmap padre\n\t\t\t\t\t\t\t//desactivar hermanos de dependencia\n\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).disable();\n\t\t\t\t\t\t\tfield.disabled = true;\n\t\t\t\t\t\t\tfield.seeSons = false;\n\n\t\t\t\t\t\t\tawait dependence.activators.forEach(async (activator) => {\n\t\t\t\t\t\t\t\tif (activadorIsFinded.length > 0) { //Validamos que el activador que se itera si este entro de los marcado en el valor el multiselect\n\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).setValue('');\n\t\t\t\t\t\t\t\t\tfield.seeSons = true;\n\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).enable();\n\t\t\t\t\t\t\t\t\tfield.disabled = false;\n\t\t\t\t\t\t\t\t\t//activa seccion del campo dependiente\n\t\t\t\t\t\t\t\t\tif (section.see === false) {\n\t\t\t\t\t\t\t\t\t\tsection.see = true;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif (activadorIsFinded.find(fined => fined == activator.id)) {//Se valida que e activador se encuentre dentro e los activadores e la epenencia\n\t\t\t\t\t\t\t\t\t\tif ( this.typeSelectorChargables.find( (type:any) => type == field.controlType ) !== undefined && field?.isChargeableOption == true) {// enc aso de ser despelgable por carga se consutlan las opciones antes de hacer depuracion de las opciones\n\t\t\t\t\t\t\t\t\t\t\tawait this.formsRequestService.getOptionsUploadFileAll(String(this.formId), String(field.id), false).toPromise()\n\t\t\t\t\t\t\t\t\t\t\t\t.then((restResponse) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (Array.isArray(restResponse.options) == true && restResponse.options.length > 0 ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.options = [];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trestResponse.options.forEach( (option:any) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.options.push( { id:Number(option.id), name:option.option_name , value_option:option.option_id, stateDisabled:false } )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.options = [];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfor (const key in restResponse.options) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.options.push({ id: Number(key), name: restResponse.options[key] })\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (dependence.options !== '') {\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tawait dependence.options.forEach(async (option) => {\n\t\t\t\t\t\t\t\t\t\t\t\tlet optionFinded = field.options.find(finded => finded.id == option.id);\n\t\t\t\t\t\t\t\t\t\t\t\tif (this.typeSelectorChargables.find( (type:any) => type == field.controlType ) !== undefined && field?.isChargeableOption == true) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (optionFinded != undefined) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\toptions.push(optionFinded);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (optionFinded == undefined) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\toption['id'] = Number(option['id'])\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.options.push(option);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tif (this.typeSelectorChargables.find( (type:any) => type == field.controlType ) !== undefined && field?.isChargeableOption == true) {\n\t\t\t\t\t\t\t\t\t\t\t\tfield.options = options\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif(this.appOrigen == \"encuestas\"){\n\t\t\t\t\t\t\t\t\t\t\tfield['see'] = true;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t//Validamos que el campo que se activa por pertenecer a una dependencia del Padre tenga hijos\n\t\t\t\t\t\t\tlet sonsfield = this.findSons(field.id);\n\t\t\t\t\t\t\tif (sonsfield) {\n\t\t\t\t\t\t\t\tlet map = sonsfield.find(fnd => fnd.dependencies.find(ffnndd => ffnndd.idField == field.id));\n\t\t\t\t\t\t\t\tif (map !== undefined) {//Si los campos Hijos que se activa por dependencia del padre se activan con el selector activado Entoces desHabiltamos y vaciamos los selectores apra dejar los campo como listos para recien tipificar\n\t\t\t\t\t\t\t\t\tthis.disabledSons(field.id, sonsFatherFieldActive, true);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});//Fin de la iteracion de Fields\n\t\t\tsection.see = section.fields.some(field => field.see === true && field.seeSons === true);\n\n\t\t});//Fin de la iteracion de sections\n\t\tthis.changeDetector.detectChanges();//Deteccion de cambios para reseteo de valores\n\n\t}\n\n\t/**\n\t * Metodo que se encarga de ddesahabilitar los hijos de un padre\n\t * @author Juan David Guerrero Vargas\n\t * @param idFather:id del campo padre\n\t */\n\tasync disabledSons(idFather: string | number, sonsOfFatherActivador?:any[], allChilds?: boolean) {\n\t\tthis._sections.forEach((section, index) => {\n\t\t\tsection.fields.forEach((field) => {\n\t\t\t\tif (field.isSon == true) {\n\t\t\t\t\tconst depField = field.dependencies.filter( (ffdd:any) => ffdd.idField == idFather );\n\t\t\t\t\tif(depField.length > 0){//Se valida que el campo en iteracion tenga dependencias con el campos padrea a validar\n\t\t\t\t\t\t\tfield.sectionIndex = index;\n\t\t\t\t\t\t\t/*En casdo de que llegan los campos hijos del Selector que diparara la dependencias (Selector padre)\n\t\t\t\t\t\t\t\tSe valida que el campo a deshabilitar como Hijo de un Hijo no pertenezca a un campo que se esta activando por parte del selector padre\n\t\t\t\t\t\t\t\tEste escenario se da cuando Un campo Padre y un campo Hijo pueden ambos activar un campo diferente a ellos pero con opciones aparte\n\t\t\t\t\t\t\t*/\n\t\t\t\t\t\t\tif( sonsOfFatherActivador !== undefined && Array.isArray(sonsOfFatherActivador) == true && sonsOfFatherActivador.length > 0 ){\n\t\t\t\t\t\t\t\tif(sonsOfFatherActivador.find( fndEqu => String(fndEqu.id) == String(field.id) ) == undefined){\n\t\t\t\t\t\t\t\t\tif (this.forms.controls[field.sectionIndex].get(field.key).value != '') {\n\t\t\t\t\t\t\t\t\t\tthis.forms.controls[field.sectionIndex].get(field.key).setValue(null);\n\t\t\t\t\t\t\t\t\t\tthis.forms.controls[field.sectionIndex].get(field.key).disable();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tfield.disabled = true\n\t\t\t\t\t\t\t\t\tfield.seeSons = false\n\t\t\t\t\t\t\t\t\tif (allChilds) {//Se reutiliza el metodo para deshabilitar en segundo-Tercer (Maximo 4) nivel de validacion antes de generar problemas de rendimiento\n\t\t\t\t\t\t\t\t\t\tthis.disabledSons(field.id)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}else{//En caso de no tener campos del padre se procede a deshabilitar tantos campos como sea necesarios\n\t\t\t\t\t\t\t\tif (this.forms.controls[field.sectionIndex].get(field.key).value != '') {\n\t\t\t\t\t\t\t\t\tthis.forms.controls[field.sectionIndex].get(field.key).setValue(null);\n\t\t\t\t\t\t\t\t\tthis.forms.controls[field.sectionIndex].get(field.key).disable();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tfield.disabled = true\n\t\t\t\t\t\t\t\tfield.seeSons = false\n\t\t\t\t\t\t\t\tif (allChilds) {//Se reutiliza el metodo para deshabilitar en segundo-Tercer (Maximo 4) nivel de validacion antes de generar problemas de rendimiento\n\t\t\t\t\t\t\t\t\tthis.disabledSons(field.id)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @author Jair Celis\n\t * @createdate 2021-08-30\n\t * Metodo que desactiva la visualizacion de un campo\n\t * @param idField id del campo a desactivar\n\t */\n\n\tdisableField(idField) {\n\t\tthis._sections.forEach((section, index) => {\n\t\t\tsection.fields.forEach((field) => {\n\t\t\t\tif (field.id == idField) {\n\t\t\t\t\tfield.seeSons = false;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @author Jair Celis\n\t * @createdate 2021-08-30\n\t * Metodo que devuelve un arreglo de campos hijos\n\t * @param idField id del campo a buscar los hijos\n\t */\n\n\tfindSons(idField) {\n\t\tconst mySons = [];\n\t\tthis._sections.forEach((section, index) => {\n\t\t\tsection.fields.forEach((field) => {\n\t\t\t\tif (field.isSon == true) {\n\t\t\t\t\tfield.dependencies.forEach((dependencie) => {\n\t\t\t\t\t\tif (dependencie.idField == idField) {\n\t\t\t\t\t\t\tfield.sectionIndex = index;\n\t\t\t\t\t\t\tmySons.push(field);\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\treturn mySons;\n\t}\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-02-25\n\t * Metodo que añade otro campo\n\t */\n\taddQuestion(event, nameSection) {\n\t\tthis.evento = Object.assign({}, event);\n\t\tthis.questionPush = this.evento;\n\t\tlet cont = 0;\n\t\tlet indexAuxField = 0;\n\t\tlet indexAuxSec = 0;\n\n\t\tthis._sections.forEach((section, indexSec) => {\n\t\t\tsection.fields.forEach((question, indexField) => {\n\t\t\t\tif (question.key.includes(this.evento.key) && nameSection === section.name_section) {\n\t\t\t\t\tcont++;\n\t\t\t\t\tindexAuxField = indexField;\n\t\t\t\t\tindexAuxSec = indexSec;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tcont = cont + 1;\n\n\t\tthis.questionPush.id = new Date().getTime();\n\t\tthis.questionPush.key = this.evento.key + '_' + cont;\n\t\tthis.questionPush.value = '';\n\t\tthis.questionPush.label = this.evento.label + ' ' + cont;\n\t\tthis.questionPush.canAdd = false;\n\t\tthis.questionPush.duplicated = {\n\t\t\tidOriginal: event.id,\n\t\t\ttype: 'field'\n\t\t};\n\n\t\tif (this.questionPush.nameFile) {\n\t\t\tthis.questionPush.nameFile = '';\n\t\t}\n\n\t\tif (this.questionPush.idValue) {\n\t\t\tthis.questionPush.idValue = '';\n\t\t}\n\n\t\tif (this._sections[indexAuxSec].name_section === nameSection) {\n\t\t\tthis._sections[indexAuxSec].fields.splice(indexAuxField + 1, 0, this.questionPush);\n\t\t}\n\n\t\tlet formAux = this.forms.controls[indexAuxSec] as FormGroup;\n\n\t\tlet controlAux = this.qcs.toFormControl(this.questionPush);\n\t\tformAux.addControl(this.questionPush.key, controlAux);\n\t}\n\n\t/**\n\t * @author Miguel Restrepo\n\t * @createdate 2021-02-25\n\t * @updatedate 2022-05-18\n\t * Metodo que añade una nueva sección duplicada\n\t */\n\n\taddSection(event, i) {\n\t\t//let evento = Object.assign({}, event);\n\t\tlet evento = JSON.parse(JSON.stringify(event))\n\t\tlet section = evento;\n\t\tlet cont = 0;\n\t\tthis._sections.forEach((element) => {\n\t\t\tif (element.name_section.includes(section.name_section)) {\n\t\t\t\tcont++;\n\t\t\t}\n\t\t});\n\t\tcont = cont + 1;\n\n\t\tsection['duplicated_section'] = true\n\t\tsection.fields.forEach((field) => {\n\t\t\tfield.id = Number(field.id + \"\" + cont)\n\t\t\tfield.key = field.key + \"_\" + cont\n\t\t\tfield.label = field.label + \"\" + cont\n\t\t\tfield.disabled = false\n\t\t\tif (field.dependencies) {\n\t\t\t\tfield.dependencies.forEach((dependence) => {\n\t\t\t\t\tdependence.idField = Number(dependence.idField + \"\" + cont)\n\t\t\t\t\tdependence.seeDepen = false\n\t\t\t\t});\n\n\t\t\t}\n\t\t});\n\t\tthis._sections.push(section)\n\t\tconst group = this.qcs.toFormGroup(section.fields);\n\t\tthis.forms.push(group);\n\t\t/* this.formsRequestService.addSection(sendSection).subscribe((resp) => {\n\t\t\tresp[\"duplicated_section\"] = true;\n\t\t\tthis._sections.push(resp);\n\t\t\tconst group = this.qcs.toFormGroup(resp.fields);\n\t\t\tthis.forms.push(group);\n\t\t}); */\n\t}\n\n\tremoveSection(event, index) {\n\t\tthis.forms.removeAt(index)\n\t\tthis._sections.splice(index, 1)\n\n\t}\n\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-02-17\n\t * Metodo que emite el formulario resuelto\n\t */\n\tonSubmit() {\n\t\tlet response = {\n\t\t\tsections: this._sections,\n\t\t\tanswer: this.forms.getRawValue(),\n\t\t\tfiles: this.Files,\n\t\t\tforms: this.forms,\n\t\t\tisValid: this.forms.valid\n\t\t};\n\t\tthis.submitForm.emit(response);\n\t\tthis.fieldsPreloaded.forEach((element) => {\n\t\t\tthis.forms.controls.forEach((sections) => {\n\t\t\t\tif (sections.get(element.key) != null) {\n\t\t\t\t\tsections.get(element.key).setValue(element.value);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-03-30\n\t * Metodo que cancela el formulario\n\t */\n\tcancelForm() {\n\t\tlet saveconfirm = this.alertsService.alertConfirm('¿Desea cancelar?');\n\t\tsaveconfirm.then((res) => {\n\t\t\tif (res.isConfirmed) {\n\t\t\t\tthis.denyForm.emit(true);\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t * @author Daniel Dominguez\n\t * @createdate 2021-04-06\n\t * Metodo recibe los archivos cargados en los campos tipo file\n\t */\n\taddFiles(e) {\n\t\tthis.Files.push(e);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.destroyService.destroyComponent();\n\t}\n\n\t// Boton para generar las plantillas\n\tgenerateTemplate() {\n\t\tlet responseTemplate = {\n\t\t\tsections: this._sections,\n\t\t\tanswer: this.forms.getRawValue(),\n\t\t\tfiles: this.Files,\n\t\t\tforms: this.forms\n\t\t};\n\n\t\tthis.enableTemplate.emit(responseTemplate);\n\t}\n\n\tfieldsInTrays(section) {\n\n\t\tthis.tab = this.storage.getItem('tab');\n\t\tthis.tray = this.storage.getItem('tray');\n\t\tsection.fields.forEach((question) => {\n\t\t\tif (question?.tray && Array.isArray(question.tray)== true && question.tray.length > 0 ) {\n\t\t\t\tvar band = false;\n\t\t\t\tquestion.tray.forEach(element => {\n\n\t\t\t\t\tquestion.disabled = true;\n\t\t\t\t\tquestion['see'] = true;\n\n\t\t\t\t\tif (element.id !== +this.tray && band === false) {\n\t\t\t\t\t\tquestion.disabled = false;\n\t\t\t\t\t\tquestion['see'] = false;\n\t\t\t\t\t\tthis._sections.forEach((sectionArray, index) => {\n\t\t\t\t\t\t\tif (sectionArray.name_section === section.name_section) {\n\t\t\t\t\t\t\t\tthis.forms.controls[index].get(question.key).disable();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tquestion.disabled = true;\n\t\t\t\t\t\tquestion['see'] = true;\n\t\t\t\t\t\tband = true;\n\n\t\t\t\t\t\tif (element.preloaded === false) {\n\n\t\t\t\t\t\t\tthis._sections.forEach((sectionArray, index) => {\n\t\t\t\t\t\t\t\tif (sectionArray.name_section === section.name_section) {\n\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(question.key).setValue('');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (this.template) {\n\t\t\t\t\tif (+this.tab < 2) {\n\t\t\t\t\t\tquestion.disabled = !this.editPermit;\n\t\t\t\t\t\tquestion['see'] = false;\n\t\t\t\t\t\tquestion['seeSons'] = true;\n\t\t\t\t\t\tthis._sections.forEach((sectionArray, index) => {\n\t\t\t\t\t\t\tif (sectionArray.name_section === section.name_section) {\n\t\t\t\t\t\t\t\tthis.forms.controls[index].get(question.key).disable();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (+this.tab < 1) {\n\t\t\t\t\t\tquestion.disabled = !this.editPermit;\n\t\t\t\t\t\tquestion['see'] = false;\n\t\t\t\t\t\tquestion['seeSons'] = true;\n\t\t\t\t\t\tthis._sections.forEach((sectionArray, index) => {\n\t\t\t\t\t\t\tif (sectionArray.name_section === section.name_section) {\n\t\t\t\t\t\t\t\tthis.forms.controls[index].get(question.key).disable();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tsection.see = section.fields.some(field => field.see === true && field.seeSons === true);\n\t}\n\n\t/**\n\t * Metodo que se encarga de recalcular los valores de los campos calculados y asignar su valor \n\t * @author Juan David Guerrero Vargas \n\t * @update 01/01/2024 \n\t * @param event:any {any} evento de cambio para campos Dropdown, Radiobutton, Autocomplete, Number, Desplegable por Carga\n\t */\n\tcalculatedFields(event: any) {\n\t\t//Campos que se usan para calcula alguna formula\n\t\tlet fieldsCalcualteFormula = []\n\t\t//Expresion regular apra identificar los campos en la formula\n\t\tconst regexFieldInFormula = /\\[\\[([^[\\]]*)\\]\\]/g;\n\t\t//Expresion regular para identificar el valor numerico de un porcentaje\n\t\tlet regexPercentNumber = /\\d+(?=%)/g\n\t\t//Expresion regular para validar numero Enteros y decimales\n\t\tlet regexNumber = /^-?\\d+(\\.\\d+)?$/\n\t\t//Buscamos y obtenemos los campos que calculan algun campos calculado\n\t\tthis._sections.forEach( (section:any, indexSection:number)=>{\n\t\t\tsection.fields.forEach( (field:any, indexField:number)=>{\n\t\t\t\tconst fieldInFormula = this.isFieldInFormula(field)\n\t\t\t\tif(fieldInFormula == true){\n\t\t\t\t\tfieldsCalcualteFormula.push(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfiled_key: field.key,\n\t\t\t\t\t\t\tfield:field,\n\t\t\t\t\t\t\tindexSection:indexSection,\n\t\t\t\t\t\t\tindexField:indexField,\n\t\t\t\t\t\t\tvalueControl:this.forms.controls[indexSection].get(field.key).value\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t});//Fin iteracion Fields\n\t\t});//Fin iteracion _sections\n\t\t\n\t\ttry {\n\t\t\t//Identificamos los campos calculados y realizamos el reemplazo de los valores segun el reemplazamiento de formula o infromaicon obtenida en el paso anterior\n\t\t\tthis._sections.forEach( (section:any, indexSection:number)=>{\n\t\t\t\tsection.fields.forEach( (field:any, indexField:number)=>{\n\t\t\t\t\tif(field.isCalculated == true && field.calculatedFields['formula'] !== undefined){\n\t\t\t\t\t\tlet formula = field.calculatedFields['formula']\n\t\t\t\t\t\tlet formatFormula = formula.replace(regexFieldInFormula, (match, field_key) =>{\n\t\t\t\t\t\t\tlet fieldFinded = fieldsCalcualteFormula.find( (fnd:any) => fnd.filed_key == field_key )\n\t\t\t\t\t\t\tif(fieldFinded!== undefined){\n\t\t\t\t\t\t\t\tif(fieldFinded.field.controlType == 'dropdown' || fieldFinded.field.controlType == 'radiobutton' || fieldFinded.field.controlType == 'autocomplete'){\n\t\t\t\t\t\t\t\t\treturn this.getValueOptions(fieldFinded.field, String(fieldFinded.valueControl));\n\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\treturn fieldFinded.valueControl !== null && fieldFinded.valueControl!== \"\" ? fieldFinded.valueControl : 0\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn 0\n\t\t\t\t\t\t});//Fin de Regex reemplazameinto de llaves de formula por valores de formulario\n\t\t\t\t\t\t//Remplazamos los porcentajes por su valor numerico operable\n\t\t\t\t\t\tformatFormula = formatFormula.replace( regexPercentNumber, (match, precentNumber) =>{\n\t\t\t\t\t\t\tif(regexNumber.test(match) == true){\n\t\t\t\t\t\t\t\treturn Number(match) / 100\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn match + \"%\"\n\t\t\t\t\t\t});//Fin Regex Porcentaje\n\t\t\t\t\t\t//Retiramos los signos de % que no se usan en la formula final\n\t\t\t\t\t\tformatFormula = formatFormula.replaceAll(\"%\",\"\")\n\n\t\t\t\t\t\t//Reemplazamos el signo (^) de porcentaje por su representacion para ejecucion de (**)\n\t\t\t\t\t\tif(formatFormula.includes('^')){\n\t\t\t\t\t\t\tformatFormula = formatFormula.replaceAll('^',\"**\")\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis.forms.controls[indexSection].get(field.key).setValue(eval(formatFormula))\n\t\t\t\t\t}\n\t\t\t\t});//Fin iteracion Fields\n\t\t\t});//Fin iteracion _sections\t\t\n\t\t} catch (error) {\n\t\t\tthis._snackBar.open(\"Error en el cálculo de fórmula\", '', {\n\t\t\t\tduration: 1100,\n\t\t\t\thorizontalPosition: 'center',\n\t\t\t\tverticalPosition: 'top',\n\t\t\t\tpanelClass : ['red-snackbar']\n\t\t\t });\n\t\t}\n\t\n\t}\n\n\t/**\n\t * Metodo que se encarga de identificar si un campo forma parte de la formula de algun campo calculado\n\t * @author Juan David Guerrero Vargas\n\t * @param field:any {any}\n\t * @returns {boolean} boolean True en caso de ser un campos usado en alguna formula - False en caso de no pertenecer aninguna formula\n\t */\n\tisFieldInFormula(field:any):boolean{\n\t\tconst sectionsWithCalculatedFields = this._sections.map( (sectionMap:any, index:number) =>{\n\t\t\tsectionMap['indexSection'] = index\n\t\t\tsectionMap.fields.map( (fieldMap:any, indexField)=> {\n\t\t\t\tfieldMap['indexField'] = indexField\n\t\t\t\treturn fieldMap\n\t\t\t} )\n\t\t\treturn sectionMap;\n\t\t} ).filter( (section:any)=> section.fields.find( (fnd:any) => fnd.isCalculated == true && fnd?.calculatedFields && fnd?.calculatedFields['formula'] !== undefined && fnd?.calculatedFields['formula'].includes(field.key) ) )\n\t\tif( Array.isArray(sectionsWithCalculatedFields) == true && sectionsWithCalculatedFields.length > 0 ){\n\t\t\treturn true\n\t\t}else{\n\t\t\treturn false\n\t\t}\n\t}\n\n\t/**\n\t * Metodo que se encarga de extraer el valor numerico de los values de las opciones\n\t * @author Juan David Guerrero Vargas\n\t * @param field:any {any} estructura del campo tipo selector al cual se le obtendra su valor numerico\n\t * @param value:string|number {string|number} id de la opcion a la cual se le obtendra su valor numerico\n\t * @returns {number} Valor numerico de la opcion \n\t */\n\tgetValueOptions(field:any, value:string|number):number{\n\t\tif(field !== undefined){\n\t\t\tlet option = field.options.find( (option:any)=> String(option.id) == String(value) )\n\t\t\tif(option !== undefined ){\n\t\t\tif( option.hasOwnProperty('value_option') && option.value_option !== null && option.value_option !== \"\" ){\n\t\t\t\tlet validate_numbers = this.getNumberFromString(option.value_option)\n\t\t\t\treturn validate_numbers[1]\n\t\t\t}else{\n\t\t\t\tlet validate_numbers = this.getNumberFromString(option.name)\n\t\t\t\treturn validate_numbers[1]\n\t\t\t}\n\t\t\t}\n\t\t\treturn 0\n\t\t}\n\t\treturn 0\n\t}\n\t\n\t\n\t/** Metodo que obtiene los numeros dentro de un strng\n\t * @author Juan David Guerrero Vargas\n\t * @param strWithnumber:string {string} cadena de texto que peude o no tener numero en su interior\n\t */\n\tgetNumberFromString(strWithnumber:string):any[]{\n\t\tconst regexNumbers = /\\d+/\n\t\tlet matchNumbers = strWithnumber.match(regexNumbers);\n\t\tif(matchNumbers){\n\t\t\treturn [true, parseInt(matchNumbers[0])]\n\t\t}else{\n\t\t\treturn [false, 0]\n\t\t}\n\t}\n\n\n\t/**\n\t * Metodo que se encarga de ordenar de manera Descedente la lista de valores\n\t * @author Juan David Guerrero Vargas\n\t * @createddate 18/08/2023\n\t * @param array:array listado de valores a ordenar\n\t * @returns any[] {any[]} \n\t */\n\tsortDescValues(array) {\n\t\tlet swap = true;\n\t\twhile (swap) {\n\t\t\tswap = false;\n\t\t\tfor (let i = 0; i < array.length - 1; i++) {\n\t\t\t\tif (array[i] < array[i + 1]) {\n\t\t\t\t\t// SI DOY VUELTA EL > POR < ME CAMBIA EL ORDENAMIENTO DE MAYOR A MENOR\n\t\t\t\t\tlet aux = array[i];\n\t\t\t\t\tarray[i] = array[i + 1];\n\t\t\t\t\tarray[i + 1] = aux;\n\t\t\t\t\tswap = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfor (let i = 2; i > array.length; i++) {\n\t\t\tif (array[i] % i === 0) { return false };\n\t\t}\n\t\treturn array;\n\t}\n\n\t/**\n\t * Metodo que se encarga de retornar cual sera el tipo de visual a renderizar para el campo (Question)\n\t * @author Juan David Guerrero Vargas\n\t * @param question:any {any} campos (question) a evaluar para dertminar su visual\n\t * @returns {string} string calve que indica que visual se rederizara \n\t */\n\tseeTypeQuestion(question:any, controls:any):string{\n\t\tif(question.see && question.seeSons && controls){\n\n\t\t\tif((question.hasOwnProperty('indDefaultValue') == false || question.indDefaultValue == false) && (question.type !== 'image' && question.type !== 'api' && question.type !== 'table' ) ){\n\t\t\t\treturn 'question';\n\t\t\t} \n\n\t\t\tif((question.hasOwnProperty('indDefaultValue') == true && question.indDefaultValue == true) && (question.type !== 'image' && question.type !== 'api' && question.type !== 'table' ) ){\n\t\t\t\treturn 'default_field';\n\t\t\t}\n\n\t\t\tif( question.type == 'image' ){\n\t\t\t\treturn 'image_field';\n\t\t\t} \n\n\t\t\tif(question.type == 'api' && (question.hasOwnProperty('isButtonApi') == true && question.isButtonApi == true) && (question.type !== 'image' && question.type !== 'table') ){\n\t\t\t\treturn 'button_api';\n\t\t\t}\n\n\t\t\tif(question.type == 'table' && (question.hasOwnProperty('isTable') == true && question.isTable == true) && (question.type !== 'image' && question.type !== 'api') ){\n\t\t\t\treturn 'table_api';\n\t\t\t}\n\t\t}\n\t\treturn 'none_question'\n\t}\n\n\n\n\t/**\n\t * Metodo que se encarga de obtener los datos del formulario segun la configuracion ingresada, para envio a terceros\n\t * @param configTrigger:any {any} configuracion de disprador\n\t * @returns {body:any} body:any Cupero de solicitud clave valor con los valores reocogidos del formulario\n\t */\n\tgetDataSendFromTrigger(configTrigger:any):any{\n\t\tlet bodyRequest = {};\n\t\tif(Array.isArray(configTrigger.body_api) == true){ //Validamos que haya una configuracion que iterar\n\t\t\tconfigTrigger.body_api.forEach( (config)=>{\n\t\t\t\tif(config?.origin_data == \"1\"){ //Si el origin_data es (1) el dato proviene del formulario \t\t\t\t\t\n\t\t\t\t\tlet new_Sections = JSON.parse(JSON.stringify(this._sections))\n\t\t\t\t\tlet fieldFinded = new_Sections.map( (section:any, indexSection:number)=>{ //Filtramos y obtenemos el campo y dus indices dentro de las secciones\n\t\t\t\t\t\tlet sections = section.fields.map( (field:any, indexField:number)=>{\n\t\t\t\t\t\t\tif(config.field_data.find( ffnn => ffnn.field_id == field.id ) !== undefined){\n\t\t\t\t\t\t\t\treturn {field:field, indexSection:indexSection, indexField:indexField }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn undefined\n\t\t\t\t\t\t} )\t;\n\n\t\t\t\t\t\tif(sections.filter( ffll=> ffll !== undefined).length > 0){\n\t\t\t\t\t\t\treturn sections.filter( ffll=> ffll !== undefined)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t});\n\t\t\t\n\t\t\t\t\tlet cleanFields = fieldFinded.flat().filter(ffll=> ffll !== undefined) //Limpiamos el array de valores indefimidos y dejamos los campos encontrados en el primer nivel del array\t\t\t\t\t\n\t\t\t\t\tif(Array.isArray(config.field_data) == true && config.field_data.length > 0 ){\n\t\t\t\t\t\tlet value = \"\"\n\t\t\t\t\t\tconfig.field_data.forEach( (fieldData:any, index:number) => { //Iteramos cada una de los campos del formulario con los que se armara la opcion\n\t\t\t\t\t \t\tconst fieldFinded = cleanFields.find( ffnn => ffnn.field.id == fieldData.field_id );\n\t\t\t\t\t\t\tif(fieldFinded !== undefined){\n\t\t\t\t\t\t\t\tlet controlValue = this.forms.controls[fieldFinded.indexSection].get(fieldFinded.field.key).value !== null ? this.forms.controls[fieldFinded.indexSection].get(fieldFinded.field.key).value : \"\"\n\t\t\t\t\t\t\t\tif(fieldFinded.field.controlType == 'datepicker'){ //Formateamos el valor si es tipo FEcha\n\t\t\t\t\t\t\t\t\tvalue += moment(controlValue).format('DD/MM/yyyy') \n\t\t\t\t\t\t\t\t\tif(index < (config.field_data.length -1 ) ){\n\t\t\t\t\t\t\t\t\t\tvalue += \" \"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}else if(fieldFinded.field.controlType == 'textbox' && fieldFinded.field.type == \"time\" ) { //Formaetamos el valor a Horas:minutos en caso de ser tiempo\n\t\t\t\t\t\t\t\t\tlet time = controlValue.split(\":\")\n\t\t\t\t\t\t\t\t\tif(time.length > 0){\n\t\t\t\t\t\t\t\t\t\tvalue += time[0] + \":\" + time[1] \n\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\tvalue += controlValue + \" \"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if(this.typeSelectorChargables.find( ffnn => ffnn == fieldFinded.field.controlType ) !== undefined){//En caso de ser selectores se debe validar si la informaicon se obtiene desde el Id o el option_value de la opcion seleccionada\n\t\t\t\t\t\t\t\t\tif( fieldFinded.field.controlType == 'multiselect' ){\n\t\t\t\t\t\t\t\t\t\tif(Array.isArray(controlValue) == true && controlValue.length > 0){\n\t\t\t\t\t\t\t\t\t\t\tvalue = fieldFinded.field.options.map( (optionMap:any)=>{\n\t\t\t\t\t\t\t\t\t\t\t\t\tif( controlValue.find( ffnn => ffnn == optionMap.id ) !== undefined ){\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif(optionMap?.value_option !== undefined && optionMap?.value_option !== null && optionMap?.value_option !== \"\"){\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn optionMap?.value_option\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn optionMap?.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn undefined\n\t\t\t\t\t\t\t\t\t\t\t\t}).filter( ffll => ffll != undefined );\n\t\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t\tvalue = controlValue\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\tlet option = fieldFinded.field.options.find( optionFN => String(optionFN.id) == String(controlValue) )\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tif(option !== undefined){\n\t\t\t\t\t\t\t\t\t\t\tif(option?.value_option !== undefined && option?.value_option !== null && option?.value_option !== \"\"){\n\t\t\t\t\t\t\t\t\t\t\t\tvalue = option?.value_option\n\t\t\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t\t\tvalue = option?.id\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\t\t\tvalue = controlValue\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\t\tvalue += controlValue\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\tvalue += \"\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tbodyRequest[config.variable_send] = value\n\t\t\t\t\t}else{\n\t\t\t\t\t\tbodyRequest[config.variable_send] = \"\"\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}else if (config?.origin_data == \"2\"){ //(2) proviene de valirable global\n\t\t\t\t\tconst dataVariable = this.variablesTriggerLoads[config.variable_data];\n\t\t\t\t\tif(dataVariable.hasOwnProperty(config.name_in_variable) == true){\n\t\t\t\t\t\tbodyRequest[config.variable_send] = dataVariable[config.name_in_variable];\n\t\t\t\t\t}else{\n\t\t\t\t\t\tbodyRequest[config.variable_send] = \"\";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\telse if (config?.origin_data == \"3\"){ //(3) Proviene de un selecotr cargado por API por lo que se debe obtener l nuevo valor desde la variable globarl cargada\n\n\t\t\t\t\tconst selectorLoad = this.variablesToUploadValueAPI.find( ffnn => ffnn.idField == config.variable_data ) //Obtenemos la configuracion del campo Selector\n\t\t\t\t\tif(selectorLoad !== undefined){\n\t\t\t\t\t\tif(this.variablesTriggerLoads.hasOwnProperty(selectorLoad.name_variable) == true){//Validamos que ya se haya cargado un array o un valor a la variable\n\t\t\t\t\t\t\tconst field = this._sections[selectorLoad.indexSection].fields.find( ffnn => ffnn.id == config.variable_data ) //Obtenemos el campo consu configuracion\n\t\t\t\t\t\t\tif(field !== undefined){\n\t\t\t\t\t\t\t\tlet valueVariable = this.variablesTriggerLoads[selectorLoad.name_variable][selectorLoad.name_data] //Obtenemos el array de opciones completo desde el que e carga el selector\n\t\t\t\t\t\t\t\tif(Array.isArray(valueVariable) == true){\n\t\t\t\t\t\t\t\t\tlet valueSelector = this.forms.controls[selectorLoad.indexSection].get(field.key).value\n\t\t\t\t\t\t\t\t\tlet option = valueVariable.find( ffnn => ffnn[field.apiValueConfig.name_attribute_id] == valueSelector ) //Obtenemos la opcion seleccionada \n\t\t\t\t\t\t\t\t\tif(option !== undefined && option.hasOwnProperty(config.name_in_variable) == true){\n\t\t\t\t\t\t\t\t\t\tbodyRequest[config.variable_send] = option[config.name_in_variable]; //Cargamos el valor adicional de la configuracion\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn bodyRequest\n\t}\n\n\t/**\n\t * Metodo que se encarg de realizar la peticion y carga de informaicon para datos que dependen de la informaicon cargada desde el consumo\n\t * @author Juan David Guerrero Vargas\n\t * @param configTrigger:any {any} Configuracion del disparador\n\t * @returns void\n\t */\n\tsendAndLoadData(configTrigger:any):void{\n\t\t//Obtenemos el cuerpo de la peticion con los campos indicados en la configuracion ya sea desde el formulario o desde variable global\n\t\tlet bodyRequest = this.getDataSendFromTrigger(configTrigger) ;\n\t\t\n\t\tthis.formsRequestService.getValuesConsumeAPI(String(configTrigger.id_consume), bodyRequest ).subscribe(\n\t\t\t(restResponse)=>{\n\n\t\t\t\tthis.variablesTriggerLoads[configTrigger.name_variable] = restResponse\n\t\t\t\t\n\t\t\t\tconst listFieldsLoad = this.variablesToUploadValueAPI.filter( filtered => filtered.name_variable == configTrigger.name_variable );\n\t\t\t\t\n\t\t\t\tif(Array.isArray(listFieldsLoad) == true && listFieldsLoad.length > 0){\n\t\t\t\t\tlistFieldsLoad.forEach(\n\t\t\t\t\t\t(fieldLoad)=> {\n\t\t\t\t\t\t\tconst fielConfig = this._sections[fieldLoad.indexSection].fields.find( (field)=> String(field.key) == String(fieldLoad.keyFieldLoad) );\n\t\t\t\t\t\t\tconst indexField = this._sections[fieldLoad.indexSection].fields.findIndex( (field)=> String(field.key) == String(fieldLoad.keyFieldLoad) );\n\t\t\t\t\t\t\tif(fielConfig.type == 'options'){\n\t\t\t\t\t\t\t\tconst lista = restResponse[fieldLoad.name_data]\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst configOptionsEntry = fielConfig.apiValueConfig;\n\t\t\t\t\t\t\t\tlet options:any[] = [];\n\t\t\t\t\t\t\t\tif(Array.isArray(lista) == true && lista.length > 0){\n\t\t\t\t\t\t\t\t\tlista.forEach(\n\t\t\t\t\t\t\t\t\t\t(itemList)=>{\n\t\t\t\t\t\t\t\t\t\t\toptions.push( { id:itemList[configOptionsEntry.name_attribute_id], name:itemList[configOptionsEntry.name_attribute_label] } )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif(indexField !== -1){\n\t\t\t\t\t\t\t\t\tfielConfig.options = options\n\t\t\t\t\t\t\t\t\tthis._sections[fieldLoad.indexSection].fields[indexField] = fielConfig\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\tthis.forms.controls[fieldLoad.indexSection].get(fieldLoad.keyFieldLoad).setValue(restResponse[fieldLoad.name_data]);\n\t\t\t\t\t\t\t\tthis.forms.controls[fieldLoad.indexSection].get(fieldLoad.keyFieldLoad).patchValue(restResponse[fieldLoad.name_data]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif(configTrigger.hasOwnProperty('msg_config') == true && configTrigger.msg_config ){\n\t\t\t\t\tif(configTrigger.msg_config?.msg_sucess !== undefined && configTrigger.msg_config?.msg_sucess !== null){\n\t\t\t\t\t\tthis.alertsService.alertSuccess('Proceso exitoso', configTrigger.msg_config.msg_sucess)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t},(error:any)=>{\n\t\t\tif(configTrigger.hasOwnProperty('msg_config') == true && configTrigger.msg_config ){\n\t\t\t\tif(configTrigger.msg_config?.msg_error !== undefined && configTrigger.msg_config?.msg_error !== null){\n\t\t\t\t\tthis.alertsService.alertError('Proceso fallido', configTrigger.msg_config.msg_error)\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\n\t/**\n\t * Metodo que captura el evento de disparador de campo tipo API\n\t * @param event:any {any} \n\t */\n\ttriggerApiAction(event:any){\t\t\n\t\tconst configTrigger = event.question.apiTriggerConfig\n\t\tthis.sendAndLoadData(configTrigger);\n\t}\n\n\n\t/**\n\t * Metodo que se encarga dispara el evento de consulta del boton\n\t * @author Juan David Guerrero Vargas\n\t * @param event:any {any} evento click por defecto\n\t * @param question:any {any} Boton configurado para disparar la consulta\n\t */\n\tbuttonTrigger(event:any, question:any):void{\n\t\tif(event){\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tconst configTrigger = question.apiButtonConfig\n\t\tthis.sendAndLoadData(configTrigger);\n\t}\n\n\t/**\n\t * Metodo que se encarga de obtener las columnas de la tabla\n\t * @param question:any {question} configuracion del campo que tiene la tabla\n\t * @returns {string[]} string[] array de nombres de columnas\n\t */\n\tgetColumnsTable(question:any):string[]{\n\t\tif(question?.tableConfig !== undefined && question?.tableConfig?.columnsTable !== undefined){\n\t\t\tif(Array.isArray(question?.tableConfig?.columnsTable) == true && question?.tableConfig?.columnsTable.length > 0){\n\t\t\t\treturn question?.tableConfig?.columnsTable.map( (column:any)=>{\n\t\t\t\t\treturn column.name_column\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn []\n\t}\n\n\t/**\n\t * Metodo que se encarga de obtener el listado de valores con que se obtiene desde la variable cargada por un campo disprador Trigger\n\t * @author Juan David Guerrero Vargas\n\t * @param question:any {any} Campos tipo tabla que contiene la configuracion de que variable se obtienen sus valores \n\t * @returns {any[]} any[] Listado de datos \n\t */\n\tgetDataToTable(question:any):any[]{\n\t\tif(question?.tableConfig !== undefined && question?.tableConfig?.variable_data !== undefined){\n\t\t\ttry {\n\t\t\t\tlet dataInVariable = this.variablesTriggerLoads[question?.tableConfig?.variable_data][question?.tableConfig?.value_api];\n\t\t\t\tif(dataInVariable !== undefined && dataInVariable !== null && Array.isArray(dataInVariable) == true ){\n\t\t\t\t\treturn dataInVariable\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\treturn []\t\t\t\t\n\t\t\t}\n\t\t}\n\t\treturn []\n\t}\n\n\t/**\n\t * Metodo que se encarga de obtener los valores de cada fila segun configuracion de la tabla\n\t * @author Juan David Guerrero Vargas\n\t * @param data:any {any} Informaicon de cada fila de donde se obtendran los valores a pintar\n\t * @param question:any {any} Campo con la configuracion de la tabal donde se botiene el nombre de las variables a mostrar en la tabla\n\t */\n\tgetValuesForRowtoTable(data:any, question:any):string[]{\n\t\tif(question?.tableConfig !== undefined && question?.tableConfig?.columnsTable !== undefined){\n\t\t\tif(Array.isArray(question?.tableConfig?.columnsTable) == true && question?.tableConfig?.columnsTable.length > 0){ \n\t\t\t\treturn question?.tableConfig?.columnsTable.map( (column:any)=>{\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet value = data[column.name_variable]\n\t\t\t\t\t\treturn value !== null && value !== \"\" ? value : \"\"\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\treturn \"\"\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn []\n\t}\n\n\n}\n","
\n \n
\n\n \n \n \n

{{section.name_section}}

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

{{ question.defaultCommentValue }}

\n
\n \n
\n \n \n \n \n \n \n \n \n No se logro cargar la imagen...\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n
{{ question.label }}
{{ name_column }}
{{ value }}
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n
\n
\n \n
\n\n
","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { Observable } from 'rxjs';\n\nconst CRM_URL = environment.CRM2_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GroupsService {\n\n constructor(private http: HttpClient, private AuthService: AuthService) { }\n\n getGroups(direction, campaignid) {\n\n const httpOptions = {\n params: new HttpParams().set(\"campaign_id\", campaignid),\n headers: new HttpHeaders({\n\n Authorization: 'Bearer' + this.AuthService.getUser().access_token,\n }),\n };\n return this.http.get(`${CRM_URL}${direction}`, httpOptions);\n }\n getGroupsByUser(direction, id,per_page,page) {\n return this.http.get(`${CRM_URL}${direction}${id}?per_page=${per_page}&page=${page}`);\n }\n\n /**\n * Metodo que se encarga de consultar un usuario por numero y tipo de documento\n * @param documen:string {string} numero de documetno a consultar\n * @param typeDocument:string {string} id tipo de documento\n * @returns Observable {Observable}\n */\n getUserByDocument(document:string , typeDocument:string) {\n return this.http.get(`${CRM_URL}user-by-doc/${document}/${typeDocument}`);\n }\n\n putState(id, state) {\n return this.http.put(`${CRM_URL}deletegroup/` + id, state);\n\n }\n\n\n createGroup( body) {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: 'Bearer' + this.AuthService.getUser().access_token,\n }),\n };\n return this.http.post(`${CRM_URL}savegroup`, body, httpOptions);\n }\n\n getUsers(id) {\n return this.http.get(`${CRM_URL}searchUser/${id}`);\n }\n\n getGroupById(id) {\n return this.http.get(`${CRM_URL}searchgroup/${id}`);\n }\n\n updateGroup(id, body) {\n return this.http.put(`${CRM_URL}updategroup/${id}`, body);\n }\n\n /**\n * Metodo que se encarga e obtener los usuarios por los id de campa;a que se le envien\n * @author Juan David Guerrero Vargas\n * @param campaigns:string[] arreglo con los id de campana a consultar\n */\n getUsersByCampaign(campaigns:string[], idGrupo:number):Observable{\n return this.http.post(`${CRM_URL}searchUsers/${idGrupo}`, { campaings:campaigns })\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport {Observable, of} from \"rxjs\";\nimport {Nomenclature} from \"../modules/candidates/address-form/address-form.component\";\n// @ts-ignore\nimport * as data from '../../../../assets/nomenclatures.json';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NomenclaturesService {\n\n constructor() { }\n getNomenclatures() : Observable{\n return of (data as any);\n }\n\n}\n","/**\n * @author Karol García\n * @createdate 2021-05-05\n * Método que convierte número a letras\n * *** IMPORTANTE ********\n * Código tomado de lab master y adapatado a esta aplicación\n */\ninterface LocaleInterface {\n currency: {\n name: string;\n plural: string;\n symbol: string;\n fractionalUnit: {\n name: string;\n plural: string;\n symbol: string;\n };\n };\n\n texts: {\n and: string;\n only: string;\n point: string;\n zero: string;\n };\n \n }\nexport class Locale implements LocaleInterface {\n public currency = {\n name: 'PESO',\n plural: 'PESOS',\n symbol: '$',\n fractionalUnit: {\n name: 'CENTAVO',\n plural: 'CENTAVOS',\n symbol: '',\n },\n };\n \n public texts = {\n and: 'Y',\n only: 'DE',\n point: 'CON',\n zero: 'CERO'\n }; \n }\ninterface ConstructorOf {\n new (): T;\n }\n\nexport class ToWords {\n\n private locale: LocaleInterface | undefined = undefined;\n\n constructor() { }\n\n private getLocaleClass(): ConstructorOf {\n return Locale\n }\n private getLocale(): LocaleInterface {\n if (this.locale === undefined) {\n const LocaleClass = this.getLocaleClass();\n this.locale = new LocaleClass();\n }\n return this.locale as LocaleInterface;\n }\n private Section(number, divider, strSingular, strPlural) {\n let hundreds = Math.floor(number / divider)\n let rest = number - (hundreds * divider)\n\n let letters = '';\n\n if (hundreds > 0)\n if (hundreds > 1) \n letters = this.Hundreds(hundreds) + \" \" + strPlural;\n else\n letters = strSingular;\n\n if (rest > 0)\n letters += \"\";\n\n return letters;\n \n }\n convert(number: number){\n const locale = this.getLocale();\n var data = {\n number: number,\n whole: Math.floor(number),\n cents: (((Math.round(number * 100)) - (Math.floor(number) * 100))),\n lettersCents: ''\n };\n\n if (data.cents > 0) {\n if (data.cents == 1)\n data.lettersCents = locale.texts.point + ' ' + this.Millions(data.cents) + \" \" + locale.currency.fractionalUnit.name\n else\n data.lettersCents = locale.texts.point + ' ' + this.Millions(data.cents) + \" \" + locale.currency.fractionalUnit.plural\n };\n \n if (data.whole == 0)\n return locale.texts.zero + ' ' + locale.currency.plural + ' ' + data.lettersCents;\n if (data.whole == 1)\n return this.Millions(data.whole) + \" \" + locale.currency.name + \" \" + data.lettersCents;\n else\n return this.Millions(data.whole) + \" \" + locale.currency.plural + \" \" + data.lettersCents;\n\n }\n private Millions(number: number) {\n let divider = 1000000;\n let hundreds = Math.floor(number / divider)\n let rest = number - (hundreds * divider)\n \n let strMillions = this.Section(number, divider, \"UN MILLON\", \"MILLONES\");\n \n let strThousands = this.Thousands(rest);\n \n if (strMillions == \"\")\n return strThousands;\n\n if (strMillions != \"\" && rest == 0)\n return strMillions + \" \" +this.locale.texts.only ;\n \n return strMillions + \" \" + strThousands;\n\n }\n private Thousands(number: number) {\n let divider = 1000;\n let hundreds = Math.floor(number / divider)\n let rest = number - (hundreds * divider)\n\n let strThousands = this.Section(number, divider, \"MIL\", \"MIL\");\n let strHundreds = this.Hundreds(rest);\n\n if (strThousands == \"\")\n return strHundreds;\n\n return strThousands + \" \" + strHundreds;\n\n }\n private Hundreds(number: number) {\n let hundreds = Math.floor(number / 100);\n let tens = number - (hundreds * 100);\n\n switch (hundreds) {\n case 1:\n if (tens > 0)\n return \"CIENTO \" + this.Tens(tens);\n return \"CIEN\";\n case 2: return \"DOSCIENTOS \" + this.Tens(tens);\n case 3: return \"TRESCIENTOS \" + this.Tens(tens);\n case 4: return \"CUATROCIENTOS \" + this.Tens(tens);\n case 5: return \"QUINIENTOS \" + this.Tens(tens);\n case 6: return \"SEISCIENTOS \" + this.Tens(tens);\n case 7: return \"SETECIENTOS \" + this.Tens(tens);\n case 8: return \"OCHOCIENTOS \" + this.Tens(tens);\n case 9: return \"NOVECIENTOS \" + this.Tens(tens);\n }\n\n return this.Tens(tens);\n }\n private Tens(number: number) {\n let ten= Math.floor(number / 10);\n let unit = number - (ten * 10);\n\n switch (ten) {\n case 1:\n switch (unit) {\n case 0: return \"DIEZ\";\n case 1: return \"ONCE\";\n case 2: return \"DOCE\";\n case 3: return \"TRECE\";\n case 4: return \"CATORCE\";\n case 5: return \"QUINCE\";\n default: return \"DIECI\" + this.Units(unit);\n }\n case 2:\n switch (unit) {\n case 0: return \"VEINTE\";\n default: return \"VEINTI\" + this.Units(unit);\n }\n case 3: return this.TensY(\"TREINTA\", unit);\n case 4: return this.TensY(\"CUARENTA\", unit);\n case 5: return this.TensY(\"CINCUENTA\", unit);\n case 6: return this.TensY(\"SESENTA\", unit);\n case 7: return this.TensY(\"SETENTA\", unit);\n case 8: return this.TensY(\"OCHENTA\", unit);\n case 9: return this.TensY(\"NOVENTA\", unit);\n case 0: return this.Units(unit);\n }\n }\n private TensY(strSin, numUnits) {\n if (numUnits > 0)\n return strSin +' '+ this.locale.texts.and + ' '+this.Units(numUnits)\n return strSin;\n } \n private Units(number: number) {\n\n switch (number) {\n case 1: return \"UN\";\n case 2: return \"DOS\";\n case 3: return \"TRES\";\n case 4: return \"CUATRO\";\n case 5: return \"CINCO\";\n case 6: return \"SEIS\";\n case 7: return \"SIETE\";\n case 8: return \"OCHO\";\n case 9: return \"NUEVE\";\n }\n return \"\";\n\n }\n}","import { Component, OnInit, Input } from '@angular/core';\nimport * as pbi from 'powerbi-client';\n\n\n@Component({\n selector: 'app-report-view',\n templateUrl: './report-view.component.html',\n styleUrls: ['./report-view.component.sass']\n})\nexport class ReportViewComponent implements OnInit {\n\n @Input() reportId: string;\n @Input() tokenReport: string;\n\n constructor() { }\n\n ngOnInit(){\n\n console.log(this.reportId);\n console.log(this.tokenReport);\n\n if (this.tokenReport!==''){\n\n this.showReport();\n }\n }\n\n showReport() {\n // Report's Secured Token\n let accessToken = this.tokenReport;\n\n // Embed URL\n let embedUrl = 'https://app.powerbi.com/reportEmbed?';\n\n // Report ID\n let embedReportId = this.reportId;\n\n // Configuration used to describe the what and how to embed.\n // This object is used when calling powerbi.embed.\n // This also includes settings and options such as filters.\n // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details.\n let config= {\n type: 'report',\n accessToken: accessToken,\n embedUrl: embedUrl,\n id: embedReportId,\n settings: {\n filterPaneEnabled: true,\n navContentPaneEnabled: true\n }\n };\n\n // Grab the reference to the div HTML element that will host the report.\n let reportContainer = document.getElementById('reportContainer');\n\n // Embed the report and display it within the div container.\n let powerbi = new pbi.service.Service(pbi.factories.hpmFactory, pbi.factories.wpmpFactory, pbi.factories.routerFactory);\n let report = powerbi.embed(reportContainer, config);\n\n // Report.off removes a given event handler if it exists.\n report.off(\"loaded\");\n\n // Report.on will add an event handler which prints to Log window.\n report.on(\"loaded\", function() {\n console.log(\"Loaded\");\n });\n}\n}\n","
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ComprasComponent } from './compras.component';\nimport { ComprasRoutingModule } from './compras-routing.module';\nimport { SharedModule } from '../../shared/shared.module';\nimport { MaterialModule } from '../../shared/material/material.module';\nimport { MatTooltipModule} from '@angular/material/tooltip';\nimport { SolicitudesCardsComponent } from './modules/solicitudes/solicitudes-cards/solicitudes-cards.component';\nimport { SolicitudesListComponent } from './modules/solicitudes/solicitudes/solicitudes-list.component';\nimport { CrearSolicitudComponent } from './modules/solicitudes/componentes/crear-solicitud/crear-solicitud.component';\nimport { GestionInicialComponent } from './modules/solicitudes/componentes/gestion-inicial/gestion-inicial.component';\nimport { GestionAprobacionComponent } from './modules/solicitudes/componentes/gestion-aprobacion/gestion-aprobacion.component';\nimport { OrdenCompraComponent } from './modules/solicitudes/componentes/orden-compra/orden-compra.component';\nimport { SolicitudesAprobarComponent } from './modules/solicitudes/solicitudes-aprobar/solicitudes-aprobar.component';\nimport { GestionAprobadorComponent } from './modules/solicitudes/componentes/gestion-aprobador/gestion-aprobador.component';\nimport { AprobarSolcitudComponent } from './modules/solicitudes/componentes/aprobar-solcitud/aprobar-solcitud.component';\nimport { HistorialAprobadorComponent } from './modules/solicitudes/componentes/historial-aprobador/historial-aprobador.component';\nimport { ProcesarSolicitudComponent } from './modules/solicitudes/componentes/procesar-solicitud/procesar-solicitud.component';\nimport { OrdenCompraListComponent } from './modules/solicitudes/componentes/orden-compra-list/orden-compra-list.component';\nimport { ConsultarProveedorComponent } from './modules/solicitudes/componentes/consultar-proveedor/consultar-proveedor.component';\nimport { OrdenCompraFragComponent } from './modules/solicitudes/componentes/orden-compra-frag/orden-compra-frag.component';\nimport { OrdenCompraEditComponent } from './modules/solicitudes/componentes/orden-compra-edit/orden-compra-edit.component';\nimport { DescargaComponent } from './modules/solicitudes/componentes/historial-aprobador/descarga/descarga.component';\nimport { SolicitudesControlComponent } from './modules/solicitudes/solicitudes-control/solicitudes-control.component';\nimport { GestionInicialCardsComponent } from './modules/solicitudes/componentes/gestion-inicial-cards/gestion-inicial-cards.component';\nimport { GestionInicialControlComponent } from './modules/solicitudes/componentes/gestion-inicial-control/gestion-inicial-control.component';\nimport { ProcesarSolicitudControlComponent } from './modules/solicitudes/componentes/procesar-solicitud-control/procesar-solicitud-control.component';\nimport { OrdenCompraListControlComponent } from './modules/solicitudes/componentes/orden-compra-list-control/orden-compra-list-control.component';\nimport { RemisionControlComponent } from './modules/solicitudes/componentes/remision-control/remision-control.component';\nimport { MatInputModule } from '@angular/material/input';\nimport { NgxCurrencyModule } from 'ngx-currency';\nimport { BlockRequestsComponent } from './modules/solicitudes/componentes/block-requests/block-requests.component';\nimport { AssociatedRequestComponent } from './modules/solicitudes/componentes/associated-request/associated-request.component';\nimport { CreateObservationItemComponent } from './modules/solicitudes/componentes/create-observation-item/create-observation-item.component';\nimport { ViewObservationItemComponent } from './modules/solicitudes/componentes/view-observation-item/view-observation-item.component';\n\n\n\n@NgModule({\n declarations: [\n ComprasComponent,\n SolicitudesCardsComponent,\n SolicitudesListComponent,\n\n CrearSolicitudComponent,\n\n GestionInicialComponent,\n GestionAprobacionComponent,\n OrdenCompraComponent,\n SolicitudesAprobarComponent,\n GestionAprobadorComponent,\n AprobarSolcitudComponent,\n HistorialAprobadorComponent,\n ProcesarSolicitudComponent,\n OrdenCompraListComponent,\n OrdenCompraComponent,\n ConsultarProveedorComponent,\n OrdenCompraFragComponent,\n OrdenCompraEditComponent,\n DescargaComponent,\n SolicitudesControlComponent,\n GestionInicialCardsComponent,\n GestionInicialControlComponent,\n ProcesarSolicitudControlComponent,\n OrdenCompraListControlComponent,\n RemisionControlComponent,\n BlockRequestsComponent,\n AssociatedRequestComponent,\n CreateObservationItemComponent,\n ViewObservationItemComponent,\n\n ],\n\n imports: [\n CommonModule,\n ComprasRoutingModule,\n MaterialModule,\n SharedModule,\n MatTooltipModule,\n MatInputModule,\n NgxCurrencyModule\n ]\n})\nexport class ComprasModule { }\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { TestsService } from '../../../services/tests.service';\nimport { AssingUserComponent } from '../../assign-user/assing-user/assing-user.component';\n\n\n@Component({\n selector: 'app-assessments-create',\n templateUrl: './assessments-create.component.html',\n styleUrls: ['./assessments-create.component.sass']\n})\nexport class AssessmentsCreateComponent implements OnInit {\n allCandidateSelected = false;\n candidatesSelected:any = [];\n user_selection_name:string;\n user_operation_name:string;\n user_formation_name:string\n candidates=[];\n validTwoRes : number = 0;\n\n assessmentForm:FormGroup = this.fb.group({\n name:new FormControl('',[Validators.required]),\n capacity:new FormControl('',[Validators.required]),\n selection_name:[{value: '', disabled: true},Validators.required],\n operation_name:[{value: '', disabled: true},Validators.required],\n formation_name:[{value: '', disabled: true},Validators.required],\n start:new FormControl('',[Validators.required]),\n end:new FormControl('',[Validators.required]),\n description:['',Validators.required],\n user_selection_id: new FormControl(''),\n user_operation_id:new FormControl(''),\n user_formation_id: new FormControl(''),\n request_id:[this.data.requestId],\n candidate_ids:[null],\n \n });\n \n constructor(private fb: FormBuilder, @Inject(MAT_DIALOG_DATA) public data: any, \n public testsService:TestsService, public candidatesService:CandidatesService, public alertService:AlertsService,\n public dialogRef: MatDialogRef, public dialog: MatDialog) { }\n\n ngOnInit(): void {\n this.testsService.getCandidatesAssessmets(this.data.requestId,\n {type: 'assessment'}).\n subscribe((resp: any) => {\n this.candidates = resp.data\n });\n }\n createAssessment(){\n this.assessmentForm.get('candidate_ids').setValue( this.assessmentForm.get('candidate_ids').value.toString())\n //a solicitud de la MJ010 se valida que minimo sean dos responsables.\n if(this.validTwoRes > 1)\n {\n this.testsService.postRoomAssessmet(this.assessmentForm.getRawValue()).subscribe((res:any)=>{\n this.alertService.alertSuccess('¡Hecho!', res);\n this.dialogRef.close(true)\n }); \n }else{\n this.alertService.alertError(\"Error\",\"Debes seleccionar mínimo dos responsables\");\n }\n }\n searchUsers(rol, where){\n const saerchDialog = this.dialog.open( AssingUserComponent, {\n data: { role: rol}\n });\n saerchDialog.afterClosed().subscribe(res=>{\n if(res){\n this.validTwoRes++;\n this.assessmentForm.get(`user_${where}_id`).setValue(res.user.rrhh_id)\n this[`user_${where}_name`]= res.user.name\n }\n })\n }\n pushCandidates(event){\n this.assessmentForm.get('candidate_ids').setValue(event.selectedOptions.selected.map(item => item.value.id))\n this.candidatesSelected= event.selectedOptions.selected.map(item => item.value.name);\n }\n // let optionText = event.source.selected.viewValue;\n}\n","\n

{{data.action}} sala de assessment

\n
\n\n \n \n \n
\n \n Nombre\n \n \n \n \n Capacidad\n \n \n\n \n Fecha Inicio\n \n \n \n \n\n \n Fecha Fin\n \n \n \n \n \n \n Responsable de selección\n \n {{user_selection_name}}\n \n \n \n Responsable de operación\n \n {{user_operation_name}} \n \n \n \n Responsable de formación\n \n {{user_formation_name}}\n \n \n \n Descripción\n \n \n \n
\n
\n \n \n \n
\n\n
\n \n

Seleccione a los candidatos

\n
0\"> \n \n Seleccionar todos\n \n \n
\n

No hay candidatos disponibles

\n
\n \n \n {{candidate.name}}\n \n \n \n
\n \n
\n \n \n
\n
\n \n

Resumen de Acción

\n \n
\n

Sala de assessment {{assessmentForm.value.name}}

\n
\n \n

Responsable de selección {{user_selection_name}}

\n

Responsable de operación{{user_operation_name}}

\n

Responsable de formación {{user_formation_name}}

\n
\n

Candidatos Seleccionados

\n
\n

{{ i+1 }}. {{row}}

\n
\n
\n \n \n
\n \n
\n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { CommandsService } from '../services/commands.service';\n\n@Component({\n selector: 'app-comandos-create',\n templateUrl: './comandos-create.component.html',\n styleUrls: ['./comandos-create.component.sass']\n})\nexport class ComandosCreateComponent implements OnInit {\n formCommand: FormGroup = new FormGroup({\n id: new FormControl(null, []),\n nombre: new FormControl('', [Validators.required]),\n comando: new FormControl('', [Validators.required]),\n });\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alertService: AlertsService,\n private matDialogRef: MatDialogRef,\n private matSnackBar: MatSnackBar,\n private commandService: CommandsService\n ) { }\n\n ngOnInit(): void {\n if (this.data.command) {\n this.formCommand.get('id').setValue(this.data.command.id);\n this.formCommand.get('nombre').setValue(this.data.command.nombre);\n this.formCommand.get('comando').setValue(this.data.command.comando);\n }\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-02-22\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formCommand.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-22\n * Metodo que guarda o actualiza un comando. \n */\n saveCommand(): void {\n if (this.formCommand.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.commandService.storeCommand(this.formCommand.value).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(res);\n });\n }\n });\n } else {\n this.formCommand.markAllAsTouched();\n }\n }\n}","
\n
\n \n
\n
\n
\n
\n {{ data.command === null ? 'Crear comando' : 'Editar comando' }}\n
\n \n
\n
\n
\n \n Nombre del comando\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n Detalle del comando\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\nconst CRM_URL = environment.CRM_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GroupsService {\n\n constructor(private http: HttpClient, private AuthService: AuthService) { }\n\n getGroups(direction, campaignid) {\n\n const httpOptions = {\n params: new HttpParams().set(\"campaign_id\", campaignid),\n headers: new HttpHeaders({\n\n Authorization: 'Bearer' + this.AuthService.getUser().access_token,\n }),\n };\n return this.http.get(`${CRM_URL}${direction}`, httpOptions);\n }\n getGroupsByUser(direction, id) {\n return this.http.get(`${CRM_URL}${direction}${id}`);\n }\n\n putState(id, state) {\n return this.http.put(`${CRM_URL}deletegroup/` + id, state);\n\n }\n\n\n createGroup(campaignid, body) {\n const httpOptions = {\n params: new HttpParams().set(\"campaign_id\", campaignid),\n headers: new HttpHeaders({\n Authorization: 'Bearer' + this.AuthService.getUser().access_token,\n }),\n };\n return this.http.post(`${CRM_URL}savegroup`, body, httpOptions);\n }\n\n getUsers(id) {\n return this.http.get(`${CRM_URL}searchUser/${id}`);\n }\n\n getGroupById(id) {\n return this.http.get(`${CRM_URL}searchgroup/${id}`);\n }\n\n updateGroup(id, body) {\n return this.http.put(`${CRM_URL}updategroup/${id}`, body);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { InactiveDaysRoutingModule } from './inactive-days-routing.module';\nimport { InactiveDatesListComponent } from './pages/inactive-dates-list/inactive-dates-list.component';\nimport { CreateInactiveDatesComponent } from './pages/create-inactive-dates/create-inactive-dates.component';\nimport { MaterialModule } from '../../../../shared/material/material.module';\n\n\n@NgModule({\n declarations: [InactiveDatesListComponent, CreateInactiveDatesComponent],\n imports: [\n CommonModule,\n InactiveDaysRoutingModule,\n MaterialModule\n ]\n})\nexport class InactiveDaysModule { }\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatOption } from '@angular/material/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSelect } from '@angular/material/select';\nimport { ControlService } from 'src/app/modules/calidad/services/control.service';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-dialog-grupo',\n templateUrl: './dialog-grupo.component.html',\n styleUrls: ['./dialog-grupo.component.sass']\n})\nexport class DialogGrupoComponent implements OnInit {\n private uuid = 'bfde9f1e-92f2-11ee-b9d1-0242ac120002';\n public config: any;\n\n titulo:string = '';\n grupoForm:FormGroup;\n\n supervisores = [];\n campaigns = [];\n nombre_grupo:string = '';\n nombre_supervisor;\n\n companiaMatriz;\n\n saveGroup;\n editGroup;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private grupoRef:MatDialogRef,\n private fb:FormBuilder,\n private controlService:ControlService,\n private matrizService:MatrizService,\n private configService: TranslatesService,\n ) {}\n\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n this.createForm(this.config);\n });\n this.getSelects();\n this.edit();\n }\n\n createForm(config){\n if (this.datos.type == 'crear') {\n this.titulo = config.labels.saveGroup;\n }else if (this.datos.type == 'editar') {\n this.titulo = config.labels.editGroup;\n }else{\n this.titulo = '';\n }\n\n if ( typeof this.datos.campania === 'object') {\n this.companiaMatriz = this.datos.campania.id\n }\n if( this.datos.campania.length == 0){\n this.companiaMatriz = 'ninguna';\n }\n this.grupoForm = this.fb.group({\n campania:[{value:this.companiaMatriz,disabled:true}],\n supervisor_id: ['',Validators.required],\n nombre: [{value:'',disabled:true}],\n correo_jefe_opraciones: ['',[Validators.required,Validators.email]],\n correo_supervisor: ['',[Validators.required,Validators.email]],\n });\n\n }\n\n enableNombre(selectSupervisor:MatSelect){\n const data ={\n idMatriz: this.datos.idMatriz,\n idSupervisor: this.grupoForm.get('supervisor_id').value\n }\n if (selectSupervisor.value != null) {\n this.nombre_supervisor = (selectSupervisor.selected as MatOption).viewValue;\n this.controlService.getConsecutivo(data).subscribe((resp:any)=>{\n this.nombre_grupo = this.datos.matriz.replace(' ','-') + '_' + this.nombre_supervisor.replace(' ','-')+'_'+resp;\n this.grupoForm.get('nombre').setValue(this.nombre_grupo);\n });\n }else{\n this.nombre_grupo = '';\n this.grupoForm.get('nombre').setValue(this.nombre_grupo);\n }\n }\n\n edit(){\n if (this.datos.type == 'editar') {\n this.controlService.getGrupoById(this.datos.id_grupo).subscribe((resp:any)=>{\n this.grupoForm.get('supervisor_id').setValue(resp[0].supervisor_id);\n this.grupoForm.get('nombre').setValue(resp[0].nombre);\n this.grupoForm.get('correo_jefe_opraciones').setValue(resp[0].correo_jefe_opraciones);\n this.grupoForm.get('correo_supervisor').setValue(resp[0].correo_supervisor);\n this.nombre_supervisor = resp[0].nombre_supervisor;\n });\n }\n }\n\n updateGrupo(){\n if (this.grupoForm.invalid) {\n return;\n }\n this.grupoForm.get('nombre').enable();\n Object.assign(this.grupoForm.value,{id:this.datos.id_grupo, idMatriz: this.datos.idMatriz,nombre_supervisor:this.nombre_supervisor});\n this.controlService.updateGroupById(this.grupoForm.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess(this.config.modal.excellent,this.config.modal.responseOk)\n this.closeDialog();\n }else{\n this.grupoForm.get('nombre').disable();\n Tools.swalError('¡Oops!',this.config.modal.responseError);\n }\n });\n }\n\n getSelects(){\n this.controlService.getSupervisores().subscribe((resp:any)=>{\n this.supervisores = resp;\n });\n this.matrizService.getCampaings().subscribe((resp:any)=>{\n this.campaigns = resp.data;\n });\n }\n\n closeDialog(){\n this.grupoRef.close();\n }\n\n createGroup(){\n if (this.grupoForm.invalid) {\n return\n }\n this.grupoForm.get('nombre').enable();\n this.grupoForm.addControl('nombre_supervisor',new FormControl(this.nombre_supervisor));\n this.grupoForm.get('supervisor_id').setValue(this.grupoForm.get('supervisor_id').value);\n Object.assign(this.grupoForm.value,{idMatriz: this.datos.idMatriz})\n this.controlService.createGroup(this.grupoForm.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess(this.config.modal.excellent, this.config.modal.responseOk)\n this.closeDialog();\n }else{\n this.grupoForm.get('nombre').disable();\n Tools.swalError('¡Oops!', this.config.modal.responseError);\n }\n });\n }\n\n}\n","\n
\n

{{titulo}}

\n \n
\n \n {{config.labels.campaign}}\n \n {{config.labels.noneOption}}\n {{campaign.name}}\n \n \n \n {{config.labels.supervisor}}\n \n \n {{supervisor.nombre | titlecase}}\n \n {{config.labels.selectOptionError}}\n \n \n {{config.labels.groupName}}\n \n {{config.labels.groupNameError}}\n \n \n {{config.labels.operationsChiefEmail}}\n \n {{config.labels.requiredEmail}}\n {{config.labels.invalidEmail}}\n \n \n {{config.labels.supervisorEmail}}\n \n {{config.labels.requiredEmail}}\n {{config.labels.invalidEmail}}\n \n
\n \n \n
\n
\n
\n","import { Component, OnInit, Input, Output, EventEmitter} from '@angular/core';\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { map, startWith, filter } from 'rxjs/operators';\nimport { QuestionBase } from 'src/app/core/models/questions-base';\nimport { DateAdapter } from '@angular/material/core';\nimport { DynamicFormServiceService } from 'src/app/core/services/rest/dynamic-form-service.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { RequireMatch } from 'src/app/core/services/utils/question-control.service';\n\n@Component({\n selector: 'form-questions-2',\n templateUrl: './dynamic-form-question.component.html',\n styleUrls: ['./dynamic-form-question.component.sass']\n})\nexport class DynamicFormQuestionComponent {\n myControl = new FormControl();\n options: any = [];\n filteredOptions: Observable;\n @Output() addField = new EventEmitter();\n @Output() addDependece = new EventEmitter();\n @Input() question: QuestionBase;\n @Input() form: FormGroup;\n nameFile: string;\n\n @Output() addFile = new EventEmitter();\n\n constructor(private fb: FormBuilder,\n private adapter: DateAdapter,\n private dynamicService: DynamicFormServiceService,\n private destroyService: DestroyComponentService) {\n this.adapter.setLocale('es');\n }\n\n ngOnInit(): void {\n if(this.question.controlType == 'dropdown-request'){\n this.getOptions(this.question)\n .then(() =>{\n let index = this.question.options.findIndex(state => JSON.stringify(state) === JSON.stringify(this.question.value));\n if(index >= 0){\n this.form.controls[this.question.key].setValue(this.question.options[index])\n }\n });\n }\n\n this.filteredOptions = this.form.get(this.question.key).valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(state => state ? this._filter(state) : this.question.options.slice(0, 5))\n );\n }\n\n private _filter(value: string): any[] {\n if (value) {\n const filterValue = value.toLowerCase();\n return this.question.options.filter(state => state.name.toLowerCase().includes(filterValue));\n }\n }\n\n displayFn(id): any {\n if (!id) {\n return '';\n }\n const index = this.question.options.findIndex(state => state.id === id);\n return this.question.options[index].name;\n }\n\n /**\n * @author Karol García\n * @createdate 2021-04-12\n * Método que devuelve el nombre elegido en loa autocomplete\n */\n displayFn2(option): any {\n if (!option) {\n return '';\n }\n let index = this.question.options.findIndex(state => JSON.stringify(state) === JSON.stringify(option));\n return this.question.options[index].name;\n }\n\n\n getErrorMessage() {\n if (this.form.controls[this.question.key].hasError('required')) {\n return `${this.question.label} es requerido`;\n }\n if (this.form.get(this.question.key).hasError('invalidAutocompleteObject')) {\n return `No es una opción válida`;\n }\n if (this.form.get(this.question.key).hasError('maxlength')) {\n return `${this.question.label} supera el límite de ${this.question.maxLength} caracteres`;\n }\n if (this.form.get(this.question.key).hasError('minlength')) {\n return `${this.question.label} debe tener ${this.question.minLength} mínimo caracteres`;\n }\n if (this.form.get(this.question.key).hasError('email')) {\n return `No es un correo electrónico válido`;\n }\n }\n addQuestion(question) {\n this.addField.emit(question);\n }\n optionSelected(event, question) {\n let aux: any;\n aux = {\n idFather: question.id,\n idValue: event\n };\n this.addDependece.emit(aux);\n }\n\n onFileSelected(e, id) {\n this.question.value = e.target.files[0].name;\n const data = {\n id: id,\n file: e.target.files[0]\n };\n this.addFile.emit(data);\n\n }\n getOptions(question) {\n var promise = new Promise((resolve) => {\n if(question.apiServe){\n this.dynamicService.getData(question.apiServe,`dropdown/options/${question.key}`).subscribe( (options:any) => {\n if(options.length > 7){\n this.question.controlType ='autocomplete2'\n this.form.controls[this.question.key].setValidators([\n RequireMatch,\n ]);\n }\n this.question.options = options;\n resolve(options);\n });\n }\n });\n return promise;\n }\n\n downloadFile(value: any) {\n\n const data = new FormData();\n\n data.append( 'url', value.value);\n\n this.dynamicService.downloadFile(data).subscribe((resp: any) => {\n importedSaveAs(resp, value.nameFile);\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n}\n","
\n \n {{question.label}}\n $  \n
\n
\n \n
\n
\n \n
\n
\n \n \n {{option.name}}\n \n \n
\n
\n \n \n {{option.name}}\n \n \n
\n
\n \n \n {{option.name}}\n \n \n
\n
\n \n \n \n {{option.name}}\n \n \n
\n
\n \n
\n \n \n \n
\n \n \n \n {{option.name}}\n \n \n
\n
\n\n
\n
\n \n \n {{option.name}}\n \n \n
\n\n
\n \n \n \n \n {{getErrorMessage()}}\n\n\n
\n \n\n
\n
\n

{{question.label}}

\n
\n \n \n {{option.name}}\n \n \n
\n
\n
\n \n
\n\n {{question.label}}
\n\n

{{question.nameFile}}

\n \n
\n
\n\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { EDITOR_CONFIG } from '../gestionador-correos/ConfigAngularEditor';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { EscalationService } from 'src/app/modules/crm/services/rest/escalation.service';\n\n@Component({\n selector: 'app-view-plantillas',\n templateUrl: './view-plantillas.component.html',\n styleUrls: ['./view-plantillas.component.sass']\n})\nexport class ViewPlantillasComponent implements OnInit {\n editorConfig: any = EDITOR_CONFIG;\n formViewPlantillas = new FormGroup({\n plantilla: new FormControl('', []),\n bodyPlantilla: new FormControl('', [Validators.required]),\n files: new FormControl([])\n });\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: { \n id: any,\n escalamiento: any, \n plantillas: any }, \n private alertService: AlertsService,\n private escalamientosService: EscalationService,\n public dialogRefViewPlantillas: MatDialogRef) { }\n\n ngOnInit(): void {\n \n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-02-02\n * Metodo que cambia la plantilla html sobre el cuerpo del correo.\n * @param $event Variable que trae toda la informacion del campo. \n */\n changePlantillaEmailBody($event: any): void {\n const idPlantilla = $event.value;\n const searchPlantilla = this.data.plantillas.find(item => { return item.id === idPlantilla });\n if (searchPlantilla) this.formViewPlantillas.get('bodyPlantilla').setValue(searchPlantilla.body);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-02-09\n * Metodo que guarda la PQRS al cerrarse.\n */\n cerrarPqrs(): void {\n if (this.formViewPlantillas.valid) {\n const editForm = new FormData();\n editForm.append('solucionador_id' , this.data.escalamiento.solucionador_id);\n editForm.append('estado_id' , this.data.escalamiento.estado_id);\n editForm.append('preguntas' , JSON.stringify(this.data.escalamiento.preguntas));\n editForm.append('form_answer_id', this.data.escalamiento.form_answer_id);\n editForm.append('id_plantilla', this.formViewPlantillas.get('plantilla').value);\n editForm.append('html_body', this.formViewPlantillas.get('bodyPlantilla').value);\n for (let i = 0; i < this.formViewPlantillas.get('files').value.length; i ++) {\n editForm.append(`adjunto${i}`, this.formViewPlantillas.get('files').value[i].file);\n }\n this.escalamientosService.postFormEscalation(editForm, this.data.id).subscribe((resp) => {\n if (resp) {\n this.alertService.alertWithAnyProperties('Editado', 'La PQRS fue editada correctamente', 'success', 'Continuar').then(confirm => {\n if (confirm.isConfirmed) {\n this.dialogRefViewPlantillas.close();\n }\n });\n }\n });\n } else {\n this.formViewPlantillas.markAllAsTouched();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-02-11\n * Metodo que envia los archivos desde el componente hijjo. \n * @param $event Lista de archivos. \n */\n setListFiles($event: any): void {\n this.formViewPlantillas.get('files').setValue($event);\n }\n}","

Finalizar PQRS

\n
\n
\n
\n
\n Nota: Desde aquí podrá enviar la respuesta al cliente, adicional si tiene una plantilla perzonalizada podra seleccionarla y editarla.\n
\n
\n
0\" class=\"row\">\n
\n \n Plantilla HTML\n \n {{ plantilla.name }}\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n Este campo es requerido\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { CampaignInterface } from '../../interfaces/CampaignInterface';\nimport { DashboardFilterInterface } from '../../interfaces/DashboardFilter';\nimport { PositionInterface } from '../../interfaces/PositionInterface';\nimport { RrhhService } from '../../services/rrhh.service';\nimport {map, startWith} from 'rxjs/operators';\nimport { NominaService } from '../../services/nomina.service';\nimport { DashboardService } from '../../services/dashboard.service';\nimport { DashboardInterface } from '../../interfaces/DashboardInterface';\nimport { DialogRole, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { UsersService } from 'src/app/modules/ciu/services/rest/users.service';\nimport { UserPermissionsInterface } from '../../interfaces/UserPermissionsInterface';\nimport { MatListItem, MatListOption, MatSelectionList } from '@angular/material/list';\n\n\n\n@Component({\n selector: 'app-edit-configuration',\n templateUrl: './edit-configuration.component.html',\n styleUrls: ['./edit-configuration.component.sass']\n})\nexport class EditConfigurationComponent implements OnInit {\n form;\n findUserForm;\n campaings : CampaignInterface[];\n filteredCampaigns : Observable;\n positions : PositionInterface[];\n filteredPositions : Observable;\n type_assignment : any[] = [{id: 1, name: \"Usuarios\"} , {id: 2, name: \"Campaña\"} ]\n type_documents : any = []\n usuariosPermisos : UserPermissionsInterface[] = []\n\n\n\n\n\n\n\n constructor(\n private fb : FormBuilder,\n private dialogRef : MatDialogRef,\n public rrhhService : RrhhService,\n public nominaService : NominaService,\n public dashService : DashboardService,\n public alertService : AlertsService,\n private candidateService : CandidatesService,\n private userService : UsersService,\n @Inject(MAT_DIALOG_DATA) public data : DashboardInterface,\n ) { }\n\n\n\n\n ngOnInit(): void {\n if(this.data == null){\n this.form = this.fb.group({\n nombre : ['', Validators.required],\n campaign_id : ['', [Validators.required, this.requireMatch]],\n position_id : ['', [Validators.required , this.requireMatch ]],\n key : ['', [Validators.required , Validators.pattern(\"^[a-zA-Z0-9_\\-/]*$\") ]],\n filters : this.fb.array([]),\n type_assignment : [ '',Validators.required ],\n type_document :[''],\n numero_documento : [''],\n usuarios : ['', [Validators.required, this.requireMatchUser]]\n });\n }\n else\n {\n\n\n this.form = this.fb.group({\n nombre : [this.data.nombre, Validators.required],\n campaign_id : ['', [Validators.required, this.requireMatch]],\n position_id : ['', [Validators.required , this.requireMatch ]],\n key : [this.data.key, [Validators.required ]],\n filters : this.fb.array([]),\n type_assignment : [ '',Validators.required ],\n type_document : [''],\n numero_documento : [''],\n usuarios : ['']\n });\n\n this.usuariosPermisos = this.data[\"user_permissions\"];\n\n\n if(this.data.user_permissions.length > 0){\n this.form.get(\"type_assignment\").setValue(1);\n this.typeChange(1);\n this.form.get(\"usuarios\").setValue(this.usuariosPermisos.map( item => item.rrhh_id ) );\n }\n else\n {\n this.form.get(\"type_assignment\").setValue(2);\n this.typeChange(2);\n }\n\n\n\n this.form.get(\"campaign_id\").setValue( this.data.campaign_id );\n this.data.filters.forEach( f => this.addNewItem( f ) );\n }\n\n this.candidateService.getIdTypes().subscribe(resp => {\n this.type_documents = resp;\n });\n\n\n\n\n //Consulta campañas\n this.nominaService.getCampaings().subscribe( (campaings:CampaignInterface[]) => {\n this.campaings = campaings;\n this.filteredCampaigns = this.form.controls[\"campaign_id\"].valueChanges.pipe(\n startWith(''),\n map((value:string) => this._filterCampaign(value)),\n );\n });\n\n\n //Consulta cargos\n this.rrhhService.getPositions().subscribe( (positions:PositionInterface[]) => {\n this.positions = positions;\n\n const position = this.positions.find( p => this.data ? p.name == this.data.position : null );\n if( position !== undefined ){\n this.data.position_id = position.id;\n this.form.get(\"position_id\").setValue(this.data.position_id);\n }\n\n this.filteredPositions = this.form.controls[\"position_id\"].valueChanges.pipe(\n startWith(''),\n map((value:string) => this._filterPosition(value)),\n );\n });\n\n }\n\n\n /**\n * Filtra campaña al evento onkeyrpress del autocomplete\n * @param id\n * @returns\n */\n private _filterCampaign(id:string): CampaignInterface[] {\n if (typeof id !== \"string\") return;\n const filterValue = id.toLowerCase();\n return this.campaings.filter(option => option.name.toLowerCase().includes(filterValue));\n }\n\n /**\n * Filtra cargo al evento onkeyrpress del autocomplete\n * @param id\n * @returns\n */\n private _filterPosition(id:string): PositionInterface[] {\n if (typeof id !== \"string\") return;\n const filterValue = id.toLowerCase();\n return this.positions.filter(option => option.name.toLowerCase().includes(filterValue));\n }\n\n /**\n * Muestra el nombre de la campaña al seleeccionarla en el autocomplete\n * @param id\n * @returns\n */\n displayCampaign( id) {\n if (!id) return '';\n\n let index = this.campaings.findIndex(campaign => campaign.id === id);\n return this.campaings[index].name;\n }\n\n\n /**\n * Muestra el nombre del cargo al seleeccionarla en el autocomplete\n * @param id\n * @returns\n */\n displayPosition( id) {\n if (!id) return '';\n\n let index = this.positions.findIndex(position => position.id === id);\n return this.positions[index].name;\n }\n\n\n addNewItem( filter: DashboardFilterInterface | null = null ){\n const controls = this.form.controls['filters'] as FormArray;\n let formGroup;\n if(filter == null){\n formGroup = this.fb.group({\n id : [ '' ],\n column : [ '' , Validators.required],\n value : [ '' , Validators.required],\n });\n }\n else\n {\n\n formGroup = this.fb.group({\n id : [ filter.id ],\n column : [ filter.column, Validators.required],\n value : [ filter.value, Validators.required],\n });\n\n }\n controls.push(formGroup);\n\n }\n\n\n\n\n\n\n removeItem(i: number) {\n const controls = this.form.controls['filters'];\n controls.removeAt(i);\n }\n\n requireMatch(control: AbstractControl) {\n const selection: any = control.value;\n if (typeof selection === \"string\") {\n return { incorrect: true };\n }\n return null;\n }\n\n requireMatchUser(control: AbstractControl) {\n const selection: any = control.value;\n if (typeof selection === \"string\" || (typeof selection === \"object\" && selection.length < 1)) {\n return { incorrect: true };\n }\n return null;\n }\n\n getFiltersControls(){\n return (this.form.get('filters') as FormArray).controls;\n }\n\n /**\n * Envía datos para almacenar el formulario\n */\n guardar(){\n\n if( this.form.get(\"type_assignment\").value == 2 ){\n //dash.user_permissions = [];\n this.form.get(\"usuarios\").setValue([]);\n }\n\n const dash:DashboardInterface = this.form.value;\n let action;\n\n if( dash.position_id.toString() !== \"\" )\n {\n dash.position = this.positions.find(p => p.id == dash.position_id ).name\n }\n else\n {\n dash.position = null;\n }\n\n\n if( this.data == undefined ){\n //create\n action = this.dashService.guardar(dash);\n }\n else\n {\n action = this.dashService.actualizar(dash,this.data.id);\n }\n\n\n action.subscribe( result => {\n this.alertService.alertSuccess('¡Correcto!','Configuración almacenada correctamente');\n this.dialogRef.close();\n },\n error => {\n console.log(error);\n this.alertService.alertError(\"¡Atención!\",\"No se almacenó el registro\")\n }\n );\n }\n\n\n\n typeChange(type){\n if (type==2){\n this.form.get(\"campaign_id\").setValidators([Validators.required, this.requireMatch]);\n this.form.get(\"position_id\").setValidators([Validators.required, this.requireMatch]);\n this.form.get(\"usuarios\").setValidators();\n }else{\n this.form.get(\"campaign_id\").clearValidators();\n this.form.get(\"position_id\").clearValidators();\n this.form.get(\"usuarios\").setValidators([Validators.required, this.requireMatchUser]);\n }\n this.form.get(\"campaign_id\").updateValueAndValidity();\n this.form.get(\"position_id\").updateValueAndValidity();\n this.form.get(\"usuarios\").updateValueAndValidity();\n\n\n }\n\n findPerson( ){\n const n_documento = this.form.get(\"numero_documento\").value;\n const type_document = this.form.get(\"type_document\").value;\n\n this.userService.getUserByDocument(n_documento, type_document).subscribe((resp) => {\n if( this.usuariosPermisos.filter( e => e.rrhh_id == resp.data.id ).length == 0 ){\n resp.data[\"document\"] = resp.data[\"documento\"];\n this.usuariosPermisos.push(resp.data);\n this.form.get(\"numero_documento\").setValue(\"\");\n this.form.get(\"type_document\").setValue(\"\");\n\n\n this.form.controls.usuarios.patchValue([\n ...this.usuariosPermisos.map((item) => item.rrhh_id)\n ]);\n\n\n\n }\n }) ;\n }\n\n\n\n\n}\n","

Crear configuración de reporte

\n
\n
\n
\n
\n \n Nombre del reporte *\n \n Campo obligatorio\n \n
\n
\n \n Identificador de reporte*\n \n Campo obligatorio\n No debe contener espacios ni caracteres especiales\n \n
\n
\n
\n
\n \n Tipo\n \n {{type.name}} \n \n Seleccione un elemento de la lista\n \n
\n\n
\n \n Número de documento\n \n Campo obligatorio\n \n
\n
\n \n Tipo\n \n {{type.name}} \n \n Seleccione un elemento de la lista\n \n
\n
\n \n \n \n
\n\n
\n\n\n\n
\n
\n \n\n Campaña\n \n \n \n {{camp.name}}\n \n \n Seleccione un elemento de la lista\n \n
\n\n
\n \n\n Cargo\n \n \n \n {{pos.name}}\n \n \n Seleccione un elemento de la lista\n \n
\n
\n\n\n\n\n
0 \">\n
\n \n \n \n Nombre: {{usuario.name}} | Doc: {{ usuario.document }}\n \n \n \n\n
\n
\n
\n\n\n\n
\n \n \n \n\n \n \n \n \n\n \n \n \n\n \n
\n \n Columna\n \n Campo obligatorio \n \n \n \n Valor\n \n Campo obligatorio \n \n \n \n
\n
\n\n
\n
\n \n Guardar\n
\n
\n
\n","import { Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { ControlService } from 'src/app/modules/calidad/services/control.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport Swal from 'sweetalert2';\nimport { DialogGrupoComponent } from '../dialog-grupo/dialog-grupo.component';\n\n@Component({\n selector: 'app-tabla-control',\n templateUrl: './tabla-control.component.html',\n styleUrls: ['./tabla-control.component.sass']\n})\nexport class TablaControlComponent implements OnInit,OnDestroy {\n @Input() campania;\n @Input() idMatriz;\n @Input() matriz;\n dataSource = [];\n displayedColumns:string[] = ['acciones','fecha_creacion','nombre_grupo','campania','supervisor'];\n filtroGrupo:string = '';\n\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions = [5,10,25,50,100];\n @ViewChild(MatPaginator) paginator:MatPaginator;\n\n //Observable para los cambios de la tabla\n subscription:Subscription; \n\n constructor(\n private dialog:MatDialog,\n private router:Router,\n private controlService:ControlService\n ) { }\n\n ngOnInit(): void {\n this.getGrupos(this.page,this.pageSize);\n this.subscription = this.controlService.refresh$.subscribe(()=>{\n this.getGrupos(this.page,this.pageSize);\n });\n }\n\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n\n pageEvent(event:any){\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getGrupos(this.page,this.pageSize);\n }\n\n filtro(){\n this.paginator.firstPage();\n this.getGrupos(this.page,this.pageSize);\n }\n\n dialogControl(type,id_grupo?){\n const controlRef = this.dialog.open(DialogGrupoComponent,{\n width:'840px',\n disableClose: true,\n data:{\n type:type,\n id_grupo,\n campania: this.campania,\n idMatriz: this.idMatriz,\n matriz: this.matriz,\n },\n });\n }\n\n detailGrupo(idGrupo){\n this.router.navigateByUrl(`/mios/calidad/grupo/${idGrupo}`);\n }\n\n getGrupos(page,pageSize){\n const params = {\n nombre: '',\n numeroReg: pageSize,\n page,\n idMatriz: this.idMatriz,\n }\n if (this.filtroGrupo != '') {\n params.nombre = this.filtroGrupo;\n }\n\n this.controlService.getGroups(params).subscribe((resp:any)=>{\n this.dataSource = resp.data;\n this.length = resp.total;\n });\n }\n\n deleteGrupoById(id_grupo){\n Swal.fire({\n icon:'warning',\n title: '¿Esta seguro de eliminar este grupo?',\n html: '

¿Deseas eliminar permanentemente el grupo?

Recuerda que esta acción será definitiva y no se podrá deshacer.

',\n showCancelButton: true,\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true,\n width: '810px',\n padding: '2em 7em',\n }).then((result)=>{\n if (result.isConfirmed) {\n this.controlService.deleteGrupoById(id_grupo).subscribe((resp:any)=>{\n if (resp.respuesta.codigo === 202) {\n Tools.swalSuccess('¡Excelente!','El grupo se ha eliminado con éxito');\n }else {\n Swal.fire({\n icon: 'error',\n title: '¡Oops!',\n text: 'Lo sentimos ha sucedio un error',\n showConfirmButton: false,\n timer: 2500\n })\n }\n });\n }\n });\n }\n\n}\n","
\n
\n
\n \n Filtrar por grupo\n \n \n \n
\n
\n \n
\n
\n
\n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n Fecha de creación {{ element.matriz.created_at | date:'dd/MM/yyyy' }} Nombre del grupo {{ element.matriz.nombre }} Campaña {{ campania.name }} Supervisor {{ element.matriz.nombre_supervisor }}
No hay registros para mostrar
\n \n \n \n \n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { InteligenciaService } from 'src/app/modules/calidad/services/inteligencia.service';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-matrices-asignadas',\n templateUrl: './matrices-asignadas.component.html',\n styleUrls: ['./matrices-asignadas.component.sass']\n})\nexport class MatricesAsignadasComponent implements OnInit {\n private uuid = '1a197260-9060-11ee-b9d1-0242ac120002';\n public config: any;\n\n matrices = [];\n constructor(\n private inteligenciaS:InteligenciaService,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.getMatrix();\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n getMatrix(){\n this.inteligenciaS.getMatrix(this.datos.id).subscribe((resp:any)=>{\n this.matrices = resp;\n });\n }\n\n}\n","\n
\n

{{config.title}}

\n \n \n {{matriz.nombre | slice:0:20}}\n \n
\n","export class Menu {\n id: number;\n application_id:number;\n name:string;\n icon:string; \n url:string; \n index:string;\n}","import { Component, ComponentFactoryResolver, Injectable, OnInit } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { ClientesService } from '../../services/rest/clientes.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { ClientesCrearComponent } from '../clientes-crear/clientes-crear.component';\nimport { Route, Router, ActivatedRoute, Params } from '@angular/router';\nimport { map, debounceTime } from 'rxjs/operators';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\nimport { FormControl } from '@angular/forms';\n\n@Component({\n selector: 'app-clientes',\n templateUrl: './clientes.component.html',\n styleUrls: ['./clientes.component.sass']\n\n})\n\n//@Injectable({providedIn:'root'});\nexport class ClientesComponent implements OnInit {\n\n length;\n isPage = 1;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n newgroupComponent: boolean = false;\n idcliente: number;\n public clientesarray: any[] = [];\n dataSource = new MatTableDataSource();\n clienteop: { idcliente: number };\n filterStates: any;\n user: any;\n nameControl = new FormControl();\n typeControl = new FormControl();\n numberControl = new FormControl();\n name: any = '';\n id_type: any = '';\n number: any = '';\n rolUser: any = '';\n selectedIndex: any = 0;\n\n constructor(private clientesService: ClientesService,\n private destroyService: DestroyComponentService,\n private router: Router,\n private route: ActivatedRoute,\n private cfr: ComponentFactoryResolver,\n public dialog: MatDialog,\n private authService: AuthService,\n ) {\n this.user = this.authService.decryptToken().rrhh_id;\n }\n\n\n ngOnInit(): void {\n this.clientesService.getClientes().subscribe((resp: any) => {\n this.clientesarray = resp.data;\n this.dataSource = resp;\n });\n this.nameControl.valueChanges.pipe(debounceTime(1000)).subscribe(res => {\n this.name = res;\n this.getClientsBy();\n });\n this.numberControl.valueChanges.pipe(debounceTime(1000)).subscribe(res => {\n this.number = res;\n this.getClientsBy();\n });\n this.typeControl.valueChanges.subscribe(res => {\n this.id_type = res;\n this.getClientsBy();\n });\n\n const local = this.authService.getUser();\n local.roles.forEach((rol) => {\n const name = rol.split('::');\n if (name[0] == 'crm-cial' && name[1] == 'comercial') {\n this.rolUser = name[1];\n }\n if (name[0] == 'crm-cial' && name[1] == 'administrador') {\n this.rolUser = name[1];\n }\n if (name[0] == 'crm-cial' && name[1] == 'implementador') {\n this.rolUser = name[1];\n }\n });\n this.route.queryParams.subscribe(params => {\n this.selectedIndex = params.tab ? params.tab : 0;\n });\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para la apertura de modal de edición de los datos del cliente\n */\n EditarCliente(data: any) {\n const dialogNewRol = this.dialog.open(ClientesCrearComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: data.name || '',\n info: data || ''\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.getClientsBy();\n });\n }\n\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para la apertura de modal de creación de clientes\n */\n AperturaVentana(): void {\n const dialogNewRol = this.dialog.open(ClientesCrearComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Cliente',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.getClientsBy();\n });\n\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para consulta de clientes por nombre, documento y tipo de identificación\n */\n getClientsBy() {\n this.clientesService.getClientesBy(this.name, this.id_type, this.number).subscribe((resp: any) => {\n this.clientesarray = resp.data;\n this.dataSource = resp;\n });\n }\n\n\n\n\n\n\n}\n","
\n\n
\n

\n Clientes

\n

En esta sección podrás gestionar la información de los
clientes tanto externos como internos y crear nuevos.

\n
\n\n \n \n
\n\n \n Cliente\n \n \n \n\n \n Tipo de identificación\n \n Todos\n Nacional\n Internacional\n \n \n\n \n Número de identificación\n \n \n \n\n
\n \n
\n
\n \n
\n
\n \n \n\n
\n \n
\n
\n Cliente \n
\n

\n {{client?.name}}\n

\n
\n
\n \n \n {{client?.id_number}}\n
\n\n
\n\n
\n \n \n
\n  \n {{client?.oportunities}}
\n  \n {{client?.service_line}}
\n  \n {{client?.created_at|date:'yyyy-MM-dd': 'UTC'}}\n
\n\n
\n \n
\n \n \n
\n\n
\n
\n\n\n\n
\n \n
\n \n \n \n \n \n \n \n \n
\n\n\n
\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\nimport { CoachingState } from \"../coaching.state\";\n\nconst getCoachingState = createFeatureSelector('COACHING');\n\nexport const historialSolicitud = createSelector(\n getCoachingState,\n (state) => state.historial.historial,\n);\n\nexport const selectHistorial = createSelector(\n getCoachingState,\n (state) => state.historialById.historial,\n);","export class Aplication {\n id: number;\n \n name:string;\n key:string; \n endpoint:string; \n enforce_schedule:string;\n}","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\n\nconst REPORTS_URL = environment.REPORTS_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportsServiceCiu {\n\n constructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-25\n * Servicio que lista todos los groupes del aplicativo ciu\n * @param reportKey key de powerbi a visualizar\n */\n getReport(reportKey:string): Observable{\n return this.http.get(`${REPORTS_URL}report/tokens?key=${reportKey}` )\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport Pusher from 'pusher-js';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\n@Injectable({\n providedIn: 'root'\n})\n\nexport class PusherService {\n\n private pusherClient: Pusher;\n private pusherClient_global: Pusher;\n\n constructor( private authService:AuthService ) {\n this.pusherClient = new Pusher(environment.pusher_app, { cluster: environment.pusher_cluster });\n this.pusherClient_global = new Pusher(environment.pusher_app_global, { cluster: environment.pusher_cluster });\n\n }\n\n getNotificationsLeads(){\n return this.pusherClient.subscribe('notification-lead');\n }\n\n getNotificationsGlobal(){\n return this.pusherClient_global.subscribe('notification'+this.authService.getUser().rrhh_id);\n }\n}\n","import { M } from '@angular/cdk/keycodes';\nimport { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { JuridicaComponent } from './juridica.component';\n\nconst routes: Routes = [\n { path: '', component: JuridicaComponent },\n { path: 'permit', loadChildren: () => import('../juridica/modules/permit/permit.module').then((m) => m.PermitModule) },\n { path: 'boss-disciplinary-process', loadChildren: () => import('./modules/boss-disciplinary-process/suspension.module').then((m) => m.SuspensionModule) },\n { path: 'reminder', loadChildren: () => import('../juridica/modules/reminder/reminder.module').then((m) => m.ReminderModule) },\n { path: 'certificate', loadChildren: () => import('./modules/boss-disciplinary-process/suspension.module').then((m) => m.SuspensionModule) },\n { path: 'cases', loadChildren: () => import('../juridica/modules/cases/cases.module').then((m) => m.CasesModule) },\n { path: 'finishedcases', loadChildren: () => import('../juridica/modules/finished-cases/finished-cases.module').then((m) => m.FinishedCasesModule) },\n { path: 'disciplinary-process', loadChildren: () => import('../juridica/modules/disciplinary-process/disciplinary-process.module').then((m) => m.DisciplinaryProcessModule) },\n { path: 'suspension-process', loadChildren: () => import('../juridica/modules/suspension-boss/suspension-boss.module').then((m) => m.SuspensionBossModule) },\n { path: 'otrosi', loadChildren: () => import('../juridica/modules/otroSi/otroSi.module').then((m) => m.OtroSiModule) },\n { path: 'cesion', loadChildren: () => import('../juridica/modules/cesion/cesion.module').then((m) => m.CesionModule) },\n { path: 'permit-boss', loadChildren: () => import('../juridica/modules/permit-boss/permit-boss.module').then((m) => m.PermitBossModule) },\n { path: 'endcontract', loadChildren: () => import('../juridica/modules/end-contract/end-contract.module').then((m) => m.EndContractModule) },\n { path: 'pazysalvo', loadChildren: () => import('../juridica/modules/pazysalvo/pazysalvo.module').then((m) => m.PazysalvoModule) },\n { path: 'domestic-calamity', loadChildren: () => import('../juridica/modules/domesticCalamity/domesticCalamity.module').then((m) => m.DomesticCalamityModule) },\n { path: 'suspensions-novelties', loadChildren: () => import('../juridica/modules/suspensions/suspensions.module').then((m) => m.SuspensionsModule) },\n { path: 'function-reminder', loadChildren: () => import('../juridica/modules/function-reminder/function-reminder.module').then((m) => m.FunctionReminderModule) },\n { path: 'assignment-campaign', loadChildren: () => import('./modules/assignment-campaign/assignment-campaign.module').then((m) => m.AssignmentCampaignModule) },\n { path: 'request-cases', loadChildren: () => import('./modules/boss-disciplinary-process/suspension.module').then((m) => m.SuspensionModule) },\n { path: 'validate-process', loadChildren: () => import('./modules/boss-disciplinary-process/suspension.module').then((m) => m.SuspensionModule) },\n { path: 'paz-y-salvos', loadChildren: () => import('./modules/cargues-paz-y-salvos/cargues-paz-y-salvos.module').then((m) => m.CarguesPazYSalvosModule) },\n { path: 'document-signature', loadChildren: () => import('./modules/document-signature/document-signature.module').then((m) => m.DocumentSignatureModule) },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class JuridicaRoutingModule {\n\n}","import { Component, Inject, OnInit } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/auditoria/services/matriz.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\n\n@Component({\n\tselector: 'app-crear-modulo',\n\ttemplateUrl: './crear-modulo.component.html',\n\tstyleUrls: ['./crear-modulo.component.sass']\n})\nexport class CrearModuloComponent implements OnInit {\n\n\tmoduleForm: FormGroup;\n\tmodulos = [];\n\tfilteredOptions: Observable;\n\tverError: boolean = true;\n\tcontinue: boolean = true;\n\tnuevo: boolean = false;\n\tpeso: boolean = true;\n\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tpublic moduleRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public datos: any,\n\t\tprivate matrizService: MatrizService,\n\t) { }\n\n\tngOnInit(): void {\n\t\tthis.createForm();\n\t}\n\n\tcreateForm() {\n\t\tthis.moduleForm = this.fb.group({\n\t\t\tnombre: ['', [Validators.required]],\n\t\t\tpeso: ['', [Validators.min(this.datos.minimo), Validators.max(this.datos.maximo), Validators.required]],\n\t\t\tis_total: [{ value: false, disabled: true }, []],\n\t\t\terror_critico: [{ value: false, disabled: true }, Validators.required],\n\t\t})\n\n\t\tif (this.datos.tipo_matriz == \"Valor\") {\n\t\t\tif (this.datos.tipo_peso) {\n\t\t\t\tif (this.datos.tipo_peso == 'Peso en Items') {\n\t\t\t\t\tthis.peso = true;\n\t\t\t\t\tthis.moduleForm.get('peso').setValue(null);\n\t\t\t\t\tthis.moduleForm.get('peso').disable();\n\t\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t}\n\n\tprivate _filter(value: string): any[] {\n\t\tconst filterValue = value.toLowerCase();\n\t\treturn this.modulos.filter(option => option.nombre.toLowerCase().includes(filterValue));\n\t}\n\n\tdisplayFn(module: any): string {\n\t\treturn module && module ? module : '';\n\t}\n\n\tgetModules() {\n\t\tthis.matrizService.getModules(this.moduleForm.get('nombre').value).subscribe((resp: any) => {\n\t\t\tif (resp.length == 0) {\n\t\t\t\tthis.verError = true\n\t\t\t\tthis.nuevo = true;\n\t\t\t\tthis.moduleForm.get('nombre').setErrors({ invalid: true });\n\t\t\t\tthis.peso = true;\n\t\t\t\tthis.moduleForm.get('error_critico').disable();\n\t\t\t\tthis.continue = true;\n\t\t\t} else {\n\t\t\t\tthis.verError = false;\n\t\t\t\tthis.nuevo = false;\n\t\t\t\tthis.modulos = resp\n\t\t\t\tthis.peso = true;\n\t\t\t\tthis.filteredOptions = this.moduleForm.get('nombre').valueChanges.pipe(\n\t\t\t\t\tstartWith(''),\n\t\t\t\t\tmap(value => this._filter(value))\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\n\tnewModule() {\n\t\tthis.nuevo = false;\n\t\tthis.moduleForm.get('nombre').setErrors(null);\n\t\tif (this.datos.tipo_matriz == \"Cumplimiento\") {\n\t\t\tthis.peso = true\n\t\t} else {\n\t\t\tif (this.datos.tipo_peso) {\n\t\t\t\tif (this.datos.tipo_peso == 'Peso en Módulos') {\n\t\t\t\t\tthis.peso = true;\n\t\t\t\t} else {\n\t\t\t\t\tthis.peso = true;\n\t\t\t\t\tthis.moduleForm.get('peso').setValue(null);\n\t\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.continue = false;\n\t\tthis.moduleForm.get('error_critico').enable();\n\t}\n\n\tsaveModule() {\n\t\tif (this.moduleForm.invalid) {\n\t\t\treturn\n\t\t}\n\t\tif (\n\t\t\tthis.moduleForm.get('error_critico').value\n\t\t\t&& (this.moduleForm.get('peso').value == \"\" || this.moduleForm.get('peso').value == undefined || this.moduleForm.get('peso').value == null)\n\t\t\t&& this.moduleForm.get('is_total').value == false) {\n\t\t\tthis.moduleForm.get('peso').setErrors({ required: true });\n\t\t\treturn;\n\t\t}\n\t\tconst data = {\n\t\t\tidMatriz: this.datos.id_matriz,\n\t\t}\n\n\t\tObject.assign(data, this.moduleForm.value);\n\t\tthis.matrizService.newModule(data).subscribe((resp: any) => {\n\t\t\tif (resp.respuesta.codigo == 202) {\n\t\t\t\tTools.swalSuccess('¡Excelente!', 'Se ha creado el módulo correctamente.');\n\t\t\t\tthis.moduleRef.close();\n\t\t\t} else if (resp.respuesta.codigo > 400) {\n\t\t\t\tTools.swalError('¡Oops!', 'Lo sentimos, ha ocurrido un error inesperado y no fue posible crear el módulo, por favor intenta nuevamente.');\n\t\t\t}\n\t\t}\n\t\t);\n\t}\n\n\t//Obtener los controles del formulario\n\tget errors(): any {\n\t\treturn this.moduleForm.controls;\n\t}\n\n\t/** Metodo que se encarga de habilit el peso\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 16/06/2022 \n\t * @param event:any evento de HTML \n\t */\n\thabilitarPeso(event: any): void {\n\t\tif (event.checked) {\n\t\t\tthis.moduleForm.get('peso').setValue('');\n\t\t\tthis.moduleForm.get('peso').disable();\n\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\tthis.moduleForm.get('peso').setValidators(null)\n\t\t} else {\n\t\t\tthis.moduleForm.get('peso').setValue('');\n\t\t\tthis.moduleForm.get('peso').enable();\n\t\t\tif (this.moduleForm.get('error_critico').value) {\n\t\t\t\tthis.moduleForm.get('peso').setValidators([Validators.min(this.datos.minimo), Validators.max(this.datos.maximo), Validators.required])\n\t\t\t\tthis.moduleForm.get('peso').setErrors({ required: true });\n\t\t\t} else {\n\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t\tthis.moduleForm.get('peso').setValidators([Validators.min(this.datos.minimo), Validators.max(this.datos.maximo)])\n\t\t\t}\n\t\t}\n\n\t}\n\n\t/**\n\t * Metodo que habilita check de afectacion total\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 16/06/2022 \n\t * @param event :evento de cambio de estado en changue\n\t * @return void \n\t */\n\thabilitaCheck(event: any): void {\n\t\tif (event.checked) {\n\t\t\tthis.moduleForm.get('peso').setValidators([Validators.min(this.datos.minimo), Validators.max(this.datos.maximo), Validators.required])\n\t\t\tthis.moduleForm.get('peso').enable()\n\t\t\tthis.moduleForm.get('is_total').enable();\n\t\t} else {\n\t\t\tthis.moduleForm.get('peso').setValidators(null)\n\t\t\tthis.moduleForm.get('is_total').disable();\n\t\t\tif (this.datos.tipo_matriz == \"Valor\") {\n\t\t\t\tif (this.datos.tipo_peso) {\n\t\t\t\t\tif (this.datos.tipo_peso == 'Peso en Items') {\n\t\t\t\t\t\tthis.peso = true;\n\t\t\t\t\t\tthis.moduleForm.get('peso').setValue(null);\n\t\t\t\t\t\tthis.moduleForm.get('peso').disable();\n\t\t\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.moduleForm.get('peso').setValue([Validators.min(this.datos.minimo), Validators.max(this.datos.maximo), Validators.required]);\n\t\t\t\t\t\tthis.moduleForm.get('peso').enable()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\n}\n","\n
\n

Crear módulo

\n \n \n Nombre\n \n \n \n \n {{option.nombre}}\n \n \n No se encontraron coincidencias con el nombre que acabas de ingresar\n \n \n \n Peso\n \n Por favor ingrese un peso.\n Por favor ingresar un peso superior a {{ this.datos.minimo }} .\n Por favor ingresar un peso menor a {{ this.datos.maximo }} .\n \n ¿Es módulo crítico?\n
\n ¿Es afectación total?\n\n
\n \n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { SolicitudesService } from '../../../services/rest/solicitudes.service';\nimport { Solicitud } from '../../Class/solicitud';\nimport { AprobarSolcitudComponent } from '../componentes/aprobar-solcitud/aprobar-solcitud.component';\nimport { ConsultarProveedorComponent } from '../componentes/consultar-proveedor/consultar-proveedor.component';\nimport { CrearSolicitudComponent } from '../componentes/crear-solicitud/crear-solicitud.component';\nimport { ProcesarSolicitudComponent } from '../componentes/procesar-solicitud/procesar-solicitud.component';\n\n@Component({\n selector: 'app-solicitudes-control',\n templateUrl: './solicitudes-control.component.html',\n styleUrls: ['./solicitudes-control.component.sass']\n})\nexport class SolicitudesControlComponent implements OnInit {\n\n constructor(){\n\n }\n\n ngOnInit(): void {\n localStorage.removeItem('filter_request')\n }\n\n}\n","
\n\n
\n

Solicitudes

\n

Revisa y/o gestiona las solicitudes, realiza cotizaciones y órdenes de compras

\n
\n\n \n \n \n \n \n \n \n \n \n\n
\n","import { FormControl } from '@angular/forms';\n\n/**\n * @author Fabian Duran\n * @createdate 2023-07-18\n * Metodo valida si el numero es positivo sobre los campos tipo texto.\n * @param control Control de formulario. \n*/\nexport const validateNumbersNegative = (control: FormControl) => {\n if (control.value && parseInt(control.value) < 0) return { validateNumbersNegative: { valid: false } };\n return null;\n};","import { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Subject, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst AUDITORIA_URL = environment.AUDITORIA_URL;\nconst nomina_url = environment.NOMINA_URL;\n@Injectable({\n providedIn: 'root'\n})\nexport class MatrizService {\n private _refresh$ = new Subject();\n constructor(\n private http:HttpClient,\n ) { }\n\n get refresh$(){\n return this._refresh$;\n }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n createMatrix(data){\n return this.http.post(`${AUDITORIA_URL}crearMatriz`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getTypeMatrix(){\n return this.http.get(`${AUDITORIA_URL}getTipoMatriz`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getIntelligence(){\n return this.http.get(`${AUDITORIA_URL}getInteligenciaNegocio`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getCampaings(){\n return this.http.get(`${nomina_url}campaigns?paginate=0`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getAllMatrix(params){\n return this.http.get(`${AUDITORIA_URL}listarMatrices`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getRange(){\n return this.http.get(`${AUDITORIA_URL}getRangos`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n disableMatrix(id,estado){\n return this.http.post(`${AUDITORIA_URL}desabilitarMatriz/${id}/${estado}`,{})\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getWeight(){\n return this.http.get(`${AUDITORIA_URL}getPeso`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getMatrixById(id){\n return this.http.get(`${AUDITORIA_URL}verMatriz/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n updateMatrix(id,data){\n return this.http.post(`${AUDITORIA_URL}updateMatriz/${id}`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n newModule(data){\n return this.http.post(`${AUDITORIA_URL}crearModulo`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getModules(modulo){\n return this.http.get(`${AUDITORIA_URL}searchModulo?modulo=${modulo}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getModulesMatrix(params:any){\n return this.http.get(`${AUDITORIA_URL}searchModulosMatriz?idMatriz=${params.idMatriz}&modulo=${params.modulo}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getItems(item){\n return this.http.get(`${AUDITORIA_URL}searchItems?modulo=${item}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n newItem(data){\n return this.http.post(`${AUDITORIA_URL}crearItems`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n\n getSubtItems(subItem){\n return this.http.get(`${AUDITORIA_URL}searchSubitems?modulo=${subItem}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n newSubItem(data){\n return this.http.post(`${AUDITORIA_URL}crearSubitems`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getModuleById(id_module){\n return this.http.get(`${AUDITORIA_URL}verModulo/${id_module}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n updateModule(data){\n return this.http.post(`${AUDITORIA_URL}updateModulo`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n updateItem(data){\n return this.http.post(`${AUDITORIA_URL}updateItems`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n updateSubItem(data){\n return this.http.post(`${AUDITORIA_URL}updateSubitems`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n disableModule(data){\n return this.http.post(`${AUDITORIA_URL}desabilitar`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getListAnalistas(params){\n return this.http.get(`${AUDITORIA_URL}showAnalistas`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n asignarAnalistas(data){\n return this.http.post(`${AUDITORIA_URL}asignarAnalista`,data) \n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getAnalistaById(id_matriz){\n return this.http.get(`${AUDITORIA_URL}analistasByMatriz/${id_matriz}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n eliminateAnalista(idAnalista,idMatriz){\n return this.http.post(`${AUDITORIA_URL}deleteAnalista/${idAnalista}/${idMatriz}`,{})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n descargaActualizaciones(idMatriz){\n return this.http.get(`${AUDITORIA_URL}descargaActualizaciones/${idMatriz}`,{responseType: \"blob\"})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n showSupervisores(params){\n return this.http.get(`${AUDITORIA_URL}showSupervisor`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getSupervisorByMatriz(idMatriz){\n return this.http.get(`${AUDITORIA_URL}getSupervisorMatriz/${idMatriz}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo Que elimina las matrices\n * @author Juan David Guerrero Vargas\n * @create_date 01/05/2022 \n * @param idMatriz:string ID de la matriz a eliminar \n * @returns Observable para sobrcribirse a la peticion\n */\n deleteMatrix(idMatriz:string){\n return this.http.delete(`${AUDITORIA_URL}deleteMatriz/${idMatriz}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { NetworkUsersService } from 'src/app/modules/ciu/services/rest/network-users.service';\nimport Swal from 'sweetalert2';\nimport { ActivateUserFormComponent } from './dialogs/activate-user-form/activate-user-form.component';\nimport * as moment from 'moment';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-network-users',\n templateUrl: './network-users.component.html',\n styleUrls: ['./network-users.component.sass']\n})\nexport class NetworkUsersComponent implements OnInit {\n\n data: any[] = [];\n tableColumns: string[] = ['unlocked_user', 'unlocker_user', 'created_at'];\n //Paginador\n length: number;\n pageSize: number = 5;\n pageSizeOptions: number[] = [5, 10, 50, 100];\n page: number = 1;\n //Formulario de filtros\n filters: FormGroup;\n now:Date = new Date();\n\n @Input() tab_type: number;\n\n\n constructor(public dialog: MatDialog, private formBuilder: FormBuilder, private networkUsersService: NetworkUsersService, private alertService:AlertsService) { }\n\n ngOnInit(): void {\n this.getInfo(this.page, this.pageSize)\n this.initializeForm()\n }\n\n /**\n * Metódo que da funcionalidad a la paginación\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n paginatorEvent(event: any) {\n this.pageSize = event.pageSize\n this.page = event.pageIndex + 1\n this.getInfo(this.page, this.pageSize)\n }\n\n /**\n * Metódo que inicializa el formulario de filtros\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n initializeForm() {\n this.filters = this.formBuilder.group({\n start_date: ['', []],\n end_date: ['', []],\n unlocker_user: ['', []],\n unlocked_user: ['', []]\n })\n }\n\n /**\n * Metódo que obtiene los logs de activación de usuarios\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n getInfo(page: number, pageSize: number, start_date: string = \"\", end_date: string = \"\", unlocker_user: string = \"\", unlocked_user: string = \"\") {\n var formatted_start_date = start_date ? moment(start_date).format('YYYY-MM-DD') : \"\"\n var formatted_end_date = end_date ? moment(end_date).format('YYYY-MM-DD') : \"\"\n this.networkUsersService.getManageNetworkUsersList(page, pageSize, formatted_start_date, formatted_end_date, unlocker_user, unlocked_user).subscribe((resp) => {\n this.data = resp.data\n this.length = resp.total;\n this.pageSize = resp.per_page;\n })\n }\n\n/**\n* Metódo que obtiene los log de activación de usuarios aplicando filtros\n* @param event\n* @author Juan Carlos Alonso\n* @createdate 15-05-2024\n*/\n filterData() {\n this.getInfo(this.page, this.pageSize, this.controls.start_date.value, this.controls.end_date.value, this.controls.unlocker_user.value, this.controls.unlocked_user.value)\n }\n\n /**\n* Metódo que limpia los filtros\n* @param event\n* @author Juan Carlos Alonso\n* @createdate 15-05-2024\n*/\n clearFiltersForm() {\n this.filters.reset()\n this.controls.start_date.setValue('')\n this.controls.end_date.setValue('')\n this.controls.unlocker_user.setValue('')\n this.controls.unlocked_user.setValue('')\n this.getInfo(this.page, this.pageSize)\n }\n\n /**\n* Metódo que retorna los controles del formulario\n* @param event\n* @author Juan Carlos Alonso\n* @createdate 15-05-2024\n*/\n get controls() {\n return this.filters.controls\n }\n\n /**\n * Metódo para descargar los logs\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n downloadLogs() {\n this.networkUsersService.downloadLogs().subscribe(resp => {\n let date = moment(this.now).format('YYYY-MM-DD')\n let blob = new Blob([resp], { type: resp.type })\n let downloadURL = window.URL.createObjectURL(blob)\n let link = document.createElement('a')\n link.href = downloadURL\n link.download = `Historico_activaciones_usuarios_de_red_${date}`\n link.click()\n }, (error) => {\n this.alertService.alertError(\"¡Atención!\", error.error.error)\n })\n }\n\n /**\n * Metódo que despliega el formulario de activación\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n activateUserDialog() {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.id = 'dialogActivateNetworkUser';\n dialogConfig.width = '50%';\n dialogConfig.height = 'auto';\n // dialogConfig.height = '90vh';\n\n const dialogRef = this.dialog.open(ActivateUserFormComponent, dialogConfig);\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n if(result.created){\n Swal.fire({\n icon: 'success',\n title: '¡Felicidades!',\n text: 'Se ha activado el usuario de red con éxito.',\n showConfirmButton: false,\n timer: 3000\n });\n }\n this.getInfo(this.page, this.pageSize);\n }\n });\n\n }\n\n\n}\n","
\n
\n
\n \n Fecha\n \n \n \n \n \n \n \n
\n\n
\n \n Usuario activado\n \n \n
\n\n
\n \n Gestionado por\n \n \n
\n\n
\n \n
\n
\n \n
\n\n\n
\n \n
\n\n
\n \n
\n
\n
\n\n\n
\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n \n \n \n
Gestionado por{{ element.unlocker_user }}Usuario de red activado{{ element.unlocked_user }}Fecha de activación{{ element.created_at | date: 'yy-MM-dd h:mm:ss a' }}
No se encontraron registros
\n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { LeftNavService } from '../services/rest/left-nav.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormsGuard implements CanActivate {\n \n constructor(private leftNavService: LeftNavService, private router: Router) {}\n\n async canActivate(): Promise {\n\n if (await this.verifyRol() as boolean) {\n return true;\n } else {\n this.router.navigate(['/mios/crm2']);\n return false;\n }\n\n }\n\n public async verifyRol(): Promise {\n\n let band = false;\n const vari = await this.leftNavService.getLeftMenu('crm2').toPromise();\n\n for (let element of vari.data) {\n\n if ( element.name === 'Formularios') {\n band = true;\n break;\n }\n }\n\n return band;\n }\n \n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\nimport { EscalationService } from '../../../services/rest/escalation.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\n\n@Component({\n selector: 'app-create-state',\n templateUrl: './create-state.component.html',\n styleUrls: ['./create-state.component.sass']\n})\nexport class CreateStateComponent implements OnInit {\n\n rolState: FormGroup;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public escalationService: EscalationService,\n private alertsService: AlertsService,\n private destroyService: DestroyComponentService) { }\n\n ngOnInit(): void {\n this.formControl();\n this.setEdit();\n }\n\n get error(): any { return this.rolState.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void{\n\n this.rolState = new FormGroup({\n nombre: new FormControl('', [Validators.required]),\n descripcion: new FormControl('', [Validators.required]),\n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de guardar un estado\n * @param rolState estado a guardar\n */\n saveState(rolState): void{\n\n if (this.data.type === 'crear'){\n const estado = {\n name: rolState.value.nombre,\n description: rolState.value.descripcion,\n state: 1\n };\n\n this.escalationService.putFormState(estado).subscribe((resp) => {\n this.alertsService.alertSuccess('Guardado', resp.data);\n });\n }\n else if (this.data.type === 'editar'){\n this.editState(rolState);\n }\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que en caso que el modal sea para editar, setea los campos\n */\n setEdit(): void {\n if (this.data.type === 'editar') {\n this.rolState.controls.nombre.setValue(this.data.data.name);\n this.rolState.controls.descripcion.setValue(this.data.data.description);\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo encargado de realizar la edicion\n * @param rolState estado a editar\n */\n editState(rolState): void {\n const state = {\n name: rolState.value.nombre,\n description: rolState.value.descripcion,\n };\n\n this.escalationService.editState(this.data.data.id, state).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', resp.data);\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","

{{data.title}}\n \n

\n\n
\n\n \n\n \n Nombre\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Descripción\n \n ¡Advertencia! Este campo es requerido\n \n\n\n\n\n \n \n\n
","import { Injectable } from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {environment} from '../../../../environments/environment';\n\nconst calidad_url = environment.CALIDAD_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TranslatesService {\n\n public lang;\n\n constructor(\n private http: HttpClient\n ) { }\n\n getConfig(uuid) {\n const item = localStorage.getItem('locale');\n this.lang = item ? JSON.parse(item) : 'es';\n\n const params = {\n lang: this.lang,\n uuid: uuid,\n };\n return this.http.get(`${calidad_url}config/show`, {params});\n }\n}\n","import { ActionReducerMap } from \"@ngrx/store\";\nimport { AcompañamientoState } from \"../core/states/acompañamiento.state\";\nimport { AuditoriaState } from \"../core/states/auditoria.state\";\nimport { FiltrosState } from \"../core/states/filtros.state\";\nimport { HistorialState } from \"../core/states/historial.state\";\nimport { HistorialByIdState } from \"../core/states/historialById.state\";\nimport { SelectsState } from \"../core/states/selects.state\";\nimport { SolicitudState } from \"../core/states/solicitud.state\";\nimport { acompañamientoReducer } from \"./reducers/acompañamiento.reducer\";\nimport { auditoriaReducer } from \"./reducers/auditoria.reducer\";\nimport { historialByIdReducer, historialReducer } from \"./reducers/historial.reducer\";\nimport { selectsReducer } from \"./reducers/selects.reducer\";\nimport { solicitudReducer } from \"./reducers/solicitud.reducer\";\n\nexport interface CoachingState{\n auditorias: AuditoriaState,\n selects:SelectsState,\n acompañamientos:AcompañamientoState,\n solicitud:SolicitudState\n historial:HistorialState,\n historialById:HistorialByIdState,\n}\n\nexport const ROOT_REDUCERS_COACHING:ActionReducerMap={\n auditorias:auditoriaReducer,\n selects: selectsReducer,\n acompañamientos:acompañamientoReducer,\n solicitud:solicitudReducer,\n historial: historialReducer,\n historialById: historialByIdReducer\n}","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { DashboardInterface } from '../../interfaces/DashboardInterface';\nimport { DashboardService } from '../../services/dashboard.service';\nimport { NominaService } from '../../services/nomina.service';\nimport { RrhhService } from '../../services/rrhh.service';\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport {EditConfigurationComponent} from '../edit-configuration/edit-configuration.component'\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { CampaignInterface } from '../../interfaces/CampaignInterface';\nimport { PositionInterface } from '../../interfaces/PositionInterface';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\n\n\n\n\n@Component({\n selector: 'app-configuration',\n templateUrl: './configuration.component.html',\n styleUrls: ['./configuration.component.sass']\n})\nexport class ConfigurationComponent implements OnInit {\n\n dashboards : MatTableDataSource\n displayedColumns : string[] = ['accion' , 'name' , 'key'];\n pageNo : number = 0;\n filteredCampaigns : Observable;\n filteredPositions : Observable;\n formFilters : FormGroup;\n campaigns : CampaignInterface[];\n positions : PositionInterface[];\n type_documents;\n\n\n\n public formulario;\n\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n\n constructor(\n private dashboardService : DashboardService,\n private nominaService : NominaService,\n private candidateService : CandidatesService,\n private rrhhService : RrhhService,\n public dialog : MatDialog,\n private alertsService : AlertsService,\n public fb : FormBuilder\n ) { }\n\n ngOnInit(): void {\n this.formFilters = this.fb.group({\n campaign_id : [],\n position : [],\n id_type_id : [],\n id_number : [],\n dashboard_name : []\n });\n\n this.nominaService.getCampaings().subscribe( (camps: CampaignInterface[]) => {\n this.campaigns = camps;\n this.filteredCampaigns = this.formFilters.get(\"campaign_id\").valueChanges.pipe(\n startWith(''),\n map(value => this._filter_campaign(value || '')),\n );\n });\n\n this.rrhhService.getPositions().subscribe( (pos:PositionInterface[]) => {\n this.positions = pos;\n this.filteredPositions = this.formFilters.get(\"position\").valueChanges.pipe(\n startWith(''),\n map(value => this._filter_position(value || '')),\n )\n });\n\n this.candidateService.getIdTypes().subscribe(resp => {\n this.type_documents = resp;\n });\n\n\n this.getDashes();\n }\n\n\n\n /**\n * Consulta los dashboards\n */\n public getDashes(){\n\n this.dashboardService.getDashboards( null, this.formFilters.value ).subscribe((dashes) => {\n //this.pagination = dashes;\n this.dashboards = new MatTableDataSource(dashes);\n this.dashboards.paginator = this.paginator;\n\n\n });\n }\n\n /**\n * Modal para la creación de una nueva configuración\n */\n openEditModal():void {\n const dialogRef = this.dialog.open( EditConfigurationComponent , {\n width: '40%',\n });\n\n dialogRef.afterClosed().subscribe(result => {\n this.getDashes();\n });\n }\n\n editarReporte(reporte:DashboardInterface ){\n const dialogRef = this.dialog.open( EditConfigurationComponent , {\n width : '40%',\n data : reporte,\n maxHeight: '90vh'\n });\n\n dialogRef.afterClosed().subscribe(result => {\n this.getDashes();\n });\n\n }\n\n /**\n * Envía petición para el borrado de la confiuración de un repote especifico\n * @param report: Dashboard a eliminar\n */\n eliminarReporte(report:DashboardInterface ){\n const confirm = this.alertsService.alertConfirm('¿Realmente desea eliminar el registro?');\n confirm.then(res => {\n if(res.isConfirmed){\n this.dashboardService.eliminar(report).subscribe( res => {\n this.alertsService.alertInfo(\"¡Correcto!\", \"Registro eliminado\");\n this.getDashes();\n },\n error => {\n this.alertsService.alertError(\"Atención!\",\"No fue posible eliminar el registro\");\n }\n );\n\n }\n });\n }\n\n\n /**\n * Filtra un cargo en el mat select\n * @param value , nombre del cargo seleccionado por el usuario\n * @returns\n */\n private _filter_position(value: string): PositionInterface[] {\n if( typeof(value) == \"number\"){\n return null;\n }\n const filterValue = value.toLowerCase();\n return this.positions.filter(pos => pos.name.toLowerCase().includes(filterValue));\n }\n\n /**\n * Filtra una campaña en el matselect\n * @param value nombre de la campaña o porte de ella\n * @returns\n */\n private _filter_campaign(value: string): CampaignInterface[] {\n if( typeof(value) == \"number\"){\n return null;\n }\n const filterValue = value.toLowerCase();\n return this.campaigns.filter(camp => camp.name.toLowerCase().includes(filterValue));\n }\n\n\n /**\n * Obtiene el nombre de una campaña dado un id en el mat select\n */\n public getCampaignName( campaignId:number ):string{\n if(this.campaigns == undefined){\n return;\n }\n return this.campaigns.find( c => c.id == campaignId).name;\n }\n\n\n\n}\n","\n
\n\n
\n
\n

Configuración de accesos

\n

Administre los accesos a cada informe de Power BI según el perfil de cada rol

\n
\n
\n\n \n
\n
\n
\n \n Campaña\n \n \n \n {{camp.name}}\n \n \n \n
\n
\n \n Cargo\n \n \n \n {{pos.name}}sebas\n \n \n \n
\n
\n \n Tipo doc.\n \n \n \n {{ type.key }}\n \n \n
\n
\n \n Número de documento\n \n \n\n
\n
\n \n Nombre\n \n \n
\n
\n \n \n \n\n
\n \n
\n \n Crear\n \n
\n
\n
\n\n
\n
\n \n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n \n \n
Acciones\n \n\n \n\n Nombre {{element.nombre}} Llave {{element.key}}
\n\n
\n \n
\n\n\n\n\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { DatePipe } from '@angular/common';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport * as moment from 'moment';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { CampaignService } from 'src/app/modules/ciu/services/rest/campaign.service';\nimport { ConfigService } from 'src/app/modules/ciu/services/rest/config.service';\nimport { GroupsService } from 'src/app/modules/ciu/services/rest/groups.service';\nimport { ScheduleTypesService } from 'src/app/modules/ciu/services/rest/schedule-types.service';\nimport { SchedulesService } from 'src/app/modules/ciu/services/rest/schedules.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\n\n@Component({\n selector: 'app-schedule-report',\n templateUrl: './schedule-report.component.html',\n styleUrls: ['./schedule-report.component.sass']\n})\nexport class ScheduleReportComponent implements OnInit {\n @ViewChild(MatAutocompleteTrigger, { read: MatAutocompleteTrigger }) inputAutoCompleteScReport: MatAutocompleteTrigger;\n\n filterForm: FormGroup;\n campaigns: any;\n groups: any;\n rangeDates: any = [];\n filteredOptionsCampaigns: Observable;\n filteredOptionsGroups: Observable;\n filteredOptionsRanges: Observable;\n week: any;\n document: any;\n show = false;\n selection = new SelectionModel(true, []);\n\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n public editAvailable: boolean;\n\n public filters: any = {\n campaignId: '',\n startWeek: '',\n endWeek: '',\n groupId: '',\n document: '',\n type: 1,\n perPage: 5,\n page: 1,\n paginate: 1,\n };\n\n // displayedColumns: string[] = ['date_start', 'date_end', 'hour_start', 'hour_end', 'user'];\n displayedColumns: string[] = ['name', 'document', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'];\n dataSource = new MatTableDataSource();\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n documents: any = [];\n idTypeDoc: any;\n typeDocument = new FormControl();\n\n constructor(\n private campaignService: CampaignService,\n private groupService: GroupsService,\n private scheduleTypeService: ScheduleTypesService,\n private configService: ConfigService,\n private alert: AlertsService,\n private datePipe: DatePipe,\n private sheduleService: SchedulesService,\n private users: CandidatesService) {\n }\n\n ngOnInit() {\n this.formControl();\n this.getWeekRanges();\n this.campaignService.getCampaigns().subscribe((resp) => {\n this.campaigns = resp.data;\n\n this.filteredOptionsCampaigns = this.filterForm.get('campaigns').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(x => x ? this._filterCampaigns(x) : this.campaigns.slice())\n );\n });\n\n // atento a cambios de campaña y grupo\n this.filterForm.controls.groups.valueChanges\n .subscribe(resp => {\n if (resp) {\n this.filters.groupId = resp;\n this.getSchedulesToPrint();\n }\n });\n this.filterForm.controls.campaigns.valueChanges\n .subscribe(resp => {\n if (resp && this.filterForm.controls.rangeDate.value) {\n this.filters.campaignId = resp;\n if (this.filterForm.controls.groups.value) {\n this.getSchedulesToPrint();\n }\n }\n });\n // Tipos de documento\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.filters.type = resp;\n if (this.filters.document) {\n this.getSchedulesToPrint();\n }\n });\n this.typeDocument.setValue(1);\n }\n\n get error(): any {\n return this.filterForm.controls;\n }\n\n /**\n * Encargado de la accíon al cambio de pagina\n * @param event\n * @author Daniel Dominguez \n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.filters.page = this.page;\n this.filters.perPage = this.pageSize;\n this.getSchedulesToPrint();\n // this.getSchedule(this.pageSize, this.page, null);\n\n }\n\n /**\n * Formulario\n * @author Daniel Dominguez \n */\n formControl(): void {\n this.filterForm = new FormGroup({\n rangeDate: new FormControl('', [this.autocompleteObjectValidator(), Validators.required]),\n campaigns: new FormControl('', [this.autocompleteObjectValidator(), Validators.required]),\n groups: new FormControl('', [this.autocompleteObjectValidator(), Validators.required])\n });\n }\n\n\n /**\n * Permite el autocompletado\n * @author Daniel Dominguez \n */\n autocompleteObjectValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any }|null => {\n if (typeof control.value === 'string') {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n };\n }\n\n /**\n * Filtro para campañas\n * @param value\n * @private\n */\n private _filterCampaigns(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.campaigns.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * Filtro para grupos\n * @param value\n * @private\n * @author Daniel Dominguez \n */\n private _filterGroups(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.groups.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * Filtro de fechas\n * @param value\n * @private\n */\n private _filterRanges(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.rangeDates.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n\n /**\n * Muestra campañas\n * @param id\n * @author Daniel Dominguez \n */\n displayFnCampaigns(id: number): string {\n if (!id) {\n return '';\n }\n const index = this.campaigns.findIndex(resp => resp.id === id);\n return this.campaigns[index].name;\n }\n\n /**\n * Muestra los grupos\n * @param id\n * @author Daniel Dominguez \n */\n displayFnGroups(id: number): string {\n if (!id) {\n return '';\n }\n const index = this.groups.findIndex(resp => resp.id === id);\n return this.groups[index].name;\n }\n\n /**\n * Muestra rango de semanas\n * @param id\n * @author Daniel Dominguez \n */\n displayFnRanges(id: any): string {\n if (!id) {\n return '';\n }\n const index = this.rangeDates.findIndex(resp => resp.id === id);\n return this.rangeDates[index].name;\n }\n\n /**\n * Realiza la consulta de grupos en base a la campaña\n * @param e\n * @author Daniel Dominguez \n */\n public consultarGrupos(e): void {\n this.filterForm.patchValue({\n groups: ''\n });\n\n this.groupService.getGroupsByCampaign(this.filterForm.value.campaigns).subscribe((response) => {\n this.groups = response.data;\n this.filteredOptionsGroups = this.filterForm.get('groups').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(x => x ? this._filterGroups(x) : this.groups.slice())\n );\n });\n }\n\n /**\n * Dias de la semana\n * @author Daniel Dominguez \n */\n public getWeekRanges() {\n this.filterForm.patchValue({\n rangeDate: ''\n });\n const to = new Date().getFullYear() + '-01-01';\n const numWeeks = 52;\n this.sheduleService.getWeeksRangesForScheduleFilters({ to, numWeeks })\n .subscribe(resp => {\n this.rangeDates = resp.data;\n this.filteredOptionsRanges = this.filterForm.get('rangeDate').valueChanges.pipe(\n startWith(''),\n map(value => {\n return typeof value === 'string' ? value : value.name;\n }),\n map(x => {\n return x ? this._filterRanges(x) : this.rangeDates.slice();\n })\n );\n setTimeout(() => {\n this.inputAutoCompleteScReport.openPanel();\n }, 700);\n });\n }\n\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-05\n * Metodo que devuelve los dias de la semana seleccionada, para ser mostrados en la cabecera de la tabla\n */\n onChange(e): void {\n const index = this.rangeDates.findIndex(resp => resp.id === e.option.value);\n this.filters.startWeek = this.rangeDates[index].from;\n this.filters.endWeek = this.rangeDates[index].to;\n this.week = this.rangeDates[index].days;\n // validar si muestro botones para edicion\n this.editAvailable = this.filters.endWeek >= moment().format('YYYY-MM-DD');\n\n if (this.filterForm.controls.campaigns.value) {\n this.getSchedulesToPrint();\n }\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-05\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e): void {\n this.document = Number(e);\n this.filters.document = this.document;\n this.getSchedulesToPrint();\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-06\n * Metodo para mostrar o ocultar filtros avanzados\n */\n Hide(): void {\n if (this.show == false) {\n this.show = true;\n } else {\n this.show = false;\n }\n }\n\n /**\n * Obtiene las marcaciones realizadas por los usuarios de un grupo\n * @author Andres Buitrago\n */\n getSchedulesToPrint(): void {\n this.sheduleService.getMarkedSchedulesByFilters(this.filters)\n .subscribe(resp => {\n this.dataSource.data = resp.data.data;\n this.dataSource.sort = this.sort;\n this.length = resp.data.total;\n this.pageSize = resp.data.per_page;\n }, error => {\n this.dataSource.data = [];\n this.dataSource.sort = this.sort;\n this.length = 0;\n this.pageSize = 5;\n });\n }\n\n /**\n * @author Andres Buitrago\n * Metodo para la descarga del reporte\n */\n downloadReport(): void {\n if (!this.filters.startWeek) return;\n this.sheduleService.exportMarkedSchedulesByFilters(this.filters)\n .subscribe(resp => {\n importedSaveAs(resp, 'reporte_marcaciones.xlsx');\n });\n }\n\n}\n","
\n\n
\n

Reporte de Inicio de Sesión

\n

Bienvenido al módulo reporte de Horarios, recuerda que puedes
realizar el filtrado de información

\n Este informe muestra los asesores que realizaron marcación en el aplicativo.\n

\n
\n\n
\n\n
\n
\n
\n\n
\n\n \n Semana:\n \n \n \n {{ range.name }}\n \n \n Campo es\n requerido\n Opción no válida\n \n\n \n Campaña:\n \n \n \n {{campaign.name}}\n \n \n Campo es\n requerido\n Opción no válida\n \n\n \n Grupo:\n \n \n \n {{group.name}}\n \n \n Campo es\n requerido\n Opción no válida\n \n\n \n Documento\n \n \n {{item.key}}\n \n \n\n\n
\n
\n
\n \n
\n\n\n
\n
\n\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n\n \n \n\n\n
Nombre {{row.name}} Documento {{row.id_number}} Lunes {{week?.monday |date:'dd'}}\n

{{row.monday.jornada}}

\n
Martes {{week?.tuesday |date:'dd'}} \n

{{row.tuesday?.jornada}}

\n
Miércoles {{week?.wednesday |date:'dd'}} \n

{{row.wednesday?.jornada}}

\n
Jueves {{week?.thursday |date:'dd'}} \n

{{row.thursday?.jornada}}

\n
Viernes {{week?.friday |date:'dd'}} \n

{{row.friday?.jornada}}

\n
Sábado {{week?.saturday |date:'dd'}} \n

{{row.saturday?.jornada}}

\n
Domingo {{week?.sunday |date:'dd'}} \n

{{row.sunday?.jornada}}

\n
\n\n \n \n\n
\n
\n\n
\n\n
\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\nimport { CoachingState } from \"../coaching.state\";\n\nconst getCoachingState = createFeatureSelector('COACHING');\n\n\nexport const listCampañas = createSelector(\n getCoachingState,\n (state) => state.selects.campañas,\n );\n \nexport const listIndicadores = createSelector(\n getCoachingState,\n (state) => state.selects.selects.indicadores,\n);\nexport const listCuartiles = createSelector(\n getCoachingState,\n (state) => state.selects.selects.cuartilInicial,\n);\n\nexport const listCausas = createSelector(\n getCoachingState,\n (state) => state.selects.selects.causaRaiz,\n);\n\nexport const listEstados = createSelector(\n getCoachingState,\n (state) => state.selects.selects.estado,\n);\n\nexport const listCompromisos = createSelector(\n getCoachingState,\n (state) => state.selects.selects.cumpleCompromiso,\n);\n\nexport const listEvoluciones = createSelector(\n getCoachingState,\n (state) => state.selects.selects.presentaEvolucion,\n);\n\nexport const listProcesos = createSelector(\n getCoachingState,\n (state) => state.selects.selects.tipoProceso,\n);","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormBuilder, FormControl, FormArray, FormGroup, Validators } from '@angular/forms';\nimport { inicialFieldsContract, AgreementsType, typeForms } from './contractTypes';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\nimport { Observable } from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\nimport { ToWords } from 'src/app/core/to-words/to-words';\nimport { KindAccountService } from '../../../services/kindAccount.service';\nimport { NominaService } from '../../../../soul_bi/services/nomina.service';\n\n@Component({\n selector: 'app-contract-creation',\n templateUrl: './contract-creation.component.html',\n styleUrls: ['./contract-creation.component.sass']\n})\nexport class ContractCreationComponent implements OnInit{\n\n myControl = new FormControl();\n campaign= new FormControl();\n contractTypes= AgreementsType\n formSection =[\n {\n name_section:null,\n fields: null,\n type_section: 1,\n collapse: false,\n duplicar: false,\n },\n ]\n fieldOthers={\n salary: null,\n letters:null\n };\n now = new Date();\n salaryAux= null\n toWords = new ToWords()\n fieldsContract = new inicialFieldsContract\n items= new Observable\n agreements: any\n disabledOthes: boolean= false\n seeForm: boolean= false\n isEdit: boolean= false\n isChange: boolean= false\n comition: boolean= false\n specialComition: boolean= false\n boification: boolean= false\n formGroup : FormGroup;\n kindAccountList;\n showCampaign: boolean = false;\n campaignsData: any[] = [];\n rrhhId = null;\n initialOperation=false;\n\n constructor(private _fb: FormBuilder, public dialog: MatDialog,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private serviceCandidate: CandidatesService,\n public AlertsService: AlertsService,\n private kindAccountService : KindAccountService,\n private NominaService : NominaService\n ) {\n this.agreements= this.data.agreementRules;\n this.now.setDate(this.now.getDate()-30);\n\n }\n\n ngOnInit(): void {\n this.now.toISOString().split('.')[0];\n if(typeof this.data.agreementRules.salario !== 'undefined' ){\n this.fieldOthers.salary = this.data.agreementRules.salario;\n this.salaryAux= this.data.agreementRules.salario\n this.fieldOthers.letters = this.data.agreementRules['salario_letras'];\n const found = AgreementsType.find(element => element.key == this.data.agreementRules.contractType.key)\n this.myControl.setValue(found)\n this.changeTypeContract(found)\n this.getKindAccounts();\n this.NominaService.getCampaings().subscribe(resp => {\n this.campaignsData = resp;\n });\n this.serviceCandidate.getHiredUserID(this.data.candidateId).subscribe((resp: any) => {\n\n this.rrhhId = resp;\n if(this.rrhhId != false){\n this.campaign.setValue(resp?.campaign_id);\n this.showCampaign = true;\n }\n });\n }\n this.formControl();\n this.initialOperation = this.data.candidate.initial_operation_date;\n }\n\n specialPolicy(agreementRules)\n {\n if(agreementRules['specialPolicy'])\n {\n this.formGroup.get(\"hasComitionFrom\").value == true ? this.comition = true : this.comition = false;\n this.formGroup.get(\"hasSpecialComitionFrom\").value == true ? this.specialComition = true : this.specialComition = false;\n this.formGroup.get(\"hasBonificationFrom\").value == true ? this.boification = true : this.boification = false;\n }\n }\n\n async formControl(){\n\n this.formGroup = new FormGroup({\n hoursPerWeek: new FormControl('', [Validators.maxLength(15),Validators.minLength(1)]),\n hasComitionFrom: new FormControl(''),\n hasSpecialComitionFrom: new FormControl(''),\n specialComitionDetails: new FormControl(''),\n comprehensiveSalary: new FormControl(''),\n hasBonificationFrom: new FormControl(''),\n bonificationDetailsrom: new FormControl(''),\n finalidad: new FormControl(''),\n });\n await this.formGroup.patchValue(this.data.specialPolicy);\n await this.formGroup.disable();\n this.specialPolicy(this.data);\n\n }\n /**\n * @author Karol García\n * @createdate 2021-05-11\n * Método que convierte número a letras\n */\n changeValue(event){\n this.fieldOthers.salary = event.replaceAll(',','');\n this.fieldOthers.salary = Number( this.fieldOthers.salary)\n let words = this.toWords.convert( this.fieldOthers.salary )\n this.fieldOthers.letters= words\n }\n/**\n * @author Karol García\n * @createdate 2021-05-06\n * Método que crea el formulario según el tipo de contrato\n */\n changeTypeContract(e){\n let editAux=[]\n let typeFormsAux = new typeForms\n const found = typeFormsAux.value.find(element => element.key == e.type);\n const lastArray = this.fieldsContract.value.concat(found.form);\n lastArray.map(element=>{\n if(element.controlType == \"datepicker\"){\n element.minLength = this.now\n }\n })\n if(this.data.agreementRules != null){\n if( this.isEdit == false){\n this.disabledOthes=true\n this.myControl.disable()\n this.campaign.disable()\n }else editAux = ['coordinador-de-contratacion','analista-de-contratacion']\n lastArray.forEach(element => {\n if(element.key == 'fecha_de_ingreso'){\n if(this.data.agreementRules[element.key]){\n element.value = this.data.agreementRules[element.key];\n }else if(this.initialOperation){\n element.value = this.initialOperation;\n }else{\n element.value = new Date();\n }\n }else{\n element.value = this.data.agreementRules[element.key];\n }\n \n });\n }else editAux = ['coordinador-de-contratacion','analista-de-contratacion']\n\n this.formSection[0].fields=lastArray\n \n this.formSection[0].name_section = `Contrato tipo ${e.name}`;\n this.doAsyncTask(editAux).then(() => this.seeForm=true);\n }\n /**\n * @author Karol García\n * @createdate 2021-05-06\n * Método que crear las reglas y genera el contrato\n */\n createContract(event){\n let message ='¿Desea generar las reglas del contrato?'\n let direction = '/agreementRules'\n if(this.isEdit == true){\n message = '¿Desea editar las reglas del contrato?'\n direction = '/agreementRulesEdit'\n }\n let saveconfirm= this.AlertsService.alertConfirm(message)\n let formAux = event.forms as FormArray;\n let toWords = this.toWords.convert(this.formGroup.get('hoursPerWeek').value);\n let hoursLetters = toWords.substring(0, toWords.length - 6);\n\n saveconfirm.then(res=>{\n if(res.isConfirmed){\n let answer = event.answer[0]\n answer['contractType'] =this.myControl.value\n answer['salario'] =this.fieldOthers.salary\n answer['salario_letras'] =this.fieldOthers.letters,\n answer['special-policy'] = this.formGroup.value,\n answer['special-policy']['hoursLetters'] = hoursLetters\n answer['cost_center'] = this.campaign.value\n formAux.disable()\n\n if(this.data.massive != true)\n {\n this.serviceCandidate.saveAgreement(`candidate/json/${this.data.candidateId}${direction}`, answer).subscribe(\n answer=>{\n\n this.AlertsService.alertSuccess('¡Generadas!', 'La reglas de contrato han sido creadas con éxito')\n this.dialogRef.close(true);\n }\n )\n }else{\n answer['candidatesIds']= this.data.ids;\n let saveconfirmNumber = this.AlertsService.alertConfirm('¿Estás seguro?',`Se afectará un total de ${this.data.ids.length} candidatos`);\n saveconfirmNumber.then(res=>{\n if(res.isConfirmed){\n this.serviceCandidate.saveAgreement(`masive/arguments`, answer).subscribe(\n answer=>{\n this.AlertsService.alertSuccess('¡Generadas!', 'La reglas de los contratos han sido creadas con éxito')\n this.dialogRef.close(true);\n }\n )\n }\n });\n }\n\n }\n })\n }\n doAsyncTask(who:string[]) {\n var promise = new Promise((resolve) => {\n this.seeForm=false\n this.formSection[0].fields.forEach(element => {\n element.editRoles=who;\n element.seeRoles=[\"coordinador-de-contratacion\",\"analista-de-contratacion\"];\n });\n setTimeout(() => {\n resolve( this.formSection[0].fields);\n }, 350);\n\n });\n return promise;\n }\n editAgreements(){\n this.formGroup.enable();\n this.isEdit= true\n this.doAsyncTask(['coordinador-de-contratacion']).then(() => this.seeForm=true);\n this.disabledOthes = false\n this.myControl.enable();\n this.campaign.enable();\n }\n rejectionDialog(){\n this.isChange = false;\n const contractForm = this.dialog.open( RejectionComment, {\n disableClose: true,\n })\n contractForm.afterClosed().subscribe(res=>{\n if(res){\n this.agreements['status']= {name:'Rechazado', comment: res}\n this.serviceCandidate.saveAgreement(`candidate/json/${this.data.candidateId}/agreementRules`, this.agreements).subscribe(\n answer=>{\n this.AlertsService.alertSuccess(`¡Rechazado!`, 'La reglas de contrato han cambiado de estado con éxito')\n this.isChange = true;\n }\n )\n }\n\n })\n }\n agreementsStatus(){\n this.isChange = false;\n let saveconfirm= this.AlertsService.alertConfirm(`¿Desea aceptar las reglas del contrato?`)\n saveconfirm.then(res=>{\n if(res.isConfirmed){\n this.agreements['status']= {name:'Aprobado'}\n this.serviceCandidate.saveAgreement(`candidate/json/${this.data.candidateId}/agreementRules`, this.agreements).subscribe(\n answer=>{\n this.AlertsService.alertSuccess(`¡Aprobado!`, 'La reglas de contrato han cambiado de estado con éxito')\n this.isChange = true;\n // this.dialogRef.close(true);\n }\n )\n }\n })\n }\n close(event){\n if(this.isEdit){\n this.isEdit= false\n this.doAsyncTask([]).then(() => this.seeForm=true);\n this.disabledOthes = true\n this.myControl.disable()\n }else{\n if(event){\n this.dialogRef.close();\n }\n }\n\n }\n closeDialof(){\n if(this.isChange){\n this.dialogRef.close(true);\n }\n else{\n this.dialogRef.close();\n }\n }\n\n hasComition(){\n this.comition = !this.comition;\n if(this.specialComition == true)\n {\n this.specialComition = false;\n this.formGroup.get(\"hasSpecialComitionFrom\").setValue(\"\");\n this.formGroup.get(\"specialComitionDetails\").setValue(\"\");\n }\n }\n\n hasSpecialComition(){\n this.specialComition = !this.specialComition;\n if(this.specialComition == false)\n {\n this.formGroup.get(\"specialComitionDetails\").setValue(\"\");\n }\n }\n\n hasboification(){\n this.boification = !this.boification;\n if(this.boification == false)\n {\n this.formGroup.get(\"bonificationDetailsrom\").setValue(\"\");\n }\n }\n\n /**\n * Metodo el cual lista los tipos de cuentas bancarias\n * @author Carlos Nieto\n * @return json\n */\n getKindAccounts() {\n this.kindAccountService.getKindAccounts().subscribe(resp => {\n this.kindAccountList = resp;\n }\n );\n }\n\n}\n\n@Component({\n selector: 'create-sign',\n templateUrl: 'rejection-comment.html',\n styleUrls: ['./contract-creation.component.sass']\n})\nexport class RejectionComment {\n comment:any\n\n constructor() {}\n\n}\n","\n

\n
\n\n
\n \n
\n
\n
\n \n Tipo de contrato\n \n \n {{option.name}}\n \n \n \n \n Salario\n \n $  \n \n\n \n Salario en letras\n \n \n
\n
\n

Politicas especiales

\n
\n \n
\n
\n \n Horas semanales\n \n \n
\n
\n
\n
\n
\n ¿Tiene\n comisión?\n
\n
\n
\n
\n ¿Tiene comisión especial?\n
\n
\n
\n
\n
\n \n Detalles de la comisión especial\n \n \n
\n
\n ¿Tiene salario integral?\n
\n
\n ¿Tiene bonos?\n
\n
\n \n Detalles de la bonificación\n \n \n
\n
\n \n Finalidad\n \n \n
\n
\n \n\n
\n
\n
\n
\n Tipo de contrato\n

{{agreements.contractType.name}}

\n
\n
\n Estado\n

{{agreements?.status?.name}}

\n

Pendiente

\n
\n
\n Comentario del rechazo\n

{{agreements.status.comment}}

\n
\n
\n Salario\n

$ {{agreements.salario | number }}

\n
\n
\n Salario letras\n

{{agreements['salario_letras']}}

\n
\n
\n {{field.label}}\n

{{field.value.name}}

\n

{{field.value}}

\n

{{field.value | date:'dd/MM/yyyy'}}

\n
\n\n
\n
\n\n
\n\n \n \n\n\n","\n\n

Rechazar reglas de contratacíon

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


\n
\n

¿Estás seguro que deseas Rechazar la Solicitud?

\n
\n
\n \n ¿Por qué? *\n \n \n


\n
\n\n \n \n","import { Component, OnInit } from '@angular/core';\nimport { MatChip, MatChipSelectionChange } from '@angular/material/chips';\nimport { ManagerChatService } from './../../services/manager-chat.service'\nimport { ChatRestService } from '../../services/chat-rest.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { Observable, of } from 'rxjs';\nimport { FormControl } from '@angular/forms';\nimport { MessageChatInterface, UserChatInterface } from '../../utils/interfaces.chat';\nimport { debounceTime, distinctUntilChanged, map, startWith } from 'rxjs/operators';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { contacAnimation } from '../../animations/contact.anumations';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ChatGroupsComponent } from '../chat-groups/chat-groups.component';\nimport { AllContactsComponent } from '../all-contacts/all-contacts.component';\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\nimport { ViewUsersGroupComponent } from '../view-users-group/view-users-group.component';\n\n\n@Component({\n selector: 'chat-list-contact',\n templateUrl: './list-contact.component.html',\n styleUrls: ['./list-contact.component.sass'],\n animations:[contacAnimation]\n})\nexport class ListContactComponent implements OnInit {\n //Listado de estados tipos de filtro\n //0 => Todos\n //1 => No leidos\n listChip:boolean[] = Array.from(Array(3), (x,i)=> i == 0 ? true : false)\n //Listado de contactos con los cuales peude chatear\n listContacts:any[]=[]\n //Observable con los contactos disponibles apra chatear\n $filterContact:Observable= new Observable();\n\n //Variable de control para filtrado de lista de contactos\n searchControl:FormControl = new FormControl(null,[]);\n\n actualEnableChat:any=null;\n\n isOpenListContact:boolean = false\n\n //INTERFACES DE INTERACCION\n\n\n //Interfaz para obtener el ultimo mensaje enviado por la transmision de MQTT\n private getLastMessageSendedUser = (message:MessageChatInterface|null)=>{\n if(message !== null){\n if(message.sender_id !== this.authService.decryptToken().rrhh_id ){\n let index = this.listContacts.findIndex( contact => contact.recipient_type == message.recipient_type && contact.rrhh_id == message.sender_id )\n if(this.actualEnableChat == null || this.actualEnableChat == undefined || this.listContacts[index].rrhh_id !== this.actualEnableChat.rrhh_id ){\n this.listContacts[index][\"countMessageNotRead\"] = Number(this.listContacts[index][\"countMessageNotRead\"]) + 1\n this.$filterContact = of(this.listContacts);\n }\n\n if(index == -1){\n this.getListContact();\n }\n\n }\n }\n }\n\n private getLastMessageSendedGroup = (message:MessageChatInterface|null)=>{\n if(message !== null){\n let index = this.listContacts.findIndex( contact => contact.recipient_type == 2 && contact.rrhh_id == message.recipient_entity_id )\n if(this.actualEnableChat == null || this.actualEnableChat == undefined || (this.listContacts[index].rrhh_id !== this.actualEnableChat.rrhh_id && this.listContacts[index].recipient_type == 2 ) ){\n this.listContacts[index][\"countMessageNotRead\"] = Number(this.listContacts[index][\"countMessageNotRead\"]) + 1\n this.$filterContact = of(this.listContacts);\n }\n if(index == -1){\n this.getListContact();\n }\n }\n }\n\n\n constructor(\n private managerChat:ManagerChatService,\n private chatRestService:ChatRestService,\n private authService: AuthService,\n private dialog:MatDialog,\n private bottomSheet: MatBottomSheet\n ) { }\n\n ngOnInit(): void {\n this.searchControl.valueChanges\n .pipe(\n startWith(''),\n debounceTime(500), // Espera 500 ms después del último evento\n distinctUntilChanged(),\n map(value => this._filterContacs(value))\n ).subscribe(\n (newListContacts:any[])=>{\n this.$filterContact = of(newListContacts);\n }\n );\n\n this.managerChat.$actualChat.subscribe(\n (actualChat)=>{\n this.actualEnableChat = actualChat\n }\n );\n\n\n this.getStateListContactPanel();\n }\n\n\n /**\n * Metodo que se encarga obtener los grupos asociados\n *\n */\n private getGroups():void{\n this.chatRestService.getGroupsUser().subscribe(\n (groupsRest)=>{\n if(groupsRest?.groups !== undefined && Array.isArray(groupsRest.groups) == true && groupsRest.groups.length > 0){\n let groups = groupsRest.groups.map((gr:any)=>{\n return {\n rrhh_id:gr.id,\n name:gr.name,\n recipient_type:2,\n onwer_id:gr.onwer_id,\n countMessageNotRead:0\n }\n\n });\n this.listContacts = this.listContacts.concat(groups)\n this.$filterContact = of(this.listContacts)\n }\n }\n );\n }\n\n /**\n * Metodo que se encarga de filtrar los nombres de los chats\n * @author Juan David Guerrero Vargas\n * @param nameContact:string {string} nombre del contacto a buscar\n * @returns {any[]} Listado de contactos\n */\n private _filterContacs(nameContact:string):any[]{\n return this.listContacts.filter( ffll => ffll.name.toLowerCase().includes(nameContact.toLowerCase()) )\n }\n\n /**\n * Metodo que se encarga de obtener el estado actual del panel Lista contactos\n */\n private getStateListContactPanel():void{\n this.managerChat.$isOpenListContacs.subscribe(\n (statePanel:boolean)=>{\n if(statePanel == true){ //Consultamos el listado de contactos solo cuando se habilite el panel\n this.getListContact();\n }\n this.isOpenListContact = statePanel\n })\n }\n\n /**\n * Metodo que se encarga de obtener el listado de contactos del usuario\n * @author Juan David Guerrero Vargas \n * @param idGorup?:any {number|string} Id del grupo a evaluar\n */\n private getListContact(idGorup?:any){\n this.chatRestService.getListContact().subscribe((contacts:any)=>{\n this.listContacts = contacts.data.map(\n (user)=>{\n return {\n rrhh_id:user.rrhh_id,\n name:user.name,\n recipient_type:user.recipient_type == 'user' ? 1 : 2,\n onwer_id:user?.onwer_id,\n countMessageNotRead:user.unread\n }\n\n }\n ).filter(ffll => ffll.rrhh_id != this.authService.decryptToken().rrhh_id );\n if(idGorup !== undefined && idGorup !== null && idGorup !== \"\"){\n let groupFindIndex = this.listContacts.findIndex( ffnnI => ffnnI.recipient_type == 2 && ffnnI.rrhh_id == idGorup );\n if(groupFindIndex !== -1){\n this.setNewChat( this.listContacts[groupFindIndex], groupFindIndex)\n }\n }\n this.$filterContact = of(this.listContacts);\n this.managerChat.$messagePublic.subscribe(this.getLastMessageSendedUser);\n this.managerChat.$messageGroup.subscribe(this.getLastMessageSendedGroup);\n });\n\n }\n\n /**\n * Metodo que permite determinar el estado actual del filtrado de la opcion\n * @author Juan David Guerrero Vargas\n * @param i:number {number} Indice del filtro a validar\n * @returns {string} string cadena de texto con lsa clases a aplicar\n */\n styleFilterState(i:number):string{\n let span_filter = \"filter_span \"\n if(this.listChip[i] == true){\n span_filter += \"active_span\"\n }\n return span_filter\n }\n\n /**\n * Metodo que se encarga de iniciar los filtros\n * @author Juan David Guerrero Vargas\n * @param i:number filtro a cambiar de estad\n * @return void\n */\n activeFilter( i:number){\n this.listChip[i] = !this.listChip[i]\n switch (i) {\n case 0:\n this.listChip[1] = false\n this.listChip[2] = false\n this.$filterContact = of(this.listContacts);\n break;\n case 1:\n this.listChip[0] = false\n this.listChip[2] = false\n this.$filterContact = of(this.listContacts.filter( ffll => ffll.countMessageNotRead > 0 ));\n break;\n case 2:\n this.listChip[0] = false\n this.listChip[1] = false\n this.$filterContact = of(this.listContacts.filter( ffll => ffll.recipient_type == 2 ));\n break;\n\n default:\n this.listChip[1] = true\n this.listChip[1] = false\n this.listChip[2] = false\n this.$filterContact = of(this.listContacts);\n break;\n }\n }\n\n /**\n * Metodo que se encarga de obtener el de asignar el chat a habilitar\n * @author Juan David Guerrero Vargas\n * @param chat:UserChatInterface {UserChatInterface} char ha habilitgar como el chat actual\n * @param i:number {number} indice del chat a asignar\n */\n setNewChat(chat:UserChatInterface, i:number):void{\n this.managerChat.setActualChat(chat)\n this.listContacts[i].countMessageNotRead = 0\n\n }\n\n /**\n * MEtodo que se encarga de determinar si se tienen o no mensajes nuevos en el char evaluado\n * @author Juan David Guerrero Vargas\n * @param contact:any {any}\n * @returns string {string} cadena de texto con las clases aplicar para char con o sin mensajes leidos\n */\n notificationHaveNewMessage(contact:any):string{\n let str = \"w-100 d-flex align-items-center item-chat\"\n if(contact.countMessageNotRead == 1){\n str += \" not_read\"\n }\n return str\n }\n\n\n /**\n * Metodo que se encarga de cerrar el listado de contactos\n */\n closePanelListContact():void{\n this.managerChat.openListContact = false;\n }\n\n /**\n * Metodo qie se encarga de abrir el modal para creacion de grupos\n * @author Juan David Guerrero Vargas\n * @return void\n */\n openModalChatGroup():void{\n const dialogGroup = this.dialog.open(ChatGroupsComponent,{\n data:{\n optenTo:'create',\n title:'Crear grupo',\n },\n width: '90vw',\n height: '90vh'\n })\n\n dialogGroup.afterClosed().subscribe(confirmation => {\n if(confirmation && confirmation !== undefined){\n this.getListContact();\n }\n })\n }\n\n /**\n * Metodo que se encarga de identificar si el rrhh_id es igual al rrhh_id del usuario\n * @author Juan David Guerrero Vargas\n * @param rrhh_id:number|string {number|string} rrhh_id a evaluar\n * @returns booelan\n */\n isOwnerGroup(rrhh_id):boolean{\n if(rrhh_id == this.authService.decryptToken().rrhh_id){\n return true\n }\n return false\n }\n\n /**\n * Metodo que se encarga de abrir el modal donde se listan los contactos\n * @author Juan David Guerrero Vargas\n * @return void\n */\n openMoalContacts():void{\n const dialogContacts = this.dialog.open(AllContactsComponent,{\n data:{\n optenTo:'create',\n }\n });\n\n dialogContacts.afterClosed().subscribe(\n (closedContacts)=>{\n if(closedContacts && closedContacts?.user !== undefined){\n this.managerChat.setActualChat(closedContacts.user)\n }\n }\n );\n }\n\n\n /**\n * Metodo que se encarga de abrir el modal apra la edicion del grupo\n * @author Juan David Guerrero Vargas\n * @returns {void} void\n */\n openModalEditGroups(group:any):void{\n const dialogRef = this.dialog.open(ChatGroupsComponent,{\n data:{\n optenTo:'edit',\n idGroup:group.rrhh_id,\n name_group:group.name,\n onwer_id: group?.onwer_id,\n title:'Editar grupo ' + group.name\n }\n });\n\n dialogRef.afterClosed().subscribe(\n (closeEditGroup)=>{\n if(closeEditGroup && closeEditGroup !== undefined){\n this.getListContact(closeEditGroup?.id_group);\n if(closeEditGroup?.id_group == undefined || closeEditGroup?.id_group == null || closeEditGroup?.id_group == \"\"){\n this.managerChat.setActualChat(null)\n }\n }\n }\n )\n }\n\n /**\n * Metodo que se encatga de abrir el detalle del grupo\n * @param contact:any {any}\n */\n seeDetailGroup(contact:any){\n console.log(contact)\n const bottomSheet = this.bottomSheet.open(ViewUsersGroupComponent, {\n data: {\n idGroup:contact.rrhh_id,\n }\n });\n }\n}\n","
\n \n
\n
\n

Chat soul

\n

Recuerda que el uso de este chat está restringido al ámbito laboral.

\n
\n
\n\n
\n
\n \n Buscar chat\n \n search\n \n
\n
\n\n
\n
\n
\n Todos\n No leídos\n Grupos\n
\n
\n
\n
\n
    \n
  • \n
    \n
    \n
    {{ contact.name[0] }}
    \n
    \n
    \n
    \n
    \n

    {{ contact.name }}

    \n

    {{ contact.recipient_type == 1 ? \"Usuario\" : \"Grupo\" }}

    \n
    \n
    \n comment\n   \n \n\n \n \n \n \n \n
    \n
    \n
    \n
    \n
  • \n
  • \n

    Aún no tienes chats activos, busca contactos o crea un grupo para comunicarte con ellos.

    \n \n \n
  • \n
\n
\n \n\n \n
","import { animate, state, style, transition, trigger } from \"@angular/animations\";\n\nexport const contacAnimation= [\n trigger('toggleContactBar', [\n state('true', style({\n transform: 'translateX(0%)'\n })),\n state('false', style({\n transform: 'translateX(110%)'\n })),\n transition('true <=> false', [\n animate('300ms ease-in-out')\n ])\n ])\n]","import { Component, OnInit, Input } from '@angular/core';\n\ninterface CallSumary {\n customerSentiment: string,\n keywords: string\n summaryOfConversation: string\n};\n\n@Component({\n selector: 'app-call-summary',\n templateUrl: './call-summary.component.html',\n styleUrls: ['./call-summary.component.sass']\n})\nexport class CallSummaryComponent implements OnInit {\n @Input() dataCallSumary: CallSumary | null = null;\n\n constructor() { }\n\n ngOnInit(): void {\n \n }\n}","
\n
Resumen de la llamada con el BOT
\n
\n
Sentimiento del cliente:
\n
\n \n \n
No registra
\n
\n
\n
Palabras clave:
\n
{{ dataCallSumary.keywords }}
\n
\n
\n

Resumen de la conversación:

\n \n \n \n
\n
","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-files-upload',\n templateUrl: './files-upload.component.html',\n styleUrls: ['./files-upload.component.sass']\n})\nexport class FilesUploadComponent implements OnInit {\n @Output() sendFiles = new EventEmitter();\n files: any = [];\n\n constructor() { }\n\n ngOnInit(): void {\n \n }\n /**\n * @author Fabian Duran\n * @createdate 2023-02-11\n * Metodo que agrega un archivo a la lista de archivos. \n */\n addFile(): void {\n const inputFile = document.getElementById('inputFile') as HTMLInputElement;\n if (inputFile) {\n for (let i = 0; i < inputFile.files!.length; i++) {\n const file = inputFile!.files![i];\n this.files.push({ file });\n }\n }\n this.sendFiles.emit(this.files);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-02-11\n * Metodo que elimina un archivo de la lista de archivos. \n * @param nameFile Nombre del archivo a eliminar. \n */\n removeFile(nameFile: string): void {\n const filterListFiles = this.files.filter(item => item.file.name !== nameFile);\n this.files = filterListFiles;\n this.sendFiles.emit(this.files);\n }\n}","
\n \n Adjuntar archivos  \n \n \n \n
0\" class=\"py-1\">\n \n \n {{ item.file.name }}\n \n cancel\n \n \n \n
\n
\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Paginator, Button, ConfigTable } from './type';\nimport { PageEvent } from '@angular/material/paginator';\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { FormArray, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Component({\n selector: 'shared-basic-table',\n templateUrl: './basic-table.component.html',\n styleUrls: ['./basic-table.component.css']\n})\n\nexport class BasicTableComponent implements OnInit {\n public keyColumns: string[] = [];\n public checkedRegister: number\n public selection = new SelectionModel(true, []);\n public formInput: FormArray\n @Input() columnsTable: ConfigTable[] = [];\n @Input() dataTables: any[] = [];\n @Input() stickyTable: boolean = false;\n @Input() messageLoading: string = 'No hay información disponible';\n @Input() buttonsOptions: Button[] = [];\n @Input() isToogle: boolean = true;\n @Input() isRadioButton: boolean = false;\n @Input() configPaginator: Paginator = null;\n @Input() showTooltipTable: boolean = false;\n @Input() showHorizontalScroll: boolean = false\n @Input() showButtonSubmit: boolean = false\n @Output() eventEmitRadio: EventEmitter = new EventEmitter();\n @Output() eventEmitButton: EventEmitter = new EventEmitter();\n @Output() eventEmitSlider: EventEmitter = new EventEmitter();\n @Output() updatePaginator: EventEmitter = new EventEmitter();\n @Output() eventEmitCheck: EventEmitter = new EventEmitter();\n @Output() sumValuesInput: EventEmitter = new EventEmitter()\n @Output() sendInputValues: EventEmitter = new EventEmitter()\n @Output() eventSubmit: EventEmitter = new EventEmitter()\n\n constructor(\n private fb: FormBuilder,\n private domSanitizer: DomSanitizer\n ) { }\n\n ngOnInit() {\n this.keyColumns = this.columnsTable.map(column => column.key);\n const keyInput = this.columnsTable.find(column => column.type && column.type === 'input')\n if (this.dataTables.length > 0 && keyInput) {\n this.formInput = new FormArray([])\n this.dataTables.forEach((data) => {\n this.formInput.push(new FormControl({ value: 0, disabled: true }, [Validators.min(1), Validators.required]))\n })\n }\n }\n\n /**\n * @author Duvan Ramirez\n * @createdate 2024-03-06\n * Metodo que emite un evento a traves de el radio button. \n * @param element Registro seleccionado de la tabla.\n */\n eventRadio(element: any): void {\n this.checkedRegister = element.id\n this.eventEmitRadio.emit(element);\n }\n /**\n * @author Duvan Ramirez\n * @createdate 2024-03-06\n * Metodo que emite un evento a traves del boton. \n * @param element Registro seleccionado de la tabla.\n * @param action Tipo de accion generada. \n */\n eventButton(element: any, action: string): void {\n this.eventEmitButton.emit({ element, action });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-06\n * Metodo que emite un evento a traves del slide. \n * @param $event emitido por el slider. \n */\n eventSlider($event: MatSlideToggleChange, element: any): void {\n this.eventEmitSlider.emit({ state: $event.checked, element });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-06\n * Metodo que emite un evento a traves del paginator.\n * @param $event emitido por el paginador. \n */\n onChangePage($event: PageEvent): void {\n this.updatePaginator.emit($event);\n }\n /**\n * @author Duvan Ramirez\n * @createdate 2024-03-21\n * Metodo valida si se selecciona todas las filas de la tabla. \n */\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataTables.length;\n return numSelected === numRows;\n }\n /**\n * @author Duvan Ramirez\n * @createdate 2024-03-21\n * Metodo que toma la selecciona de todas las filas. \n */\n masterToggle() {\n this.isAllSelected() ?\n this.selection.clear() :\n this.dataTables.forEach(row => this.selection.select(row));\n this.eventEmitCheck.emit({ type: 'all', selected: this.selection.selected })\n this.inputDisableOrEnable(false, 'all', 0)\n }\n /**\n * @author Duvan Ramirez\n * @createdate 2024-03-21\n * Metodo pitan la seleccion de cada una de las filas\n */\n checkboxLabel(row?: any): string {\n if (!row) {\n return `${this.isAllSelected() ? 'select' : 'deselect'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.position + 1}`;\n }\n /**\n * @author Duvan Ramirez\n * @createdate 2024-03-21\n * Metodo que emitira al padre la o las filas seleccionadas\n * @param event evento emitido por el check\n * @param element element de la fila seleccionado\n * @param index posicion de elemento seleccionado\n */\n changeCheckbox(event: MatCheckboxChange, element: any, index: number) {\n this.inputDisableOrEnable(event.checked, '', index)\n this.eventEmitCheck.emit({ type: 'unique', selected: element, elementsSelected: this.selection.selected })\n }\n /**\n * @author Duvan Ramirez\n * @createdate 2024-03-22\n * Metodo que suma los campos input activos\n */\n captureInput() {\n if(this.formInput.valid){\n const sumInput = this.formInput.value.reduce((acc, curr) => parseFloat(acc) + parseFloat(curr), 0)\n this.sumValuesInput.emit(sumInput)\n }\n }\n /**\n * @author Duvan Ramirez\n * @createdate 2024-03-22\n * Metodo valida que campos input activar seleccionar uno o todos los checks\n * @param checked boleano indicando el campo seleccionaod\n * @param type tipo de check seleccionado\n * @param index posicion del campo checkqueado\n */\n inputDisableOrEnable(checked: boolean, type: string, index: number): void {\n if (this.formInput) {\n if (type === 'all') {\n this.formInput.controls.forEach(control => {\n if (this.selection.selected.length > 0) {\n control.enable()\n } else {\n control.setValue(0)\n control.disable()\n }\n })\n } else {\n if (checked) {\n this.formInput.at(index).enable()\n } else {\n this.formInput.at(index).disable()\n this.formInput.at(index).setValue(0)\n }\n }\n this.captureInput()\n }\n }\n /**\n * @author Duvan Ramirez\n * @createdate 2024-04-02\n * Metodo que emite los valores a relacionar de la fila\n * @param element elemento de la fila seleccionada\n * @param valueInput valor ingresado en la fila\n */\n blurInput(element: any, valueInput:number):void{\n this.sendInputValues.emit({element, valueInput})\n }\n /**\n * @author Duvan Ramirez\n * @createdate 2024-04-02\n * Metodo valida que valida los campos no presenten errores y lanzar el submit\n */\n submit():void{\n if(this.formInput.invalid) return this.formInput.markAllAsTouched()\n this.eventSubmit.emit()\n }\n /**\n * @author Fabian Duran\n * @createdate 2025-15-01\n * Metodo renderiza html dinamico en las columnas de la tabla.\n * @param html Html dinamico\n */\n getSanitizedHtml(html: string): SafeHtml {\n return this.domSanitizer.bypassSecurityTrustHtml(html);\n }\n}","\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n {{ column.name }}\n \n \n
\n
\n
S/ {{ element[column.key] | currency: '':'':'1.2-2' }}
\n
\n
\n
\n
\n
\n 0\">\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n
\n \n Valor\n \n \n Este es requerido\n El valor debe ser superior a 0\n \n \n
\n
\n
30; else sinTootip\"\n matTooltipClass=\"tooltip-text\" #tooltip=\"matTooltip\" [matTooltip]=\"element[column.key]\"\n matTooltipPosition=\"below\">\n {{ element[column.key] | slice : 0 : 30 }}...\n
\n \n {{ element[column.key] }}\n \n
\n
\n
\n {{ messageLoading }}\n
\n\n\n
\n
\n \n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { CrudService } from 'src/app/shared/basic-crud-page-service/crud.service';\nimport { environment } from 'src/environments/environment';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { SableService } from '../services/sable.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\nconst { SABLE_URL } = environment;\n\n@Component({\n selector: 'app-dialog-state-packages',\n templateUrl: './dialog-state-packages.component.html',\n styleUrls: ['./dialog-state-packages.component.sass']\n})\nexport class DialogStatePackagesComponent implements OnInit {\n buttonsOptions = [\n { class: 'fi-rr-download', action: 'download', visible: (element: any) => element.state_download === 'Descarga Culminada' },\n { class: 'fi-rr-info', action: 'error', visible: (element: any) => element.state_download === 'Descarga Fallida' },\n { class: 'fi-rr-delete', action: 'delete', visible: (element: any) => element.id_state_download !== 3 }\n ];\n packages: any[] = [];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private crudService: CrudService,\n private sableService: SableService,\n private alertService: AlertsService\n ) { }\n\n ngOnInit(): void {\n this.getPackages();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2025-01-21\n * Metodo que trae los paquetes asociados a la descarga.\n */\n getPackages(): void {\n this.crudService.getData({ url: `${SABLE_URL}descarga/show/${this.data.download.id}` }).subscribe(res => {\n this.packages = res.data.DownloadDetalles.map((item: any, index) => {\n return {\n ...item,\n name: `Paquete # ${index + 1}`,\n html: this.setHtmlState(item.state_download)\n };\n });\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2025-01-21\n * Metodo que valida el estado para renderizar el html sobre la columna.\n * @param state Estado de la descarga\n */\n setHtmlState(state: string): string {\n if (state === 'Descarga Culminada') return `${state}`;\n if (state === 'Descargando') return `${state}`;\n if (state === 'Descarga Eliminada' || state === 'Descarga Fallida') return `${state}`;\n }\n /**\n * @author Fabian Duran\n * @createdate 2025-01-15\n * Metodo que ejecuta las acciones de los botones de la tabla.\n * @param $event Boton seleccionado.\n */\n onClickButtonTable($event: any): void {\n if ($event.action === 'download' || $event.action === 'error') {\n this.sableService.downloadFile($event.element.id).subscribe(res => {\n importedSaveAs(res);\n });\n } else if ($event.action === 'delete') {\n this.alertService.alertWarning('¿Está seguro?', '¿De eliminar la descarga seleccionada?').then(confirm => {\n if (confirm.isConfirmed) {\n this.sableService.deleteDownload($event.element.id).subscribe(res => {\n this.alertService.alertSuccess('Correcto', res.data);\n this.getPackages();\n });\n }\n });\n }\n }\n}","
\n
\n
\n {{ data.download.name_file }}\n {{ data.download.created_at | date: 'dd/MM/yyyy - HH:mm' }}\n
\n \n
\n
\n Actualizar información\n
\n \n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { RequestsService } from '../../../services/requests.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-request-details-dialog',\n templateUrl: './request-details-dialog.component.html',\n styleUrls: ['./request-details-dialog.component.sass']\n})\nexport class RequestDetailsDialogComponent implements OnInit {\n\n request;\n constructor( private _request:RequestsService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialog: MatDialogRef ) { }\n\n ngOnInit(): void {\n this.getDetail();\n }\n\n getDetail(){\n this._request.getRequestDetail(this.data.requestId).subscribe( (resp) => {\n this.request = resp;\n } )\n }\n\n}\n","\n\n

Solicitud {{request?.code }}

\n

{{request?.request_data?.cargo}}

\n \n\n \n\n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ChatService } from '../../../services/chat.service';\nimport { MatExpansionPanel } from '@angular/material/expansion';\nimport * as html2pdf from 'html2pdf.js';\n\n@Component({\n selector: 'app-chat-view-modal',\n templateUrl: './chat-view-modal.component.html',\n styleUrls: ['./chat-view-modal.component.sass']\n})\nexport class ChatViewModalComponent implements OnInit {\n chat_id: any;\n chatData: any;\n uniqueAgentNames: any;\n\n @ViewChild('containerViewReport') containerViewReport: ElementRef;\n @ViewChild('caseDetails') caseDetails: MatExpansionPanel;\n @ViewChild('conversation') conversation: MatExpansionPanel;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private chatService: ChatService,\n ) {}\n\n ngOnInit(): void {\n this.chat_id = this.data.id;\n this.loadDataConversation();\n }\n\n /**\n * Obtener la infor,acion de la conversacion\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n loadDataConversation(): void {\n this.chatService.getChatById(this.chat_id).subscribe(\n (response) => {\n this.chatData = response.data[0];\n this.extractUniqueAgentNames();\n },\n (error) => {\n console.error('Erroral consultar la conversación', error);\n }\n );\n }\n \n /**\n * Metodo estraer el nombre dde los agentes que hablan en la conversacion\n * @author Yeison sepulveda\n * @createdate 2024-07-15\n * @returns void {void} \n */\n\n extractUniqueAgentNames(): void {\n if (this.chatData && this.chatData.chat_details) {\n const agentNames = this.chatData.chat_details\n .filter(detail => detail.answered_by && detail.agent_name)\n .map(detail => detail.agent_name)\n .filter((value, index, self) => self.indexOf(value) === index);\n\n this.uniqueAgentNames = agentNames;\n }\n }\n\n /**\n * Metodo descarga e imprime pantallazo del modal\n * @update Yeison Sepulveda\n * @updatedate 29-05-2024\n */\n async onClickPrintPdf() {\n this.caseDetails.open();\n this.conversation.open();\n await new Promise(resolve => setTimeout(resolve, 1000));\n const content = this.containerViewReport.nativeElement;\n \n const margin = 13;\n const filename = this.generateFilename();\n \n const options = {\n margin: margin,\n filename: filename,\n image: { type: 'jpeg', quality: 0.98 },\n html2canvas: {\n scale: 2,\n },\n jsPDF: {\n unit: 'mm',\n format: 'a4',\n orientation: 'portrait'\n },\n pagebreak: {\n mode: ['avoid-all', 'css', 'legacy']\n }\n };\n \n const testPDF = html2pdf().from(content).set(options).toContainer().toCanvas().toImg().toPdf();\n testPDF.get('pdf').then(function (pdf) {\n const totalHeight = content.scrollHeight * 0.264583 + 2 * margin;\n pdf.internal.pageSize = { width: 210, height: totalHeight };\n });\n \n testPDF.save();\n }\n\n\n /**\n * Metodo generar el nombre del documento a descargar \n * @author Yeison Sepulveda\n * @createdate 2024-0-03\n * @return nombre del archivo PDF\n */\n \n generateFilename(): string {\n const currentDate = new Date().toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n }).replace(/\\//g, '');\n \n const currentTime = new Date().toLocaleTimeString('es-ES', {\n hour: '2-digit',\n minute: '2-digit',\n hour12: false\n }).replace(/:/g, '');\n \n const dateTimeString = `${currentDate}${currentTime}`;\n return `conversacion_${this.chatData.phone}_${dateTimeString}.pdf`;\n }\n\n}\n","\n \n
\n

Detalle de la Conversación

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

Detalles del Caso

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

Número de Caso: {{ chatData?.case_number || 'No disponible' }}

\n

Proceso: {{ chatData?.process || 'No disponible' }}

\n

Teléfono: {{ chatData?.phone || 'No disponible' }}

\n

Estado: {{ chatData?.state || 'No disponible' }}

\n

0\">Agentes involucrados:

\n
    0\">\n
  • {{ name }}
  • \n
\n
\n
\n
\n
\n\n \n \n \n

Conversación

\n
\n
\n
\n
\n

\n \n \n {{ detail?.answered_by ? detail?.agent_name : 'Cliente (' + chatData?.phone + ')' }}\n \n ({{ detail?.entry_date_time }}): \n {{ detail?.content }}\n

\n
\n
\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n","import { AngularEditorConfig } from '@kolkov/angular-editor';\n\nexport const EDITOR_CONFIG: AngularEditorConfig = {\n editable: true,\n spellcheck: true,\n height: '200px',\n minHeight: '',\n maxHeight: '',\n minWidth: '0',\n enableToolbar: true,\n showToolbar: true,\n placeholder: 'Escriba su mensaje aquí',\n defaultParagraphSeparator: '',\n defaultFontName: '',\n defaultFontSize: '',\n sanitize: false,\n fonts: [],\n customClasses: [\n {\n name: 'Arial',\n class: 'font-arial',\n },\n {\n name: 'Time-New-Roman',\n class: 'font-time-new-roman'\n },\n {\n name: 'Verdana',\n class: 'font-verdana'\n },\n {\n name: 'Calibri',\n class: 'font-calibri'\n },\n ],\n toolbarPosition: 'top',\n toolbarHiddenButtons: [['bold', 'italic', 'fontName'], ['fontSize', 'insertVideo', 'insertImage']],\n};","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SnackBarService {\n\n constructor(private matSnackBar: MatSnackBar) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-03-04\n * Metodo que muestra una notificacion tipo success.\n * @param title Titulo de la notificacion.\n * @param message Mensaje de la notificacion.\n * @param duration Duracion de la notificacion.\n * @param panelClass Clase CSS de la notificacion.\n */\n showNotification({title = '¡Excelente!', message, duration = 5000, panelClass = 'green-snackbar'}): void {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: { title, message },\n duration,\n verticalPosition: 'top',\n panelClass: [panelClass]\n });\n }\n}","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { Observable, Subscription } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { CoachingService } from 'src/app/modules/coaching/services/coaching.service';\nimport { loadAuditoria } from 'src/app/modules/coaching/state/actions/auditoria.actions';\nimport { loadHistorial } from 'src/app/modules/coaching/state/actions/historial.actions';\nimport { loadSelects } from 'src/app/modules/coaching/state/actions/selects.actions';\nimport { loadSolicitud } from 'src/app/modules/coaching/state/actions/solicitud.actions';\nimport { solicitudSelect } from 'src/app/modules/coaching/state/selectors/solicitud.selector';\n\n@Component({\n selector: 'app-detalle-coaching',\n templateUrl: './detalle-coaching.component.html',\n styleUrls: ['./detalle-coaching.component.sass']\n})\nexport class DetalleCoachingComponent implements OnInit, OnDestroy {\n type:string;\n id:string;\n solicitud$:Observable = new Observable();\n indicador_final:number = 0;\n cuartil_final:string = '';\n is_asesor:boolean = false;\n rol;\n //Observable para los cambios de la tabla\n subscription:Subscription; \n constructor(\n private store:Store,\n private aRoute:ActivatedRoute,\n private coachingService:CoachingService,\n private router:Router,\n private authService:AuthService,\n ) { }\n\n ngOnInit(): void {\n this.aRoute.paramMap.subscribe(params=>{\n this.type = params.get('type');\n this.id = params.get('id');\n });\n this.authService.getUser().roles.forEach(rol => {\n if (rol == 'coaching::asesor') {\n this.is_asesor = true;\n }\n if (rol.includes('coaching::')) { \n this.rol = rol;\n }\n });\n this.dispatch();\n this.subscription = this.coachingService.refresh$.subscribe(()=>{\n this.dispatch();\n });\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n /**\n * @author Cristian Gallo\n * @createdate 2021-01-17\n * Metodo para validar a que tab debe regresar.\n */\n regresar(){\n if (this.type === \"solicitud\" || this.type === \"auditoria\") {\n this.router.navigateByUrl('/mios/coaching/coaching/0')\n }else{\n this.router.navigateByUrl('/mios/coaching/coaching/1')\n }\n }\n\n /**\n * @author Cristian Gallo\n * @createdate 2021-12-17\n * Metodo para realizar la ajecución de las acciones.\n */\n dispatch(){\n this.store.dispatch(loadSelects({rol:this.rol}));\n if (this.type === \"auditoria\") {\n this.store.dispatch(loadAuditoria({idAuditoria:this.id}));\n }else if (this.type === \"solicitud\" || this.type === \"finalizado\") {\n this.store.dispatch(loadSolicitud({idSolicitud:this.id}));\n this.store.dispatch(loadHistorial({idSolicitud:this.id}));\n }\n\n if (this.type === \"finalizado\") {\n this.solicitud$ = this.store.select(solicitudSelect);\n this.solicitud$.forEach(element => {\n if (element) {\n this.indicador_final = element[0].acompanamiento.indicadorFinal;\n this.cuartil_final = element[0].acompanamiento.cuartil_final.nombre;\n }\n });\n }\n }\n\n}\n","
\n
\n \n
\n
\n

Coaching

\n

Aquí podrás crear un nuevo acompañamiento. No olvides,

\n

“El respeto y empatía son clave”.

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

Indicador y Cuartil final

\n \n
\n \n
Indicador final
\n
{{ indicador_final | number:'1.0-3'}}
\n
\n \n
Cuartil final
\n
{{ cuartil_final }}
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams, HttpBackend } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: \"root\"\n })\nexport class HttpService {\n public url: string;\n\nprivate httpClient: HttpClient;\n\n constructor(private http: HttpClient, handler: HttpBackend) {\n this.url = environment.LIVECHAT_URL;\n this.httpClient = new HttpClient(handler);\n }\n\n post(endpoint:string , form: any){\n return this.http.post(`${environment.LIVECHAT_URL}${endpoint}`, form);\n }\n\n getExternal(endpoint: string){\n return this.http.get(`${endpoint}`)\n }\n\n get( endpoint: string, params: any = {} ){\n let query:any = {}\n if(Array.isArray(params)){\n if(params.length !== 0){\n query = new HttpParams();\n for(const item of params){\n query = query.append(Object.keys(item)[0], item[Object.keys(item)[0]])\n }\n }\n\n return this.http.get(`${environment.LIVECHAT_URL}${endpoint}`,{ params: query })\n }\n\n return this.http.get(`${environment.LIVECHAT_URL}${endpoint}`,{ params })\n\n }\n delete(endpoint: string,id:string) {\n return this.http.delete(`${this.url}${endpoint}/${id}`);\n }\n\n getNotes(id_conversation): Observable {\n return this.http.get(this.url +'notes/list/'+id_conversation);\n }\n\n getTemplate(project_id): Observable {\n return this.http.get(this.url +'shortcut/list/'+project_id);\n }\n\n update(endpoint:string , form: any){\n return this.http.put(`${environment.LIVECHAT_URL}${endpoint}`, form);\n }\n\n getOne(endpoint: string,id:string) {\n return this.http.get(`${this.url}${endpoint}/${id}`);\n }\n\n insertPost(message: any): Observable{\n return this.http.post(`${this.url}comments/insertPost`, message);\n }\n\n consumoRPS(message:any): Observable{\n\n return this.httpClient.post(`https://apigateway.outsourcingcos.com/rpa-service/rpa.comment?plataforma=${message.plataforma}&postID=${message.postId}&agent=${message.agente}&comment=${message.comentario}`, null);\n\n }\n\n enviarMensajeRPAchannel(message:any): Observable{\n return this.httpClient.post(`${environment.LIVECHAT_URL}channels/sendConversation`, message);\n }\n\n}\n","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\nimport { map } from 'rxjs/operators';\nimport { CampaignInterface } from '../interfaces/CampaignInterface';\nimport { PositionInterface } from '../interfaces/PositionInterface';\n\n\nconst NOMINA_URL = environment.NOMINA_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NominaService {\n\n headersFile;\n headers;\n\n constructor(private http: HttpClient, private authService: AuthService) {\n this.headersFile = {\n responseType: \"blob\"\n };\n }\n\n /**\n * Consulta las campañas activas en recursos humanos\n * @returns\n */\n getCampaings(): Observable {\n return this.http.get(`${NOMINA_URL}campaigns/showAll?paginate=0`)\n .pipe( map( (campaigns:CampaignInterface[]) => campaigns[\"data\"] ));\n }\n\n\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport { CoachingService } from 'src/app/modules/coaching/services/coaching.service';\nimport { CoachingState } from 'src/app/modules/coaching/state/coaching.state';\nimport { listEstados } from 'src/app/modules/coaching/state/selectors/selects.selector';\nimport { solicitudSelect } from 'src/app/modules/coaching/state/selectors/solicitud.selector';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-form-asesor',\n templateUrl: './form-asesor.component.html',\n styleUrls: ['./form-asesor.component.sass']\n})\nexport class FormAsesorComponent implements OnInit {\n\n estados$:Observable = new Observable();\n estados = [];\n solicitud$:Observable = new Observable();\n contestado:boolean = false;\n\n estadoForm:FormGroup\n\n id_coach;\n\n constructor(\n private store:Store,\n private fb:FormBuilder,\n private coachService:CoachingService,\n private aRoute:ActivatedRoute,\n private router:Router\n ) { }\n\n ngOnInit(): void {\n this.aRoute.paramMap.subscribe(params => {\n this.id_coach = params.get('id');\n })\n this.loadState();\n this.createForm();\n }\n\n createForm(){\n this.estadoForm = this.fb.group({\n estado:['',Validators.required],\n comentario_asesor:['',Validators.required]\n })\n }\n\n loadState(){\n this.estados$ = this.store.select(listEstados);\n this.estados$.forEach((element) => {\n if (element) {\n this.estados = [];\n element.forEach(estado =>{\n if (estado.nombre == 'Aceptado') {\n this.estados.push(estado);\n }\n if (estado.nombre == 'Rechazado') {\n this.estados.push(estado);\n }\n })\n }\n });\n this.solicitud$ = this.store.select(solicitudSelect);\n this.solicitud$.forEach(solicitud => {\n if (solicitud) {\n if (solicitud[0].acompanamiento.estado_asesor != null) {\n this.estadoForm.disable();\n }else{\n this.estadoForm.enable();\n }\n }\n });\n }\n\n /**\n * @author Cristian Gallo\n * @createdate 2022-01-26\n * Se encargar de responder el acompañamiento asignado.\n */\n\n saveSeguimiento(){\n if (this.estadoForm.invalid) {\n return\n }\n Object.assign(this.estadoForm.value,{\n id:this.id_coach,\n ruta:`/mios/coaching/solicitud/${this.id_coach}`,\n mensaje:`El asesor ha respondido el acompañamiento ID-${this.id_coach}`\n });\n this.coachService.solicitudAsesor(this.estadoForm.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202){\n Swal.fire({\n icon:'success',\n title:'¡Excelente!',\n html:`

El estado de solicitud se ha gestionado con exito.

ID Coaching ${this.id_coach}

`,\n showConfirmButton:false,\n timer: 4500\n })\n this.cancelar();\n this.router.navigateByUrl('/mios/coaching/coaching/0');\n }else{\n Tools.swalError('¡Oops!','Lo sentimos, ha ocurrido un error inesperado y no fue posible cambiar el estado de la solicitud, por favor intenta nuevamente.');\n }\n });\n }\n\n cancelar(){\n this.estadoForm.reset();\n this.estadoForm.get('estado').setErrors(null);\n this.estadoForm.get('comentario_asesor').setErrors(null);\n }\n\n}\n","

Estado solicitud

\n
\n \n Estado\n \n {{estado.nombre}}\n \n Por favor seleccione una opción.\n \n \n Comentario asesor\n \n Por favor ingrese un comentario.\n \n
\n \n \n
\n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { CheckAttachmentComponent } from '../check-attachment/check-attachment.component';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { ContractCreationComponent } from '../contract-creation/contract-creation.component';\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\nimport { saveAs as importedSaveAs } from \"file-saver\";\nimport {Location} from '@angular/common';\nimport { FilesViewComponent } from 'src/app/shared/files-view/files-view.component';\nimport { SignaturePad } from 'angular2-signaturepad';\nimport { CandidateCommentsComponent } from '../candidate-comments/candidate-comments.component';\nimport {switchMap} from 'rxjs/operators';\nimport { FormControl } from '@angular/forms';\nimport { UsersService } from '../../../services/users.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { PaymentSlipService } from '../../../services/paymentSlip.service';\n\n\n@Component({\n selector: 'app-candidate-cv-juridico-nomina-doc',\n templateUrl: './candidate-cv-juridico-nomina-doc.component.html',\n styleUrls: ['./candidate-cv-juridico-nomina-doc.component.sass']\n})\nexport class CandidateCvJuridicoNominaDocComponent implements OnInit {\n\n checkControl = new FormControl('1');\n fechaCita;\n identity_document: any = [];\n personal_reference: any = [];\n academic_reference: any = [];\n job_reference: any = [];\n adres_certified: any = [];\n ruaf_certified: any = [];\n bank_certified: any = [];\n photo: any = [];\n antecedentes_penales: any = [];\n eps: any = [];\n arl: any = [];\n afc: any = [];\n contrato: any = [];\n firma: any = [];\n codigo_qr: any = [];\n migracion_colombia:any = [];\n\n candidateCertificate: any = [];\n certicate:string;\n displayColumns: string[] = [];\n displayColumnsName: any = [];\n\n viewAgreement:boolean= false\n checkAgreement:boolean= false\n checkCredencials:boolean= true\n\n agreements:any = [];\n\n hiring:boolean= false\n candidateHistory: any = [];\n\n documentsCandidate: any = [];\n\n candidateId;\n candidateStatus = null;\n candidate: any = [];\n\n attachments: any = [];\n\n attachmentId;\n\n scheduledBtn = 'Agendar';\n contract:any;\n contractPhase= null\n documentToFilter = ['photo','identity_document','personal_reference','academic_reference','job_reference','adres_certified','ruaf_certified','bank_certified'];\n documentToOperationFilter = ['antecedentes_penales','eps','arl','afc', 'truora'];\n generateDocumentToActionsFilter = ['contrato','acuerdo_confidencialidad','acuerdo_imagen','consentimiento'];\n documentToActionsFilter = ['firma_contrato','firma_acuerdo_confidencialidad','firma_acuerdo_imagen','firma_consentimiento'];\n\n candidateDocuments:any = [];\n candidateOtherDocuments:any = [];\n documentGeneratedByOperation: any = [];\n documentsToUploadToOperation:any = [];\n data:any\n now = new Date().toISOString().split('.')[0];\n displayedColumns: string[] = ['actions', 'file', 'name', 'state'];\n disabledDocument:boolean= true\n validator=false\n dataSource2 = new MatTableDataSource();\n displayedColumns2: string[] = ['date', 'hour', 'responsible', 'update'];\n length2: number;\n pageSize2: number = 5;\n pageSizeOptions2: number[] = [5, 10, 25, 100];\n currentPage2 = 1;\n\n selectCertifications = new FormControl('');\n selectYear = new FormControl('');\n certificationsType = [\n {key:'certificado-laboral', name:'Certificado Laboral'},\n {key:'desprendible-de-pago', name:'Desprendibles de pago'}\n ];\n public years: { id, name }[] = [];\n public paymentCertificates: any = [];\n public laborCertificates: any = [];\n public rrhh_id = null;\n public months: { id, name }[] = [\n { id: 1, name: 'ENERO' },\n { id: 2, name: 'FEBRERO' },\n { id: 3, name: 'MARZO' },\n { id: 4, name: 'ABRIL' },\n { id: 5, name: 'MAYO' },\n { id: 6, name: 'JUNIO' },\n { id: 7, name: 'JULIO' },\n { id: 8, name: 'AGOSTO' },\n { id: 9, name: 'SEPTIEMBRE' },\n { id: 10, name: 'OCTUBRE' },\n { id: 11, name: 'NOVIEMBRE' },\n { id: 12, name: 'DICIEMBRE' }\n ];\n\n constructor(private serviceCandidate: CandidatesService,\n private alertService: AlertsService,\n private route: ActivatedRoute,\n private dialog: MatDialog,\n public _location: Location,\n public auth:AuthService,\n public paymentSlipService: PaymentSlipService,\n private userServices: UsersService\n ) {}\n\n\n ngOnInit(): void {\n this.route.paramMap.subscribe(params => {\n this.candidateId = params.get('id');\n });\n this.auth.getUser().roles.forEach(element => {\n this.hiring = true\n this.validator = true\n\n });\n\n this.generateRangeYear(2022);\n let date = new Date();\n let year = date.getFullYear();\n this.selectYear.setValue(year);\n\n this.selectYear.valueChanges.subscribe(resp => {\n this.selectCertifications.setValue(this.selectCertifications.value);\n });\n\n this.selectCertifications.valueChanges.subscribe(resp => {\n switch (resp) {\n case 'certificado-laboral':\n this.serviceCandidate.getHiredUserID(this.candidateId).subscribe((resp: any) => {\n if (resp != false) this.getLaborCertication();\n });\n break;\n case 'desprendible-de-pago':\n this.serviceCandidate.getHiredUserID(this.candidateId).subscribe((resp: any) => {\n if (resp != false) this.getPaymentsSlipsCertifications(this.selectYear.value, resp.id);\n });\n break;\n }\n });\n\n this.getCandidate();\n this.getChangesHistorical();\n\n }\n\n documentView(url, name, file?){\n const checkDialog = this.dialog.open( FilesViewComponent, {\n disableClose: true,\n data: { url: url, name:name, file:file}\n });\n }\n getCandidate() {\n this.serviceCandidate.candidateAll(this.candidateId).subscribe( (resp:any) => {\n this.candidate = resp;\n this.checkControl = this.candidate.passive_holiday;\n this.candidateStatus = this.candidate.state_id;\n if(this.candidate && this.candidate.id_type.key != 'CC'){\n this.documentToOperationFilter.push('migracion_colombia');\n }\n this.fechaCita = resp.scheduleToSign ? new Date(resp.scheduleToSign).toISOString().replace( 'Z', '' ) : null;\n if(resp.scheduleToSign){\n this.scheduledBtn = 'Reagendar';\n }\n if(this.candidate.agreementRules != null){\n this.viewAgreement= true\n this.disabledDocument = false\n }\n this.contractPhase = this.viewAgreement ? 'Ver reglas del contrato': 'Crear reglas de contrato'\n });\n }\n\n checkCanUpdateEmail(): boolean{\n if (this.hiring && this.candidate.state_id === 6) {\n return true;\n } else {\n return false;\n }\n }\n\n getDocuments(filter) {\n\n this.serviceCandidate.getAttachments(this.candidateId).subscribe( (resp: any) => {\n this.documentsCandidate = resp;\n\n if(filter == OPTION_TO_FILTER.document){\n /**\n * Solo se filtraran documentos para el tab documentos\n */\n this.candidateDocuments = resp.filter( (elem:any) => {\n return this.documentToFilter.indexOf(elem.fileKey) > -1;\n })\n this.candidateOtherDocuments = resp.filter( (elem:any) => {\n return this.documentToOperationFilter.indexOf(elem.fileKey) > -1;\n })\n\n }else if(filter == OPTION_TO_FILTER.actions){\n /**\n * Solo se filtraran documentos para el tab Actions\n */\n this.documentGeneratedByOperation = resp.filter( (elem:any) => {\n return this.generateDocumentToActionsFilter.indexOf(elem.fileKey) > -1;\n })\n\n this.documentsToUploadToOperation = resp.filter( (elem:any) => {\n return this.documentToActionsFilter.indexOf(elem.fileKey) > -1;\n })\n /**\n * Revisa si se aprobó el contrato para habilitar la generacion de credenciales\n */\n\n\n const found1 = this.documentsToUploadToOperation.find(element=>element.fileKey == 'firma_contrato')\n if(found1 && found1.state == 'Pendiente'){\n this.checkAgreement = true\n }\n\n }else if(filter == OPTION_TO_FILTER.all){\n /**\n * Solo se filtraran documentos para el tab Todos\n */\n this.candidateDocuments = resp.filter( (elem:any) => {\n return this.documentToFilter.indexOf(elem.fileKey) > -1;\n })\n this.candidateOtherDocuments = resp.filter( (elem:any) => {\n return this.documentToOperationFilter.indexOf(elem.fileKey) > -1;\n })\n this.documentGeneratedByOperation = resp.filter( (elem:any) => {\n return this.generateDocumentToActionsFilter.indexOf(elem.fileKey) > -1;\n })\n\n this.documentsToUploadToOperation = resp.filter( (elem:any) => {\n return this.documentToActionsFilter.indexOf(elem.fileKey) > -1;\n })\n\n /**\n * Revisa si se aprobó el contrato para habilitar la generacion de credenciales\n */\n\n const found1 = this.documentsToUploadToOperation.find(element=>element.fileKey == 'firma_contrato')\n if(found1.state == 'Aprobado'){\n this.checkAgreement = false\n }\n\n }\n if(this.documentGeneratedByOperation.length > 0){\n this.documentGeneratedByOperation.forEach(element => {\n element['disabled']=true\n });\n this.contract = this.documentGeneratedByOperation.find(element=>element.fileKey == 'contrato')\n if(this.contract.state == 'Aprobado' && this.candidate.username == \"\"){\n this.checkCredencials = false\n }\n\n }\n this.checkSign('firma_acuerdo_confidencialidad')\n this.checkSign('firma_contrato')\n this.checkSign('firma_acuerdo_imagen')\n this.checkSign('firma_consentimiento')\n\n\n });\n\n }\n checkSign(fileKey){\n if(this.documentsToUploadToOperation.length > 0 && this.documentGeneratedByOperation.length >0){\n let fileKey2 = fileKey.split('firma_')[1]\n let found2 = this.documentGeneratedByOperation.find(element=>element.fileKey == fileKey2)\n let found = this.documentsToUploadToOperation.find(element=>element.fileKey == fileKey)\n if(found.state == 'Aprobado'){\n found2.disabled = false;\n }\n }\n }\n\n onTabChanged(event) {\n let idx = event.index;\n switch (idx) {\n case 0:\n this.getCandidate();\n case 1:\n this.getDocuments(OPTION_TO_FILTER.document);\n this.getCertifications();\n\n break;\n case 2:\n this.getHistory();\n break;\n case 3:\n this.getDocuments(OPTION_TO_FILTER.actions);\n break;\n }\n }\n\n checkItem(document) {\n const checkDialog = this.dialog.open( CheckAttachmentComponent, {\n minWidth: '50%',\n disableClose: true,\n data: { attachmentId: document.id, key: document.fileKey }\n });\n checkDialog.afterClosed().subscribe( (params) => {\n if(params){\n this.getDocuments(OPTION_TO_FILTER.all);\n }\n\n });\n }\n\n getHistory() {\n this.serviceCandidate.getHistory(this.candidateId).subscribe( resp => {\n this.candidateHistory = resp;\n });\n }\n\n agendarCita () {\n this.serviceCandidate.agendarCitaFirmaContrato(this.candidateId, this.fechaCita).subscribe( (resp: any) => {\n this.getCandidate();\n });\n }\n\n generateContract() {\n\n this.serviceCandidate.generateCandidateContract(this.candidateId).subscribe(resp => {\n this.disabledDocument=false\n this.alertService.alertSuccess('Generado','El contrato se ha creado con éxito')\n this.getDocuments(OPTION_TO_FILTER.actions);\n }, err=>{\n this.disabledDocument=false\n });\n }\n\n onFileSelected(files, documentTypeId,attachmentId) {\n const MAXIMUM_SIZE_BYTES= 20000000; // 1MB = 1 millón de bytes\n const sizaMb = MAXIMUM_SIZE_BYTES / 1000000;\n\n const idx = this.attachments.length;\n this.attachments = files[0];\n this.attachmentId = attachmentId;\n if (this.attachments.size > MAXIMUM_SIZE_BYTES) {\n this.alertService.alertWarning('Alerta',`El archivo supera el tamaño máximo de ${sizaMb}.`);\n }\n if (this.attachments.size < MAXIMUM_SIZE_BYTES) {\n this.saveDocuments(this.attachmentId,documentTypeId);\n }\n }\n\n saveDocuments(attachmentId,documentTypeId) {\n this.serviceCandidate.uploadDocumentCandidate(this.candidateId, this.attachments, documentTypeId,attachmentId).subscribe((resp: any) => {\n this.alertService.alertSuccess('¡Cargado!', 'Su documento se ha cargado correctamente');\n this.getDocuments(OPTION_TO_FILTER.all);\n });\n\n }\n\n/* generarQR() {\n this.serviceCandidate.generateQR(this.candidateId).subscribe( resp => {\n this.disabledDocument= false\n this.getDocuments(OPTION_TO_FILTER.actions);\n },(err) => {\n\n this.disabledDocument= false\n });\n } */\n\n getFilteredByKey(array, key, value) {\n return array.filter(function(e) {\n return e[key] == value;\n });\n }\n\n generateDocument(document){\n this.disabledDocument= true\n\n switch (document) {\n case 'contrato':\n this.generateContract()\n break;\n case 'codigo_qr':\n this.serviceCandidate.generateQR(this.candidate.id).subscribe( (resp:any) => {\n this.alertService.alertSuccess('¡Hecho!',resp);\n },(err) => {\n this.disabledDocument= false\n })\n break;\n default:\n let params = {\n 'stateKey':'contratacion',\n 'candidateId':this.candidate.id\n }\n params['document'] = document;\n this.serviceCandidate.generateDocuments(params).subscribe( (resp:any) => {\n this.disabledDocument= false\n this.alertService.alertSuccess('¡Hecho!',resp);\n this.getDocuments(OPTION_TO_FILTER.actions);\n },err =>{\n this.disabledDocument= false;\n })\n break;\n }\n\n }\n\n /**\n * @author Karol García\n * @createdate 2021-02-10\n * Metodo generar credenciales del colaborador\n */\n generateCredentials(){\n\n let saveconfirm= this.alertService.alertConfirm('¿Está seguro que desea generar credenciales para esta persona?')\n saveconfirm.then(res=>{\n if(res.isConfirmed){\n this.serviceCandidate.getCredencials(`candidate/credential/${this.candidateId}`).subscribe(\n res=>{\n this.getCandidate()\n this.getDocuments(OPTION_TO_FILTER.all);\n this.alertService.alertSuccess('¡Creadas!', 'Las credenciales fueron creadas con éxito');\n setTimeout((ref) => {\n var objDiv = document.getElementById('credentials');\n objDiv.scrollIntoView()\n }, 1500);\n this.checkCredencials = true\n }\n )\n\n }\n })\n }\n /**\n * @author Karol García\n * @createdate 2021-02-10\n * Metodo crea las reglas del contrato\n */\n openContractForm(){\n const contractForm = this.dialog.open( ContractCreationComponent, {\n minWidth: '80%',\n disableClose: true,\n data: {candidateId: this.candidateId, agreementRules: this.candidate.agreementRules, action:'create', contract: this.contract, specialPolicy: this.candidate['special-policy'],infoBpms: this.candidate['info_pbms']}\n })\n contractForm.afterClosed().subscribe( (params) => {\n if(params){\n this.getCandidate()\n this.getDocuments(OPTION_TO_FILTER.all);\n this.viewAgreement= true\n this.disabledDocument= false;\n }\n //\n })\n }\n /**\n * @author Karol García\n * @createdate 2021-02-10\n * Metodo descarga los documentos\n */\n downdloadFile(data?, view?: boolean){\n let direction= `candidate/download/attachment/${this.candidateId}`\n let name\n if(data){\n direction= direction.concat(`/${data.id}`)\n name = data.name\n }else{\n direction= direction.concat(`/all`)\n name = `documentos_${this.candidateId}`\n }\n this.serviceCandidate.downdloadFile(direction).subscribe( (file) =>{\n if(view){\n let fileURL = URL.createObjectURL(file);\n this.documentView(fileURL, data.name, file)\n\n }\n else{\n importedSaveAs(file, name);\n }\n })\n }\n /**\n * @author Karol García\n * @createdate 2021-02-10\n * Metodo envia el contrato al colaborador\n */\n sendEmail(){\n let saveconfirm= this.alertService.alertConfirm('¿Desea enviar el contrato al colaborador?')\n saveconfirm.then(res=>{\n if(res.isConfirmed){\n this.serviceCandidate.sendContract(`candidates/contract/mail/${this.candidateId}`).subscribe(res=>{\n this.alertService.alertSuccess('¡Enviado!', 'El correo de ha enviado éxitosamente');\n })\n }\n })\n }\n\n getComments(){\n const commentDialog = this.dialog.open( CandidateCommentsComponent, {\n data: { candidateId: this.candidateId, requestId: this.candidate.requestId }\n });\n // commentDialog.afterClosed().subscribe( (params) => {\n // this.getCandidates();\n\n // });\n }\n notApply(row){\n const createdAt = new Date();\n let saveconfirm= this.alertService.alertConfirm('¿Desea no aplicar este documento en el proceso?')\n saveconfirm.then(res=>{\n if(res.isConfirmed){\n this.serviceCandidate.uploadFiles(this.candidateId, null, row.fileKey).pipe(\n switchMap((resp: any) =>{\n return this.serviceCandidate.validateDocumentCandidate(resp.id, '', createdAt, 'Aprobado', '',row.fileKey)\n })\n ).subscribe(()=>{\n this.alertService.alertSuccess('¡Hecho!', 'Este archivo No aplica');\n this.getDocuments(OPTION_TO_FILTER.document)\n })\n\n }\n })\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2022-03-31\n * Validamos checkbox pasivo vacacional\n */\n generateHoliday(event) {\n //console.log(event.checked);\n this.checkControl = event.checked;\n //detecta los cambios en el check\n let data = {\n candidate_id: this.candidateId,\n passive_holiday: this.checkControl\n }\n this.serviceCandidate.PassiveHoliday(data).subscribe(data => {});\n }\n\n\n /**\n * @author Lina Hueso\n * @createdate 2022-10-26\n * Metodo para ver la tabla de certificados, se utiliza la funcionalidad de los certificados existentes\n */\n getCertifications() {\n this.certicate = 'certificado_laboral';\n this.userServices.getCertificationsTwo(this.certicate,this.candidateId).subscribe((resp: any) => {\n this.displayColumns = resp.columnsFields;\n this.displayColumnsName = resp.columnsName\n this.candidateCertificate = new MatTableDataSource(resp.data.data);\n })\n\n }\n /**\n * @author Lina Hueso\n * @createdate 2022-10-26\n * Metodo para cargar descargar el certificado\n */\n\n getCertificate(certificate, values, isView) {\n this.userServices.getCertificateTwo(certificate, this.candidateId,values).subscribe((resp: any) => {\n if (isView) {\n let fileURL = URL.createObjectURL(resp);\n const checkDialog = this.dialog.open(FilesViewComponent, {\n data: { url: fileURL, name: certificate, file: resp }\n });\n }\n else {\n importedSaveAs(resp, certificate);\n }\n },\n error => {\n if (error.status == 402) {\n this.alertService.alertError(\"Error\", 'Documento no encontrado, por favor valide sus documentos en Recursos Humanos');\n }\n }\n )\n }\n\n getPaginatorData(e) {\n this.currentPage2 = e.pageIndex + 1;\n this.pageSize2 = e.pageSize;\n this.getChangesHistorical(); // ejecuta la función de búsqueda del servico\n }\n\n getChangesHistorical(){\n let filters = {\n candidateId: this.candidateId,\n page: this.currentPage2,\n per_page: this.pageSize2\n };\n this.serviceCandidate.getChangesHistorical(filters).subscribe((resp: any) => {\n this.dataSource2.data = Object.values(resp.data);\n this.length2 = resp.total;\n this.pageSize2 = this.pageSize2;\n });\n }\n\n /**\n * @author David Reinoso | 10-feb-23\n * Funcion para generar un rango de años\n * @param min_year\n */\n generateRangeYear(min_year){\n let date = new Date();\n let year = date.getFullYear();\n let yearMin = min_year;\n while (yearMin <= year) { //Llenamos el array years con los años para el filtro\n this.years.push({ id: yearMin, name: yearMin });\n yearMin++;\n }\n }\n \n /**\n * @author David Reinoso | 20-feb-23\n * Metodo para retornar los hired user del candidato\n */\n getLaborCertication(){\n this.userServices.getHiredUsersByCandidate(this.candidateId).subscribe((resp: any) => {\n this.laborCertificates = resp;\n });\n }\n \n /**\n * @author David Reinoso | 20-feb-23\n * Metodo para retornar los desprendibles de nomina del candidato\n */\n getPaymentsSlipsCertifications(year, rrhh_id){\n this.paymentSlipService.getPaymentsNominaByUser(year, rrhh_id ?? null ).subscribe((resp:any) =>{\n this.paymentCertificates = resp?.data;\n });\n }\n \n /**\n * @author David Reinoso | 20-feb-23\n * Metodo para retornar el nombre del mes\n */\n getNameMount(number){\n for (let i = 0; i < this.months.length; i++) {\n if(this.months[i].id == Number(number)){\n return this.months[i].name;\n }\n }\n return \"\";\n }\n \n /**\n * @author David Reinoso | 20-feb-23\n * Metodo para retornar el nombre del mes\n */\n openCertification(type, rrhh?, month?, year?){\n switch (type) {\n case 'certificado-laboral':\n this.userServices.getCertificate('certificado_laboral','',rrhh).subscribe((resp: any) => {\n let fileURL = URL.createObjectURL(resp);\n const checkDialog = this.dialog.open(FilesViewComponent, {\n data: { url: fileURL, name: 'certificado_laboral', file: resp, print: true}\n });\n });\n break;\n case 'desprendible-de-pago':\n this.paymentSlipService.getPayment(Number(month), year).subscribe((resp: any) => {\n let fileURL = URL.createObjectURL(resp);\n const checkDialog = this.dialog.open(FilesViewComponent, {\n data: { url: fileURL, name: \"desprendible_nomina\", file: resp ,print: true}\n });\n })\n break;\n }\n }\n}\n\nconst OPTION_TO_FILTER = {\n document:1,\n actions:2,\n all:3\n}\n","
\n \n

Hoja de Vida del colaborador

\n

En este espacio podrás visualizar la información y la documentación del colaborador o de un candidato sin embargo recuerda\n que de este último podrá faltar información, ya que no ha culminado su proceso de contratación.

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

Certificados del trabajador

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{column.name}} \n \n \n {{column.name}} {{element[column.field]}}
\n
\n\n\n \n \n \n

Documentos suministrados por el trabajador

\n
\n
\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
Acciones \n \n \n Tipo {{element.file}} Archivo cargado {{element.name}} Estado {{element.state}}
\n\n\n
\n \n \n \n

Documentos suministrados por la operación

\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n \n \n \n \n\n \n \n
Acciones \n \n \n Tipo {{element.file}} Archivo cargado {{element.name}} Estado {{element.state}}
\n
\n
\n
\n\n
\n \n
\n
\n

{{request.requestCode}} {{request.campaign}}

\n

{{request.createdAt | date}}

\n
\n
\n Solicitante\n

{{request.applicant}}

\n
\n
\n Cargo\n

{{request.position}}

\n
\n
\n
\n
\n \n Estado\n

{{state.state}}

\n
\n Responsable    \n

{{state.responsable}}

\n
\n
\n Fecha    \n

{{state.createdAt | date}}

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

Exámenes médicos

\n
\n
\n \n Estado\n

{{test.status}}

\n
\n Prueba    \n

{{test.medicalTypeTest}}

\n
\n
\n
\n
\n

Reglas de Contratación

\n
\n
\n \n Estado\n

{{agreement.action.name}}

\n
\n Comentario\n

{{agreement.action.comment}}

\n
\n
\n Responsable    \n

{{agreement.responsable}}

\n
\n
\n Fecha    \n

{{agreement.created_at | date}}

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

Ver Contrato, acuerdos y documentos

\n
\n

Recuerda que para poder ver los documentos, estos deben estar completos y validados por el equipo de RRHH.

\n\n \n\n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n\n \n \n \n \n\n \n \n
Acciones \n \n \n Tipo {{element.file}} Archivo cargado {{element.name}} Estado {{element.state}}
\n
\n
\n\n
\n \n\n

Nota: En este espacio podrás visualizar las actualizaciones realizados en la hoja de vida.

\n\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
Fecha de actualización {{element.date}} Hora de actualización {{element.hour}} Nombre responsable del cambio {{element.responsible}} Actualización {{element.updating}}
\n \n
\n\n \n
\n \n Certificados Disponibles\n \n \n {{item.name}}\n \n \n \n\n \n Año\n \n \n {{item?.name}}\n \n \n \n
\n
\n
No hay certificados disponibles.
\n
\n \n
\n
\n
\n \n
\n\n \n \n

Fecha Ingreso {{item?.start | date:'yyyy/MM/dd' }}

\n
\n \n

{{item.stateName}}

\n
\n
\n
\n
\n
\n
\n
\n
\n
No hay certificados disponibles.
\n
\n \n
\n
\n
\n \n
\n \n \n

Desprendible mes

\n
\n \n

{{getNameMount(item.month)}}

\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { ReportService } from '../../../services/rest/reports.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-users-reports-create',\n templateUrl: './users-reports-create.component.html',\n styleUrls: ['./users-reports-create.component.sass']\n})\nexport class UsersReportsCreateComponent implements OnInit {\n\n reportForm: FormGroup;\n isEdit : boolean = false;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private form: FormBuilder,\n private reportService : ReportService\n ) { }\n\n ngOnInit(): void {\n this.formControl();\n if(typeof this.data.item?.id != 'undefined')\n {\n this.isEdit = true;\n }\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void{\n this.reportForm = this.form.group({\n name: new FormControl('', [Validators.required, Validators.maxLength(35), Validators.minLength(5)]),\n key_powerBi: new FormControl('', [ Validators.required, Validators.maxLength(35), Validators.minLength(5)]),\n });\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Metodo que sirve para validar los estados de los errores en los campos del formulario\n */\n get error(): any { return this.reportForm.controls; }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Metodo guarda un reporte\n * @param reportForm formulario con name y key_powerbi\n */\n saveReport(reportForm)\n {\n this.reportService.saveReport(reportForm.value).subscribe(\n response => {\n Swal.fire({\n html: `Reporte agregado correctamente!`,\n icon: 'success',\n title : 'Enviado',\n confirmButtonText: 'Aceptar'\n });\n }\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Metodo edita un reporte, agrega el id al objeto\n * @param reportForm formulario con name y key_powerbi\n */\n editReport(reportForm)\n {\n let formValue = reportForm.value;\n formValue.id = this.data.item.id;\n\n this.reportService.updateReport(formValue).subscribe(\n response => {\n Swal.fire({\n html: `Reporte editado correctamente!`,\n icon: 'success',\n title : 'Enviado',\n confirmButtonText: 'Aceptar'\n });\n }\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Metodo que valida si se esta editando o creando\n * @param reportForm formulario con name y key_powerbi\n */\n validExecute(reportForm)\n {\n if(this.isEdit)\n {\n this.editReport(reportForm);\n }else{\n this.saveReport(reportForm);\n }\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Metodo que elemina un registro\n */\n deleteReport()\n {\n Swal.fire({\n title: \"¿Estás seguro?\",\n icon: 'warning',\n showCancelButton: true,\n cancelButtonText: \"Cancelar\",\n confirmButtonText: \"Sí, enviar\",\n })\n .then(resultado => {\n if (resultado.value)\n {\n this.reportService.deleteReport(this.data.item.id).subscribe(\n res => {\n Swal.fire({\n html: `Reporte eliminado correctamente!`,\n icon: 'success',\n title : 'Enviado',\n confirmButtonText: 'Aceptar'\n });\n }\n );\n }\n });\n }\n\n}\n","

{{ data.title }}\n\t\n

\n\n
\n\t\n\t\t
\n\t\t\t
\n \n Nombre del reporte\n \n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 5 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 35 caracteres\n \n\n \n key de reporte\n \n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 5 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 35 caracteres\n \n\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n\n\t\n\t\t\n\t\t\n Eliminar\n\t\n
\n","import { map } from 'rxjs/operators';\nimport { Component, OnInit } from '@angular/core';\nimport { ClientesService } from './services/rest/clientes.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n@Component({\n selector: 'app-crm-cial',\n templateUrl: './crm-cial.component.html',\n styleUrls: ['./crm-cial.component.sass']\n})\nexport class CrmCialComponent implements OnInit {\n userName: string;\n constructor(private authService: AuthService) { }\n\n ngOnInit(): void {\n this.userName = this.authService.getUser().rrhh.name;\n }\n\n}\n","
\n
\n
\n

CRM Comercial

\n ¡Bienvenid@
{{this.userName}}!
\n

En el módulo de CRM Comercial, aquí
\n podrás gestionar clientes, portunidades y
\n otros proceos realacionados con el área
\n comercial.

\n \n \n
\n \n
\n
\n
\n
\n
\n","import { Component, OnInit, Inject, Optional, EventEmitter, Output } from '@angular/core';\nimport { ResourcesService } from '../../../services/resources.service';\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\nimport * as moment from 'moment';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { BookingService } from '../../../services/booking.service';\n\n@Component({\n selector: 'app-booking-create',\n templateUrl: './booking-create.component.html',\n styleUrls: ['./booking-create.component.sass']\n})\nexport class BookingCreateComponent implements OnInit {\n typeResource : number|string;\n nameResource : string='';\n today = new Date();\n date = new Date();\n selectedTab\n numberDay = new Date(this.today ).getDay();\n dates : any=[]\n back : boolean= false\n private isDialog : boolean = false;\n\n booking={\n resourceId:'',\n rrhhId: this.auth.getUser().rrhh_id,\n dateStart:'',\n dateEnd:''\n }\n week =[\n {name:'Lunes', number:'' },\n {name:'Martes', number:''},\n {name:'Miércoles', number:''},\n {name:'Jueves', number:''},\n {name:'Viernes', number:''},\n {name:'Sábado', number:''},\n {name:'Domingo', number:''},\n ]\n\n\n formattedDate:any\n constructor(\n private resourcesService : ResourcesService,\n private dialog : MatDialog,\n private route : ActivatedRoute,\n public alertsService : AlertsService,\n public auth : AuthService,\n private bookingService : BookingService,\n public router : Router,\n @Optional() @Inject(MAT_DIALOG_DATA) public data: any,\n @Optional() private dialogRef: MatDialogRef\n ) { }\n\n ngOnInit(): void {\n if ( this.data !== null ){\n this.typeResource = this.data.id;\n this.nameResource = this.data.type;\n this.isDialog = true;\n }\n else\n {\n this.route.paramMap.subscribe(params => {\n this.typeResource = params.get('id');\n this.nameResource = params.get('type');\n });\n }\n\n this.numberDay = new Date(this.today).getDay() - 1;\n this.selectedTab = this.numberDay\n this.formattedDate = moment(this.today).format('DD-MM-YYYY');\n this.resourcesService.getResources('resources/availabilities/range', {typeId:this.typeResource, date: this.formattedDate}).subscribe(res=>{\n this.dates = res\n if(this.dates[0].date == this.formattedDate){\n this.back = true\n }\n else{\n this.back = false\n }\n let count = 0\n this.week.forEach((element, index) => {\n element['data']=0\n if(index >= this.numberDay){\n let date = res[count].date.split('-');\n element['data'] = res[count];\n element.number = date[0];\n element['cant_disp'] = element['data'].resources.reduce((prev ,a) => prev + a.cant_avaiable , 0 );\n count++;\n\n\n }\n });\n\n\n\n })\n\n\n }\n\n makeBooking(type, date){\n this.resourcesService.getResources(`resource/availabilities/${type}`, {date: date}).subscribe((res:any)=>{\n\n const resourceDialog = this.dialog.open( ReserveResource, {\n width: '25%',\n data: {name: res.name, hours:res.hours, type:res.type, date: date , isCrm: this.isDialog }\n });\n resourceDialog.afterClosed().subscribe(resp=>{\n if(resp){\n let saveconfirm= this.alertsService.alertConfirm(` ${res.type.name} - ${res.name} el ${moment(resp[0].showTime).format('DD/MM/YYYY hh:mm') }. ¿Seguro que desea reservar este día y a esta hora?`)\n saveconfirm.then(asw=>{\n if(asw.isConfirmed){\n resp.forEach( r => {\n this.createBooking(type, r.showTime, res.type.booking_time)\n });\n }\n })\n\n }\n })\n })\n\n }\n createBooking(type, start, time){\n\n this.booking.resourceId= type\n let dateStart = moment(start).format('YYYY-MM-DD HH:mm')\n let dateEnd = moment(start).add( time, 'minutes').format('YYYY-MM-DD HH:mm');\n this.booking.dateStart= dateStart\n this.booking.dateEnd = dateEnd\n this.bookingService.postBooking('booking', this.booking).subscribe(res=>{\n\n\n this.alertsService.alertSuccess('¡Reservado!','Espere la confirmación de su reserva')\n\n //Cierra el modal si el componente está en uno, si no, redirecciona....\n if( this.isDialog ){\n this.dialogRef.close(start);\n\n }\n else\n {\n this.router.navigate([`/mios/reservas/mis-reservas`])\n\n }\n\n\n })\n }\n paginateWeek(action){\n\n let date = moment(this.dates[this.dates.length-1].date,'DD-MM-YYYY');\n let start\n switch (action) {\n case 'add':\n start = date.add(1, 'day');\n break;\n case 'subtract':\n start = date.subtract(2,'week').startOf('week').add(1, 'day');\n\n }\n this.resourcesService.getResources('resources/availabilities/range', {typeId:this.typeResource, date: start.format('DD-MM-YYYY')}).subscribe(res=>{\n this.dates = res\n\n let found = this.dates.find(element=>element.date == this.formattedDate)\n\n if(found){\n this.back = true\n this.selectedTab = this.numberDay;\n }else {this.back = false, this.selectedTab=0}\n this.week.forEach((element, index) => {\n element['data'] = 0;\n let date = res[index].date.split('-');\n element['data'] = '';\n element['data'] = res[index];\n element.number = date[0];\n element['cant_disp'] = element['data'].resources.reduce((prev ,a) => prev + a.cant_avaiable , 0 );\n });\n })\n }\n\n}\n\n\n@Component({\n selector: 'reserve-resource',\n templateUrl: './reserve-resource.html',\n styleUrls: ['./booking-create.component.sass']\n})\nexport class ReserveResource {\n hours : any=[];\n isContinuos = true;\n\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {}\n\n\n checkContinuo(list){\n //Reccorre el arrego y filtra los índices seleccionados\n let lasItemSelItem = null;\n this.isContinuos = true;\n\n const isContinuo = list.options.forEach( (v , i ) => {\n if (v.selected ){\n if( lasItemSelItem !== null && i - lasItemSelItem > 1 ){\n this.isContinuos = false;\n return;\n }\n lasItemSelItem = i;\n }\n } );\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n\n}\n\n","\n\n
\n \n

Disponibilidad {{nameResource}}

\n
\n \n \n
\n\n \n\n \n \n {{day.name + ' ' + day.number + ( ( day.cant_disp!== undefined && day.cant_disp > 0 ) ? ' ('+day.cant_disp+')' : '' )}}\n
\n \n {{day.data.observation}}\n \n
\n
\n
\n
\n
\n

{{item.name}}

\n Tiempos disponibles\n \n {{hour.start }} - {{hour.end}}\n Sin disponibilidad\n \n {{item.cant_avaiable }} disponibles\n \n
\n\n
\n
\n\n
\n\n
\n
\n
\n"," \n

{{data.name}}

\n

{{data.type.name}}

\n
\n\n

{{data.hours[0].showTime | date}}

\n Horarios disponibles\n\n \n \n {{item.showTime | date:'shortTime'}}\n \n\n\n\n
\n\n Hacer reservación\n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { DisabilitiesService } from '../../../../../nomina/services/rest/disabilities.service';\nimport { JuridicaService } from '../../../../services/juridica.service';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { DatePipe } from '@angular/common';\n\n@Component({\n selector: 'app-permit-response-boss',\n templateUrl: './permit-response-boss.component.html',\n styleUrls: [ './permit-response-boss.component.sass' ]\n})\nexport class PermitResponseBossComponent implements OnInit {\n dataInfo: any;\n public realTime: string;\n public scheduleTime: string;\n public endTime: string;\n public noveltyDetailHeight: number;\n\n public showJustifyForm: boolean;\n public showJustifyInfo: boolean;\n public showInput: boolean;\n noveltiesForm: FormGroup;\n dateForm: FormGroup;\n permitRemunerado: boolean = false;\n permitGrantedPreviousDaysCode: number;\n showPermitRemunerado: boolean = true;\n\n options: any = [\n { id: 0, name: 'Rechazar' },\n { id: 1, name: 'Aprobar' }\n ];\n selectedOption: any;\n subTypes: any;\n\n startDate: any;\n endDate: any;\n fieldate: boolean = false;\n files: any = [];\n\n constructor(\n private disabilities: DisabilitiesService,\n private permit: JuridicaService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alert: AlertsService,\n public dialog: MatDialog,\n ) {\n this.permitGrantedPreviousDaysCode = 42;\n }\n\n ngOnInit() {\n this.noveltiesForm = new FormGroup({\n state: new FormControl('', [ Validators.required ]),\n response: new FormControl('', [ Validators.required ])\n });\n\n this.dateForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n\n this.disabilities.getSubTypes().subscribe(resp => {\n this.subTypes = resp.data;\n });\n\n this.permit.getInfoByPermitId(this.data.data.idNovelty).subscribe(resp => {\n this.dataInfo = resp.data;\n this.files = resp.data.files;\n this.dataInfo.novelty_type.key = (this.dataInfo.novelty_type.key < 10) ? `0${ this.dataInfo.novelty_type.key }` : this.dataInfo.novelty_type.key;\n\n if (this.dataInfo.validForMoreResponses) {\n this.showJustifyForm = true;\n }\n this.showJustifyInfo = true;\n if(this.dataInfo.novelty_type.key == this.permitGrantedPreviousDaysCode) {\n this.permitRemunerado = true;\n this.showPermitRemunerado = true;\n }else{\n this.showPermitRemunerado = false;\n }\n this.changeDetailHeight(this.dataInfo);\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-23\n * Metodo para asignacion de detalle\n */\n changeDetailHeight(novelty): void {\n if (novelty.responseFirstInstance && (novelty.responseFirstInstance.justify || novelty.responseFirstInstance.response)) {\n this.noveltyDetailHeight = 240;\n }\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-23\n * Metodo para detectar la opcion seleccionada\n */\n changeState(e) {\n this.selectedOption = e.value;\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-23\n * Metodo para actualizar el estado de la novedad\n */\n updateState() {\n const body = {\n state: this.noveltiesForm.controls['state'].value,\n response: this.noveltiesForm.controls['response'].value,\n remunerado: this.permitRemunerado\n };\n\n this.permit.changeStatus(this.data.data.idNovelty, body).subscribe(resp => {\n if (this.selectedOption == 1) {\n this.alert.alertSuccessWithoutButton('¡Excelente!', 'Su solicitud ha sido enviada satisfactoriamente');\n this.dialogRef.close('');\n } else {\n this.alert.alertSuccessWithoutButton('¡Excelente!', 'Su solicitud ha sido enviada satisfactoriamente');\n this.dialogRef.close('');\n }\n\n }, error => {\n // this.alert.alertError('Error!', 'Ocurrio un error al intentar actualizar el permiso');\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-23\n * Metodo para actualizar el estado de la novedad\n */\n dateRangeChange() {\n const date1: Date = this.dateForm.controls.start.value;\n const date2: Date = this.dateForm.controls.end.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n }\n\n show() {\n if (this.fieldate == false) {\n this.fieldate = true;\n } else {\n this.fieldate = false;\n }\n }\n\n}\n","
\n\n

\n \n\n \n\n
\n \"noveltyIcon\"\n \n

{{data.data?.name || data.title}}

\n
{{data.data?.id_number}}\n
\n
\n
\n

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

\n {{ (dataInfo?.novelty_date_start |\n date:'EEEE' | titlecase) + ' ' + (dataInfo?.novelty_date_start | date:'dd')+ ' de ' +\n (dataInfo?.novelty_date_start | date:'MMMM') }}\n

\n {{\n dataInfo?.novelty_type?.key }} {{ dataInfo?.noveltyTypeToPrint?.title }}\n
\n
\n

\n Permiso\n

\n

Fecha inicio: {{ dataInfo?.novelty_date_start | date:'dd/MM/yyyy' }}

\n

Fecha fin: {{dataInfo?.novelty_date_end | date:'dd/MM/yyyy' }}

\n
\n

Justificación del trabajador\n

\n

{{ dataInfo?.justificacionTrabajador}}

\n
\n

\n \n {{item?.name}}\n \n

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

\n Gestión\n

\n
\n\n
\n \n Permiso remunerado\n Permiso no remunerado\n \n
\n\n \n Estado\n \n \n {{item.name}}\n \n \n \n\n \n Observaciones\n \n \n\n \n
\n
\n
\n
\n\n
","import { Injectable } from \"@angular/core\";\nimport { environment } from \"src/environments/environment\";\nimport { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\nimport { Observable, throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\n\nconst PQRS_URL = environment.PQRS_URL;\n@Injectable({\n providedIn: 'root'\n})\nexport class GestionadorCorreosService {\n constructor(private http: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2022-11-02\n * Metodo que retorna los posibles errores generados a traves de las llamadas HTTP. \n * @param error Instancia de la clase HttpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2022-11-02\n * Metodo que retorna la lista de correos de salida\n */\n getEmailsByExit(): Observable {\n return this.http.get(`${PQRS_URL}emails/external`).pipe(\n catchError(this.handleError)\n )\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2022-11-02\n * Metodo que valida cada uno de los correos registrados en los chip list. \n * @param data Informacion generada desde el formulario para el envio de correos. \n */\n sendEmail(data: any): Observable {\n return this.http.post(`${PQRS_URL}emails/send`, data).pipe(\n catchError(this.handleError)\n )\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'uppercaseText'\n})\nexport class UppercaseTextPipe implements PipeTransform {\n\n transform(value: string): string {\n const firtsString = value.charAt(0).toUpperCase();\n const restString = value.slice(1).toLowerCase();\n return firtsString + restString;\n }\n\n}\n","import { PermitModule } from './modules/permit/permit.module';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { JuridicaComponent } from './juridica.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { JuridicaRoutingModule } from './juridica-routing.module';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { PermitBossModule } from './modules/permit-boss/permit-boss.module';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { TooltipModule } from 'ng2-tooltip-directive';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n JuridicaRoutingModule,\n SharedModule,\n MaterialModule,\n PermitModule,\n PermitBossModule,\n TooltipModule,\n ],\n declarations: [JuridicaComponent,]\n})\nexport class JuridicaModule { }\n","import { Component, OnInit, Inject, ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder, FormArray } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AssignPriorityService } from '../../services/assign-priority.service';\nimport { MatChipInputEvent, MatChipList } from '@angular/material/chips';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { validateArrayNotEmpty, validateIsEmails } from '../../constantes/custom-validations';\n\n@Component({\n selector: 'app-assign-priority',\n templateUrl: './assign-priority.component.html',\n styleUrls: ['./assign-priority.component.css']\n})\nexport class AssignPriorityComponent implements OnInit {\n @ViewChild('chipListEmails') chipListEmails: MatChipList;\n formAssignPriority: FormGroup = new FormGroup({\n id: new FormControl(null, []),\n id_email_config: new FormControl('', [Validators.required]),\n email: new FormControl('', []),\n listEmails: this.formBuilder.array([], []),\n id_bandeja: new FormControl('', [Validators.required])\n });\n separatorKeysCodes: number[] = [ENTER, COMMA];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alertService: AlertsService,\n private matDialogRef: MatDialogRef,\n private matSnackBar: MatSnackBar,\n private assignPriorityService: AssignPriorityService,\n private formBuilder: FormBuilder\n ) { }\n\n ngOnInit(): void {\n if (this.data.assignPriority) {\n this.formAssignPriority.get('id').setValue(this.data.assignPriority.id);\n this.formAssignPriority.get('id_email_config').setValue(this.data.assignPriority.id_email_config);\n this.formAssignPriority.get('email').setValue(this.data.assignPriority.email);\n this.formAssignPriority.get('id_bandeja').setValue(this.data.assignPriority.id_bandeja);\n this.formAssignPriority.get('email').setValidators([Validators.required, Validators.email]);\n this.formAssignPriority.get('listEmails').setValidators([]);\n this.formAssignPriority.updateValueAndValidity();\n } else {\n this.formAssignPriority.get('listEmails')?.statusChanges.subscribe(status => { this.chipListEmails.errorState = status === 'INVALID'; });\n this.formAssignPriority.get('email').setValidators([]);\n this.formAssignPriority.get('listEmails').setValidators([validateArrayNotEmpty, validateIsEmails]);\n this.formAssignPriority.updateValueAndValidity();\n }\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-18\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formAssignPriority.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que guarda o actualiza una asignacion prioritaria. \n */\n saveAssignPriority(): void {\n if (this.formAssignPriority.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n const dataFormAssignPriority = { \n ...this.formAssignPriority.value,\n email: this.data.assignPriority ? \n this.formAssignPriority.value.email : \n this.formAssignPriority.value.listEmails.map((item: any) => item.name).join(';')\n };\n this.assignPriorityService.storeAssignPriority(dataFormAssignPriority).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(res);\n });\n }\n });\n } else {\n this.formAssignPriority.markAllAsTouched();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-08\n * Metodo que agrega una cadena de texto a cada uno de los chip list.\n * @param event Manejador de eventos de los mat chip.\n */\n addEmail($event: MatChipInputEvent): void {\n const input = $event.input;\n const value = ($event.value || '').trim();\n if (value && value !== '') {\n const newFormGroup = this.formBuilder.group({ name: new FormControl(value, [Validators.email]) });\n const arrayForm = this.formAssignPriority.get('listEmails') as FormArray;\n arrayForm.push(newFormGroup);\n if (input) input.value = '';\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-08\n * Metodo que elimina una cadena de texto dentro un chip list.\n * @param index Cadena de texto seleccionada dentro del chip list. \n */\n removeItem(index: number): void {\n const arrayForm = this.formAssignPriority.get('listEmails') as FormArray;\n arrayForm.removeAt(index);\n }\n}","
\n
\n \n
\n
\n
\n
{{ data.titleDialog }}
\n \n
\n
\n
\n \n Cuenta de correo\n \n {{ email.name\n }}\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n \n \n {{ item.value.name }}\n cancel\n \n \n \n \n
\n El campo es requerido\n Correo invalido\n
\n
\n
\n \n Correo\n \n \n El campo es requerido\n Correo inválido\n \n \n
\n
\n
\n
\n \n Bandejas\n \n {{ tray.name\n }}\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { TestsService } from '../../../services/tests.service';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\n\n\n@Component({\n selector: 'app-upload-test',\n templateUrl: './upload-test.component.html',\n styleUrls: ['./upload-test.component.sass']\n})\nexport class UploadTestComponent implements OnInit {\n\n attachments: any = [];\n description = '';\n sources: any[] = [];\n uploadedFile = false;\n candidateId;\n requestId;\n competences: any[];\n selected = true\n competencesTest:any = [];\n allCompetencesSelected = false;\n newCompetence: string=''\n public TabIndex : number = 0;\n tabConfim:boolean[]=[]\n constructor(private testService: TestsService,\n public dialogRef: MatDialogRef,\n private alertService: AlertsService,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n this.candidateId = data.candidateId;\n this.requestId = data.requestId;\n\n }\n\n ngOnInit(): void {\n const IndexFound = this.data.testsNames.findIndex(element => element.key === 'disc');\n if(IndexFound >= 0 ){\n this.data.testsNames.splice(IndexFound, 1)\n }\n const found = this.data.testsNames.find(element => element.key === 'clinica_assesment');\n if(found){\n this.getAssessments()\n\n }\n this.data.testsNames.forEach(element => {\n this.tabConfim.push(false)\n });\n\n }\n getAssessments(){\n this.testService.getAssessmets().subscribe((res:any)=>{\n\n if(typeof res == 'string'){\n this.competences = JSON.parse(res)\n }\n else{\n this.competences = res\n }\n\n })\n }\n uploadFiles(type, pos) {\n this.TabIndex ++\n switch (type) {\n case 'assessment':\n this.selected = false\n break;\n case 'attachment':\n this. uploadedFile = false;\n break;\n\n }\n\n this.testService.uploadFiles({attachment: this.attachments, description: this.description, source: JSON.stringify(this.competencesTest),\n type: type, candidateId: this.candidateId, requestId: this.requestId})\n .subscribe(resp => {\n\n this.tabConfim[pos]= true\n if(this.tabConfim.filter(r=>!r).length == 0){\n this.alertService.alertSuccess('¡Hecho!', 'Tus pruebas han sido diseñadas correctamente');\n this.dialogRef.close();\n }\n });\n }\n onFileSelected(files) {\n const idx = this.attachments.length;\n this.attachments = files[0];\n this.uploadedFile = true;\n }\n addCompetence(){\n this.alertService.alertConfirm('¿Estas seguro que desea agregar una nueva competencia?').then(e => {\n if(e.isConfirmed){\n this.testService.updateAssessmentTest(1, {name:this.newCompetence})\n .subscribe( (resp: any) => {\n this.alertService.alertSuccess('¡Hecho!', 'Se agregó una nueva competencia');\n this.newCompetence = null\n this.getAssessments();\n\n });\n }\n });\n }\n pushArray(event) {\n this.competencesTest = event.selectedOptions.selected.map(item => item.value);\n }\n\n\n}\n","

Diseño de pruebas

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

\n Por favor cargue la prueba a aplicar al candidato.\n

\n
\n \n \n
\n
\n
0\">Archivo cargado: {{attachments.name}}
\n
\n \n Agregue un comentario\n \n \n
\n \n
\n
\n
\n

Seleccione las competencias

\n
0\"> \n \n Seleccionar todos\n \n \n
\n
\n \n \n {{item.name}}\n \n \n
\n \n
\n
\n \n Nombre de la nueva compotencia\n \n \n \n
\n
\n \n
\n \n
\n
\n\n
\n\n
\n \n
\n\n\n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {MatSnackBar} from '@angular/material/snack-bar';\nimport {DomSanitizer, SafeResourceUrl} from '@angular/platform-browser';\n\n@Component({\n selector: 'app-template-preview',\n templateUrl: './template-preview.component.html',\n styleUrls: ['./template-preview.component.sass']\n})\nexport class TemplatePreviewComponent implements OnInit {\n\n public filepath: SafeResourceUrl;\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n private sanitizer: DomSanitizer,\n ) {\n this.filepath = this.sanitizer.bypassSecurityTrustResourceUrl(data.filepath);\n }\n\n ngOnInit(): void { }\n\n closeModal() {\n this.dialogRef.close();\n }\n}\n","
\n \n
\n
\n
\n \n
\n","import { Component, ElementRef, HostListener, Inject, Input, NgZone, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport Swal from 'sweetalert2';\nimport { ResultService } from '../../../services/result.service';\nimport { RequestService } from '../../../services/request.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { CampaignService } from '../../../services/campaign.service';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MatExpansionPanel } from '@angular/material/expansion';\n\n@Component({\n selector: 'app-transcription-strategy-modal',\n templateUrl: './transcription-strategy-modal.component.html',\n styleUrls: ['./transcription-strategy-modal.component.sass']\n})\nexport class TranscricpcionStrategyComponent implements OnInit {\n \n @Input() palabrasClave: string[] = [];\n @ViewChild('audioPlayer') audioPlayer: ElementRef;\n @ViewChild('containerViewReport') containerViewReport: ElementRef;\n\n @ViewChild('transcripcionPanel') transcripcionPanel: MatExpansionPanel;\n @ViewChild('tiemposMuertosPanel') tiemposMuertosPanel: MatExpansionPanel;\n @ViewChild('resumenPanel') resumenPanel: MatExpansionPanel;\n\n\n diarization: any;\n llmResponse: any;\n data: any[] = [];\n private interactions:any[]=[]\n interactionsFormtat:any[] = []\n\n dataResponse: any;\n jsonInteraccion: any;\n\n audioUrl: any;\n recordingID: any;\n\n id: any; //id resultados\n\n //duracion del audio\n audioDuration: number;\n audioDurationMinutos = 0;\n audioDurationSegundos = 0;\n deadTimeaudioDurationMinutos = 0;\n deadTimeaudioDurationSegundos = 0;\n\n //audio\n start: number=0;\n end: number=0;\n audioEventListener: any;\n dead_time:any;\n \n //dirizacion, tiempos muertos \n palabrasClaveArray: string[] = [];\n totalDuracionTiemposMuertos: number = 0;\n tiemposMuertos: any[] = [];\n tiemposMuertosMayores: any[] = [];\n\n @ViewChild('scrollContainer', { static: true }) scrollContainer: ElementRef;\n\n campaign_id: any;\n containerViewMail: any;\n deadTimeaudioDurationFormatted: string;\n audioDurationHoras: number;\n audioDurationFormatted: string;\n\n campaignViciadial: any; //id de la campaña seleccionada\n llmResponseObject: any; // respuesta del resumen\n //variables respuestas\n resumen: any;\n entidadesPrincipales: any;\n temasPrincipales: any;\n puntosClave: any;\n analisisDeSentimientos: any;\n\n constructor( \n @Inject(MAT_DIALOG_DATA) public date: any,\n public dialogRef: MatDialogRef,\n private resultService: ResultService,\n private requestService: RequestService,\n private authService: AuthService,\n private campaignServdce: CampaignService,\n private sanitazer:DomSanitizer, \n ) {\n this.recordingID=date.recordingId;\n this.campaignViciadial= date.campaignVicidial_id;\n }\n\n ngOnInit(): void {\n this.dead_time = 30;\n this.getResultados();\n this.audioUrl = this.requestService.getAudioUrl(this.recordingID);\n const user = this.authService.getUser();\n this.campaign_id=user.rrhh.campaign_id;\n this.obtenerDuracionTotalAudio();\n }\n\n /**\n * Método donde se establecen las validaciones del formulario y adviarte antes de refrescar \n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @method unloadNotification\n * @param {Event} $event - El evento `beforeunload` del navegador.\n * @returns {void}\n */\n @HostListener('window:beforeunload', ['$event'])\n unloadNotification($event: any) {\n $event.returnValue = true;\n }\n\n /**\n * Metodo que reinicia los valores del modal. \n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n cancelSave(): void {\n Swal.fire({\n title: '¿Estás seguro?',\n text: 'Si cancelas el proceso, perderás toda la información no guardada.',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.dialogRef.close();\n }\n });\n }\n\n getdataCampaign(): void {\n this.campaignServdce.showCampaign(this.campaignViciadial).subscribe(\n (rest) => {\n this.dead_time = rest.data.dead_time;\n this.getResultados();\n },\n (error) => {\n console.error('Error al recuperar la campaña:', error.message);\n Swal.fire({\n icon: 'error',\n title: 'Error al recuperar la campaña',\n text: error.message,\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n );\n }\n\n /**\n * Metodo que establece los tiempos de inicio y fin y controla la reproducción de un audio.\n * @param {number} start - Tiempo de inicio en segundos.\n * @param {number} end - Tiempo de fin en segundos.\n * @returns {void}\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n */\n\n logStartAndEnd(start: number, end: number): void {\n this.start = start;\n this.end = end;\n \n if (this.audioPlayer) {\n this.audioPlayer.nativeElement.currentTime = this.start;\n this.audioPlayer.nativeElement.play();\n \n const timeUpdateListener = () => {\n if (this.audioPlayer.nativeElement.currentTime >= this.end) {\n this.audioPlayer.nativeElement.pause();\n //despues de pausar crea un nuevo objeto resetea el tiempo limite al total del audio\n const audio = new Audio(this.audioUrl);\n audio.addEventListener('loadedmetadata', () => {\n const durationInSeconds = audio.duration;\n this.end=durationInSeconds;\n })\n }\n };\n this.audioPlayer.nativeElement.addEventListener('timeupdate', timeUpdateListener);\n } else {\n }\n }\n\n /**\n * Subraya las palabras clave dentro de un texto.\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n * @param {string} text - El texto en el que se buscarán y resaltarán las palabras clave.\n * @param {string} term - La palabra clave que se debe resaltar.\n * @returns {string} El texto con las palabras clave resaltadas.\n */\n highlightedTerms: Set = new Set();\n\n highlightedText(text: string, terms: Set): string {\n if (!terms || terms.size === 0) {\n return text;\n }\n\n const styleCss = 'padding: 0.1rem 0.4rem; background-color: #00acc1; color: #fff; border-radius: 50px;';\n terms.forEach(term => {\n if (term && term.trim()) {\n const regex = new RegExp(`\\\\b${term}\\\\b`, 'gi');\n text = text.replace(regex, `$&`);\n }\n });\n\n return text;\n }\n\n /**\n * Elimina el resaltado de las palabras clave dentro de un texto resaltado.\n * @author Yeison Sepulveda\n * @createdate 20/05/2024\n * @param {string} text - El texto con las palabras clave resaltadas.\n * @returns {string} El texto sin el resaltado de las palabras clave.\n */\n\n\n removeHighlight(text: string): string {\n const spanRegex = /(.*?)<\\/span>/g;\n return text.replace(spanRegex, '$1');\n }\n\n /**\n * Verifica si un texto está resaltado.\n * @author Yeison Sepulveda\n * @createdate 20/05/2024\n * @param {string} text - El texto que se quiere verificar si está resaltado.\n * @returns {boolean} Verdadero si el texto está resaltado, falso si no lo está.\n */\n\n isTextHighlighted(text: string): boolean {\n const styleCss = 'padding: 0.1rem 0.4rem; background-color: #00acc1; color: #fff; border-radius: 50px;';\n return text.includes(styleCss);\n }\n\n /**\n * Metodo para los chips en los cuales busca las palabras y los subraya\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n */\n\n toggleHighlight(palabra: string): void {\n if (this.highlightedTerms.has(palabra)) {\n this.highlightedTerms.delete(palabra);\n } else {\n this.highlightedTerms.add(palabra);\n }\n\n this.interactionsFormtat = this.interactions.map(interaction => {\n let text = interaction.text;\n\n // Primero elimina todos los resaltados para una actualización completa\n text = this.removeHighlight(text);\n\n // Aplica los resaltados actuales\n text = this.highlightedText(text, this.highlightedTerms);\n\n return { ...interaction, text: this.sanitazer.bypassSecurityTrustHtml(text) };\n });\n }\n\n /**\n * Metodo para consumir y obtener los resultados\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n */\n\n getResultados(): void {\n this.resultService.showAnalyticsResults(this.recordingID).subscribe(\n result => {\n const jsonData = result.data.diarization.interaccion; \n this.interactions = Array.isArray(jsonData) ? jsonData : [jsonData]; \n this.interactionsFormtat = Array.isArray(jsonData) ? jsonData : [jsonData]; \n \n const jsonDataDeadTimes = JSON.parse(result.data.deadtimes.tiempos_muertos); \n this.tiemposMuertos = Array.isArray(jsonDataDeadTimes) ? jsonDataDeadTimes : [jsonDataDeadTimes]; \n\n\n this.llmResponseObject = result.data.llm_response; \n this.palabrasClaveArray = this.llmResponseObject.palabras_clave;\n\n this.resumen = result.data.llm_response.resumen;\n this.palabrasClave = result.data.llm_response.palabras_clave;\n this.entidadesPrincipales = result.data.llm_response.entidades_principales;\n this.temasPrincipales = result.data.llm_response.temas_principales;\n this.puntosClave = result.data.llm_response.puntos_clave;\n this.analisisDeSentimientos = result.data.llm_response.analisis_de_sentimientos;\n\n // Asume que el `id` está en `result.data.id`\n this.id = result.data.id;\n\n // Lógica tiempos mayores segun tiempo muerto campaña\n const deadTimeFloat = parseFloat(this.dead_time);\n this.tiemposMuertosMayores = this.tiemposMuertos.filter(tiempo => {\n const duracion = tiempo.end - tiempo.start;\n return duracion > deadTimeFloat; // Comparar con el valor float\n });\n \n this.totalDuracionTiemposMuertos = parseFloat(this.tiemposMuertos.reduce((total, tiempo) => {\n return total + (tiempo.end - tiempo.start);\n }, 0).toFixed(3));\n \n this.deadTimeaudioDurationMinutos = Math.floor(this.totalDuracionTiemposMuertos / 60);\n this.deadTimeaudioDurationSegundos = Math.round(this.totalDuracionTiemposMuertos % 60);\n \n // Formatear el tiempo en el formato hh:mm:ss\n const formatTime = (time: number): string => {\n const hours = Math.floor(time / 3600);\n const minutes = Math.floor((time % 3600) / 60);\n const seconds = Math.floor(time % 60);\n return `${hours < 10 ? '0' + hours : hours}:${minutes < 10 ? '0' + minutes : minutes}:${seconds < 10 ? '0' + seconds : seconds}`;\n };\n \n // Formatear los tiempos muertos\n this.deadTimeaudioDurationFormatted = formatTime(this.totalDuracionTiemposMuertos);\n \n },\n error => {\n console.error('Error al recuperar los resultados del análisis:', error.message);\n Swal.fire({\n icon: 'error',\n title: 'Error al recuperar los resultados del análisis:',\n text: error.message,\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n );\n }\n\n /**\n * Metodo en el cual valida la totalidad del tiempo del audio\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n * @returns \n */\n\n obtenerDuracionTotalAudio() {\n const audio = new Audio();\n audio.src = this.audioUrl;\n audio.onloadedmetadata = () => {\n this.audioDuration = audio.duration;\n \n // Formatear la duración total del audio en el formato hh:mm:ss\n this.audioDurationFormatted = this.formatTime(this.audioDuration);\n };\n }\n\n /**\n * Formatea un objeto de tiempo en una cadena de texto en formato de hora (HH:MM:SS).\n * @author Yeison Sepulveda\n * @createdate 22/04/2024\n * @param {Object} tiempo - Objeto que contiene los campos 'start' y 'end' que representan los tiempos de inicio y fin en segundos.\n * @param {number} tiempo.start - Tiempo de inicio en segundos.\n * @param {number} tiempo.end - Tiempo de fin en segundos.\n * @returns {string} Una cadena de texto en formato de hora (HH:MM:SS) que representa el intervalo de tiempo entre el tiempo de inicio y el tiempo de fin.\n */\n\n formatTiempo(tiempo: any): string {\n const formatTime = (time: number): string => {\n const hours = Math.floor(time / 3600);\n const minutes = Math.floor((time % 3600) / 60);\n const seconds = Math.floor(time % 60);\n return `${hours < 10 ? '0' + hours : hours}:${minutes < 10 ? '0' + minutes : minutes}:${seconds < 10 ? '0' + seconds : seconds}`;\n };\n \n const startFormatted = formatTime(tiempo.start);\n const endFormatted = formatTime(tiempo.end);\n \n return `${startFormatted} - ${endFormatted}`;\n }\n\n calcularDuracion(start: number, end: number): string {\n const durationInSeconds = end - start;\n return this.formatTime(durationInSeconds);\n }\n\n\n/**\n * Formatea un número de segundos en una cadena de texto en formato de hora (HH:MM:SS).\n * @author Yeison Sepulveda\n * @createdate 22/04/2024\n * @param {number} time - El número de segundos a formatear.\n * @returns {string} Una cadena de texto en formato de hora (HH:MM:SS).\n */\n formatTime(time: number): string {\n const hours = Math.floor(time / 3600);\n const minutes = Math.floor((time % 3600) / 60);\n const seconds = Math.floor(time % 60);\n return `${hours < 10 ? '0' + hours : hours}:${minutes < 10 ? '0' + minutes : minutes}:${seconds < 10 ? '0' + seconds : seconds}`;\n }\n \n\n /**\n * Validar el posicionamiento para graficar los tiempos muertos\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n * @returns void {left: posicionInicio + '%', width: longitud + '%'} \n */\n\n calcularPosicionSegmento(segmento: any): { left: string, width: string } {\n const duracionTotal = this.audioDuration;\n const posicionInicio = (segmento.start / duracionTotal) * 100;\n const longitud = ((segmento.end - segmento.start) / duracionTotal) * 100;\n return { left: posicionInicio + '%', width: longitud + '%' };\n }\n\n\n}\n","
\n \n
\n\n
\n
\n \n
\n
\n\n

Resultados de análisis.

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

Transcripción

\n
\n
\n
\n
\n \n \n {{ palabra }}\n \n \n
\n
\n

\n \n {{ item.speaker ? item.speaker : 'SPEAKER' }}\n ({{ item.start_format }} - {{ item.end_format}}): \n {{ item.text }}\n

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

Tiempos muertos

\n
\n
\n
\n
\n

\"Dar clic en el segmento requerido sobre la barra, para ir al\n audio\"

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

\n Total tiempo audio: {{ audioDurationFormatted }}\n Total de tiempo muerto: {{ deadTimeaudioDurationFormatted }}\n

\n
\n
\n
\n

\n \n Tiempo Muerto N°{{ i + 1 }} ({{ formatTiempo(tiempo) }}) - \n Duración: {{ calcularDuracion(tiempo.start, tiempo.end) }}\n

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

Resumen e Identificación de Objetivo

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

Resumen: {{\n llmResponseObject.resumen }}

\n\n 0\">\n Palabras Clave: \n {{ palabra }},\n \n

\n\n 0\">\n Entidades principales: \n {{ entidad }},\n \n

\n\n 0\">\n Temas Principales: \n {{ tema }}, \n

\n\n

0\">\n Puntos Clave: \n {{ punto }}, \n

\n

Análisis de sentimientos:\n {{ llmResponseObject.analisis_de_sentimientos }}

\n
\n
\n
\n
\n
\n
\n\n
\n \n
\n\n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { CandidatesService } from '../../../services/candidates.service';\n\n@Component({\n selector: 'app-check-attachment',\n templateUrl: './check-attachment.component.html',\n styleUrls: ['./check-attachment.component.sass']\n})\nexport class CheckAttachmentComponent implements OnInit {\n\n attachmentId;\n selectedState = '';\n comment = '';\n selectedTypification = '';\n\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public dialog: MatDialogRef,\n private alert: AlertsService,\n private candidateService: CandidatesService) {\n this.attachmentId = data.attachmentId;\n }\n\n ngOnInit(): void {\n }\n\n selectState(state: string) {\n this.selectedState = state;\n }\n\n register () {\n this.alert.alertConfirm('¿Está seguro de asignar este estado?').then(e => {\n if (e.isConfirmed){\n const createdAt = new Date();\n this.candidateService.validateDocumentCandidate(this.attachmentId, this.comment, createdAt, this.selectedState, this.selectedTypification, this.data.key).subscribe( resp => {\n this.alert.alertSuccess('¡Hecho!', 'Registro creado con éxito');\n let sing = this.data?.key.includes('firma_');\n if(this.selectedState == 'Aprobado' && sing)\n {\n this.alert.alertWarning('Importante','No olvides generar nuevamente el documento para asignar las firmas');\n }\n this.dialog.close(true);\n });\n }\n });\n }\n selectTypification(typification: string){\n this.selectedTypification = typification;\n }\n}\n","\n\n

Registrar estado

\n
\n\n\n \n Estado\n \n Aprobado\n Rechazado\n \n \n\n \n Causa\n \n Documento incompleto \n Falsificación en documento\n \n \n\n \n Comentarios\n \n \n\n\n\n \n \n\n","import { DisabilitiesService } from 'src/app/modules/nomina/services/rest/disabilities.service';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport * as moment from 'moment';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { DatePipe } from '@angular/common';\n\n@Component({\n selector: 'app-disabilities-response',\n templateUrl: './disabilities-response.component.html',\n styleUrls: ['./disabilities-response.component.sass']\n})\nexport class DisabilitiesResponseComponent implements OnInit {\n\n dataInfo: any;\n public realTime: string;\n public scheduleTime: string;\n public endTime: string;\n public noveltyDetailHeight: number;\n\n public showJustifyForm: boolean;\n public showJustifyInfo: boolean;\n public showInput: boolean;\n noveltiesForm: FormGroup;\n dateForm: FormGroup;\n\n options:any = [\n {id: 0, name: 'Rechazar'},\n {id: 1, name: 'Aprobar'}\n ];\n selectedOption: any;\n subTypes: any;\n\n startDate: any;\n endDate: any;\n fieldate: boolean = false;\n files: any = [];\n\n constructor(\n private disabilities: DisabilitiesService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alert: AlertsService,\n public dialog: MatDialog,\n \n ) { }\n\n ngOnInit() {\n console.log(this.data.data)\n this.noveltiesForm = new FormGroup({\n state: new FormControl('', [Validators.required]),\n response: new FormControl('', [Validators.required]),\n novelty_subtypes_id: new FormControl('')\n });\n \n this.dateForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n\n this.disabilities.getSubTypes().subscribe( resp => {\n this.subTypes = resp.data;\n });\n\n this.disabilities.getEventInfoByPayrollNoveltyId(this.data.data.idNovelty).subscribe(resp => {\n this.dataInfo = resp.data;\n this.files = resp.data.files;\n console.log(this.dataInfo);\n this.dataInfo.novelty_type.key = (this.dataInfo.novelty_type.key < 10) ? `0${this.dataInfo.novelty_type.key}` : this.dataInfo.novelty_type.key;\n\n //console.log(resp.data);\n if (this.dataInfo.validForMoreResponses) {\n this.showJustifyForm = true;\n }\n this.showJustifyInfo = true;\n this.changeDetailHeight(this.dataInfo);\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Metodo para asignacion de detalle en primera instancia\n */\n changeDetailHeight(novelty): void {\n if (novelty.responseFirstInstance && (novelty.responseFirstInstance.justify || novelty.responseFirstInstance.response)) { this.noveltyDetailHeight = 240; }\n }\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-12\n * Metodo para detectar la opcion seleccionada\n */\n changeState(e){\n this.selectedOption = e.value;\n console.log(this.selectedOption)\n }\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-12\n * Metodo para actualizar el estado de la novedad\n */\n UpdateState(){\n const body = {\n state: this.noveltiesForm.controls['state'].value,\n response: this.noveltiesForm.controls['response'].value,\n noveltyDate: this.startDate,\n noveltyDateEnd: this.endDate\n }\n console.log(this.noveltiesForm.value)\n\n this.disabilities.changeStatus(this.data.data.idNovelty, body).subscribe(resp => {\n if(this.selectedOption == 1){\n this.alert.alertSuccessWithoutButton('¡Excelente!', 'Su solicitud ha sido enviada satisfactoriamente');\n this.dialogRef.close('');\n }else {\n this.alert.alertSuccessWithoutButton('¡Excelente!', 'Su solicitud ha sido enviada satisfactoriamente');\n this.dialogRef.close('');\n }\n \n }, error => {\n this.alert.alertError('Error!', 'Ocurrio un error al intentar actualizar la novedad');\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-27\n * Metodo para actualizar el estado de la novedad\n */\n dateRangeChange() {\n const date1: Date = this.dateForm.controls.start.value;\n const date2: Date = this.dateForm.controls.end.value;\n const dateStart: string|null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string|null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n }\n\n show(){\n if(this.fieldate == false){\n this.fieldate = true;\n }else{\n this.fieldate = false;\n }\n }\n\n download(path: any){\n // const path = \"https://people.sc.fsu.edu/~jburkardt/data/csv/addresses.csv\";\n console.log(path)\n window.open(path);\n }\n}\n","
\n\n

\n \n
\n \"noveltyIcon\"\n \n

{{data.data?.name || data.title}}

\n
{{data.data?.id_number}}
\n
\n
\n

\n\n

\n {{ (dataInfo?.novelty_date_start | date:'EEEE' | titlecase) + ' ' + (dataInfo?.novelty_date_start | date:'dd')+ ' de ' + (dataInfo?.novelty_date_start | date:'MMMM') }}\n \n

\n\n \n
\n
\n\n
\n {{\n dataInfo?.novelty_type?.key }} {{ dataInfo?.noveltyTypeToPrint?.title }}\n \n \n Fecha incapacidad\n \n \n \n \n \n \n \n
\n\n
\n
\n

Fechas por incapacidad

\n

Desde: {{ dataInfo?.novelty_date_start | date:'dd/MM/yyyy' }}

\n

Hasta: {{dataInfo?.novelty_date_end | date:'dd/MM/yyyy' }}

\n
\n
\n
\n
\n

Empresa

\n

{{ dataInfo?.extra?.disability?.empresa?.name}}

\n
\n
\n
\n

Eps

\n

{{ dataInfo?.extra?.disability?.eps?.name}}

\n
\n
\n
\n
\n

Diagnóstico

\n

{{ dataInfo?.diagnosticName }}

\n
\n
\n
\n

Justificación del trabajador

\n

{{ dataInfo?.justificacionTrabajador}}

\n
\n

\n \n {{item?.name}}\n \n

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

Gestión

\n
\n \n Estado\n \n \n {{item.name}}\n \n \n \n \n Respuesta\n \n \n\n \n
\n
\n
\n
\n\n
\n","import { C } from '@angular/cdk/keycodes';\nimport { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { LeftNavService } from '../services/rest/left-nav.service';\nimport { element } from 'protractor';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CampaignsGuard implements CanActivate {\n\n\n constructor(private leftNavService: LeftNavService, private router: Router) {}\n\n async canActivate(): Promise {\n\n if (await this.verifyRol() as boolean) {\n return true;\n } else {\n this.router.navigate(['/mios/crm2']);\n return false;\n }\n\n }\n\n public async verifyRol(): Promise {\n\n let band = false;\n const vari = await this.leftNavService.getLeftMenu('crm2').toPromise();\n\n for (let element of vari.data) {\n\n if ( element.name === 'Campañas') {\n band = true;\n break;\n }\n }\n\n return band;\n }\n\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport * as moment from 'moment';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { SolicitudesService } from 'src/app/modules/compras/services/rest/solicitudes.service';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-block-requests',\n templateUrl: './block-requests.component.html',\n styleUrls: ['./block-requests.component.sass']\n})\nexport class BlockRequestsComponent implements OnInit {\n\n constructor(\n private alert: AlertsService,\n private serviceSolicitudes: SolicitudesService,\n private modal: MatDialogRef\n ) { }\n\n ngOnInit(): void {\n /* this.alert.alertQuestion(\n 'Prueba',\n 'seguro esta bien'\n ) */\n\n }\n\n dateBlock = new FormGroup({\n inicial: new FormControl('',Validators.required),\n final: new FormControl('',Validators.required)\n })\n\n\n\n saveDate () {\n if(this.dateBlock.valid){\n const dates = {\n dateInit: moment(this.dateBlock.get('inicial').value).format('YYYY-MM-DD'),\n dateEnd: moment(this.dateBlock.get('final').value).format('YYYY-MM-DD')\n }\n\n this.alert.alertWarning(\n '¿Estás seguro?',\n `¿En verdad deseas bloquear la creación de solicitudes ${dates.dateInit} del al ${dates.dateEnd}.?, recuerda que esta acción será definitiva y no se podrá deshacer.`,\n ).then(respuesta=>{\n if(respuesta.isConfirmed){\n this.serviceSolicitudes.blockRequest(dates).subscribe(rest=>{\n this.alert.alertSuccess(\n '¡Excelente!',\n rest.data\n )\n this.modal.close()\n })\n }\n })\n }\n }\n\n}\n","
\n
\n

Bloqueo de solicitudes

\n \n
\n
\n En este espacio podrás elegir el rango de fechas durante el cual quieres bloquear la creación de solicitudes.\n \n
\n
\n \n Rango de fechas\n \n \n \n \n \n \n Fecha de inicio es requerida\n Fecha de final es requerida\n \n
\n
\n\n
\n
\n \n \n
\n
\n","export class Message {\n\tmessage_type?: string;\n\tmessage?: string;\n\tsender_name?: string;\n\tsender_rrhh_id?: number;\n\tconversation_id?: string;\n\tusers_mentio_chat?: [];\n\n\tconstructor(message_type?: string,\n message?: string,\n sender_name?: string,\n sender_rrhh_id?: number,\n conversation_id?: string,\n users_mentio_chat?: []) {\n\n\t\tthis.message_type = message_type;\n\t\tthis.message = message;\n\t\tthis.sender_name = sender_name;\n\t\tthis.sender_rrhh_id = sender_rrhh_id;\n\t\tthis.conversation_id = conversation_id;\n\t\tthis.users_mentio_chat = users_mentio_chat;\n\t}\n}\n","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Subscription } from 'rxjs';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-analistas-calidad',\n templateUrl: './analistas-calidad.component.html',\n styleUrls: ['./analistas-calidad.component.sass']\n})\nexport class AnalistasCalidadComponent implements OnInit, OnDestroy {\n private uuid = 'fedb3706-912a-11ee-b9d1-0242ac120002';\n public config: any;\n\n analistas = [];\n supervisores = [];\n seleccion = [];\n listAnalistas = [];\n listSupervisores = [];\n listEliminated = [];\n selectable = false;\n removable = false;\n showEdit:boolean = false;\n btns:boolean = false;\n input:boolean = false;\n subscription:Subscription;\n filtroCedula:string = '';\n titulo:string = '';\n constructor(\n private matrizService:MatrizService,\n public analistaRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n this.tipoListas(this.config);\n });\n this.subscription = this.matrizService.refresh$.subscribe(()=>{\n this.showAsignados();\n this.edit();\n });\n }\n\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n\n tipoListas(config){\n if (this.datos.type == 'analista') {\n this.getListAnalistas();\n this.getAnalistasById();\n this.validEdit();\n this.titulo = config.labels.analystTitle;\n }else if (this.datos.type == 'super') {\n this.titulo = config.labels.supervisorTitle;\n this.getListSupervisores();\n this.getSupervisoresById();\n this.validEdit();\n }\n }\n\n getListAnalistas(){\n const params = {\n idMatriz: this.datos.id_matriz,\n cedula:'',\n }\n if (this.filtroCedula != '') {\n params.cedula = this.filtroCedula;\n }\n this.matrizService.getListAnalistas(params).subscribe((resp:any)=>{\n this.listAnalistas = resp;\n });\n }\n\n getAnalistasById(){\n this.matrizService.getAnalistaById(this.datos.id_matriz).subscribe((resp:any)=>{\n this.analistas = resp;\n });\n }\n\n getListSupervisores(){\n const params = {\n idMatriz: this.datos.idMatriz,\n cedula: ''\n }\n if (this.filtroCedula != '') {\n params.cedula = this.filtroCedula;\n }\n this.matrizService.showSupervisores(params).subscribe((resp:any)=>{\n this.listSupervisores = resp;\n });\n }\n\n getSupervisoresById(){\n this.matrizService.getSupervisorByMatriz(this.datos.idMatriz).subscribe((resp:any)=>{\n this.supervisores = resp;\n })\n }\n\n validEdit(){\n if (this.analistas.length == 0 || this.supervisores.length == 0) {\n this.showEdit = false;\n this.btns = false;\n this.input = true;\n }else {\n this.input = false;\n this.showEdit = true;\n }\n }\n\n edit(){\n this.btns = !this.btns;\n this.input = !this.input;\n this.showEdit = !this.showEdit;\n this.selectable = !this.selectable;\n this.removable = !this.removable;\n this.analistas.forEach(analista => {\n this.listAnalistas.forEach((element,index) => {\n if (analista.id_usuario == element.id) {\n this.listAnalistas.splice(index,1);\n }\n });\n });\n this.supervisores.forEach(supervisor => {\n this.listSupervisores.forEach((element,index) => {\n if (supervisor.id_usuario == element.id) {\n this.listSupervisores.splice(index,1);\n }\n });\n });\n this.listEliminated = [];\n }\n\n asignarAnalistas(){\n let mensaje:string = '';\n this.seleccion = this.seleccion.map(item =>{\n return {analista_id: item.id,nombre_analista: item.nombre, cedula: item.cedula}\n });\n const data = {\n idMatriz : null,\n data: this.seleccion,\n }\n if (this.datos.type == 'super') {\n mensaje = this.config.modal.supervisorOk;\n data.idMatriz = this.datos.idMatriz;\n }else{\n mensaje = this.config.modal.analistOk;\n data.idMatriz = this.datos.id_matriz;\n }\n if (data.data.length == 0) {\n this.listEliminated.forEach(analista => {\n this.matrizService.eliminateAnalista(analista.id_usuario,data.idMatriz).subscribe((resp:any)=>{\n Tools.swalSuccess(this.config.modal.excellent, this.config.modal.saveOk);\n this.analistaRef.close();\n });\n });\n }else{\n this.matrizService.asignarAnalistas(data).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n this.listEliminated.forEach(analista => {\n this.matrizService.eliminateAnalista(analista.id_usuario,data.idMatriz).subscribe(()=>{});\n });\n Tools.swalSuccess(this.config.modal.excellent, mensaje);\n this.seleccion = [];\n this.analistaRef.close();\n }\n });\n }\n }\n\n removeAnalista(analista){\n this.listEliminated.push(analista);\n this.listAnalistas.push(this.listEliminated.map(item =>{\n return {id: item.id_analista,nombre: item.nombre_analista}\n }))\n const index = this.analistas.indexOf(analista);\n if (index >=0) {\n this.analistas.splice(index,1);\n }\n }\n\n removesupervisor(supervisor){\n this.listEliminated.push(supervisor);\n this.listEliminated.map(supervisor=>{\n return {id: supervisor.id_usuario,nombre: supervisor.nombre,cedula: ''}\n });\n const index = this.supervisores.indexOf(supervisor);\n if (index >=0) {\n this.supervisores.splice(index,1);\n }\n }\n\n filtrar(){\n if (this.datos.type == 'super') {\n this.getListSupervisores();\n }else{\n this.getListAnalistas();\n }\n }\n\n showAsignados(){\n if (this.datos.type == 'super') {\n this.getSupervisoresById();\n }else{\n this.getAnalistasById();\n }\n }\n\n}\n","\n
\n
\n

{{titulo}}

\n \n
\n \n

\n {{config.messages.noAnalysts}}\n

\n
\n \n {{config.labels.analistList}}\n \n {{analista.nombre}}\n \n \n \n {{config.labels.supervisorType}}\n \n {{supervisor.nombre}}\n \n \n \n {{config.labels.idLabel}}\n \n \n \n \n
\n
\n \n \n {{analista.nombre}}\n \n \n \n \n \n {{supervisor.nombre}}\n \n \n \n
\n\n
\n \n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { environment } from '../../../../../environments/environment';\nimport { catchError } from 'rxjs/operators';\n\nconst NOMINA_URL = environment.NOMINA_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InactiveDatesService {\n\n constructor(private http: HttpClient) {\n }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Andres Buitrago\n * @created 2021-05-05\n * @purpose Servicio para obtener las dias inactivos en base a filtros\n */\n getInactiveDates(filters: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('month', filters.month || '')\n .set('year', filters.year || '')\n .set('textFilter', filters.textFilter || '')\n .set('perPage', filters.perPage || 5)\n .set('paginate', filters.paginate || 1)\n .set('page', filters.page || 1)\n };\n return this.http.get(`${ NOMINA_URL }inactiveDays`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andres Buitrago\n * @created 2021-05-05\n * @purpose Servicio para obtener las dias inactivos del año actual\n */\n getInactiveInCurrentYear(): Observable {\n return this.http.get(`${ NOMINA_URL }inactiveDays/currentYear`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andres Buitrago\n * @created 2021-05-05\n * @purpose Servicio para registrar fechas inactivas\n */\n createInactiveDate(data: any): Observable {\n return this.http.post(`${ NOMINA_URL }inactiveDays`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andres Buitrago\n * @created 2021-05-05\n * @purpose Servicio para eliminar un dia inactivo\n */\n deleteInactiveDate(inactiveDayId: number): Observable {\n return this.http.delete(`${ NOMINA_URL }inactiveDays/${ inactiveDayId }`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { environment } from '../../../../environments/environment';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthService } from '../../../core/services/rest/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TestsService {\n\n private server = environment.RRHH_URL;\n user;\n testsList;\n\n constructor(private http: HttpClient, private activeRoute: ActivatedRoute, private authService: AuthService) {\n this.user = this.authService.getUser();\n }\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n };\n\n getTestsList() {\n return this.http.get(`${this.server}tests`, this.httpOptions);\n }\n\n getTestByCandidate(candidateId){\n return this.http.get(`${this.server}candidate/tests/${candidateId}`);\n }\n\n saveTests(entries: any){\n entries.userId = this.user.rrhh_id;\n return this.http.post(`${this.server}candidate/assign/test`, entries);\n }\n saveEvalutationOrAssesments(candidateTestId, params){\n\n return this.http.post(`${this.server}candidate/test/feedback/${candidateTestId}`, params);\n\n }\n\n saveResourcesFromAdmin(candidateTestId, params){\n\n return this.http.post(`${this.server}candidate/test/resources/${candidateTestId}`, params);\n\n }\n\n uploadFiles(entries) {\n const formData = new FormData();\n formData.append('attachment', entries.attachment);\n formData.append('description', entries.description);\n formData.append('source', entries.source);\n formData.append('candidateId', entries.candidateId);\n formData.append('requestId', entries.requestId);\n formData.append('type', entries.type);\n return this.http.post(`${this.server}candidate/test/admin/resources`, formData);\n }\n\n finishTest(candidateId, requestId){\n return this.http.get(`${this.server}candidate/finished/test/${candidateId}/${requestId}`);\n }\n\n sendTest(candidateTestId, params){\n\n const formData = new FormData();\n formData.append('candidateAttachment', params.candidateAttachment);\n formData.append('comments', params.comments);\n formData.append('candidateAttachmentName', params.candidateAttachmentName);\n return this.http.post(`${this.server}candidate/test/${candidateTestId}`, formData);\n }\n downloadFile(fileId, type){\n return this.http.get(`${this.server}candidate/download/test/${fileId}/${type}`, {responseType:'blob'});\n }\n getUsersByArea(entries){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}users/role`, {params});\n }\n getCandidatesAssessmets(request_id, entries){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}assessment/candidate/${request_id}`, {params});\n }\n getAssessmets(){\n return this.http.get(`${this.server}assesments/test`);\n }\n getRoomsAssessmets(){\n return this.http.get(`${this.server}assessment/room`);\n }\n getRoomAssessmet(id){\n return this.http.get(`${this.server}assessment/room/${id}`);\n }\n getCandidateAssessmet(id){\n return this.http.get(`${this.server}assessment/room/assessment/${id}`);\n }\n postRoomAssessmet(form){\n return this.http.post(`${this.server}assessment/room/create`, form);\n }\n deleteCndidateToAssessmet(id){\n return this.http.delete(`${this.server}assessment/room/candidate/${id}`);\n }\n updateRoomAssessmet(id, form){\n return this.http.put(`${this.server}assessment/room/${id}`, form);\n }\n updateAssessmentTest(id, form){\n return this.http.put(`${this.server}candidate/assessments/competence/${id}`, form);\n }\n getAssessmentScore(id, form){\n return this.http.put(`${this.server}candidate/assessments/evaluation/${id}`, form);\n }\n updateAssessmentSection(id,form){\n return this.http.put(`${this.server}candidate/assessments/save/${id}`, form);\n }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Location } from '@angular/common';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { PageEvent } from '@angular/material/paginator';\nimport { AdminServersService } from '../services/admin-servers.service';\nimport { CommandsService } from '../services/commands.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\n\n@Component({\n selector: 'app-admin-servers',\n templateUrl: './admin-servers.component.html',\n styleUrls: ['./admin-servers.component.sass']\n})\nexport class AdminServersComponent implements OnInit {\n formAdminServers: FormGroup = new FormGroup({\n id: new FormControl('', []),\n name: new FormControl('', [Validators.required]),\n host: new FormControl('', [Validators.required]),\n database: new FormControl('', [Validators.required]),\n user: new FormControl('', [Validators.required]),\n pass: new FormControl('', [Validators.required]),\n type_conexion: new FormControl('', [Validators.required]),\n name_vista: new FormControl('', [Validators.required]),\n port: new FormControl('', [Validators.required]),\n id_type_shell: new FormControl('', [Validators.required]),\n record: new FormControl(null, [Validators.required])\n });\n typeManagmentServer: string = 'create';\n configColumnsTable: any[] = [\n { key: 'actions', name: '' },\n { key: 'name', name: 'Nombre' },\n { key: 'database', name: 'Base de datos' },\n { key: 'type_conexion', name: 'Tipo de conexión' },\n { key: 'name_vista', name: 'Nombre de la vista' },\n ];\n keysColumnsTable: string[] = [];\n dataServersTable = new MatTableDataSource();\n configPaginator: any = { length: 0, pageSize: 5, pageIndex: 0, previousPageIndex: 0 };\n filter: string = '';\n hidePassword: boolean = true;\n commands: any[] = [];\n @ViewChild(MatSort) sort: MatSort;\n\n constructor(\n private location: Location,\n private alertService: AlertsService,\n private adminServersService: AdminServersService,\n private commandsService: CommandsService) { }\n\n ngOnInit(): void {\n this.keysColumnsTable = this.configColumnsTable.map((item: any) => item.key);\n this.getServers();\n this.getCommands();\n }\n\n ngAfterViewInit(){\n this.dataServersTable.sort = this.sort;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que trae todos los servidores registrados.\n */\n getServers(): void {\n this.adminServersService.getServers(this.configPaginator, this.filter).subscribe(res => {\n this.dataServersTable.data = res.data.data;\n this.configPaginator.length = res.data.total;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que trae la información de un servidor seleccionado en la tabla.\n * @param server Servidor seleccionado desde la tabla.\n */\n viewServer(server: any): void {\n this.adminServersService.showServer(server.id).subscribe(res => {\n this.typeManagmentServer = 'update';\n this.formAdminServers.get('id').setValue(res.data.id);\n this.formAdminServers.get('name').setValue(res.data.name);\n this.formAdminServers.get('host').setValue(res.data.host);\n this.formAdminServers.get('database').setValue(res.data.database);\n this.formAdminServers.get('user').setValue(res.data.user);\n this.formAdminServers.get('pass').setValue(res.data.pass);\n this.formAdminServers.get('type_conexion').setValue(res.data.type_conexion);\n this.formAdminServers.get('name_vista').setValue(res.data.name_vista);\n this.formAdminServers.get('port').setValue(res.data.port);\n this.formAdminServers.get('id_type_shell').setValue(res.data.id_type_shell);\n this.formAdminServers.get('record').setValue(res.data.record);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que guarda o actualiza un servidor.\n */\n saveOrUpdateServe(): void {\n if (this.formAdminServers.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.adminServersService.saveOrUpdateServer(this.formAdminServers.value, this.typeManagmentServer).subscribe(res => {\n this.alertService.alertWithAnyProperties('Correcto', res.data, 'success', 'Continuar').then(isContinue => {\n this.formAdminServers.reset();\n this.getServers();\n this.typeManagmentServer = 'create';\n });\n });\n }\n });\n } else {\n this.formAdminServers.markAllAsTouched();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que elimina un servidor del sistema.\n * @param server Servidor seleccionado desde la tabla.\n */\n deleteServer(server: any): void {\n this.alertService.alertWarning('¿Está seguro?', '¿De eliminar el servidor seleccionado?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.adminServersService.deleteServer(server.id).subscribe(res => {\n this.alertService.alertWithAnyProperties('Correcto', res.data, 'success', 'Continuar').then(isContinue => {\n this.getServers();\n });\n })\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que redirecciona a la pagina anterior visitada.\n */\n backToPreviousPage(): void {\n this.alertService.alertWarning('¿Estás seguro?', '¿En verdad deseas salir de la página?').then(confirm => {\n if (confirm.isConfirmed) this.location.back();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que retorna los controles del formulario.\n */\n get errorsForm(): any {\n return this.formAdminServers.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que pagina la informacion de la tabla.\n * @param $event Evento emitido por el paginador.\n */\n changePage($event: PageEvent): void {\n this.configPaginator = $event;\n this.getServers();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que filtra los datos de la tabla.\n * @param $event Evento emitido por el input.\n */\n onChangeFilter($event: any): void {\n this.filter = $event.target.value;\n this.getServers();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que reinicia los valores de la vista.\n */\n cancelManagmentServers(): void {\n this.alertService.alertWarning('¿Estás seguro?', '¿En verdad deseas cancelar la gestión?').then(confirm => {\n if (confirm.isConfirmed) {\n this.formAdminServers.reset();\n this.typeManagmentServer = 'create';\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-22\n * Metodo que trae los comandos registrados en el sistema.\n */\n getCommands(): void {\n this.commandsService.getCommands(null, '', false).subscribe(res => {\n this.commands = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-28\n * Metodo que valida el estado del servidor.\n * @param id Id del servidor seleccionado.\n */\n onClickCheckServer(id: number): void {\n this.adminServersService.checkServer(id).subscribe(res => {\n this.alertService.alertSuccess('Conexión exitosa', 'Se ha podido establecer conexión con el servidor');\n });\n }\n}\n","
\n
\n \n Regresar\n
\n
\n
\n Administración de servidores\n
\n
\n

\n En este espacio podrás realizar la gestión de servidores para
\n la configuración de descargas. No olvides “El respeto y empatía son clave”.\n

\n
\n
\n
\n
\n
\n \n Nombre\n \n \n Este campo es requerido\n \n \n
\n
\n \n Servidor\n \n \n Este campo es requerido\n \n \n
\n
\n \n Base de datos\n \n \n Este campo es requerido\n \n \n
\n
\n \n Usuario\n \n \n Este campo es requerido\n \n \n
\n
\n \n Contraseña\n \n \n \n Este campo es requerido\n \n \n
\n
\n \n Conexión\n \n \n Este campo es requerido\n \n \n
\n
\n \n Vista\n \n \n Este campo es requerido\n \n \n
\n
\n \n Puerto\n \n \n Este campo es requerido\n \n \n
\n
\n \n Comandos\n \n {{ item.nombre }}\n \n \n Este campo es requerido\n \n \n
\n
\n \n ¿Es un servidor de grabaciones?\n \n No\n Si\n \n \n Este campo es requerido\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ column.name }} {{ element[column.key] }} {{ column.name }} \n \n \n \n
No existe información relacionada
\n \n \n
\n
\n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { AuditoriaService } from 'src/app/modules/calidad/services/auditoria.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport { CoachingService } from 'src/app/modules/coaching/services/coaching.service';\nimport {TranslatesService} from '../../../../../../services/translates.service';\n\n@Component({\n selector: 'app-detalle-retroalimentacion',\n templateUrl: './detalle-retroalimentacion.component.html',\n styleUrls: ['./detalle-retroalimentacion.component.sass']\n})\nexport class DetalleRetroalimentacionComponent implements OnInit {\n private uuid = '6111a21c-74b7-42dd-aac4-992da45dc867';\n public config: any;\n\n dataSource = [];\n displayedColumns: string[] = ['matriz', 'fecha_auditoria', 'tipo_auditoria', 'calificacion'];\n tipo_matriz = '';\n tipo_peso = '';\n idMatriz;\n calificacionesForm: FormGroup;\n roles = [];\n is_asesor = false;\n analista = false;\n is_jefe = false;\n is_coaching = false;\n supervisor = false;\n verBtns = true;\n aplica_para_cp: number = null;\n commentApply= false;\n\n constructor(\n private auditoriaService: AuditoriaService,\n private fb: FormBuilder,\n public retroalimentacionRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos: any,\n private authService: AuthService,\n private router: Router,\n private coachService: CoachingService,\n private configService: TranslatesService,\n ) {\n this.roles = authService.getUser().roles;\n }\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.createForm();\n this.getRetroalimentacionById();\n }\n\n createForm() {\n this.calificacionesForm = this.fb.group({\n modulos: this.fb.array([]),\n txtAuditoria: [{value: '', disabled: true}],\n retroalimentacion_auditor: [{value: '', disabled: true}, [Validators.required]],\n retroalimentacion_supervisor: [{value: '', disabled: true}, [Validators.required]],\n compromiso_calidad: [{value: '', disabled: true}],\n compromiso_operacion: [{value: '', disabled: true}],\n });\n this.roles.forEach(rol => {\n if (rol == 'calidad::analista') {\n this.analista = true;\n }\n if (rol == 'calidad::supervisor') {\n this.supervisor = true;\n }\n if (rol == 'calidad::asesor') {\n this.is_asesor = true;\n const index = this.displayedColumns.indexOf('tipo_auditoria');\n this.displayedColumns.splice(index, 1);\n }\n if (rol == 'calidad::jefe') {\n this.is_jefe = true;\n }\n\n if (rol == 'coaching::asesor') {\n this.is_coaching = false;\n } else {\n this.is_coaching = true;\n }\n\n });\n if ((this.analista && this.supervisor)) {\n this.calificacionesForm.get('retroalimentacion_auditor').enable();\n this.calificacionesForm.get('retroalimentacion_supervisor').enable();\n } else if (this.analista) {\n this.calificacionesForm.get('retroalimentacion_auditor').enable();\n this.calificacionesForm.get('retroalimentacion_supervisor').setErrors(null);\n } else if (this.supervisor) {\n this.calificacionesForm.get('retroalimentacion_supervisor').enable();\n this.calificacionesForm.get('retroalimentacion_auditor').setErrors(null);\n } else {\n this.calificacionesForm.get('retroalimentacion_auditor').disable();\n this.calificacionesForm.get('retroalimentacion_supervisor').disable();\n this.calificacionesForm.get('retroalimentacion_auditor').setErrors(null);\n this.calificacionesForm.get('retroalimentacion_supervisor').setErrors(null);\n }\n if (this.is_jefe) {\n this.verBtns = false;\n }\n }\n\n getRetroalimentacionById() {\n const modulosForm = this.calificacionesForm.controls['modulos'];\n modulosForm.clear();\n this.auditoriaService.getRetroalimentacionById(this.datos).subscribe((resp: any) => {\n const datos = [];\n this.idMatriz = resp[0].auditoria.detalle_matriz.id;\n this.tipo_matriz = resp[0].auditoria.detalle_matriz.tipo_matriz.nombre;\n this.aplica_para_cp = resp[0].auditoria.detalle_matriz.aplica_para_cp;\n this.commentApply = resp[0].auditoria.detalle_matriz.comment_apply;\n if (resp[0].auditoria.detalle_matriz.tipo_peso) {\n this.tipo_peso = resp[0].auditoria.detalle_matriz.tipo_peso.nombre;\n }\n datos.push({\n nombre_matriz: resp[0].auditoria.detalle_matriz.nombre,\n fecha_auditoria: resp[0].auditoria.fecha_llamada,\n tipo_audioria: resp[0].auditoria.tipo_audioria.nombre,\n calificacion: resp[0].auditoria.total_punaje\n });\n this.dataSource = datos;\n resp[0].auditoria.items_afectados.forEach((modulo, iModule) => {\n modulosForm.push(this.fb.group({\n calificacion: [{value: 1, disabled: true}],\n created_at: modulo.created_at,\n cumple: modulo.cumple,\n deleted_at: modulo.deleted_at,\n detalle_item: modulo.detalle_item,\n id: modulo.id,\n items: this.fb.array([]),\n matriz_auditoria_id: modulo.matriz_auditoria_id,\n modulo_id: modulo.modulo_id,\n nivel: modulo.nivel,\n no: modulo.no,\n no_aplica: modulo.no_aplica,\n no_cumple: modulo.no_cumple,\n padre_id: modulo.padre_id,\n puntaje: modulo.puntaje,\n puntaje_obtenido: modulo.puntaje_obtenido,\n si: modulo.si,\n tipo_matriz_id: modulo.tipo_matriz_id,\n updated_at: modulo.updated_at,\n cp: modulo.cumple_parcial,\n error_critico: modulo.detalle_item.error_critico,\n \n }));\n modulo.items.forEach((item) => {\n item.subitems.forEach(subItem => {\n Object.assign(subItem, {calificacion: [{value: 1, disabled: true}],\n comments: [{value: subItem.comments, disabled: true}]});\n });\n (this.modulesForm.at(iModule).get('items') as FormArray).push(this.fb.group({\n calificacion: [{value: 1, disabled: true}],\n created_at: item.created_at,\n cumple: item.cumple,\n deleted_at: item.deleted_at,\n detalle_item: item.detalle_item,\n id: item.id,\n matriz_auditoria_id: item.matriz_auditoria_id,\n modulo_id: item.modulo_id,\n nivel: item.nivel,\n no: item.no,\n no_aplica: item.no_aplica,\n no_cumple: item.no_cumple,\n padre_id: item.padre_id,\n puntaje: item.puntaje,\n puntaje_obtenido: item.puntaje_obtenido,\n si: item.si,\n comments: [{value: item.comments, disabled: true}],\n subitems: this.fb.array(item.subitems.map(subItem => this.fb.group(subItem))),\n tipo_matriz_id: item.tipo_matriz_id,\n updated_at: item.updated_at,\n cp: item.cumple_parcial,\n error_critico: modulo.detalle_item.error_critico\n }));\n });\n });\n this.calificacionesForm.get('txtAuditoria').setValue(resp[0].auditoria.observacion_auditor);\n this.calificacionesForm.get('retroalimentacion_auditor').setValue(resp[0].auditoria.retroalimentacion_auditor);\n this.calificacionesForm.get('retroalimentacion_supervisor').setValue(resp[0].auditoria.retroalimentacion_supervisor);\n this.calificacionesForm.get('compromiso_calidad').setValue(resp[0].auditoria.compromiso_calidad);\n this.calificacionesForm.get('compromiso_operacion').setValue(resp[0].auditoria.compromiso);\n\n if (this.is_asesor && resp[0].auditoria.retroalimentacion_auditor) {\n this.calificacionesForm.get('compromiso_calidad').enable();\n }\n if (this.is_asesor && resp[0].auditoria.retroalimentacion_supervisor) {\n this.calificacionesForm.get('compromiso_operacion').enable();\n }\n if (this.analista && resp[0].auditoria.retroalimentacion_auditor) {\n this.calificacionesForm.get('retroalimentacion_auditor').disable();\n this.verBtns = false;\n }\n if (this.supervisor && resp[0].auditoria.retroalimentacion_supervisor) {\n this.calificacionesForm.get('retroalimentacion_supervisor').disable();\n this.verBtns = false;\n }\n\n if (resp[0].auditoria.compromiso_calidad && resp[0].auditoria.compromiso) {\n this.verBtns = false;\n this.calificacionesForm.get('compromiso_calidad').disable();\n this.calificacionesForm.get('compromiso_operacion').disable();\n }\n if (resp[0].auditoria.compromiso_calidad) {\n this.calificacionesForm.get('compromiso_calidad').disable();\n }\n if (resp[0].auditoria.compromiso) {\n this.calificacionesForm.get('compromiso_operacion').disable();\n }\n });\n }\n\n get modulesForm() {\n return this.calificacionesForm.get('modulos') as FormArray;\n }\n\n updateRetroalimentacionById() {\n this.calificacionesForm.markAllAsTouched();\n if (this.calificacionesForm.invalid) {\n return;\n }\n Object.assign(this.calificacionesForm.value, {\n mensaje: `Tienes una nueva retroalimentación en la auditoría ID ${this.datos}.`,\n ruta: '/mios/calidad/mis-auditorias',\n });\n this.auditoriaService.updateRetroalimentacionById(this.datos, this.calificacionesForm.value).subscribe((resp: any) => {\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess(this.config.modal.excellent, this.config.modal.responseOk);\n this.retroalimentacionRef.close();\n } else if (resp.respuesta.codigo != 202) {\n Tools.swalError('¡Oops!', this.config.modal.responseError);\n }\n });\n }\n\n updateAuditoria() {\n let mensaje = '';\n if (this.calificacionesForm.get('compromiso_calidad').touched && this.calificacionesForm.get('compromiso_operacion').touched) {\n mensaje = this.config.modal.message1 + `${this.datos}.`;\n } else if (this.calificacionesForm.get('compromiso_calidad').touched) {\n mensaje = this.config.modal.message2 + `${this.datos}.`;\n } else if (this.calificacionesForm.get('compromiso_operacion').touched) {\n mensaje = this.config.modal.message3 + `${this.datos}.`;\n }\n this.calificacionesForm.get('compromiso_calidad').enable();\n this.calificacionesForm.get('compromiso_operacion').enable();\n Object.assign(this.calificacionesForm.value, {\n mensaje,\n ruta: '/mios/calidad/auditoria/detail/1/' + this.idMatriz,\n });\n this.auditoriaService.updateAuditoria(this.datos, this.calificacionesForm.value).subscribe((resp: any) => {\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess(this.config.modal.excellent, this.config.modal.responseOk);\n this.retroalimentacionRef.close();\n } else if (resp.respuesta.codigo != 202) {\n if (this.calificacionesForm.get('compromiso_calidad').touched && this.calificacionesForm.get('compromiso_operacion').touched) {\n this.calificacionesForm.get('compromiso_calidad').disable();\n this.calificacionesForm.get('compromiso_operacion').disable();\n } else if (this.calificacionesForm.get('compromiso_calidad').touched) {\n this.calificacionesForm.get('compromiso_calidad').disable();\n } else if (this.calificacionesForm.get('compromiso_operacion').touched) {\n this.calificacionesForm.get('compromiso_operacion').disable();\n }\n Tools.swalError('¡Oops!', this.config.modal.responseError);\n }\n });\n }\n\n nuevoCoaching() {\n this.coachService.coachCalidad(this.datos).subscribe((resp: any) => {\n if (resp.respuesta.status) {\n if (resp.respuesta.estado === 'Abierto' || resp.respuesta.estado === 'Vencido') {\n window.location.replace('/mios/coaching/solicitud/' + resp.respuesta.id);\n } else {\n window.location.replace('/mios/coaching/finalizado/' + resp.respuesta.id);\n }\n } else {\n window.location.replace('/mios/coaching/auditoria/' + this.datos);\n }\n });\n }\n\n}\n","\n
\n
\n
\n

{{config.labels.idAuditoria}} - {{datos}}

\n
\n
\n
\n

{{config.labels.coaching}}

  \n \n
\n
\n
\n
\n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n
{{config.labels.matriz}}{{ element.nombre_matriz}}{{config.labels.fechaAuditoria}}{{ element.fecha_auditoria | date:'dd/MM/yyyy'}} {{config.labels.tipoAuditoria}}{{ element.tipo_audioria }} {{config.labels.calificacion}}{{ element.calificacion | number:'1.0-1'}}
{{config.labels.noDataToShow}}
\n
\n
\n
\n
\n
\n \n \n \n

{{modulo.get('detalle_item').value.sigla}}

\n

{{modulo.get('detalle_item').value.nombre}}

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

{{item.get('detalle_item').value.sigla}}

\n

{{item.get('detalle_item').value.nombre |cutText:0:9}}

\n
\n \n
\n \n {{config.labels.cumple}}\n {{config.labels.noCumple}}\n {{config.labels.noAplica}}\n \n
\n
\n \n {{config.labels.si}}\n {{config.labels.no}}\n {{config.labels.noAplica}}\n {{config.labels.cp}}\n \n\n \n
\n
\n \n {{config.labels.si}}\n {{config.labels.no}}\n {{config.labels.noAplica}}\n \n
\n
\n
\n \n {{config.labels.comentario}}\n \n \n
\n
\n \n \n \n

{{subtItem.get('detalle_item').value.sigla}}

\n \n

{{subtItem.get('detalle_item').value.nombre | cutText:0:7}}

\n
\n \n \n {{config.labels.cumple}}\n {{config.labels.noCumple}}\n {{config.labels.noAplica}}\n \n \n
\n \n {{config.labels.comentario}}\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n {{config.labels.observacionAuditoria}}\n \n \n \n {{config.labels.retroAuditor}}\n \n {{config.labels.retroalimentacionError}}\n \n \n {{config.labels.retroSupervisor}}\n \n \n \n {{config.labels.compromisoCalidad}}\n \n \n \n {{config.labels.compromisoOperacion}}\n \n \n
\n
\n
\n \n \n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { environment } from '../../../../environments/environment';\nimport { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { AuthService } from '../../../core/services/rest/auth.service';\nimport { BehaviorSubject, Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TemplatesService {\n\n public server = environment.RRHH_URL;\n private user: any;\n\n private refreshTemplatesSource = new BehaviorSubject(false);\n refreshTemplates$ = this.refreshTemplatesSource.asObservable();\n\n constructor(\n private http: HttpClient,\n private authService: AuthService,\n ) {\n this.user = this.authService.getUser();\n }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n getTemplates() {\n return this.http.get(`${this.server}templates`);\n }\n\n getHistory(body): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('page', body.page || '')\n .set('perPage', body.perPage || '')\n .set('filters[contract_type_id]', body.contract_type_id || '')\n .set('filters[version]', body.version || '')\n .set('filters[contract_templates.created_at]', body.created_at || '')\n .set('filters[status]', body.status || '')\n };\n return this.http.get(`${this.server}templates_history`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getTags(body): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('paginateOff', body.paginateOff || false)\n .set('page', body.page || '')\n .set('perPage', body.perPage || '')\n .set('filters[contract_type_id]', body.contract_type_id || '')\n .set('filters[contract_template_tags.contract_template_tag_origin_id]', body.origin || '')\n };\n return this.http.get(`${this.server}template/tags`, httpOptions);\n }\n\n\n storeTag(formData: FormData): Observable {\n return this.http.post(`${this.server}template/tags`, formData);\n }\n\n\n getTagsReport(body) {\n const httpOptions = {\n params: new HttpParams()\n .set('page', body.page || '')\n .set('perPage', body.perPage || '')\n .set('filters[contract_type_id]', body.contract_type_id || '')\n .set('filters[contract_template_tags.contract_template_tag_origin_id]', body.origin || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${this.server}template/tags/report`, httpOptions);\n }\n\n getInfoRrhhIds(rrhhIds: number[]): Observable {\n const requestBody = { rrhh_ids: rrhhIds };\n return this.http.post(`${this.server}users/getInfoRrhhIds`, requestBody);\n }\n\n getOrigins(): Observable {\n return this.http.get(`${this.server}template/origins`);\n }\n\n storeTemplate(file: File, contractTypeId: string): Observable {\n const formData = new FormData();\n const responsableId = this.user['rrhh_id'];\n formData.append('path', file);\n formData.append('contract_type_id', contractTypeId);\n formData.append('responsable_id', responsableId);\n\n return this.http.post(`${this.server}templates`, formData);\n }\n\n showTemplate(id) {\n return this.http.get(`${this.server}templates/${id}`);\n }\n\n upgrade(id) {\n return this.http.get(`${this.server}templates_upgrade?id=${id}`);\n }\n\n triggerRefresh(): void {\n this.refreshTemplatesSource.next(true);\n }\n\n getTag(id: number): Observable {\n return this.http.get(`${this.server}template/tag?id=${id}`);\n }\n\n updateTag(tag: any): Observable {\n\n return this.http.put(`${this.server}template/tags`, tag);\n }\n}\n","export const NAMES_STATES_DOWNLOAD: string[] = [\n 'Descarga Culminada',\n 'Descargando',\n 'Descarga Eliminada',\n 'Descarga Fallida'\n];","import { Component, OnInit } from '@angular/core';\r\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\r\nimport { MatChipInputEvent } from '@angular/material/chips';\r\nimport { EDITOR_CONFIG } from './ConfigAngularEditor';\r\nimport { FormGroup, FormControl, Validators, FormGroupDirective } from \"@angular/forms\";\r\nimport { GestionadorCorreosService } from \"./services/gestionador-correos.services\";\r\nimport Swal from \"sweetalert2\";\r\nimport { MatDialogRef } from \"@angular/material/dialog\";\r\n\r\n@Component({\r\n selector: 'app-gestionador-correos',\r\n templateUrl: './gestionador-correos.component.html',\r\n styleUrls: ['./gestionador-correos.component.scss'],\r\n})\r\nexport class GestionadorCorreosComponent implements OnInit {\r\n formGestionadorCorreos: FormGroup;\r\n addOnBlur = true;\r\n separatorKeysCodes: number[] = [ENTER, COMMA];\r\n editorConfig = EDITOR_CONFIG;\r\n\r\n listDesde: any[] = [];\r\n listPara: string[] = [];\r\n listCopia: string[] = [];\r\n listCopiaOculta: string[] = [];\r\n listFiles: any = [];\r\n\r\n ifValidEmails: boolean = false;\r\n messageValidEmails: string = '';\r\n plantillasHtml: any[] = [];\r\n\r\n constructor(public servicesGestionadorCorreo: GestionadorCorreosService, private dialogRef: MatDialogRef) {}\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que inicializa la configuracion del formulario y llena los correos de salida. \r\n */\r\n ngOnInit(): void {\r\n this.formGestionadorCorreos = new FormGroup({\r\n emailSalida: new FormControl('', [Validators.required]),\r\n asunto: new FormControl('', [Validators.required]),\r\n emailBody: new FormControl('', [Validators.required]),\r\n plantillaHtml: new FormControl(null, [])\r\n });\r\n this.formGestionadorCorreos.get('emailBody').clearValidators();\r\n this.formGestionadorCorreos.get('emailBody').updateValueAndValidity();\r\n this.getEmailExit();\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que llama al backend para traer los correos de salida. \r\n */\r\n getEmailExit(): void {\r\n this.servicesGestionadorCorreo.getEmailsByExit().subscribe(res => {\r\n this.listDesde = res.emails.map(item => { \r\n return {\r\n email: item.email,\r\n id: `${item.id} - ${item.email} - ${item.name} - ${item.origin}` \r\n }\r\n });\r\n this.plantillasHtml = res.emailTemplates;\r\n });\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que valida cada uno de los correos registrados en los chip list. \r\n * @param listEmails Lista de correos los cuales van a ser validados.\r\n * @param nameList Nombre de la lista a validar.\r\n */\r\n validateListCorreos(listEmails: string[], nameList: string): void {\r\n if (listEmails.length > 0) {\r\n for (let i = 0; i < listEmails.length; i ++) {\r\n if (/^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i.test(listEmails[i])) {\r\n this.ifValidEmails = true;\r\n } else {\r\n this.ifValidEmails = false;\r\n if (nameList === 'listPara') this.messageValidEmails = 'Correos invalidos en la lista \"Para\"';\r\n if (nameList === 'listCopia') this.messageValidEmails = 'Correos invalidos en la lista \"Con copia\"';\r\n if (nameList === 'listCopiaOculta') this.messageValidEmails = 'Correos invalidos en la lista \"Con copia oculta\"';\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que agrega una cadena de texto a cada uno de los chip list.\r\n * @param event Manejador de eventos de los mat chip.\r\n * @param nameChipList Nombre del list chip en el cual se van agregar una cadena de texto. \r\n */\r\n addItemByChipList(event: MatChipInputEvent, nameChipList: string): void {\r\n const input = event.input;\r\n const value = (event.value || '').trim();\r\n if (nameChipList === 'listPara') if (value) this.listPara.push(value);\r\n if (nameChipList === 'listCopia') if (value) this.listCopia.push(value);\r\n if (nameChipList === 'listCopiaOculta')\r\n if (value) this.listCopiaOculta.push(value);\r\n if (input) input.value = '';\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que elimina una cadena de texto dentro un chip list.\r\n * @param item Cadena de texto seleccionada dentro del chip list. \r\n * @param nameChipList Nombre del chip list en el cual se va a remover el elemento.\r\n */\r\n removeItemByChipList(item: string, nameChipList: string): void {\r\n if (nameChipList === 'listPara') {\r\n const index = this.listPara.indexOf(item);\r\n if (index >= 0) this.listPara.splice(index, 1);\r\n }\r\n if (nameChipList === 'listCopia') {\r\n const index = this.listCopia.indexOf(item);\r\n if (index >= 0) this.listCopia.splice(index, 1);\r\n }\r\n if (nameChipList === 'listCopiaOculta') {\r\n const index = this.listCopiaOculta.indexOf(item);\r\n if (index >= 0) this.listCopiaOculta.splice(index, 1);\r\n }\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que agrega un archivo a la lista de archivos. \r\n */\r\n addFile(): void {\r\n const inputFile = document.getElementById('inputFile') as HTMLInputElement;\r\n if (inputFile) {\r\n for (let i = 0; i < inputFile.files!.length; i++) {\r\n const file = inputFile!.files![i];\r\n this.listFiles.push({\r\n file,\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que elimina un archivo de la lista de archivos. \r\n * @param nameFile Nombre del archivo a eliminar. \r\n */\r\n removeFile(nameFile: string): void {\r\n const filterListFiles = this.listFiles.filter(\r\n (item: any) => item.file.name !== nameFile\r\n );\r\n this.listFiles = filterListFiles;\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que retorna los errores generados por el formulario. \r\n */\r\n get error(): any {\r\n return this.formGestionadorCorreos.controls;\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-03\r\n * Metodo que captura todas las etiquetas y almacena el src de la imagen. \r\n * @param form Instancia del formulario principal enviado desde el submit. \r\n */\r\n getImageByEmailBody(form: any): string[] {\r\n const containerBody = document.getElementById('bodyEmail');\r\n containerBody.innerHTML = form.value.emailBody;\r\n const arrayImage = containerBody.querySelectorAll('img');\r\n const listImageBase = [];\r\n if (arrayImage.length > 0) {\r\n for (let i = 0; i < arrayImage.length; i ++) {\r\n listImageBase.push(arrayImage[i].getAttribute('src'));\r\n }\r\n }\r\n return listImageBase;\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que valida las listas y realiza el llamado al submit del formulario. \r\n * @param form Instancia del formulario principal enviado desde el submit. \r\n */\r\n validateForm(form: any): void {\r\n if (form.status === 'VALID') {\r\n if (this.listPara.length > 0) {\r\n this.validateListCorreos(this.listPara, 'listPara');\r\n this.validateListCorreos(this.listCopia, 'listCopia');\r\n this.validateListCorreos(this.listCopiaOculta, 'listCopiaOculta');\r\n if (this.ifValidEmails) {\r\n if (this.validateSizeFiles(this.listFiles)) {\r\n this.sendEmail(form);\r\n } else {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Error',\r\n text: 'Los archivos adjuntos superan las 25 MB'\r\n });\r\n }\r\n } else {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Error',\r\n text: this.messageValidEmails\r\n });\r\n }\r\n } else {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Error',\r\n text: 'Deben haber correos de destino'\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que resetea los valores del formulario y atributos de la clase. \r\n */\r\n resetForm():void {\r\n this.formGestionadorCorreos.reset();\r\n this.formGestionadorCorreos.get('emailSalida').clearValidators();\r\n this.formGestionadorCorreos.get('asunto').clearValidators();\r\n this.formGestionadorCorreos.get('emailBody').clearValidators();\r\n this.formGestionadorCorreos.get('plantillaHtml').clearValidators();\r\n this.formGestionadorCorreos.get('emailSalida').updateValueAndValidity();\r\n this.formGestionadorCorreos.get('asunto').updateValueAndValidity();\r\n this.formGestionadorCorreos.get('emailBody').updateValueAndValidity();\r\n this.formGestionadorCorreos.get('plantillaHtml').updateValueAndValidity();\r\n this.listPara = [];\r\n this.listCopia = [];\r\n this.listCopiaOculta = [];\r\n this.listFiles = [];\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que envia los datos del formulario hacia el backend para el envio de correos. \r\n * @param form Instancia del formulario enviado desde el submit.\r\n */\r\n sendEmail(form: any): void {\r\n const emailConfig = form.value.emailSalida.split(' - ')[0];\r\n const address = form.value.emailSalida.split(' - ')[1];\r\n const name = form.value.emailSalida.split(' - ')[2];\r\n const origin = form.value.emailSalida.split(' - ')[3];\r\n const listImageBase = this.formGestionadorCorreos.get('plantillaHtml').value !== null ? [] : this.getImageByEmailBody(form);\r\n\r\n const formData = new FormData();\r\n formData.append('emailConfig', emailConfig);\r\n formData.append('address', address);\r\n formData.append('name', name);\r\n formData.append('origin', origin);\r\n formData.append('subject', form.value.asunto);\r\n formData.append('body', form.value.emailBody);\r\n formData.append('recipients', JSON.stringify(this.listPara));\r\n formData.append('recipients_cc', JSON.stringify(this.listCopia));\r\n formData.append('recipients_cco', JSON.stringify(this.listCopiaOculta));\r\n formData.append('listImageBase', JSON.stringify(listImageBase));\r\n formData.append('emailTemplate', form.value.plantillaHtml);\r\n for (let i = 0; i < this.listFiles.length; i ++) {\r\n formData.append(`adjunto${i}`, this.listFiles[i].file);\r\n }\r\n \r\n this.servicesGestionadorCorreo.sendEmail(formData).subscribe(res => {\r\n Swal.fire({\r\n title: 'Enhorabuena',\r\n icon: 'success',\r\n text: 'Correo enviado conrrectamente'\r\n });\r\n this.resetForm();\r\n this.dialogRef.close(); \r\n }, error => {\r\n Swal.fire({\r\n title: 'Error',\r\n icon: 'error',\r\n text: 'Error al enviar el correo'\r\n }); \r\n });\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2022-11-02\r\n * Metodo que valida el tamaño total de todos los archivos. \r\n * @param listFiles Lista de archivos para validar su tamaño. \r\n */\r\n validateSizeFiles(listFiles: any) {\r\n const maxSize = 26214400;\r\n let sumSize = 0;\r\n for (let i = 0; i < listFiles.length; i ++) {\r\n const size = parseInt(listFiles[i].file.size);\r\n sumSize += size; \r\n } \r\n const isValid = sumSize < maxSize ? true : false;\r\n return isValid;\r\n }\r\n\r\n /**\r\n * @author Fabian Duran\r\n * @createdate 2023-01-24\r\n * Metodo que cambia la plantilla html sobre el cuerpo del correo.\r\n * @param $event Variable que trae toda la informacion del campo. \r\n */\r\n changePlantillaEmailBody($event: any): void {\r\n const idPlantilla = $event.value;\r\n const searchPlantilla = this.plantillasHtml.find(item => { return item.id === idPlantilla });\r\n if (searchPlantilla) this.formGestionadorCorreos.get('emailBody').setValue(searchPlantilla.body);\r\n }\r\n}","
\r\n

Nuevo correo

\r\n \r\n

\r\n En este espacio podrás redactar y configurar el nuevo correo, podrás\r\n seleccionar el remitente desde el cual deseas que se envíe el correo, el o\r\n los destinatarios, si deseas enviar una copia o una copia oculta y\r\n personalizar el texto según se requiera.\r\n

\r\n

Destinatarios

\r\n
\r\n
\r\n \r\n Seleccioné un correo\r\n \r\n \r\n {{ item.email }}\r\n \r\n \r\n \r\n Este campo es requerido\r\n \r\n \r\n
\r\n
\r\n \r\n Para\r\n \r\n \r\n {{ item }}\r\n cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Con copia a\r\n \r\n \r\n {{ item }}\r\n cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Con copia oculta a\r\n \r\n \r\n {{ item }}\r\n cancel\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Detalle de correo

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Este campo es requerido\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ item.file.name }}\r\n cancel\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Adjuntar documento  \r\n \r\n \r\n \r\n
\r\n
0\" class=\"col-5\">\r\n \r\n Plantilla HTML\r\n \r\n {{ plantilla.name }}\r\n \r\n \r\n Este campo es requerido\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Este campo es requerido\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSlideToggle } from '@angular/material/slide-toggle';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport Swal from 'sweetalert2';\nimport { AnalistasCalidadComponent } from '../analistas-calidad/analistas-calidad.component';\nimport { CrearItemComponent } from '../crear-item/crear-item.component';\nimport { CrearModuloComponent } from '../crear-modulo/crear-modulo.component';\nimport { CrearSubItemComponent } from '../crear-sub-item/crear-sub-item.component';\nimport { EditarItemComponent } from '../editar-item/editar-item.component';\nimport { EditarModuloComponent } from '../editar-modulo/editar-modulo.component';\nimport { EditarSubItemComponent } from '../editar-sub-item/editar-sub-item.component';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-detalle-matriz',\n templateUrl: './detalle-matriz.component.html',\n styleUrls: ['./detalle-matriz.component.sass']\n})\nexport class DetalleMatrizComponent implements OnInit, OnDestroy {\n private uuid = '1bc11cea-90be-11ee-b9d1-0242ac120002';\n public config: any;\n\n filtroModulo:string = '';\n checked:boolean = true;\n title:string = '';\n tipo:string = '';\n creacion:string = '';\n minimo = 0;\n maximo = 0;\n peso_actual = 0;\n id_matriz;\n tipo_peso;\n openM:number=0;\n openItem:number=0\n modulos_matriz = [];\n items_modulo = [];\n subItems_item = [];\n subscription:Subscription;\n aplica_para_cp: number = null;\n\n constructor(\n private dialog:MatDialog,\n private aRoute:ActivatedRoute,\n private matrizService:MatrizService,\n private configService: TranslatesService,\n ) {\n this.aRoute.paramMap.subscribe(params=>{\n this.id_matriz = params.get('id');\n });\n }\n\n ngOnInit(): void {\n this.subscription = this.matrizService.refresh$.subscribe(()=>{\n this.getMatrixById(this.config);\n });\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n this.getMatrixById(this.config);\n });\n }\n\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n\n newModule(){\n const moduleRef = this.dialog.open(CrearModuloComponent,{\n width: '624px',\n disableClose: true,\n data: {\n id_matriz: this.id_matriz,\n tipo_peso:this.tipo_peso,\n tipo_matriz:this.tipo,\n minimo:this.minimo,\n maximo:this.maximo\n }\n })\n }\n\n newItem(id_modulo,sigla,error_critico){\n const itemRef = this.dialog.open(CrearItemComponent,{\n width: '624px',\n disableClose: true,\n data: {\n id_matriz: this.id_matriz,\n id_modulo: id_modulo,\n tipo_peso: this.tipo_peso,\n sigla: sigla,\n error_critico: error_critico,\n tipo_matriz:this.tipo,\n aplica_para_cp: this.aplica_para_cp\n },\n })\n }\n\n\n newSubItem(id_item,sigla,error_critico){\n const subItemRef = this.dialog.open(CrearSubItemComponent,{\n width: '624px',\n disableClose: true,\n data: {\n id_matriz: this.id_matriz,\n id_item: id_item,\n tipo_peso: this.tipo_peso,\n sigla: sigla,\n error_critico: error_critico,\n },\n })\n }\n\n disableModule(id,estado,nombre){\n let mensaje:string = '';\n if (estado) {\n mensaje = this.config.modal.disable;\n }else{\n mensaje = this.config.modal.enable;\n }\n Swal.fire({\n title:mensaje,\n icon: 'warning',\n showCancelButton:true,\n reverseButtons: true,\n cancelButtonText: this.config.modal.cancel,\n confirmButtonText: this.config.modal.accept,\n width: '836px',\n padding: '2em 7em'\n }).then(result=>{\n if (result.isConfirmed) {\n const data = {\n id: id,\n estado: !estado,\n pesoMaxMatriz: this.maximo,\n pesoActual: this.peso_actual,\n idMatriz: this.id_matriz\n }\n this.matrizService.disableModule(data).subscribe((resp:any)=>{\n if (resp) {\n if (resp.respuesta.codigo != 202) {\n Tools.swalError('¡Ups!',resp.respuesta.text)\n }\n }\n });\n }\n })\n }\n\n getMatrixById(config){\n const lang = this.configService.lang;\n this.matrizService.getMatrixById(this.id_matriz).subscribe((resp:any)=>{\n this.title = resp[0].matriz.nombre;\n this.tipo = lang === 'es' ? resp[0].matriz.tipo_matriz.nombre : resp[0].matriz.tipo_matriz.en;\n this.creacion = resp[0].matriz.created_at;\n this.minimo = resp[0].matriz.valor_peso_validacion.minimo;\n this.maximo = resp[0].matriz.valor_peso_validacion.maximo;\n this.aplica_para_cp = resp[0].matriz.aplica_para_cp;\n if (resp[0].matriz.tipo_peso != null) {\n this.tipo_peso = lang === 'es' ? resp[0].matriz.tipo_peso.nombre : resp[0].matriz.tipo_peso.en;\n }\n this.modulos_matriz = [];\n resp[0].matriz.modulo.forEach(modulo=>{\n if (modulo.nivel == 1) {\n modulo.items_modulo?.forEach(items => {\n if(!items.descripcion && !items.aspectoPositivo && !items.aspectoNegativo && !items.aspectoNa && !items.aspectocp){\n items.aspectosToltip = '';\n }else{\n items.aspectosToltip = config.labels.modal.decription + (items.descripcion || config.labels.modal.sinDefinir) +\n \"\\n\" + config.labels.modal.positiveAspects + (items.aspectoPositivo || config.labels.modal.sinDefinir) +\n \"\\n\" + config.labels.modal.negativeAspects + (items.aspectoNegativo || config.labels.modal.sinDefinir) +\n \"\\n\" + config.labels.modal.naAspects + (items.aspectoNa || config.labels.modal.sinDefinir) +\n \"\\n\" + (this.aplica_para_cp === 1 && items.aspectocp ? `${config.labels.modal.cpAspects} ${items.aspectocp}` : '')\n }\n items.sub_items?.forEach(subitem => {\n if(!subitem.descripcion && !subitem.aspectoPositivo && !subitem.aspectoNegativo && !subitem.aspectoNa){\n subitem.aspectosToltip = '';\n }else{\n subitem.aspectosToltip = config.labels.modal.decription + (subitem.descripcion || config.labels.modal.sinDefinir) +\n \"\\n\" + config.labels.modal.positiveAspects + (subitem.aspectoPositivo || config.labels.modal.sinDefinir) +\n \"\\n\" + config.labels.modal.negativeAspects + (subitem.aspectoNegativo || config.labels.modal.sinDefinir) +\n \"\\n\" + config.labels.modal.naAspects + (subitem.aspectoNa || config.labels.modal.sinDefinir)\n }\n });\n\n });\n\n this.modulos_matriz.push(modulo);\n }\n });\n this.peso_actual = resp[0].matriz.peso_actual;\n });\n }\n\n filtrar(){\n const params = {\n modulo: '',\n idMatriz: this.id_matriz\n }\n\n if (this.filtroModulo != '') {\n params.modulo = this.filtroModulo\n }\n this.matrizService.getModulesMatrix(params).subscribe((resp:any)=>{\n this.modulos_matriz = resp;\n });\n }\n\n editModule(id){\n const moduleRef = this.dialog.open(EditarModuloComponent,{\n width: '624px',\n disableClose: true,\n data: {\n id_module: id,\n tipo_peso:this.tipo_peso,\n tipo_matriz:this.tipo,\n minimo:this.minimo,\n maximo:this.maximo\n }\n })\n }\n\n editItem(id,error_critico){\n const itemRef = this.dialog.open(EditarItemComponent,{\n width: '624px',\n disableClose: true,\n data: {\n id_item: id,\n tipo_peso: this.tipo_peso,\n tipo_matriz: this.tipo,\n error_critico,\n aplica_para_cp: this.aplica_para_cp\n }\n });\n }\n\n editSubItem(id){\n const subitemRef = this.dialog.open(EditarSubItemComponent,{\n width: '624px',\n disableClose: true,\n data: {id_subItem: id,tipo_peso:this.tipo_peso}\n });\n }\n\n analyst(type){\n const analystRef = this.dialog.open(AnalistasCalidadComponent,{\n width: '732px',\n disableClose: true,\n data: {\n id_matriz: this.id_matriz,\n type,\n },\n })\n }\n\n}\n","
\n
\n \n
\n
\n

{{title}}

\n

{{config.labels.title}} {{tipo}}

\n
\n
{{config.labels.itemsWeight}}
\n
{{ tipo_peso }}
\n
\n
{{config.labels.createdAt}} {{creacion | date:'dd/MM/yyyy hh:mm a'}}
\n \n
\n

{{config.labels.rangoPeso}} ({{minimo}} - {{maximo}})

\n

{{config.labels.actualPeso}} ({{peso_actual | number:'1.0-3'}})

\n
\n \n {{config.labels.filters.byModule}}\n \n \n \n
\n \n
\n
\n
\n
\n \n \n \n
\n \n \n \n
\n

{{modulo.sigla}}

\n

{{modulo.nombre | cutText:0:54}}

\n
\n \n
\n

Peso({{modulo.peso | number:'1.0-3'}})

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

{{item.sigla}}

\n

{{item.nombre | cutText:0:50}}

\n
\n \n
\n

{{config.labels.weight}}({{item.peso | number:'1.0-3'}})

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

{{sub_item.sigla}}

\n

{{sub_item.nombre | cutText}}

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\n\n@Component({\n selector: 'app-modal-meetings',\n templateUrl: './modal-meetings.component.html',\n styleUrls: ['./modal-meetings.component.sass']\n})\nexport class ModalMeetingsComponent implements OnInit {\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n displayedColumns: string[] = ['client_name', 'client_email', 'client_nic','client_observation', 'name', 'scheduled_date'];\n dataSource = new MatTableDataSource();\n\n constructor(@Inject(MAT_DIALOG_DATA) public datos: any) { }\n\n ngOnInit(): void {\n this.dataSource.data = this.datos;\n console.log(this.datos);\n\n }\n\n ngAfterViewInit() {\n this.dataSource.paginator = this.paginator;\n }\n\n}\n","

Agenda Llamadas

\n\n
\n\n\n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
Nombre Cliente {{element.client_name}} Email Cliente {{element.client_email}} Nic Cliente {{element.client_nic}} Observacion Cliente {{element.client_observation}} Nombre Sala {{element.name}} Fecha {{element.scheduled_date}}
\n\n \n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpErrorResponse} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nconst PQRS_URL = environment.PQRS_URL;\nconst CRM_URL = environment.CRM2_URL;\nconst GESTION_CORREOS = environment.GESTION_CORREOS;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EscalationService {\n\n constructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que trae los canales de escalamiento\n * @returns canales\n */\n getCanal(): Observable{\n return this.http.get(`${PQRS_URL}canal/`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que trae las areas de escalamiento\n * @returns areas\n */\n getArea(): Observable{\n return this.http.get(`${PQRS_URL}area/`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getAreaAndUsers(idForm, idCampania): Observable{\n return this.http.get(`${PQRS_URL}area/list-with-responsible/${idForm}/${idCampania}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que trae los asuntos de escalamiento\n * @returns asuntos\n */\n getAsunto(): Observable{\n return this.http.get(`${PQRS_URL}asunto/`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que trae los estados del escalamiento\n * @returns estados\n */\n getEstado(): Observable{\n return this.http.get(`${PQRS_URL}estado/`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que trae los canales de escalamiento\n * @returns canales\n */\n getUsers(): Observable{\n return this.http.get(`${PQRS_URL}usuario/solucionadores`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que trae los datos de la grilla\n * @returns datos a mostrar en la grilla\n */\n getUsersGrid(perPage, page): Observable{\n return this.http.get(`${PQRS_URL}PQRS?page=${page}&perPage=${perPage}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que trae los datos filtrados a mostrar en la grilla\n * @returns datos de grilla\n */\n getFilter(data: any, perPage, page): Observable{\n return this.http.post(`${PQRS_URL}PQRS/avanzada?page=${page}&perPage=${perPage}`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-17\n * Metodo que trae el historico de una pqrs\n * @param idPqrs identificador de la pqrs\n * @param size tamaño de datos a traer\n * @param page pagina a traer\n * @returns retorna el historico de datos\n */\n getHistory(idPqrs: number, size: number, page: number): Observable{\n return this.http.get(`${PQRS_URL}observacion/showByPqrsId/${idPqrs}?&n=${size}&page=${page}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-17\n * Metodo que trae los usuarios por area seleccionada\n * @param id identificador del area\n * @returns retorna una lista de usuarios\n */\n getUserbyArea(id: number): Observable{\n return this.http.get(`${PQRS_URL}PQRS/showSolucionadoresByArea/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-17\n * Metodo que inserta la edicion del formulario de un escalamiento\n * @param data data a enviar\n * @param id identificador de un pqrs\n * @returns retorna un estado\n */\n postFormEscalation(data: FormData, id: number): Observable{\n return this.http.post(`${PQRS_URL}PQRS/${id}`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de traer los datos de un estado\n * @param size tamaño de los datos a traer\n * @param page pagina a traer\n * @returns lista de estados\n */\n getState(size: number, page: number): Observable{\n return this.http.get(`${PQRS_URL}estado/indexAll?&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de guardar un estado\n * @param data data a guardar\n * @returns mensaje de exito\n */\n putFormState(data: any): Observable{\n return this.http.put(`${PQRS_URL}estado`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de editar un estado\n * @param id id del estado\n * @param data data del estado\n * @returns mensaje de exito\n */\n editState(id: any, data: any): Observable{\n return this.http.put(`${PQRS_URL}estado/${id}`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * servicio encargado de inactivar o activar un estado\n * @param id id del estado\n * @param data true o false\n * @returns mensaje de exito\n */\n updateState(id: any, data: any): Observable{\n return this.http.post(`${PQRS_URL}estado/${id}/updateState`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio que trae los datos de un asunto\n * @param size tamaño de datos a traer\n * @param page pagina a traer\n * @returns lista de asuntos\n */\n getAsuntoIndex(size: number, page: number): Observable{\n return this.http.get(`${PQRS_URL}asunto/indexAll?&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio encargado de activar o inactivar un asunto\n * @param id id del asunto a activar\n * @param data true o false\n * @returns mensaje de exito\n */\n updateAsunto(id: any, data: any): Observable{\n return this.http.post(`${PQRS_URL}asunto/${id}/updateState`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio que trae los supervisores dependiendo del area\n * @param id id del area\n * @returns lista de supervisores\n */\n getSupervisorByArea(id: any): Observable{\n return this.http.get(`${PQRS_URL}PQRS/showSupervisoresByArea/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio que guarda un asunto\n * @param asunto asunto a guardar\n * @returns mensaje de exito\n */\n postAsunto(asunto: any): Observable{\n return this.http.put(`${PQRS_URL}asunto`, asunto)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio que edita un asunto\n * @param id id del asunto a editarr\n * @param asunto contenido del asunto\n * @returns mensaje de exito\n */\n postEditAsunto(id: any, asunto: any): Observable{\n return this.http.put(`${PQRS_URL}asunto/${id}`, asunto)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio que lista usuarios\n * @param size tamaño de datos a listar\n * @param page pagina a listar\n * @returns lista de usuarios\n */\n getUsuario(size: number, page: number): Observable{\n return this.http.get(`${PQRS_URL}usuario?&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio que edita un usuario\n * @param id id del usuario\n * @param data data a editar\n * @returns mensaje de exito\n */\n updateUsuario(id: any, data: any): Observable{\n return this.http.post(`${PQRS_URL}usuario/${id}/updateState`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio que edita un usuario\n * @param id id del usuario\n * @param data data a editar\n * @returns mensaje de exito\n */\n editUsuario(id: any, data: FormData): Observable{\n return this.http.post(`${PQRS_URL}usuario/${id}/attachArea`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n createPqrs(data: FormData): Observable{\n return this.http.post(`${CRM_URL}escalations`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-06-16\n * Servicio para obtener correo de un escalamiento\n * @param id id del email del escalamiento\n * @returns datos del correo y adjuntos\n */\n getEmailPQRS(id: any): Observable{\n return this.http.get(`${PQRS_URL}email/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-07-07\n * Servicio para descargar adjunto de los correos\n * @param url del archivo en storage\n * @returns descarga del archivo\n */\n downloadEmailAttachment(data: any): Observable{\n const httpOptions = {responseType: 'blob' as 'json'};\n return this.http.get(`${PQRS_URL}email/descargarAdjunto?url=${data.url}`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n \n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-07-08\n * Servicio para guardar adjunto de pqrs\n * @returns descarga del archivo\n */\n savePqrsAttachment(data: FormData): Observable{\n return this.http.post(`${PQRS_URL}PQRS/adjuntarArchivoPqrs`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /** \n * @author Juan Carlos Alonso\n * @createdate 2022-07-08\n * Servicio para obtener los adjuntos del escalamiento\n * @param pqrs_id id del escalamiento para obtener los adjuntos correspondientes\n * @returns arreglo con los adjuntos\n */\n getPqrsAttachments(pqrs_id: any): Observable{\n return this.http.get(`${PQRS_URL}PQRS/obtenerAdjuntosPqrs?pqrs_id=${pqrs_id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que indica los adjuntos pára los adjuntos el correo de escalamientos\n * @param id_mail \n * @returns Observable\n */\n getAttachments(id_mail:any):Observable{\n return this.http.get(`${GESTION_CORREOS}email/${id_mail}/attachments`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /** \n * @author Juan Carlos Alonso\n * @createdate 2022-07-08\n * Servicio para eliminar el adjunto seleccionado del escalamiento\n * @returns mensaje de confirmación o error\n */\n deletePqrsAttachment(data: any): Observable{\n return this.http.post(`${PQRS_URL}PQRS/eliminarAdjuntoPqrs`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getEscalationInfo(): Observable{\n return this.http.get(`${PQRS_URL}PQRS/infoEscalamientos`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getEscalation(id): Observable{\n return this.http.get(`${PQRS_URL}PQRS/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2022-11-02\n * Metodo que retorna la lista de plantillas almacenadas. \n */\n getEmailsByExit(): Observable {\n return this.http.get(`${PQRS_URL}emails/external`).pipe(\n catchError(this.handleError)\n )\n }\n}","import { DisabilitiesService } from 'src/app/modules/nomina/services/rest/disabilities.service';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport * as moment from 'moment';\nimport { VacationsService } from 'src/app/modules/nomina/services/rest/vacations.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-disabilities-view',\n templateUrl: './disabilities-view.component.html',\n styleUrls: ['./disabilities-view.component.sass']\n})\nexport class DisabilitiesViewComponent implements OnInit {\n dataInfo: any;\n public realTime: string;\n public scheduleTime: string;\n public endTime: string;\n public noveltyDetailHeight: number;\n\n public showJustifyForm: boolean;\n public showJustifyInfo: boolean;\n public showInput: boolean;\n files: any = [];\n\n constructor( @Inject(MAT_DIALOG_DATA) public data: any,\n private alert: AlertsService,\n public dialog: MatDialog,\n private disabilities: DisabilitiesService\n ) { }\n\n\n ngOnInit() {\n console.log(this.data)\n this.disabilities.getInfoByPayrollNoveltyId(this.data.data.idNovelty).subscribe(resp => {\n this.dataInfo = resp.data;\n this.files = resp.data.files;\n \n if (this.dataInfo.validForMoreResponses) {\n this.showJustifyForm = true;\n }\n this.showJustifyInfo = true;\n this.changeDetailHeight(this.dataInfo);\n\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-11\n * Metodo para asignacion de detalle en primera instancia\n */\n changeDetailHeight(novelty): void {\n if (novelty.responseFirstInstance && (novelty.responseFirstInstance.justify || novelty.responseFirstInstance.response)) { this.noveltyDetailHeight = 240; }\n }\n\n}\n","
\n\n

\n \n \n
\n \n

{{data.data?.name}}

\n
{{data.data?.id_number}}
\n
\n
\n

\n\n \n\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { MatSelectionListChange } from '@angular/material/list';\n\n@Component({\n selector: 'app-exchange-lists',\n templateUrl: './exchange-lists.component.html',\n styleUrls: ['./exchange-lists.component.css']\n})\nexport class ExchangeListsComponent implements OnInit {\n selectedItemsFirstList: any[] = [];\n selectedItemsSecondList: any[] = [];\n checkAllFirstList: boolean = false;\n checkAllSecondList: boolean = false;\n @Input() taskDescription: string = '';\n @Input() titleFirstList: string = '';\n @Input() titleSecondList: string = '';\n @Input() textInputFirstList: string = '';\n @Input() textInputSecondList: string = '';\n @Input() firstList: any[] = [];\n @Input() secondList: any[] = [];\n @Output() runFilter: EventEmitter = new EventEmitter();\n @Output() updateList: EventEmitter = new EventEmitter();\n @Output() saveConfig: EventEmitter = new EventEmitter();\n @Output() cancelProcess: EventEmitter = new EventEmitter();\n\n constructor() { }\n\n ngOnInit(): void {\n\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que envia el valor del filtro de las listas.\n * @param $event Evento emitido por el input. \n * @param name Filtro de la lista seleccionado. \n */\n onChangeFilter($event: any, name: string): void {\n this.runFilter.emit({ value: $event.target.value, name });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que envia items seleccionados al componente padre.\n * @param $event Evento emitido por el checkbox.\n * @param name Nombre de la lista donde se ubica el checkbox. \n */\n selectAllItems($event: MatCheckboxChange, name: string): void {\n if (name === 'FIRST') {\n if ($event.checked) this.selectedItemsFirstList = this.firstList;\n else this.selectedItemsFirstList = [];\n } else {\n if ($event.checked) this.selectedItemsSecondList = this.secondList;\n else this.selectedItemsSecondList = [];\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que envia items seleccionados al componente padre.\n * @param name Nombre de la accion a ejecutar. \n */\n transferItemsBetweenList(name: string): void {\n if (name === 'FIRST') {\n this.checkAllFirstList = false;\n this.updateList.emit({ list: this.selectedItemsFirstList, name });\n } else {\n this.checkAllSecondList = false;\n this.updateList.emit({ list: this.selectedItemsSecondList, name });\n } \n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que emite la configuracion final de las listas. \n */\n onClickButtonSave(): void {\n this.saveConfig.emit({ firstList: this.firstList, secondList: this.secondList });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que emite la cancelacion del proceso. \n */\n onClickButtonCancel(): void {\n this.cancelProcess.emit();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-10-12\n * Metodo que emite el evento check en las respectivas listas.\n * @param $event Evento emitido por la lista. \n * @param name Nombre de la accion a ejecutar. \n */\n onSelectionList($event: MatSelectionListChange, name: string): void {\n if (name === 'FIRST') this.checkAllFirstList = $event.source._value.length === this.firstList.length ? true : false;\n else this.checkAllSecondList = $event.source._value.length === this.secondList.length ? true : false;\n }\n}","
\n
\n

{{ taskDescription }}

\n
\n
\n
\n
\n
\n
{{ titleFirstList }}
\n
\n Todos\n
\n
\n \n {{ textInputFirstList }}\n \n \n \n
\n \n {{ item.name }}\n \n \n
\n
Opciones seleccionadas: {{ selectedItemsFirstList.length }}
\n
\n
\n
\n \n \n
\n
\n
\n
\n
{{ titleSecondList }}
\n
\n Todos\n
\n
\n \n {{ textInputSecondList }}\n \n \n \n
\n \n {{ item.name }}\n \n \n
\n
Opciones seleccionadas: {{ selectedItemsSecondList.length }}
\n
\n
\n
\n
\n \n
\n
\n \n
\n
","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'arrayToString'\n})\nexport class ArrayToStringPipe implements PipeTransform {\n\n\t/**\n\t * Metodo que vuelve un array de datos en un string separado\n\t * @param lista:any[] array de datos con la que se va a construir \n\t * @param saltoLinea:boolean agrega un salto de linea en medio de los datos concatenados al string\n\t * @return string \n\t */\n\ttransform(lista: any[], saltoLinea: boolean): string {\t\n\t\tif (lista !== undefined && lista.length > 0) {\n\t\t\tlet str = \"\";\n\t\t\tlista.forEach(element => {\n\t\t\t\tstr += element\n\t\t\t\tif (saltoLinea) {\n\t\t\t\t\tstr += \"-\"\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn str;\n\t\t} else {\n\t\t\treturn \"\";\n\t\t}\n\n\t}\n\n}\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-files-upload',\n templateUrl: './files-upload.component.html',\n styleUrls: ['./files-upload.component.sass']\n})\nexport class FilesUploadComponent implements OnInit {\n @Output() sendFiles = new EventEmitter();\n files: any = [];\n\n constructor() { }\n\n ngOnInit(): void {\n \n }\n /**\n * @author Fabian Duran\n * @createdate 2023-02-11\n * Metodo que agrega un archivo a la lista de archivos. \n */\n addFile(): void {\n const inputFile = document.getElementById('inputFile') as HTMLInputElement;\n if (inputFile) {\n for (let i = 0; i < inputFile.files!.length; i++) {\n const file = inputFile!.files![i];\n this.files.push({ file });\n }\n }\n this.sendFiles.emit(this.files);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-02-11\n * Metodo que elimina un archivo de la lista de archivos. \n * @param nameFile Nombre del archivo a eliminar. \n */\n removeFile(nameFile: string): void {\n const filterListFiles = this.files.filter(item => item.file.name !== nameFile);\n this.files = filterListFiles;\n this.sendFiles.emit(this.files);\n }\n}","
\n \n Adjuntar archivos  \n \n \n \n
0\" class=\"py-1\">\n \n \n {{ item.file.name }}\n \n cancel\n \n \n \n
\n
\n\n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatExpansionPanel } from '@angular/material/expansion';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport * as html2pdf from 'html2pdf.js';\nimport { ChatService } from '../../../services/chat.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-transc-chat-modal',\n templateUrl: './transc-chat-modal.component.html',\n styleUrls: ['./transc-chat-modal.component.sass']\n})\nexport class TranscChatModalComponent implements OnInit {\n\n @ViewChild('containerViewReport') containerViewReport: ElementRef;\n @ViewChild('transcripcionPanel') transcripcionPanel: MatExpansionPanel;\n @ViewChild('resumenPanel') resumenPanel: MatExpansionPanel;\n @ViewChild('analisisTexto') analisisTexto: MatExpansionPanel;\n\n highlightedTerms: Set = new Set();\n interactions: any[] = [];\n palabrasClaveArray: string[] = [];\n data: any;\n case_id: any;\n llmResponseObject: any;\n editMode = false;\n\n chatData: any;\n interactionsFormat: any[];\n sentimientosDataPorSpeaker: any[];\n sentimientosData: { name: string; value: number; label: string; }[];\n\n\n //propiedades grafica\n view: any[] = [700, 400]; // Tamaño de la gráfica\n showLegend = true;\n showLabels = true;\n isDoughnut = false;\n gradient = false;\n colorScheme2 = {\n domain: ['#1565C0', '#B0BEC5', '#FFF176']\n };\n\n constructor( \n @Inject(MAT_DIALOG_DATA) public dialogData: any,\n public dialogRef: MatDialogRef,\n private chatService: ChatService,\n private sanitazer: DomSanitizer) \n {}\n \n ngOnInit(): void {\n this.case_id = this.dialogData.id;\n this.loadChatData();\n }\n\n /**\n * Metodo para cargar los datos del chat y las interacciones formatadas.\n * @author Yeison Sepulveda\n * @createdate 2024-07-16\n */\n \n loadChatData(): void {\n this.chatService.getChatById(this.case_id).subscribe(\n (response) => {\n this.chatData = response.data[0];\n \n this.chatService.showResultsChat(this.case_id).subscribe(res => {\n this.llmResponseObject = res.data[0].llm_response;\n this.palabrasClaveArray = this.llmResponseObject.palabras_clave;\n this.interactions = this.mergeInteractions(this.chatData.chat_details, res.data[0].analysis_feelings);\n \n this.interactionsFormat = this.interactions;\n console.log('data de interactionformat', this.interactionsFormat)\n\n });\n },\n (error) => {\n console.error('Error al consultar los resultados de análisis', error);\n }\n );\n }\n \n\n /**\n * Combina los detalles del chat con los sentimientos analizados basados en el ID.\n * @updated Yeison Sepulveda\n * @createdate 2024-07-16\n * @param {any[]} chatDetails - Detalles del chat a ser combinados.\n * @param {any[]} analysisFeelings - Sentimientos analizados a ser combinados.\n * @returns {any[]} Un arreglo de interacciones combinadas.\n */\n\n mergeInteractions(chatDetails: any[], analysisFeelings: any[]): any[] {\n return chatDetails.reduce((mergedInteractions, detail) => {\n const matchingAnalysis = analysisFeelings.find(analysis => analysis.id === detail.id);\n if (matchingAnalysis) {\n const palabrasClave = this.palabrasClaveArray.filter(palabra => detail.content.includes(palabra));\n mergedInteractions.push({\n ...detail,\n ...matchingAnalysis,\n text: detail.content,\n palabrasClave: palabrasClave,\n probabilidadSentimiento: matchingAnalysis,\n });\n }\n return mergedInteractions;\n }, []);\n }\n \n /**\n * Metodo para los chips en los cuales busca las palabras y los subraya\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n */\n\n toggleHighlight(palabra: string): void {\n if (this.highlightedTerms.has(palabra)) {\n this.highlightedTerms.delete(palabra);\n } else {\n this.highlightedTerms.add(palabra);\n }\n \n this.interactionsFormat = this.interactions.map(interaction => {\n let text = interaction.text;\n \n text = this.removeHighlight(text);\n \n text = this.highlightedText(text, this.highlightedTerms);\n \n return { ...interaction, text: this.sanitazer.bypassSecurityTrustHtml(text) };\n });\n \n }\n \n\n /**\n * Elimina el resaltado de las palabras clave dentro de un texto resaltado.\n * @author Yeison Sepulveda\n * @createdate 20/05/2024\n * @param {string} text - El texto con las palabras clave resaltadas.\n * @returns {string} El texto sin el resaltado de las palabras clave.\n */\n \n removeHighlight(text: string): string {\n const spanRegex = /(.*?)<\\/span>/g;\n return text.replace(spanRegex, '$1');\n }\n\n\n /**\n * Subraya las palabras clave dentro de un texto.\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n * @param {string} text - El texto en el que se buscarán y resaltarán las palabras clave.\n * @param {string} term - La palabra clave que se debe resaltar.\n * @returns {string} El texto con las palabras clave resaltadas.\n */\n\n highlightedText(text: string, terms: Set): string {\n if (!terms || terms.size === 0) {\n return text;\n }\n\n const styleCss = 'padding: 0.1rem 0.4rem; background-color: #00acc1; color: #fff; border-radius: 50px;';\n terms.forEach(term => {\n if (term && term.trim()) {\n const regex = new RegExp(`\\\\b${term}\\\\b`, 'gi');\n text = text.replace(regex, `$&`);\n }\n });\n\n return text;\n }\n\n /**\n * Metodo generar el nombre del documento a descargar \n * @author Yeison Sepulveda\n * @createdate 2024-0-03\n * @return nombre del archivo PDF\n */\n \n generateFilename(): string {\n const currentDate = new Date().toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n }).replace(/\\//g, '');\n \n const currentTime = new Date().toLocaleTimeString('es-ES', {\n hour: '2-digit',\n minute: '2-digit',\n hour12: false\n }).replace(/:/g, '');\n \n const dateTimeString = `${currentDate}${currentTime}`;\n return `reporte_analisis_${this.case_id}_${dateTimeString}.pdf`;\n }\n\n /**\n * Metodo que reinicia los valores del modal. \n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n cancelSave(): void {\n Swal.fire({\n title: '¿Estás seguro?',\n text: 'Si cancelas el proceso, perderás toda la información no guardada.',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.dialogRef.close();\n }\n });\n }\n\n}\n","
\n \n
\n\n
\n
\n \n
\n
\n \n
\n

Resultados de análisis.

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

Transcripción

\n
\n
\n
\n
\n \n \n {{ palabra }}\n \n \n
\n
\n

\n \n \n \n {{ item.sentimentEmoji }} {{ item.answered_by ? item.agent_name : 'Cliente (' +\n chatData.phone + ')' }}\n \n ({{ item.entry_date_time }}): \n \n

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

Resumen e Identificación de Objetivo

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

Resumen: {{ llmResponseObject.resumen }}\n

\n \n

0\">\n Palabras Clave: \n {{ palabra }}, \n

\n \n 0\">\n Entidades principales: \n {{ entidad }}, \n

\n \n 0\">\n Temas Principales: \n {{ tema }}, \n

\n \n

0\">\n Puntos Clave: \n {{ punto }}, \n

\n
\n
\n
\n
\n
\n
\n\n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormGroup, Validators, FormControl } from '@angular/forms';\nimport { EscalationService } from '../../../services/rest/escalation.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\n\n@Component({\n selector: 'app-create-state',\n templateUrl: './create-state.component.html',\n styleUrls: ['./create-state.component.sass']\n})\nexport class CreateStateComponent implements OnInit {\n\n rolState: FormGroup;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public escalationService: EscalationService,\n private alertsService: AlertsService,\n private destroyService: DestroyComponentService) { }\n\n ngOnInit(): void {\n this.formControl();\n this.setEdit();\n }\n\n get error(): any { return this.rolState.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void{\n\n this.rolState = new FormGroup({\n nombre: new FormControl('', [Validators.required]),\n descripcion: new FormControl('', [Validators.required]),\n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de guardar un estado\n * @param rolState estado a guardar\n */\n saveState(rolState): void{\n\n if (this.data.type === 'crear'){\n const estado = {\n name: rolState.value.nombre,\n description: rolState.value.descripcion,\n state: 1\n };\n\n this.escalationService.putFormState(estado).subscribe((resp) => {\n this.alertsService.alertSuccess('Guardado', resp.data);\n });\n }\n else if (this.data.type === 'editar'){\n this.editState(rolState);\n }\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que en caso que el modal sea para editar, setea los campos\n */\n setEdit(): void {\n if (this.data.type === 'editar') {\n this.rolState.controls.nombre.setValue(this.data.data.name);\n this.rolState.controls.descripcion.setValue(this.data.data.description);\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo encargado de realizar la edicion\n * @param rolState estado a editar\n */\n editState(rolState): void {\n const state = {\n name: rolState.value.nombre,\n description: rolState.value.descripcion,\n };\n\n this.escalationService.editState(this.data.data.id, state).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', resp.data);\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","

{{data.title}}\n \n

\n\n
\n\n \n\n \n Nombre\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Descripción\n \n ¡Advertencia! Este campo es requerido\n \n\n\n\n\n \n \n\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-detalle-control',\n templateUrl: './detalle-control.component.html',\n styleUrls: ['./detalle-control.component.sass']\n})\nexport class DetalleControlComponent implements OnInit {\n private uuid = '0362ea6-909a-11ee-b9d1-0242ac120002';\n public config: any;\n\n title:string = '';\n tipo:string = '';\n creacion:string = '';\n minimo = 0;\n maximo = 0;\n peso_actual = 0;\n\n id_matriz;\n tipo_peso;\n campania;\n constructor(\n private aRoute:ActivatedRoute,\n private matrizService:MatrizService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.aRoute.paramMap.subscribe(params=>{\n this.id_matriz = params.get('id');\n });\n this.getMatrixById();\n }\n\n\n getMatrixById(){\n const lang = this.configService.lang;\n this.matrizService.getMatrixById(this.id_matriz).subscribe((resp:any)=>{\n this.title = resp[0].matriz.nombre;\n this.tipo = lang === 'es' ? resp[0].matriz.tipo_matriz.nombre : resp[0].matriz.tipo_matriz.en;\n this.creacion = resp[0].matriz.created_at;\n this.minimo = resp[0].matriz.valor_peso_validacion.minimo;\n this.maximo = resp[0].matriz.valor_peso_validacion.maximo;\n this.peso_actual = resp[0].matriz.peso_actual;\n if (resp[0].campaign.length == 0) {\n this.campania = {name: 'Ninguna'}\n }else{\n this.campania = resp[0].campaign;\n }\n });\n }\n\n}\n","
\n
\n \n
\n
\n

{{title}}

\n

{{config.labels.matrix}}{{tipo}}

\n
{{ tipo_peso }}
\n
{{config.labels.createdOn}} {{creacion | date:'dd/MM/yyyy hh:mm a'}}
\n
\n

{{config.labels.weightRange}} ({{minimo}} - {{maximo}})

\n

{{config.labels.currentWeight}} ({{peso_actual}})

\n
\n \n
\n
\n","import { Injectable } from \"@angular/core\";\nimport { environment } from \"src/environments/environment\";\nimport { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\nimport { Observable, throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\n\nconst PQRS_URL = environment.PQRS_URL;\n@Injectable({\n providedIn: 'root'\n})\nexport class GestionadorCorreosService {\n constructor(private http: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2022-11-02\n * Metodo que retorna los posibles errores generados a traves de las llamadas HTTP. \n * @param error Instancia de la clase HttpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2022-11-02\n * Metodo que retorna la lista de correos de salida\n */\n getEmailsByExit(): Observable {\n return this.http.get(`${PQRS_URL}emails/external`).pipe(\n catchError(this.handleError)\n )\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2022-11-02\n * Metodo que valida cada uno de los correos registrados en los chip list. \n * @param data Informacion generada desde el formulario para el envio de correos. \n */\n sendEmail(data: any): Observable {\n return this.http.post(`${PQRS_URL}emails/send`, data).pipe(\n catchError(this.handleError)\n )\n }\n}","import { NoveltiesCodesComponent } from './../novelties-codes/novelties-codes.component';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { delay } from 'rxjs/operators';\n\n// FullCalendar options\nimport { CalendarOptions, FullCalendarComponent } from '@fullcalendar/angular';\nimport esLocale from '@fullcalendar/core/locales/es';\n// MomentJS\nimport * as moment from 'moment';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { NoveltiesService } from '../../../../services/novelties.service';\nimport { AuthService } from '../../../../../../core/services/rest/auth.service';\n\nimport { NoveltiesResponseComponent } from '../novelties-response/novelties-response.component';\nimport { CreateNoveltiesComponent } from '../create-novelties/create-novelties.component';\nimport { VacationsViewComponent } from '../../../vacations/page/vacations-view/vacations-view.component';\nimport { InactiveDatesService } from '../../../../services/rest/inactive-dates.service';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport Swal from 'sweetalert2';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { DisabilitiesViewComponent } from '../../../disabilities/pages/disabilities-view/disabilities-view.component';\nimport { PermitViewComponent } from '../../../../../juridica/modules/permit/pages/permit-view/permit-view.component';\nimport { SuspensionBossViewComponent } from '../../../../../juridica/modules/suspension-boss/pages/suspension-boss-view/suspension-boss-view.component';\nimport { ResumNominaComponent } from '../resum-nomina/resum-nomina.component';\n\n\n@Component({\n selector: 'app-novelties-list',\n templateUrl: './novelties-list.component.html',\n styleUrls: [ './novelties-list.component.sass' ]\n})\n\nexport class NoveltiesListComponent implements OnInit {\n public innerWidth: number;\n public negativeNovelties: number;\n public currentDate: string;\n public noveltyTypes: any[] = [];\n public commissions: any[] = [];\n public inactivesInCurrentYear: any[] = [];\n public calendarOptions: CalendarOptions = {};\n public durationInSeconds = 10;\n public events = [];\n @ViewChild('calendar') calendar: FullCalendarComponent;\n public salary: any;\n public noveltiesCount: any;\n public commissionsCount: any;\n public Month: any = '';\n public Year: any = '';\n\n constructor(public dialog: MatDialog,\n private noveltiesService: NoveltiesService,\n private alertService: AlertsService,\n private inactiveDatesService: InactiveDatesService,\n private authService: AuthService,\n private snackBar: MatSnackBar) {\n this.currentDate = moment().locale('es').format('D [de] MMMM, YYYY');\n this.negativeNovelties = 0;\n }\n\n ngOnInit(): void {\n this.innerWidth = window.innerWidth;\n this.initCalendar();\n this.getPayrollNovelties();\n this.getNoveltyTypes();\n\n this.inactiveDatesService.getInactiveInCurrentYear()\n .subscribe(resp => {\n this.inactivesInCurrentYear = resp.data;\n });\n\n const user = this.authService.getUser();\n // Mensaje sin asignación de horarios\n if (user.schedule_start == null) {\n let str = 'Nombre: ' + user.rrhh.name + '\\n' +\n 'número de idenficación: ' + user.rrhh.ID_number + '\\n' +\n 'Campaña: ' + user.rrhh.campaign;\n Swal.fire({\n icon: 'error',\n title: 'Sin asignación de horarios',\n html: '
' + str + '
',\n confirmButtonText: `Enviar notificación`,\n confirmButtonColor: '#2CABBC',\n allowOutsideClick: false,\n allowEscapeKey: false\n }).then((result) => {\n if (result.isConfirmed) {\n this.noveltiesService.sendEmail().subscribe(resp => {\n this.snackBar.open(resp.data, 'cerrar', {\n horizontalPosition: 'center',\n verticalPosition: 'top',\n duration: this.durationInSeconds * 1000,\n });\n }, error => {\n this.snackBar.open('No fue posible enviar la solicitud para cargue de mallas', 'cerrar', {\n horizontalPosition: 'center',\n verticalPosition: 'top',\n duration: this.durationInSeconds * 1000,\n });\n });\n }\n });\n }\n\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Obtiene las novedades del usuario actual\n */\n getPayrollNovelties(): void {\n this.noveltiesService.getPayrollNoveltiesForCurrentUser(this.Month, this.Year)\n .pipe(\n delay(1000)\n )\n .subscribe(resp => {\n this.events = resp.data.events;\n this.negativeNovelties = resp.data.negativeNovelties;\n\n // configure calendar options\n this.calendarOptions = {\n initialView: 'dayGridMonth',\n locales: [ esLocale ],\n locale: 'es',\n headerToolbar: {\n left: '',\n center: 'title',\n right: 'prev,today,next'\n },\n titleFormat: {\n month: 'long',\n year: 'numeric'\n },\n customButtons: {\n prev: {\n click: this.goPrev.bind(this),\n },\n today: {\n text: 'Hoy',\n click: this.goToday.bind(this),\n },\n next: {\n click: this.goNext.bind(this),\n },\n },\n showNonCurrentDates: false,\n //eventClick: this.eventClick.bind(this),\n //dateClick: this.dateClick.bind(this),\n events: resp.data.events,\n handleWindowResize: true,\n windowResizeDelay: 200\n };\n });\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Abre el modal para ver el detalle de la novedad seleccionada\n */\n eventClick(arg): void {\n const { extraData } = arg.event._def.extendedProps;\n extraData.currentDate = this.currentDate;\n extraData.idHoliday = extraData.id;\n extraData.idNovelty = extraData.id;\n extraData.name = this.authService.getUser().rrhh.name;\n extraData.id_number = this.authService.getUser().rrhh.ID_number;\n // si es asistencia o asistencia dominical no mostrar nada\n if (extraData.novelty_type.key == 2 || extraData.novelty_type.key == 5) {\n this.alertService.alertSuccess('Asistencia', '¡El sistema reportó tu asistencia!');\n return;\n }\n\n // ausencias ahora se justificaran mediante incapacidades\n if (extraData.novelty_type.key == 45) {\n this.alertService.alertWarningV2('Ausencia reportada', 'Recuerda que si deseas justificar esta o más ausencias debes hacerlo mediante el registro de una Incapacidad, Permiso o Descanso compensatorio.');\n return;\n }\n\n const noveltyKey = Number(extraData.novelty_type.key);\n switch (noveltyKey) {\n // incapacidad\n case 27:\n const dialogDisability = this.dialog.open(DisabilitiesViewComponent, {\n width: '70%',\n disableClose: true,\n data: {\n type: 'incapacidades',\n title: 'Detalle Incapacidad',\n data: extraData\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogDisability.afterClosed().subscribe(() => {\n this.getPayrollNovelties();\n this.getNoveltyTypes();\n });\n break;\n // permiso\n case 40:\n case 41:\n case 42:\n const dialogPermit = this.dialog.open(PermitViewComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'permiso',\n title: 'Detalle Permiso',\n data: extraData\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogPermit.afterClosed().subscribe(() => {\n this.getPayrollNovelties();\n this.getNoveltyTypes();\n });\n break;\n // vacaciones y vacaciones pagas\n case 90:\n case 91:\n const dialogVacation = this.dialog.open(VacationsViewComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'vacaciones',\n title: 'Detalle solicitud de vacaciones',\n data: extraData\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogVacation.afterClosed().subscribe(() => {\n this.getPayrollNovelties();\n this.getNoveltyTypes();\n });\n break;\n case 3:\n extraData.idProcess = extraData.extra.processInJuridica;\n const dialogNewComponent = this.dialog.open(SuspensionBossViewComponent, {\n width: '70%',\n disableClose: false,\n data: {\n type: 'ver',\n title: 'Detalle solicitud de suspension',\n data: extraData\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewComponent.afterClosed().subscribe(() => {\n this.getPayrollNovelties();\n this.getNoveltyTypes();\n });\n break;\n default:\n const dialogDetailNovelty = this.dialog.open(NoveltiesResponseComponent, {\n width: '70%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Detalle novedad',\n extraData\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogDetailNovelty.afterClosed().subscribe(() => {\n this.getPayrollNovelties();\n this.getNoveltyTypes();\n });\n break;\n }\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Inicializar el calendario\n */\n initCalendar(): void {\n this.calendarOptions = {\n initialView: 'dayGridMonth',\n locales: [ esLocale ],\n showNonCurrentDates: false,\n locale: 'es', // the initial locale. of not specified, uses the first one\n headerToolbar: {\n left: '',\n center: 'title',\n right: 'prev,today,next'\n },\n handleWindowResize: true,\n windowResizeDelay: 200, // milliseconds before a rerender happens\n events: [],\n customButtons: {\n prev: {\n click: this.goPrev.bind(this),\n },\n today: {\n text: 'Hoy',\n click: this.goToday.bind(this),\n },\n next: {\n click: this.goNext.bind(this),\n },\n }\n };\n }\n\n goNext(element) {\n const calendarApi = this.calendar.getApi();\n calendarApi.next();\n let date = new Date(calendarApi.getDate());\n this.Month = moment(date).locale('es').format('MM');\n this.Year = moment(date).locale('es').format('YYYY');\n this.getPayrollNovelties();\n this.getNoveltyTypes();\n }\n\n goPrev(element) {\n const calendarApi = this.calendar.getApi();\n calendarApi.prev();\n let date = new Date(calendarApi.getDate());\n this.Month = moment(date).locale('es').format('MM');\n this.Year = moment(date).locale('es').format('YYYY');\n this.getPayrollNovelties();\n this.getNoveltyTypes();\n }\n\n goToday(element) {\n const calendarApi = this.calendar.getApi();\n calendarApi.today();\n let date = new Date(calendarApi.getDate());\n this.Month = moment(date).locale('es').format('MM');\n this.Year = moment(date).locale('es').format('YYYY');\n this.getPayrollNovelties();\n this.getNoveltyTypes();\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Abre el modal para realizar la creación de una novedad por parte del trabajador\n */\n dateClick(arg): void {\n if (this.inactivesInCurrentYear[arg.dateStr]) {\n this.alertService.alertWarningV2('Día no Hábil', 'El día seleccionado no es hábil, por favor séleccione una fecha diferente');\n return;\n }\n\n const dialogDetailNovelty = this.dialog.open(CreateNoveltiesComponent, {\n width: '70%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Creación de novedades',\n extraData: arg\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogDetailNovelty.afterClosed().subscribe(() => {\n this.getPayrollNovelties();\n this.getNoveltyTypes();\n });\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Obtiene los tipos de novedad con sus subtipos\n */\n getNoveltyTypes(): void {\n this.noveltyTypes = [];\n this.noveltiesService.getSumary(this.Month, this.Year)\n .subscribe(resp => {\n this.commissions = resp.data.commissions;\n this.commissionsCount = resp.data.valueCommissions;\n this.salary = resp.data.salary;\n this.noveltiesCount = resp.data.cantNovelties;\n for (let nType in resp.data.novelties) {\n if (resp.data.novelties.hasOwnProperty(nType)) {\n let type = resp.data.novelties[nType];\n type.key = (type.key < 10) ? `0${ type.key }` : type.key;\n this.noveltyTypes.push(type);\n }\n }\n });\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-05-10\n * Modal de justificación\n */\n viewCodes(): void {\n const dialogNewgroup = this.dialog.open(NoveltiesCodesComponent, {\n width: '70%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Códigos novedades de nómina',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-09-14\n * abrir modal\n */\n modalResum(): void {\n const dialogNewTem = this.dialog.open(ResumNominaComponent, {\n width: '70%',\n disableClose: true,\n panelClass: 'custom-dialog-container',\n });\n }\n\n\n}\n","
\n\n
\n

Mis Novedades

\n

En este espacio podrás revisar y/o justificar tus novedades de nómina que
tengas en el mes, no olvides, “El\n respeto y empatía son clave”.

\n\n
\n Conoce\n los códigos\n de novedades\n
\n
\n\n
\n
\n
\n

{{ currentDate }}

\n
\n
\n \n \n
\n
\n \"Icon\n
\n
\n

¡Felicidades!

\n No presentas novedades negativas hasta la\n fecha\n
\n
\n \n\n \n
0\"\n title=\"Novedades Negativas: Retardo, Ausencias e Inasistencias productivas\">\n
\n \"Icon\n
\n
\n

¡Ten cuidado!

\n Presentas 1 \n novedad negativa hasta la fecha\n 1\" style=\"font-size: 11px !important; color: #717171\">Presentas {{\n negativeNovelties }} novedades\n negativas hasta la fecha\n
\n
\n
\n
\n\n
\n \n \n
\n Resumen de mi\n nómina
\n
\n\n
\n
\n
\n
\n

Resumen de mis novedades

\n

Recuerda que esta informacion es del mes en\n curso

\n
\n
\n\n \n
\n
\n
\n
\n {{ convention?.key }}\n  \n
\n
\n \n {{ convention?.type }}:\n {{convention?.cant}}\n {{ convention?.cant == 1 ? 'día' : 'días' }}\n
\n
\n
\n
\n\n
\n\n

Cantidad de\n novedades\n \n

\n

{{noveltiesCount}}

\n
\n\n
\n\n \n
\n
\n
\n
\n {{\n bonus?.key}}\n  \n
\n
\n \n {{ bonus?.type}}:\n {{bonus?.cant\n | currency: '$':true:'2.0'}}\n
\n
\n
\n
\n\n
\n\n \n\n
\n\n
\n\n

NOTA: “Esta información puede variar en la liquidación
mensual\n del trabajador”
\n

\n
\n
\n\n
\n\n
\n\n
\n \n\n
\n\n
\n
\n
\n \n
\n\n
","import { Pipe } from '@angular/core';\n\n@Pipe({\n name: 'limitTo'\n})\nexport class LimitTextPipe {\n transform(value: string, args: string) : string {\n let limit = args ? parseInt(args, 10) : 10;\n let trail = '...';\n return value.length > limit ? value.substring(0, limit) + trail : value;\n }\n}","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { InteligenciaService } from 'src/app/modules/auditoria/services/inteligencia.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-crear-formulario',\n templateUrl: './crear-formulario.component.html',\n styleUrls: ['./crear-formulario.component.sass']\n})\nexport class CrearFormularioComponent implements OnInit {\n\n formularioForm:FormGroup\n constructor(\n public formularioRef:MatDialogRef, @Inject(MAT_DIALOG_DATA) datos:any,\n private fb:FormBuilder,\n private inteligenciaS:InteligenciaService,\n private router:Router\n ) { }\n\n ngOnInit(): void {\n this.createForm();\n }\n\n createForm(){\n this.formularioForm = this.fb.group({\n name: ['',[Validators.required]],\n descripcionform: ['',[Validators.required]],\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función para guardar la inteligencia de negocio\n */\n save(){\n if (this.formularioForm.invalid) {\n return\n }\n this.inteligenciaS.createIntelligence(this.formularioForm.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n this.router.navigateByUrl(`/mios/auditoria/formulario/edit/${resp.respuesta.data.id}`);\n this.formularioRef.close();\n Swal.fire({\n icon:'success',\n title: '¡Excelente!',\n text:'Se ha creado el formulario de forma correcta',\n showConfirmButton:false,\n timer: 2500\n });\n }\n });\n }\n\n}\n","\n
\n

Nuevo formulario

\n \n \n Nombre Inteligencia de Negocio\n \n Por favor ingrese un nombre para el fomulario.\n \n \n \n Descripción\n \n Por favor ingrese una descripción para el fomulario.\n \n \n
\n \n \n
\n
","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { I } from '@angular/cdk/keycodes';\nimport { DatePipe } from '@angular/common';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ArchivosService } from 'src/app/modules/compras/services/rest/archivos.service';\nimport { OrdenesService } from 'src/app/modules/compras/services/rest/ordenes.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport Swal from 'sweetalert2';\nimport { DescargaComponent } from '../historial-aprobador/descarga/descarga.component';\nimport { OrdenCompraFragComponent } from '../orden-compra-frag/orden-compra-frag.component';\nimport { OrdenCompraComponent } from '../orden-compra/orden-compra.component';\nimport { RemisionControlComponent } from '../remision-control/remision-control.component';\nimport { saveAs as importedSaveAs } from 'file-saver';\n\nimport { environment } from 'src/environments/environment';\n\nconst COMPRAS_URL = environment.COMPRAS_URL;\n\n@Component({\n selector: 'app-orden-compra-list-control',\n templateUrl: './orden-compra-list-control.component.html',\n styleUrls: ['./orden-compra-list-control.component.sass'],\n animations: [\n trigger('detailExpand', [\n state('collapsed', style({height: '0px', minHeight: '0'})),\n state('expanded', style({height: '*'})),\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n ],\n})\nexport class OrdenCompraListControlComponent implements OnInit {\n\n dataSource = new MatTableDataSource();\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n columnsToDisplay = ['Acciones', 'ID Orden','Fecha de creación', 'NIT', 'Razón Social','request_title', 'Empresa', 'Estado'];\n expandedElement;\n length;\n filterDate : string = null ;\n pageSize = 5;\n page = 1;\n isPage = 0;\n pageSizeOptions : number[] = [5, 10, 25, 100];\n ordersStates : any = [];\n filterState : number[] = [];\n filterNit : string = null;\n editDisplay : boolean;\n\n columns = this.columnsToDisplay;\n\n constructor( public ordenesService : OrdenesService,\n private alertsService : AlertsService,\n private archivoService : ArchivosService,\n public datepipe : DatePipe,\n public dialog : MatDialog\n ) { }\n\n ngOnInit(): void {\n this.getOrders();\n this.getOrdersStates();\n }\n\n\n /**\n * Consulta las órdenes con los filtros correspondientes\n */\n getOrders() {\n this.ordenesService.getOrdersPaginate(\n this.isPage,\n this.pageSize,\n this.page ,\n this.filterNit,\n this.filterState,\n this.filterDate,\n null,\n null,\n true,\n null\n ).subscribe( resp => {\n this.dataSource.data = resp.data.data;\n this.dataSource.sort = this.sort;\n this.length = resp.data.total;\n this.pageSize = resp.data.per_page;\n });\n }\n /**\n * Consulta listado de ordenes de estado\n */\n getOrdersStates() {\n this.ordenesService.getRemissionStates().subscribe( resp => {\n this.ordersStates = resp;\n });\n }\n\n\n /**\n * Consulta ordenes aplicando filtro por fecha\n * @param event\n */\n filterBydate (event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.filterDate = this.datepipe.transform(filterValue, 'yyyy-MM-dd');\n this.getOrders();\n }\n\n /**\n * Consulta ordenes aplicando filtro por Estados\n * @param event\n */\n\n filterByState(event) {\n this.filterState = event;\n this.getOrders();\n\n }\n\n /**\n * Consulta ordenes aplicando filtro por nit\n * @param event\n */\n filterByNIT(event) {\n this.filterNit = (event.target as HTMLInputElement).value;\n this.getOrders();\n }\n\n\n downloadManagement () {\n this.dialog.open( DescargaComponent , {\n width : '60%',\n data:{\n type:\"orden\"\n }\n } )\n\n\n }\n\n editOrder (order) {\n const estado ={\n state:5\n }\n\n\n //Confirma cambio de estado de aproba a rechazada\n Swal.fire({\n icon : 'warning',\n title : '¿Estás seguro?',\n text : \"¿Deseas enviar la orden de compra?, recuerda que esto será definitivo y no se podrá deshacer, únicamente podrás fragmentar la orden de compra\",\n showCancelButton : true,\n focusConfirm : false,\n confirmButtonText : 'Aceptar',\n cancelButtonText : \"Cancelar\"\n }).then( (result) => {\n if(result.isConfirmed){\n this.ordenesService.updateState(estado, order.id).subscribe((resp)=>{\n this.alertsService.alertSuccess('Orden Enviada',resp.data);\n this.ngOnInit();\n },\n error => {\n this.alertsService.alertWarning('Atención',error.error.error);\n }\n );\n }\n } )\n\n\n\n }\n\n editOrderFrag(order){\n const estado ={\n state:5\n }\n\n //Confirma cambio de estado de aproba a rechazada\n Swal.fire({\n icon : 'warning',\n title : '¿Estás seguro?',\n text : \"¿Deseas enviar la orden de compra?, recuerda que esto será definitivo y no se podrá deshacer, únicamente podrás fragmentar la orden de compra\",\n showCancelButton : true,\n focusConfirm : false,\n confirmButtonText : 'Aceptar',\n cancelButtonText : \"Cancelar\"\n }).then( (result) => {\n if(result.isConfirmed){\n this.ordenesService.updateStateFrag(estado, order.id).subscribe((resp)=>{\n this.alertsService.alertSuccess('Orden Enviada',resp.data);\n this.ngOnInit();\n });\n }\n } )\n\n\n\n }\n\n downloadOrder (order) {\n const archivo ={\n path:order.path\n };\n this.archivoService.downloadOrder(archivo).subscribe( resp=>{\n const a = document.createElement('a');\n const file = new Blob([resp], { type: 'application/pdf' });\n a.href = window.URL.createObjectURL(file);\n a.download = 'Orden_Compra.pdf';\n a.click();\n\n }, error =>{\n\n });\n }\n\n downloadRemission(purchaseOrderId:number) {\n this.ordenesService.downloadOrderRemission(purchaseOrderId).subscribe(resp=>{\n const file = new Blob([resp.body], {type: 'application/pdf'})\n importedSaveAs(file, 'RemisionOrdenCompra.pdf')\n }, error =>{\n console.log(error);\n });\n\n }\n\n downloadFragRemission(purchaseOrderId:number,FragId:number) {\n this.ordenesService.downloadOrderRemissionFrag(purchaseOrderId,FragId).subscribe(resp=>{\n const file = new Blob([resp.body], {type: 'application/pdf'})\n importedSaveAs(file, 'RemisionFragOrdenCompra.pdf')\n //window.open(window.URL.createObjectURL(file), '_blank');\n }, error =>{\n console.log(error);\n });\n\n }\n\n\n fragmentarOrder(order){\n const dialogNewRol = this.dialog.open(OrdenCompraFragComponent, {\n width: '90%',\n disableClose: true,\n data: {\n type: 'fragmentar',\n title: 'Fragmentar orden de compra',\n ordenCompra:order\n\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n\n this.ngOnInit();\n });\n }\n\n viewOrderRemission(order, frag){\n const dialogNewRol = this.dialog.open(RemisionControlComponent, {\n width: '90%',\n disableClose: true,\n data: {\n type: 'view',\n title: 'Orden de compra',\n ordenCompra:order,\n solicitud:order,\n proveedor: order.provider,\n frag: frag\n\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n\n this.ngOnInit();\n });\n\n }\n\n editOrderRemission(order, frag){\n\n //const dialogNewRol = this.dialog.open(OrdenCompraEditComponent, {\n const dialogNewRol = this.dialog.open(RemisionControlComponent , {\n disableClose: true,\n width: '90%',\n data: {\n type: 'edit',\n title: 'Orden de compra',\n ordenCompra:order,\n solicitud:order,\n proveedor: order.provider,\n frag: frag\n\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n\n this.ngOnInit();\n });\n }\n\n pageEvent(event) {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getOrders();\n }\n\n\n\n\n}\n","
\n \n Fecha de creación\n \n \n \n \n \n \n\n\n\n \n Estado\n \n {{state.name}}\n \n \n\n \n NIT\n \n \n \n\n
\n \n
\n\n
\n
\n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n
\n
\n \n \n\n \n\n
\n\n
ID Orden OC-{{ element.purchase_order_number }} Fecha de creación {{element.created_at | date}} NIT {{element.provider.nit}} Razón social {{element.provider.razon_social|slice:0:30 }} Nombre de la solicitud \n {{ element.request.title | slice:0:30 }}\n 30\" >...\n Empresa {{element.company.name}} Estado \n
\n  \n Pendiente
\n\n
\n  \n {{element.remission.state.name}}
\n\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n\n \n\n \n\n \n
\n
OC-{{element.purchase_order_number}}-{{frag.purchase_order_number}}{{frag.created_at | date}}{{frag.remission_state || 'Pendiente' }}
\n
\n
No hay datos que coincidan con el filtro
\n \n \n\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { ResourcesService } from '../../../services/resources.service';\n\n@Component({\n selector: 'app-resources-rules',\n templateUrl: './resources-rules.component.html',\n styleUrls: ['./resources-rules.component.sass']\n})\nexport class ResourcesRulesComponent implements OnInit {\n\n createRule = false;\n ruleForm: FormGroup;\n rules: any[] = [];\n days: any[] = [];\n states: boolean = false;\n constructor(private fb:FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alertNotification: AlertsService,\n private auth: AuthService,\n private resourcesService: ResourcesService) {\n }\n\n\n ngOnInit(): void {\n\n this.ruleForm = this.fb.group({\n 'resource_id' : [null],\n 'day' : [null, Validators.required],\n 'start' : [null, Validators.required],\n 'end' : [null, Validators.required],\n 'date_start' : [null],\n 'date_end' : [null],\n 'dynamic' : [1],\n });\n\n this.getInfo();\n this.ruleForm.get('end').setValidators(Validators.min(this.ruleForm.get('start').value));\n this.auth.getUser().roles.forEach(element => {\n if (element === 'rrhh::usuario') {\n this.states = true;\n }\n });\n }\n\n getInfo() {\n this.days = [\n {name: 'Lunes', value: 'Monday'},\n {name: 'Martes', value: 'Tuesday'},\n {name: 'Miércoles', value: 'Wednesday'},\n {name: 'Jueves', value: 'Thursday'},\n {name: 'Viernes', value: 'Friday'},\n {name: 'Sábado', value: 'Saturday'},\n ];\n this.getRules();\n }\n\n saveRule() {\n this.ruleForm.get('dynamic').setValue(1);\n this.ruleForm.get('resource_id').setValue(this.data.id);\n if (this.ruleForm.valid) {\n if (this.ruleForm.get('start').value <= this.ruleForm.get('end').value) {\n this.resourcesService.createResourceRules(this.ruleForm.value).subscribe( res => {\n this.alertNotification.alertSuccess('Regla creada con éxito', '');\n this.rules.push(this.ruleForm.value);\n this.cancelForm('ruleForm', 'createRule');\n });\n } else {\n this.alertNotification.alertWarning('Cuidado', 'La hora fin no puede ser inferior a la hora de inicio');\n }\n } else {\n this.ruleForm.markAllAsTouched();\n }\n }\n cancelForm(form, arg) {\n this[form].reset();\n this[arg] = !this[arg];\n }\n\n getRules() {\n this.resourcesService.getResourceRules(this.data.id).subscribe((res: any) => {\n if (res != null) {\n this.rules = res;\n this.rules.reverse();\n }\n });\n }\n\n removeRule(id) {\n this.alertNotification.alertConfirm('¿Deseas eliminar este horario?').then((result) => {\n if (result.isConfirmed) {\n this.resourcesService.removeResourceRules(id).subscribe((res: any) => {\n this.alertNotification.alertSuccess('Eliminado', res);\n this.getRules();\n });\n }\n });\n }\n\n}\n","\n

Horarios de reserva

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

Lista de horarios

\n \n
\n
\n \n Día de la semana\n \n \n {{day.name}}\n \n \n Este campo es obligatorio\n \n\n \n Hora de inicio\n \n Este campo es obligatorio\n \n\n \n Hora de fin\n \n La hora fin no puede ser inferior a la hora de inicio\n Este campo es obligatorio\n \n\n\n \n \n Rango de fechas\n \n \n \n \n \n \n\n\n \n\n\n
\n \n \n
\n\n
\n \n
\n

No hay horarios relacionados a este recurso

\n \n \n
\n
\n
{{rule.day |weekDays}}
\n

\n Desde  {{rule.start}}\n Hasta  {{rule.end}}\n

\n
\n\n
\n \n
\n\n \n
\n
\n\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport {TranslatesService} from '../../services/translates.service';\n\n@Component({\n selector: 'app-control',\n templateUrl: './control.component.html',\n styleUrls: ['./control.component.sass']\n})\nexport class ControlComponent implements OnInit {\n private uuid = 'fdb220f2-9372-11ee-b9d1-0242ac120002';\n public config: any;\n\n constructor(\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n}\n","
\n
\n

{{config.title}}

\n
\n

{{config.description1}}

\n

{{config.description2}}

\n
\n
\n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { SPEECH_URL } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModelIAService {\n constructor(private httpClient: HttpClient) { }\n\n /**\n * Metodo que retorna los errores generados por HTTP.\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param error Instancia del httpErrorResponse.\n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n\n /**\n * Metodo que retorna el listado de modelos de IA activos y disponibles para usar\n * @author Yeison Sepulveda\n * @createdate 2024-10-21\n */\n listModels(): Observable {\n return this.httpClient.get(`${SPEECH_URL}models-ia/list`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo actualiza la información de un modelo\n * @author Yeison Sepulveda\n * @createdate 2024-10-21\n * @param modelData Informacion actualizar\n */\n UpdateModel(modelData: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}/models-ia/update/${modelData.id}`, modelData).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo para crear un nuevo registro modelos\n * @author Yeison Sepulveda\n * @createdate 2024-10-21\n * @param body\n */\n CreateModel(body: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}models-ia/create`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Desactivar un modelo de IA activo\n * @author Yeison Sepulveda\n * @createdate 2024-10-21\n * @param id id modelos a desactivar\n */\n desactiveModel(id: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}models-ia/desactive`, id).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que retorna el listado de modelos de IA activos y disponibles para usar para la transcripcion\n * @author Yeison Sepulveda\n * @createdate 2025-01-21\n */\n modelsTranscriptionList(): Observable {\n return this.httpClient.get(`${SPEECH_URL}models-ia/transcriptionList`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que retorna el listado de lenguages del modelos de IA activos y disponibles para usar\n * @author Yeison Sepulveda\n * @createdate 2025-01-21\n */\n lenguageList(): Observable {\n return this.httpClient.get(`${SPEECH_URL}models-ia/lenguageList`).pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'uppercaseText'\n})\nexport class UppercaseTextPipe implements PipeTransform {\n\n transform(value: string): string {\n const firtsString = value.charAt(0).toUpperCase();\n const restString = value.slice(1).toLowerCase();\n return firtsString + restString;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\nimport { throwError, Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { catchError } from 'rxjs/operators';\n\nconst COMPRAS_URL = environment.COMPRAS_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CompaniaService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n getCompany(): Observable{\n return this.http.get(`${COMPRAS_URL}company/?paginate=0`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n \n\n}\n","import { NgModule } from \"@angular/core\";\nimport { MqttModule } from \"ngx-mqtt\";\nimport { MQTT_SERVICE_OPTIONS } from \"./config/mqtt.config\";\n\n\n\n\n@NgModule({\n imports:[\n MqttModule.forRoot(MQTT_SERVICE_OPTIONS)\n ]\n})\nexport class MqttSoulModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RrhhComponent } from './rrhh.component';\nimport { RrhhRoutingModule } from './rrhh-routing.module';\nimport { RequestsModule } from './modules/requests/requests.module';\nimport { SharedModule } from '../../shared/shared.module';\nimport { CandidatesModule } from './modules/candidates/candidates.module';\nimport { CandidateTestsModule } from './modules/candidate-tests/candidate-tests.module';\nimport { TrainingGroupsModule } from './modules/training-groups/training-groups.module';\nimport { EmployeeModule } from './modules/employee/employee.module';\nimport { MedicalTestModule } from './modules/medical-test/medical-test.module';\nimport { PositionsModule } from './modules/positions/positions.module';\nimport { AssesmentsModule } from './modules/assesments/assesments.module';\nimport { AssignUserModule } from './modules/assign-user/assign-user.module';\nimport { ReportsModule } from './modules/reports/reports.module';\nimport { UpdatesModule } from './modules/updates/updates.module';\nimport {TemplatesModule} from './modules/templates/templates.module';\n\n\n@NgModule({\n declarations: [RrhhComponent],\n imports: [\n CommonModule,\n RrhhRoutingModule,\n RequestsModule,\n CandidatesModule,\n CandidateTestsModule,\n TrainingGroupsModule,\n EmployeeModule,\n SharedModule,\n MedicalTestModule,\n PositionsModule,\n AssesmentsModule,\n AssignUserModule,\n ReportsModule,\n UpdatesModule,\n TemplatesModule,\n ]\n})\nexport class RrhhModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { loadSelects } from '../../state/actions/selects.actions';\n\n@Component({\n selector: 'app-reporte',\n templateUrl: './reporte.component.html',\n styleUrls: ['./reporte.component.sass']\n})\nexport class ReporteComponent implements OnInit {\n\n rol;\n constructor(\n private store:Store,\n private authService:AuthService\n ) { }\n\n ngOnInit(): void {\n this.getRoles();\n this.store.dispatch(loadSelects({rol:this.rol}));\n }\n\n getRoles(){\n this.authService.getUser().roles.forEach(rol => {\n if (rol.includes('coaching::')) { \n this.rol = rol;\n }\n });\n }\n\n}\n","
\n\n
\n \n

Reporte

\n
\n

Aquí podrás generar el reporte de los coachings realizados.

\n

No olvides, “El respeto y empatía son clave”.

\n
\n
\n \n
\n
\n \"\"\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { ProfileService } from '../../services/rest/profile.service';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ChangePasswordComponent } from '../change-password/change-password.component';\nimport { CandidatesService } from '../../../rrhh/services/candidates.service';\nimport { AlertsService } from '../../../../shared/alerts/alerts.service';\nimport { ProfileUpdateComponent } from '../profile-update/profile-update.component';\nimport { DatePipe } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { environment } from '../../../../../environments/environment';\nimport { UpdateSecurityQuestionsComponent } from '../update-security-questions/update-security-questions.component';\nimport { ChangeNetworkUserPassComponent } from '../change-network-user-pass/change-network-user-pass.component';\n\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.sass']\n})\nexport class ProfileComponent implements OnInit {\n\n profileForm: FormGroup;\n\n userLogged;\n\n patch;\n\n\n constructor(\n private fb: FormBuilder, \n private profileService: ProfileService, \n private auth: AuthService,\n private dialog: MatDialog, \n private candidateServices: CandidatesService, \n private alertService: AlertsService,\n private datePipe: DatePipe,\n private router: Router) {\n this.getData();\n this.createForm();\n }\n\n ngOnInit(): void {\n this.profileService.dataUser(this.userLogged.rrhh_id).subscribe((resp: any) => {\n resp.id_type_id = resp.id_type.name;\n this.patch = resp;\n resp.birth_date = this.datePipe.transform(resp.birth_date, 'dd/MM/yyyy');\n this.profileForm.patchValue(resp);\n this.profileForm.disable();\n })\n }\n\n getData() {\n this.userLogged = this.auth.getUser();\n }\n\n\n createForm() {\n this.profileForm = this.fb.group({\n 'idCiu': [this.userLogged.idCiu],\n 'id_type_id': [],\n 'state_id': [],\n 'civil_state_id': [],\n 'first_name': [],\n 'middle_name': [],\n 'last_name': [],\n 'second_last_name': [],\n 'email': ['', [Validators.required, Validators.email]],\n 'email2': ['', [Validators.email]],\n 'phone': ['', [Validators.maxLength(12), Validators.minLength(7), Validators.pattern(/^-?(0|[1-9]\\d*)?$/)]],\n 'mobile_phone': ['', [Validators.required, Validators.maxLength(13), Validators.minLength(10), Validators.pattern(/^-?(0|[1-9]\\d*)?$/)]],\n 'id_number': [],\n 'birth_date': [],\n })\n\n }\n\n changePassword() {\n const passDialog = this.dialog.open(ChangePasswordComponent, {\n data: {\n userId: this.userLogged.idCiu,\n },\n width: '500px'\n })\n }\n\n /**\n * se encarga de abir el modal y de llamar las funciones\n * cuando se cierra\n * @author Carlos Nieto\n */\n ProfileUpdate() {\n const profileUpdateComponent = this.dialog.open(ProfileUpdateComponent, {\n data: {\n userId: this.userLogged.idCiu,\n profileForm: this.profileForm,\n patch: this.patch\n },\n width: '800px'\n });\n profileUpdateComponent.afterClosed().subscribe(() => {\n this.profileForm.controls.email.disable();\n this.profileForm.controls.email2.disable();\n this.profileForm.controls.mobile_phone.disable();\n this.profileForm.controls.phone.disable();\n this.getData;\n this.ngOnInit();\n });\n }\n\n redirectToFormPqrs(): void {\n this.router.navigate(['/mios/crm/forms/formView/' + environment.ID_FORM_PQRS]);\n }\n\n redirectToQuestionSanity(): void {\n this.router.navigate(['/mios/crm/forms/formView/' + environment.ID_FORM_SERVICEQUESTION]);\n }\n\n /**\n * Método que despliega el formulario para actualizar las preguntas de seguridad\n * @author Juan Carlos Alonso Perez\n * @createdate 27-05-2024\n */\n updateQuestionsDialog() {\n const dialogSecurityQuestions = this.dialog.open(UpdateSecurityQuestionsComponent, {\n width: '60%',\n height: 'auto',\n data: {\n type: 'cambiar',\n title: 'Actualizar preguntas de seguridad',\n },\n panelClass: 'custom-dialog-container'\n });\n\n dialogSecurityQuestions.afterClosed().subscribe(() => { });\n }\n /**\n * Método que despliega el formulario para cambiar la contraseña de usuario de red\n * @author Juan Carlos Alonso Perez\n * @createdate 27-05-2024\n */\n changeNetworkUserPasswordDialog() {\n const dialogSecurityQuestions = this.dialog.open(ChangeNetworkUserPassComponent, {\n width: '60%',\n height: 'auto',\n data: {\n type: 'cambiar',\n title: 'Cambiar contraseña usuario de red',\n },\n panelClass: 'custom-dialog-container'\n });\n\n dialogSecurityQuestions.afterClosed().subscribe(() => { });\n }\n /**\n * Método que genera un nuevo codigo de acceso para ingresar a la PWA.\n * @author Fabian Duran\n * @createdate 30-09-2024\n */\n onClickGeneratePwaAccessCode(): void {\n this.alertService.alertWarning('¿Está seguro?', '¿De generar un código de acesso para la PWA?').then(confirm => {\n if (confirm.isConfirmed) {\n this.profileService.generatePwaAccessCode().subscribe(res => {\n this.alertService.alertSuccess('¡Excelente!', `${res.message}.
Código: ${res.code}`, { timer: null });\n });\n }\n }); \n }\n}\n","
\n
\n

Bienvenido

\n

En esta sección podrás actualizar tu información personal y más

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

Información Personal

\n \n
\n
\n
\n \n Tipo Documento\n \n \n \n Número de Identificación\n \n \n \n Primer Nombre\n \n \n \n Segundo Nombre\n \n \n \n Primer Apellido\n \n \n \n Segundo Apellido\n \n \n \n Email\n \n \n \n Email Secundario\n \n \n \n Teléfono\n \n \n \n Teléfono Movil\n \n \n \n Fecha de Nacimiento\n \n \n\n
\n
\n
\n
\n \n \n

Mis PQRS

\n \n
\n \n \n

Encuesta Sanitaria

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

Usuario de red

\n \n
\n \n \n

Preguntas de seguridad

\n \n
\n \n \n

Generar código

\n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Inject } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { Subscription } from 'rxjs';\nimport Swal from 'sweetalert2';\nimport { UsersService } from 'src/app/modules/ciu/services/rest/users.service';\n\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.sass']\n})\nexport class ForgotPasswordComponent implements OnInit {\n\n public passForm: FormGroup;\n public subscription : Subscription\n public documentList : any;\n public selectedValue: string;\n\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private authService : AuthService,\n private dialogRef:MatDialogRef,\n private userService : UsersService,\n\n\n ) { }\n\n ngOnInit(): void {\n this.formControl();\n this.getDocumentList();\n }\n\nget error(): any { return this.passForm.controls; }\n\n/**\n * @author Carlos Nieto\n * @createdate 2021-12-07\n * Metodo que crea el formGroup con cada campo y su respectiva validacion\n */\n formControl(): void{\n\n this.passForm = new FormGroup({\n id_type_id: new FormControl('', [Validators.required]),\n id_number: new FormControl('', [Validators.required,Validators.pattern('^([0-9])*$'),Validators.maxLength(15), Validators.minLength(5)])\n });\n\n}\ngetDocumentList(): void{\n this.userService.getIdTypes().subscribe(\n response => {\n this.documentList = response;\n }\n );\n}\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-07\n * @param passForm Formulario diligenciado con el campo email an verifyEmail\n * Metodo que envia el formulario al servicio\n */\n sendEmail(passForm): void{\n this.subscription = this.authService.validateEmail(passForm.value).subscribe(\n response => {\n if (response.data.response === 'OK') {\n Swal.fire({\n html: `Por favor revisa tu correo ${response.data.mail}`,\n icon: 'success',\n title : 'Enviado',\n confirmButtonText: 'Aceptar'\n });\n this.dialogRef.close();\n\n }\n }\n );\n }\n\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-07\n * Metodo que regula las extenciones de los correos ingresados al formulario\n */\n verifyEmail(): ValidatorFn{\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (/@hotmail/.test(control.value)) {\n return { hasWrongEmail: { value: control.value } };\n }\n else if (/@gmail/.test(control.value)) {\n return { hasWrongEmail: { value: control.value } };\n }\n else if (/@outlook/.test(control.value)) {\n return { hasWrongEmail: { value: control.value } };\n }\n else if (/@yahoo/.test(control.value)) {\n return { hasWrongEmail: { value: control.value } };\n }\n else if (/@icloud/.test(control.value)) {\n return { hasWrongEmail: { value: control.value } };\n }\n return null;\n };\n }\n}\n","\n
\n
\n \n
\n
\n
\n \n

{{data.title}}

\n

Selecciona tu tipo de documento e ingresa el número y te enviaremos a tu correo registrado un enlace para restablecer tu contraseña.\n

\n
\n\n \n Tipo de documento\n \n \n {{documentType.name}}\n \n \n ¡Advertencia! Este campo es requerido\n \n\n \n Ingresa tu número de documento\n \n ¡Advertencia! Este campo solo acepta números\n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 5 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 15 caracteres\n \n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n","import { Component, OnInit, Inject, ViewChild, QueryList } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { MatOption } from '@angular/material/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatSelectionList } from '@angular/material/list';\nimport { MatSelect } from '@angular/material/select';\nimport { CoachingService } from 'src/app/modules/coaching/services/coaching.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n\tselector: 'app-modal-asignaciones',\n\ttemplateUrl: './modal-asignaciones.component.html',\n\tstyleUrls: ['./modal-asignaciones.component.sass']\n})\nexport class ModalAsignacionesComponent implements OnInit {\n\n\tformGroup: FormGroup;\n\t//Matriz con la data de campañas\n\tdataSelectMultipleCampaigns: any[];\n\t//Matriz con la data de Agentes Dispoboles\n\tdataAgentesDiponibles: any[] = [];\n\t//Matriz para agentes Asignados \n\tdataAgentesAsignados: any[] = [];\n\n\t//agente añadido aravez de la opcion añadior agente\n\taddAgente: any | undefined;\n\n\t//Variables asignadas manejo de mat-list en la vista \n\t@ViewChild('asesoresDisponibles') asesoresDisponibles: MatSelectionList;\n\t@ViewChild('asesoresAsignados') asesoresAsignados: MatSelectionList;\n\t@ViewChild('listCampaigns') private listCampaigns: MatSelect;\n\n\tjefeInmediato: any = {\n\t\tname: '',\n\t\tcampaign: ''\n\t};\n\n\t\n\tconstructor(\n\t\t@Inject(MAT_DIALOG_DATA) public data: any,\n\t\tprivate fb: FormBuilder,\n\t\tprivate coachingService: CoachingService,\n\t\tpublic dialogRef: MatDialogRef\n\t) { }\n\n\tngOnInit(): void {\n\n\t\tthis.initForm();\n\t\tthis.initDataSelects();\n\t\tif (this.data.type == 'editar') {\n\t\t\tthis.dataAgentesAsignados = this.data.agentesAsignados.agents.filter(filter => filter.type = \"loaded\")\n\t\t\tif (this.data.agentesAsignados.doc_boss !== undefined && this.data.agentesAsignados.doc_boss !== null && this.data.agentesAsignados.doc_boss !== \"\") {\n\t\t\t\tthis.jefeInmediato = {\n\t\t\t\t\tdoc: this.data.agentesAsignados.doc_boss,\n\t\t\t\t\tname: this.data.agentesAsignados.name_boss,\n\t\t\t\t\tid: this.data.agentesAsignados.id,\n\t\t\t\t\tcampaings: this.data.agentesAsignados.name_campaign,\n\t\t\t\t\tno_campaign: this.data.agentesAsignados.no_campaign\n\t\t\t\t}\n\t\t\t\tthis.formGroup.get('doc_jefexx').setValue(this.data.agentesAsignados.doc_boss);\n\t\t\t\tthis.formGroup.controls['doc_jefexx'].disable();\n\t\t\t}\n\t\t\tthis.cargarAgenetes(false);\n\t\t\t\n\t\t}\n\n\t}\n\n\n\t/**\n\t * Metodo que inicializa el formulario y sus controles de validacion\n\t * @author Juan David Guerrero Vargas\n\t * @create_at 13/05/2022\n\t * @return void \n\t */\n\tinitForm(): void {\n\t\tthis.formGroup = this.fb.group(\n\t\t\t{\n\t\t\t\tcampaigns: new FormControl('',[Validators.required]),\n\t\t\t\tdoc_jefexx: new FormControl('', [Validators.required]),\n\t\t\t\tdoc_newage: new FormControl('', [Validators.minLength(5)]),\n\t\t\t\tlistagentesDisponibles: new FormControl(''),\n\t\t\t\tlistaAgentesAsignados: new FormControl('')\n\t\t\t}\n\t\t);\n\t}\n\n\n\t/**\n\t * Metodo que carga todos los datos de los selectores o campos dentro del formulario\n\t * @author Juan David Guerrero Vargas\n\t * @create_at 13/05/2022\n\t * @return void \n\t */\n\tinitDataSelects(): void {\n\t\tthis.coachingService.getAllCampaigns().subscribe(\n\t\t\t(params: any[]) => {\n\t\t\t\t//Se realiza carga de campañas ordenadas alfaveticamente\n\t\t\t\tthis.dataSelectMultipleCampaigns = params.sort(function (x, y) {\n\t\t\t\t\tif (x.name < y.name) { return -1; }\n\t\t\t\t\tif (x.name > y.name) { return 1; }\n\t\t\t\t\treturn 0;\n\t\t\t\t});\n\t\t\t\tthis.dataSelectMultipleCampaigns.filter(filter => filter.rrhh_id = '');\n\t\t\t\t//Si se abre el modal desde el icono de edicion se cargaran y se se asignaran las campañas ya seleciconadas por el jefe\n\t\t\t\tif (this.data.type === 'editar') {\n\t\t\t\t\tlet temp: any[] = [];\n\t\t\t\t\tparams.forEach(element => {\n\t\t\t\t\t\tif (this.data.agentesAsignados.id_campaign.find(elem => elem === element.id)) {\n\t\t\t\t\t\t\ttemp.push(element)\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tthis.formGroup.get('campaigns').setValue(temp);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * Metodo que realiza el movimiento de agantes de seccion a seccion segun el tipo de movimiento requerido\n\t * @param type:string sipo de movimiento de aganta a realziar (Agregar agente a agentes de grupo -Remover agentes de grupo a agentes disponibles)\n\t * @author Juan David Guerrero Vargas\n\t * @create_at 13/05/2022\n\t * @return:void \n\t */\n\tmoveAgente(type: string): void {\n\n\t\tif (type === 'add') {\n\t\t\tlet agentes = this.formGroup.get('listagentesDisponibles').value\n\t\t\tagentes.forEach(agente => {\n\t\t\t\tif (!this.dataAgentesAsignados.find(agentefind => agentefind.id == agente.id)) {\n\t\t\t\t\tthis.dataAgentesAsignados.push(agente);\n\t\t\t\t\tthis.dataAgentesDiponibles = this.dataAgentesDiponibles.filter(agentefilter => agentefilter.id !== agente.id);\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (type === \"remove\") {\n\t\t\tlet agentes = this.formGroup.get('listaAgentesAsignados').value\n\t\t\tagentes.forEach(agente => {\n\t\t\t\tif ( !this.dataAgentesDiponibles.find(agentefind => agentefind.id == agente.id)) {\n\t\t\t\t\tif(agente.type !=='loaded'){\n\t\t\t\t\t\tthis.dataAgentesDiponibles.push(agente);\n\t\t\t\t\t\tthis.dataAgentesAsignados = this.dataAgentesAsignados.filter(agentefilter => agentefilter.id !== agente.id);\n\n\t\t\t\t\t}else{\n\t\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\t\ttitle: \"No se puede reasignar el/los agentes\",\n\t\t\t\t\t\t\ttext: \"El/los usuario indicado no puede quedar sin un jefe asignado\",\n\t\t\t\t\t\t\ticon: 'warning',\n\t\t\t\t\t\t\tconfirmButtonText: 'Aceptar',\n\t\t\t\t\t\t\tshowCancelButton: false,\n\t\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t}\n\n\t/**\n\t * Metodo apra cargas los agentes disponibles por asignacion desde \n\t * @author Juan David Guerrero Vargas \n\t * @create_at 19/05/2022 \n\t * @param event:EventClose evento de cierre de selecteor multiple\n\t * @return void \n\t */\n\n\tcargarAgenetes(event: any): void {\n\n\n\t\t//Si event es true se abrio el selector\n\t\t//si event esta en false se cerro el selector\n\t\tif (!event) {\n\t\t\tlet campaignsSelection:any[] =[]\n\t\t\tcampaignsSelection = this.getMatrizCampaingSelection();\n\t\t\n\t\t\tlet str_campaigns = '';\n\t\t\tif (this.data.type == \"crear\" && campaignsSelection.length > 0) {\n\n\t\t\t\tcampaignsSelection.forEach(campaign => {\n\t\t\t\t\tstr_campaigns += `campaignIds[]=${campaign.id}&`\n\t\t\t\t});\n\t\t\t\tthis.coachingService.getAsesoresByCampaign(str_campaigns).subscribe(\n\t\t\t\t\t(resp: any) => {\n\t\t\t\t\t\tthis.validateAgentesForCampaign(resp);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} else if (this.data.type == \"editar\" && this.data.agentesAsignados.id_campaign.length > 0) {\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tcampaignsSelection.forEach(campaign => {\n\t\t\t\t\tstr_campaigns += `campaignIds[]=${campaign}&`\n\t\t\t\t});\n\n\t\t\t\tthis.coachingService.getAsesoresByCampaign(str_campaigns).subscribe(\n\t\t\t\t\t(resp: any) => {\n\t\t\t\t\t\tthis.validateAgentesForCampaign(resp);\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.dataAgentesAsignados = [];\n\t\t\t\tthis.dataAgentesDiponibles = [];\n\t\t\t}\n\t\t\n\t\t}\n\t}\n\n\t/**\n\t * Metodo que obtiene las campañas a usar para la consulta de agentes\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 15/06/2022 \n\t * @returns any[] matriz con ids de las campañas seleccionadas\n\t */\n\tgetMatrizCampaingSelection():any[]{\n\t\tlet campaignsSelection:any[] =[]\n\t\tif(this.data.type == \"editar\"){\n\t\t\tlet select = this.formGroup.get('campaigns').value\n\t\t\tif(select.length < 1){\n\n\t\t\t\tcampaignsSelection = this.data.agentesAsignados.id_campaign\n\t\t\t}else{\n\t\t\t\tselect.forEach(campaign => {\n\t\t\t\t\tif(!campaignsSelection.find(finded => finded === campaign.id)){\n\t\t\t\t\t\tcampaignsSelection.push(campaign.id)\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\t\n\t\t}else{\n\n\t\t\tcampaignsSelection = this.formGroup.get('campaigns').value;\n\t\t}\n\t\treturn campaignsSelection;\n\t}\n\n\t/**\n\t * Metodo que carga los datos del jefe inmeditado segun lo requirea el formulario de editar o de crear\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 23/05/2022\n\t * @return void \n\t */\n\tgetJefeInmediato(): void {\n\t\tif (this.data.type !== 'editar') {\n\n\t\t\tlet cedula = this.formGroup.get('doc_jefexx').value\n\t\t\tthis.coachingService.getJefeInmediato(cedula).subscribe(\n\t\t\t\t(resp: any) => {\n\t\t\t\t\tif (!resp.respuesta) {\n\t\t\t\t\t\tthis.jefeInmediato = resp[0]\n\t\t\t\t\t\tthis.excludeAgentesList(cedula);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.jefeInmediato = {\n\t\t\t\t\t\t\tname: '',\n\t\t\t\t\t\t\tcampaign: ''\n\t\t\t\t\t\t};\n\t\t\t\t\t\tthis.formGroup.get('doc_jefexx').setValue('');\n\t\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\t\ttitle: \"Usuario no identificado\",\n\t\t\t\t\t\t\ttext: \"El usuario no tiene los permisos suficientes para realizar está acción.\",\n\t\t\t\t\t\t\ticon: 'warning',\n\t\t\t\t\t\t\tconfirmButtonText: 'Aceptar',\n\t\t\t\t\t\t\tshowCancelButton: false,\n\t\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\t/**\n\t * Metodo que carga los asesores disponibles segun las campañas seleccionadas\n\t * @author Juan David Guerrero Vargas \n\t * @create_date 17/05/22\n\t * @return void \n\t */\n\tgetAsesor(): void {\n\t\tlet document = String(this.formGroup.get(\"doc_newage\").value);\n\t\t\n\t\tlet boss = String(this.formGroup.get('doc_jefexx').value);\n\t\tif(document && document !== \"\"){\n\t\t\tif(boss !== \"\" ){\n\t\t\t\t//Validamos que el No de cedula a consultar no se ni una ceula que ya se encuentre dentro de los agentes asignados \n\t\t\t\t//y que sea una cedula diferente del jefe inmediato\n\t\t\t\tif(!this.dataAgentesAsignados.find((finded) => finded.doc == document) \n\t\t\t\t&& !this.dataAgentesAsignados.find((finded) => finded.doc == boss) \n\t\t\t\t&& boss !== document){\n\t\t\t\t\t\n\t\t\t\t\tthis.coachingService.getAsesorByDocument(document).subscribe(\n\t\t\t\t\t\t(resp: any) => {\n\t\t\t\t\t\t\tthis.addAgente = resp[0];\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tif(!this.dataAgentesAsignados.find((finded) => finded.doc == document) ){\n\t\t\t\t\tthis.coachingService.getAsesorByDocument(document).subscribe(\n\t\t\t\t\t\t(resp: any) => {\n\t\t\t\t\t\t\tthis.addAgente = resp[0];\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\n\t/**\n\t * Metodo que agrega el agente seleccionado desde el buscador por documento\n\t * @author Juan David Guerrero Vargas \n\t * @create_date 17/05/22\n\t * @return void \n\t */\n\tagregarAgenteNuevo(): void {\n\n\t\tSwal.fire({\n\t\t\ttitle: '¿Estás seguro?',\n\t\t\ticon: 'warning',\n\t\t\thtml: '

¿En verdad deseas asignar a este colaborador al jefe inmediato ' + this.jefeInmediato.name + '?, recuerda que esta acción será definitiva y no lo podrás deshacer

',\n\t\t\tshowDenyButton: true,\n\t\t\tconfirmButtonColor: '#00acc1',\n\t\t\tconfirmButtonText: 'Aceptar',\n\t\t\tdenyButtonText: `Cancelar`,\n\t\t}).then(\n\t\t\t(result) => {\n\t\t\t\tif (result.isConfirmed) {\n\t\t\t\t\tthis.formGroup.get('doc_newage').setValue('');\n\t\t\t\t\tlet agenteNuevo = this.addAgente;\n\t\t\t\t\tagenteNuevo.type = \"new\"\n\t\t\t\t\tthis.dataAgentesAsignados.push(agenteNuevo);\n\t\t\t\t\tthis.addAgente = undefined;\n\t\t\t\t} else {\n\t\t\t\t\tthis.formGroup.get('doc_newage').setValue('');\n\t\t\t\t\tthis.addAgente = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\n\t}\n\n\t/**\n\t * Metodo que valida si los agesnte de los listados corresponden a una campaña activa y a agentes disponibles\n\t * @author Juan David Guerrero Vargas\n\t * @param listaAgentesRest:any[] Listado de agentes obtenido mediante peticion u otra forma que representa el istado de agentes dispobiles sin formateo de data \n\t * @create_date 17/05/22\n\t * @return void \n\t */\n\tvalidateAgentesForCampaign(listaAgentesRest: any[]): void {\n\t\t//Si se tienen agentes asignados a jefe, primero se valida que la informacion traida no tenga datso repetidos con los asignados\n\t\tif (this.dataAgentesAsignados.length > 0) {\n\t\t\tlistaAgentesRest.forEach(\n\t\t\t\tagenteList => {\n\t\t\t\t\tif (this.dataAgentesAsignados.find(finded => finded.id === agenteList.id)) {\n\t\t\t\t\t\tlistaAgentesRest = listaAgentesRest.filter(filter => filter.id !== agenteList.id)\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\tthis.dataAgentesDiponibles = listaAgentesRest;\n\t\t} else { //En caso de no tener agentes asignados simplemente se asume que todos los obtenidos son dispobibles\n\t\t\tthis.dataAgentesDiponibles = listaAgentesRest;\n\t\t}\n\n\t\t//Iniciamos validacion de que los agentes en las listas, pertenezcan auna campaña seleccionada, y no haya agentes de campañas distintas\n\t\tlet campanas = this.formGroup.get('campaigns').value\n\t\t//Validamos si hay campañas que comprobar para el listado de agentes\n\t\tif (campanas.length > 0) {\n\t\t\t//Si hay datos en la lista de agentes Asignados para validar\n\t\t\tif (this.dataAgentesAsignados.length > 0) {\n\t\t\t\t//recorremos la lista de agentes asignados\n\t\t\t\tthis.dataAgentesAsignados.forEach(asesorAsignado => {\n\t\t\t\t\t//si el id_campaign del asesor en iteracion no se encuentra dentro del arreglo de campañas seleccionadas \n\t\t\t\t\tif (!campanas.find(finded => finded.id === asesorAsignado.id_campaign) && asesorAsignado.type === undefined) {\n\t\t\t\t\t\t//En caso de no ser una campaña activa, este agente se retira de la lista\n\t\t\t\t\t\tthis.dataAgentesAsignados = this.dataAgentesAsignados.filter(filter => filter.doc !== asesorAsignado.doc);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(this.jefeInmediato.doc){\t\n\t\t\t\tthis.excludeAgentesList(String(this.jefeInmediato.doc));\n\t\t\t}\n\t\t} else { //en caso de que no hayan campañas seleccionadas, se asume que ningun asesor cumple con los \n\t\t\t//criterios minimos para mantenerse dentro de las listas\n\t\t\tthis.dataAgentesDiponibles = [];\n\t\t\tthis.dataAgentesAsignados = [];\n\t\t}\n\t}\n\n\n\t/**\n\t * Metodo que marca o desmarca a todos los elementos seleccionables de los agentes\n\t * @param event:MatCheckboxChange varaible con la que determinamos el estado actual de checkbox desde \n\t * @param type:string Variable que contiene el tipo de lista a seleccionar o des seleccionar \n\t */\n\tselectAll(event: MatCheckboxChange, type: string): void {\n\t\tif (type === \"disponibles\") {\n\t\t\tif (this.asesoresDisponibles.selectedOptions.selected.length < this.dataAgentesDiponibles.length) {\n\t\t\t\tthis.asesoresDisponibles.selectAll();\n\t\t\t} else {\n\t\t\t\tthis.asesoresDisponibles.deselectAll()\n\t\t\t}\n\t\t} else if (type === \"asignados\") {\n\t\t\tif (this.asesoresAsignados.selectedOptions.selected.length < this.dataAgentesAsignados.length) {\n\t\t\t\tthis.asesoresAsignados.selectAll();\n\t\t\t} else {\n\t\t\t\tthis.asesoresAsignados.deselectAll();\n\t\t\t}\n\t\t}\n\n\t}\n\n\t/**\n\t * Metodo que realiza la peticion de creacion o actualizaicon segun sea el caso\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 20/05/22\n\t * @return void \n\t */\n\tcreateUpdate(): void | boolean {\n\t\tlet campaigns = this.formGroup.get('campaigns').value;\n\t\tlet campaignsSend = [];\n\t\tif (campaigns.length > 0) {\n\t\t\tcampaigns.forEach(campaign => {\n\t\t\t\tcampaignsSend.push(campaign.id)\n\t\t\t});\n\n\t\t\tif (!this.jefeInmediato || this.jefeInmediato.id === \"\") {\n\t\t\t\tSwal.fire({\n\t\t\t\t\ttitle: \"Falta seleccionar el jefe inmediato\",\n\t\t\t\t\ttext: \"Es necesario ingresar la cedula del jefe inmediato al cual se le van a asignar los agentes\",\n\t\t\t\t\ticon: 'warning',\n\t\t\t\t\tconfirmButtonText: 'Aceptar',\n\t\t\t\t\tshowCancelButton: false,\n\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet asesoresAsignados = this.formGroup.get('listaAgentesAsignados').value\n\n\t\t\tif (asesoresAsignados.length <= 0) {\n\t\t\t\tSwal.fire({\n\t\t\t\t\ttitle: \"Debe seleccionar al menos un agente asignado para poder registrarlo(s) al jefe inmediato\",\n\t\t\t\t\ttext: \"Es necesario ingresar la cedula del jefe inmediato al cual se le van a asignar los agentes\",\n\t\t\t\t\ticon: 'warning',\n\t\t\t\t\tconfirmButtonText: 'Aceptar',\n\t\t\t\t\tshowCancelButton: false,\n\n\t\t\t\t});\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\n\t\t\tthis.asignarAgentes(asesoresAsignados, campaignsSend);\n\t\t\t\n\t\t} else {\n\t\t\tSwal.fire({\n\t\t\t\ttitle: \"Falta seleccionar campañas\",\n\t\t\t\ttext: \"Es necesario seleccionar al menos una campaña para poder asignar los agentes al jefe inmediato\",\n\t\t\t\ticon: 'warning',\n\t\t\t\tconfirmButtonText: 'Aceptar',\n\t\t\t\tshowCancelButton: false,\n\n\t\t\t});\n\t\t\treturn false;\n\t\t}\n\n\t\t\n\t}\n\n\t/**\n\t * Metodo que envias los datos apra la asignacion de agentes a jefe inmediato\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 23/05/2022 \n\t * @returns void|boolean en caso de fallo retorna false, y en caso de un proceso exitoso , quedara en void\n\t */\n\tasignarAgentes(asesoresAsignados:any[],campaignsSend:any[] ): void | boolean {\n\t\t\t\n\t\t\tSwal.fire({\n\t\t\t\ttitle: '¿Estás seguro?',\n\t\t\t\ticon: 'warning',\n\t\t\t\thtml: '

¿En verdad deseas asignar los colaboradores al jefe inmediato ' + this.jefeInmediato.name + '?, recuerda que esta acción será definitiva y no lo podrás deshacer

',\n\t\t\t\tshowDenyButton: true,\n\t\t\t\tconfirmButtonColor: '#00acc1',\n\t\t\t\tconfirmButtonText: 'Aceptar',\n\t\t\t\tdenyButtonText: `Cancelar`,\n\t\t\t}).then(\n\t\t\t\t(result) => {\n\t\t\t\t\tif (result.isConfirmed) {\n\n\t\t\t\t\t\tif(this.data.type == \"crear\"){\n\t\t\t\t\t\t\tlet modelCreate = {\n\t\t\t\t\t\t\t\tid_campaign: JSON.stringify(this.getCampaignsModel(asesoresAsignados)),\n\t\t\t\t\t\t\t\tid_boss: this.jefeInmediato.id,\n\t\t\t\t\t\t\t\tdoc_boss: this.jefeInmediato.doc,\n\t\t\t\t\t\t\t\tname_boss: this.jefeInmediato.name,\n\t\t\t\t\t\t\t\tagents: JSON.stringify(asesoresAsignados),\n\t\t\t\t\t\t\t\truta:'/mios/coaching/coaching/0/reasignacion'\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tthis.coachingService.asignarAgentesJefeInmediato(modelCreate).subscribe(\n\t\t\t\t\t\t\t\t(resp) => {\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\t\t\t\t\ticon: 'success',\n\t\t\t\t\t\t\t\t\t\ttitle: '¡Excelente!',\n\t\t\t\t\t\t\t\t\t\thtml: `

Se han asignado los colaboradores al jefe inmediato ${this.jefeInmediato.name} con éxito

`,\n\t\t\t\t\t\t\t\t\t\tshowConfirmButton: false,\n\t\t\t\t\t\t\t\t\t\ttimer: 4000\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tthis.dialogRef.close();\n\t\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t(error) => {\n\t\t\t\t\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\t\t\t\t\ticon: 'warning',\n\t\t\t\t\t\t\t\t\t\ttitle: 'Error en creacion',\n\t\t\t\t\t\t\t\t\t\thtml: `

${error.error.error}

`,\n\t\t\t\t\t\t\t\t\t\tshowConfirmButton: false,\n\t\t\t\t\t\t\t\t\t\ttimer: 4000\n\t\t\t\t\t\t\t\t\t});\n\t\n\t\n\t\t\t\t\t\t\t\t\t//this.dialogRef.close();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}else if (this.data.type == \"editar\"){\n\t\t\t\t\t\t\tlet modelUpdate = {\n\t\t\t\t\t\t\t\tid_campaign: JSON.stringify(this.getCampaignsModel(asesoresAsignados)),\n\t\t\t\t\t\t\t\tagents: JSON.stringify(asesoresAsignados),\n\t\t\t\t\t\t\t\truta:'/mios/coaching/coaching/0/reasignacion'\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tthis.coachingService.updateAssignedBoss(this.data.agentesAsignados.id , modelUpdate).subscribe(\n\t\t\t\t\t\t\t\t(resp)=>{\n\t\t\t\t\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\t\t\t\t\ticon: 'success',\n\t\t\t\t\t\t\t\t\t\ttitle: '¡Excelente!',\n\t\t\t\t\t\t\t\t\t\thtml: `

Se han asignado los colaboradores al jefe inmediato ${this.jefeInmediato.name} con éxito

`,\n\t\t\t\t\t\t\t\t\t\tshowConfirmButton: false,\n\t\t\t\t\t\t\t\t\t\ttimer: 4000\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tthis.dialogRef.close();\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t(error) => {\n\t\t\t\t\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\t\t\t\t\ticon: 'warning',\n\t\t\t\t\t\t\t\t\t\ttitle: 'Error en actualización',\n\t\t\t\t\t\t\t\t\t\thtml: `

${error.error.error}

`,\n\t\t\t\t\t\t\t\t\t\tshowConfirmButton: false,\n\t\t\t\t\t\t\t\t\t\ttimer: 4000\n\t\t\t\t\t\t\t\t\t});\n\t\n\t\n\t\t\t\t\t\t\t\t\t//this.dialogRef.close();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t}\n\n\t/**\n\t * Metodo que permite excuir determinado usuario atravez de su cedula de las listas de agentes disponibles o cargados(asignados)\n\t * @param cedula:string Cedula del agente a excluir de los arreglos\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 03/06/2022\n\t * @return void \n\t */\n\texcludeAgentesList(cedula:string):void{\n\t\tif(cedula && typeof cedula == \"string\" && cedula.trim() !== \"\"){\n\t\t\tthis.dataAgentesAsignados = this.dataAgentesAsignados.filter(filtered => filtered.doc !== cedula );\n\t\t\tthis.dataAgentesDiponibles = this.dataAgentesDiponibles.filter(filtered => filtered.doc !== cedula );\t\n\t\t}\n\t}\n\n\t /** Metodo que permte solo numeros ene l ingreso del input\n * @author Juan David Guerrero Vargas\n * @createdate 2021-01-27\n * @param event evento del keypress del input usuario\n */\n\t soloNumeros(event): any {\n let k;\n k = event.charCode;\n return ((k > 47 && k < 58));\n }\n\t\n\t/**\n\t * Metodo que obtiene un array con los ids de las campañas seleccionadas\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 13/06/2022 \n\t * @param asesores:any[] arreglo con los agentes asignados a guardar\n\t * @returns any[] arregelo de ids con las campañas de lso asesores asignados\n\t */\n\tgetCampaignsModel(asesores:any[]):any[] {\n\t\tlet campanas:any[]=[];\n\t\tif(asesores.length > 0){\n\t\t\tasesores.forEach(asesor => {\n\t\t\t\tif(campanas.length > 0){\n\t\t\t\t\tif(!campanas.find(finded => finded === asesor.id_campaign)){\n\t\t\t\t\t\tcampanas.push(asesor.id_campaign)\n\t\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\tcampanas.push(asesor.id_campaign)\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t\n\t\t\n\t\treturn campanas;\n\t}\n\n\n}\n","
\n \n
\n \n

\n
\n

{{data.title}}

\n
\n

\n\n
\n\n
\n\n\n
\n
\n \n Campañas\n \n \n {{itemCampana.name}}\n \n \n \n
\n\n
\n \n Documento del jefe\n \n \n \n
\n
\n
\n \n Nombre del jefe : {{ jefeInmediato.name }}
\n Campañas:  \n {{ jefeInmediato.no_campaign }}\n \n \n \n \n \n\n
\n \n
\n \n\n\n
\n
\n
\n
\n Agentes disponibles\n
\n
\n
\n 0 \">\n Todos\n \n
\n\n
\n
\n
\n
\n
\n
\n Agentes asignados\n
\n
\n
\n 0 \">\n Todos\n \n
\n\n
\n
\n \n
\n \n
\n
\n
\n \n\n \n \n Nombre:{{asesor.name | maxText:23:true }}
\n Doc: {{ asesor.doc | maxText:12}} | Campaña: {{asesor.name_campaign |\n maxText:7:true }} \n \n \n \n \n
\n\n
\n\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n Nombre:{{asesorG.name | maxText:23:true }}
\n Doc: {{ asesorG.doc | maxText:12 }} | Campaña: {{asesorG.name_campaign |\n maxText:7:true }}\n \n \n \n \n
\n
\n
\n
\n\n
\n
\n\n
\n
\n
\n
\n Opciones seleccionadas: {{\n asesoresDisponibles.selectedOptions.selected.length }} \n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n Opciones seleccionadas: {{\n asesoresAsignados.selectedOptions.selected.length }} \n
\n
\n
\n\n
\n
\n \n
\n \n\n
\n

Añadir agente

\n
\n \n Documento\n \n \n \n\n\n \n
\n
\n
\n
\n \n
\n
\n

\n Nombre: {{ addAgente.name }}
\n Jefe inmediato: {{ addAgente.name_boss }}
\n Campaña: {{ addAgente.name_campaign }}\n

\n
\n
\n
\n
\n \n
\n \n\n
\n
\n\n \n \n \n \n
","import { Injectable } from '@angular/core';\nimport { CanActivate, CanActivateChild } from '@angular/router';\nimport { AuthService } from '../services/rest/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthGuard implements CanActivate, CanActivateChild {\n\n constructor(private authService: AuthService) {\n\n }\n\n canActivate(): boolean{\n if (this.authService.verifyTokent()) {\n return true;\n } else{\n this.authService.logOut().subscribe(respuesta => {\n if (respuesta != null) {\n window.location.replace('/login');\n localStorage.clear();\n return false;\n }\n });\n }\n }\n\n canActivateChild(): boolean{\n if (this.authService.verifyTokent()) {\n return true;\n } else{\n this.authService.logOut().subscribe(respuesta => {\n if (respuesta != null) {\n window.location.replace('/login');\n localStorage.clear();\n return false;\n }\n });\n }\n }\n\n}\n","import { Component, Inject, OnInit, } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/auditoria/services/matriz.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\n\n@Component({\n selector: 'app-crear-matriz',\n templateUrl: './crear-matriz.component.html',\n styleUrls: ['./crear-matriz.component.sass']\n})\nexport class CrearMatrizComponent implements OnInit {\n\n matrixForm:FormGroup;\n tiposMatrices = [];\n inteligencias = [];\n rangos = [];\n tipos_peso = [];\n campaigns = [];\n filteredOptionsCampaign: Observable;\n constructor(\n private fb:FormBuilder,\n public matrizRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private matrizService:MatrizService,\n ) { }\n\n ngOnInit(): void {\n this.createForm();\n this.getSelects();\n }\n\n createForm(){\n this.matrixForm = this.fb.group({\n nombre: ['',[Validators.required]],\n tipo_matriz_id: ['',Validators.required],\n rango_id: ['',Validators.required],\n tipo_peso_id: ['',Validators.required],\n campania_asociada: ['',Validators.required],\n crm_id: ['',Validators.required],\n aplicar_inteligenciaNegocio: ['',Validators.required],\n inteligenciaNegocio_id: ['',Validators.required],\n isRetentionMatrix: [0, Validators.required],\n showFieldDuration: [0, Validators.required]\n })\n }\n\n save(){\n if (this.matrixForm.invalid) {\n return\n }\n this.matrixForm.addControl('grupo',new FormControl(1))\n this.matrizService.createMatrix(this.matrixForm.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo === 202) {\n Tools.swalSuccess('¡Excelente!','La matriz se ha creado con éxito.')\n this.matrizRef.close(resp.respuesta.codigo);\n }else if (resp.respuesta.codigo > 400) {\n Tools.swalError('¡Oops!','Lo sentimos, ha ocurrido un error inesperado y no fue posible crear la matriz, por favor intenta nuevamente.');\n }\n });\n }\n\n changeSelect(){\n if (this.matrixForm.get('tipo_matriz_id').value == 1) {\n this.matrixForm.get('rango_id').disable();\n this.matrixForm.get('tipo_peso_id').disable();\n }else{\n this.matrixForm.get('rango_id').enable();\n this.matrixForm.get('tipo_peso_id').enable();\n }\n\n if (this.matrixForm.get('campania_asociada').value == 1) {\n this.matrixForm.get('crm_id').enable();\n }else{\n this.matrixForm.get('crm_id').disable();\n }\n \n if (this.matrixForm.get('aplicar_inteligenciaNegocio').value == 0) {\n this.matrixForm.get('inteligenciaNegocio_id').disable();\n }else{\n this.matrixForm.get('inteligenciaNegocio_id').enable();\n }\n }\n\n getSelects(){\n this.matrizService.getTypeMatrix().subscribe((resp:any)=>{\n this.tiposMatrices = resp\n });\n\n this.matrizService.getIntelligence().subscribe((resp:any)=>{\n this.inteligencias = resp;\n });\n\n this.matrizService.getRange().subscribe((resp:any)=>{\n this.rangos = resp;\n })\n\n this.matrizService.getWeight().subscribe((resp:any)=>{\n resp.forEach(tipo => {\n if (tipo.nombre === \"Peso en Items\") {\n tipo.nombre = 'Peso en Ítems';\n }\n });\n this.tipos_peso = resp;\n })\n\n this.matrizService.getCampaings().subscribe((resp:any)=>{\n this.campaigns = resp.data;\n });\n\n }\n}\n","\n
\n

Crear matriz

\n \n
\n \n Nombre matriz\n \n Por favor ingrese un nombre de matriz.\n \n \n Tipo de matriz\n \n {{tipo.nombre}}\n \n Por favor seleccione una opción.\n \n \n Rango del peso\n \n {{rango.nombre}}\n \n Por favor seleccione una opción.\n \n \n ¿Peso en módulo o en ítems?\n \n {{peso.nombre}}\n \n Por favor seleccione una opción.\n \n \n Campaña asociada\n \n Si\n No\n \n Por favor seleccione una opción\n \n \n Seleccionar CRM\n \n {{campaign.name}}\n \n Por favor seleccione una opción\n \n \n Aplicar inteligencia de Negocio\n \n Si\n No\n \n Por favor seleccione una opción\n \n \n Seleccione Inteligencia de N.\n \n {{inteligencia.name}}\n \n Por favor seleccione una opción\n \n \n ¿Es una matriz de retención?\n \n Si\n No\n \n Por favor seleccione una opción\n \n \n ¿Ver campo de duración?\n \n Si\n No\n \n Por favor seleccione una opción\n \n
\n \n
\n \n \n
\n
","import { CandidatesService } from './../../../../../rrhh/services/candidates.service';\nimport { DisabilitiesViewComponent } from './../disabilities-view/disabilities-view.component';\nimport { DisabilitiesResponseComponent } from './../disabilities-response/disabilities-response.component';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\nimport { CampaignsService } from 'src/app/modules/nomina/services/rest/campaigns.service';\nimport { DatePipe } from '@angular/common';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { DisabilitiesService } from 'src/app/modules/nomina/services/rest/disabilities.service';\nimport { PermitViewComponent } from '../../../../../juridica/modules/permit/pages/permit-view/permit-view.component';\n\n\n@Component({\n selector: 'app-disabilities',\n templateUrl: './disabilities.component.html',\n styleUrls: ['./disabilities.component.sass']\n})\nexport class DisabilitiesComponent implements OnInit {\n\n\n // MatPaginator Inputs\n length;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n length3;\n pageSize3 = 5;\n page3 = 1;\n isPage3 = 1;\n pageSizeOptions3: number[] = [5, 10, 25, 100];\n\n displayedColumns: string[] = ['acciones', 'fecha', 'nombre', 'numero', 'tipo', 'estado', 'campana'];\n dataSource = new MatTableDataSource();\n dataSource3 = new MatTableDataSource();\n\n reportForm: FormGroup;\n reportForm3: FormGroup;\n Campaings: any;\n filterControl = new FormControl();\n filterControl3 = new FormControl();\n stateType = new FormControl('');\n stateType2 = new FormControl();\n typeDocument = new FormControl();\n typeDocument2 = new FormControl();\n typeDocument3 = new FormControl();\n states = [{ id: 1, name: 'En revisión' }, { id: 2, name: 'Aprobado' }, { id: 3, name: 'Rechazado' }];\n idType = '27';\n idState = '';\n idType3 = '40';\n idState3 = 4; // permisos aprobados\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatPaginator, { static: true }) paginator3: MatPaginator;\n\n document: any;\n startDate: any = '';\n endDate: any;\n idCampaing: any;\n idTypeDoc: any;\n documents: any = [];\n\n // permisos\n document3: any;\n startDate3: any = '';\n endDate3: any;\n idCampaing3: any;\n idTypeDoc3: any;\n\n constructor(public dialog: MatDialog, private service: CampaignsService, private disabilities: DisabilitiesService, private users: CandidatesService) {\n }\n\n ngOnInit() {\n this.reportForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n this.reportForm3 = new FormGroup({\n start3: new FormControl(),\n end3: new FormControl()\n });\n // Estados\n this.stateType.valueChanges.subscribe(resp => {\n this.resetPaginator(2);\n this.idState = resp;\n console.log(resp);\n this.getNovelieties(this.idType, this.pageSize, this.page);\n });\n\n //documento\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.idTypeDoc = resp;\n this.getNovelieties(this.idType, this.pageSize, this.page);\n });\n this.typeDocument.setValue(1);\n\n // tipo doc - tab permisos\n this.typeDocument3.setValue(1);\n this.typeDocument3.valueChanges.subscribe(resp => {\n this.idTypeDoc3 = resp;\n this.getPermits(this.pageSize3, this.page3);\n });\n\n\n //campaña\n this.filterControl.valueChanges.subscribe(resp => {\n this.resetPaginator(2);\n this.idCampaing = resp;\n this.getNovelieties(this.idType, this.pageSize, this.page);\n });\n\n // filtro de campañas para permisos\n this.filterControl3.valueChanges.subscribe(resp => {\n this.resetPaginator(3);\n this.idCampaing3 = resp;\n this.getPermits(this.pageSize3, this.page3);\n });\n this.service.getAllCampaigns().subscribe(resp => {\n this.Campaings = resp.data;\n });\n this.getPermits(this.pageSize3, this.page3);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Metodo de paginación\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getNovelieties(this.idType, this.pageSize, this.page);\n }\n\n pageEvent3(event: any): void {\n this.pageSize3 = event.pageSize;\n this.page3 = Number(event.pageIndex + 1);\n this.getPermits(this.pageSize3, this.page3);\n }\n\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Modal de justificación\n */\n viewJustification(element?): void {\n const dialogNewgroup = this.dialog.open(DisabilitiesResponseComponent, {\n width: '70%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getNovelieties(this.idType, this.pageSize, this.page);\n });\n\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Modal de detalle de la incapacidad\n */\n viewJustification2(element?): void {\n const dialogNewgroup = this.dialog.open(DisabilitiesViewComponent, {\n width: '70%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getNovelieties(this.idType, this.pageSize, this.page);\n });\n\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Modal de detalle de permiso\n */\n viewJustification3(element?): void {\n const dialogNewgroup = this.dialog.open(PermitViewComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'ver',\n title: 'Detalle permiso',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getPermits(this.pageSize, this.page);\n });\n\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e) {\n this.resetPaginator(2);\n this.document = e;\n this.getNovelieties(this.idType, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-12\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod3(e) {\n this.resetPaginator(3);\n this.document3 = e;\n this.getPermits(this.pageSize3, this.page3);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Metodo para capturar el rango de fechas a filtrar\n */\n dateRangeChange() {\n this.resetPaginator(2);\n const date1: Date = this.reportForm.controls.start.value;\n const date2: Date = this.reportForm.controls.end.value;\n const dateStart: string|null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string|null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n this.getNovelieties(this.idType, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-12\n * Metodo para capturar el rango de fechas a filtrar\n */\n dateRangeChange3(): void {\n this.resetPaginator(3);\n const date1: Date = this.reportForm3.controls.start3.value;\n const date2: Date = this.reportForm3.controls.end3.value;\n const dateStart: string|null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string|null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate3 = dateStart;\n this.endDate3 = dateEnd;\n this.getPermits(this.pageSize3, this.page3);\n\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Metodo para filtrar los pendientes\n */\n getNovelieties(type, pageSi, page) {\n this.disabilities.getDisabilitiesBy({\n state: this.idState,\n idTipDoc: this.idTypeDoc,\n document: this.document,\n campaign: this.idCampaing,\n novelty_date1: this.startDate,\n novelty_date2: this.endDate\n }, pageSi, page).subscribe(resp => {\n this.dataSource = resp.data.data;\n console.log(resp.data.data);\n this.length = resp.data.total;\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-07-02\n * Metodo para filtrar los permisos que fueron aprobados\n */\n getPermits(pageSi3, page3, exportData: boolean = false) {\n this.disabilities.getPermitsByFilters({\n idTipDoc: this.idTypeDoc3,\n document: this.document3,\n campaign: this.idCampaing3,\n novelty_date1: this.startDate3,\n novelty_date2: this.endDate3,\n 'export': exportData\n }, pageSi3, page3).subscribe(resp => {\n if (exportData) {\n importedSaveAs(resp, 'reporte_permisos_aprobados.xlsx');\n } else {\n this.dataSource3 = resp.data.data;\n this.length3 = resp.data.total;\n }\n });\n }\n\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-10\n * Metodo de descargar reporte de incapacidades\n */\n downloadReport() {\n this.disabilities.getDisabilitiesBy({\n state: this.idState,\n idTipDoc: this.idTypeDoc,\n document: this.document,\n campaign: this.idCampaing,\n novelty_date1: this.startDate,\n novelty_date2: this.endDate\n }, '', '', true).subscribe(resp => {\n importedSaveAs(resp, 'reporte_incapacidades.xlsx');\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose resetea el paginador\n */\n resetPaginator(numPaginator): void {\n if (numPaginator === 2) {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n } else if (numPaginator === 3) {\n this.length3 = 0;\n this.pageSize3 = 5;\n this.page3 = 1;\n this.paginator3.firstPage();\n }\n }\n\n}\n","
\n
\n

Novedades de incapacidad

\n

En este espacio podrás revisar y/o gestionar las novedades de
incapacidades, no olvides,\"El respeto y la\n empatía son clave\"

\n
\n \n \n \n Estado\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n \n Fecha\n \n \n \n \n \n \n \n \n Identificación\n \n \n {{item.key}}\n \n \n \n Campaña\n \n Todos\n \n {{item?.name}}\n \n \n \n\n \n\n\n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n \n Fecha {{element.novelty_date_start | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}}Tipo de novedad{{element.noveltyTypeName}} Estado{{element.stateName}} Campaña{{element.campaignName}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n\n
\n
\n \n \n Fecha\n \n \n \n \n \n \n \n \n Identificación\n \n \n {{item.key}}\n \n \n \n Campaña\n \n Todos\n \n {{item?.name}}\n \n \n \n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n Fecha {{element.novelty_date_start | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}}Tipo de novedad{{element.noveltyTypeName}} Estado{{element.stateName}} Campaña{{element.campaignName}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n\n
\n
\n
\n\n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AdminTemplateComponent } from './admin-template/admin-template.component';\n\n\nconst routes: Routes = [\n { path: '', component: AdminTemplateComponent},\n { path: 'adminTemplates', component: AdminTemplateComponent},\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class TemplatesRoutingModule { }\n","import { Injectable } from '@angular/core';\nimport { CanActivate, CanActivateChild, CanDeactivate, Router } from '@angular/router';\n;\nimport { MatDialog } from '@angular/material/dialog';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SurverysGuard implements CanActivateChild {\n\n constructor(\n private dialog: MatDialog) { }\n\n canActivateChild():boolean {\n const dialogRef = this.dialog.getDialogById('dialog-surveys')\n \n if (dialogRef ) {\n return false;\n } else {\n return true;\n }\n }\n\n \n\n} ","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/auditoria/services/matriz.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\n\n@Component({\n\tselector: 'app-editar-modulo',\n\ttemplateUrl: './editar-modulo.component.html',\n\tstyleUrls: ['./editar-modulo.component.sass']\n})\nexport class EditarModuloComponent implements OnInit {\n\n\tmoduleForm: FormGroup;\n\tmodulos = [];\n\tnuevo: boolean = false;\n\tpeso: boolean = false;\n\tverError: boolean = true;\n\tcontinue: boolean = false;\n\tfilteredOptions: Observable;\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tpublic moduleRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public datos: any,\n\t\tprivate matrizService: MatrizService,\n\t) { }\n\n\tngOnInit(): void {\n\t\tthis.createForm();\n\t\tthis.getModuleById();\n\t}\n\tcreateForm() {\n\t\tthis.moduleForm = this.fb.group({\n\t\t\tnombre: ['', [Validators.required]],\n\t\t\tpeso: ['', [Validators.required, Validators.max(this.datos.maximo), Validators.min(this.datos.minimo),Validators.required]],\n\t\t\terror_critico: [false, Validators.required],\n\t\t\tis_total: new FormControl('')\n\t\t});\n\t}\n\tprivate _filter(value: string): any[] {\n\t\tconst filterValue = value.toLowerCase();\n\t\treturn this.modulos.filter(option => option.nombre.toLowerCase().includes(filterValue));\n\t}\n\n\tdisplayFn(module: any): string {\n\t\treturn module && module ? module : '';\n\t}\n\tgetModules() {\n\t\tthis.matrizService.getModules(this.moduleForm.get('nombre').value).subscribe((resp: any) => {\n\t\t\tif (resp.length == 0) {\n\t\t\t\tthis.verError = true\n\t\t\t\tthis.moduleForm.get('nombre').setErrors({ invalid: true });\n\t\t\t\tthis.nuevo = true;\n\t\t\t\tthis.peso = true;\n\t\t\t\tthis.moduleForm.get('error_critico').disable();\n\t\t\t\tthis.continue = true;\n\t\t\t} else {\n\t\t\t\tthis.continue = false;\n\t\t\t\tthis.verError = false;\n\t\t\t\tthis.nuevo = false;\n\t\t\t\tthis.modulos = resp\n\t\t\t\tthis.filteredOptions = this.moduleForm.get('nombre').valueChanges.pipe(\n\t\t\t\t\tstartWith(''),\n\t\t\t\t\tmap(value => this._filter(value))\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\n\tnewModule() {\n\t\tthis.nuevo = false;\n\t\tthis.moduleForm.get('nombre').setErrors(null);\n\t\tthis.continue = false;\n\t\tthis.moduleForm.get('error_critico').enable();\n\t}\n\n\tupdateModule() {\n\t\tif (this.moduleForm.invalid) {\n\t\t\treturn\n\t\t}\n\t\tif (\n\t\t\tthis.moduleForm.get('error_critico').value\n\t\t\t&& (this.moduleForm.get('peso').value == \"\" || this.moduleForm.get('peso').value == undefined || this.moduleForm.get('peso').value == null)\n\t\t\t&& this.moduleForm.get('is_total').value == false) {\n\t\t\tthis.moduleForm.get('peso').setErrors({ required: true });\n\t\t\treturn;\n\t\t}\n\n\t\tconst data = {\n\t\t\tidModulo: this.datos.id_module\n\t\t}\n\t\tObject.assign(data, this.moduleForm.value);\n\t\tthis.matrizService.updateModule(data).subscribe((resp: any) => {\n\t\t\tif (resp.respuesta.codigo == 202) {\n\t\t\t\tTools.swalSuccess('¡Excelente!', 'Se ha actualizado el módulo correctamente.');\n\t\t\t\tthis.moduleRef.close();\n\t\t\t} else if (resp.respuesta.codigo > 400) {\n\t\t\t\tTools.swalError('¡Oops!', 'Lo sentimos, ha ocurrido un error inesperado y no fue posible actualizar el módulo, por favor intenta nuevamente.');\n\t\t\t}\n\t\t}, (err: any) => {\n\t\t}\n\t\t);\n\t}\n\n\tgetModuleById() {\n\t\tthis.matrizService.getModuleById(this.datos.id_module).subscribe((resp: any) => {\n\t\t\tthis.moduleForm.setValue({\n\t\t\t\tnombre: resp.nombre,\n\t\t\t\tpeso: resp.peso,\n\t\t\t\terror_critico: resp.error_critico,\n\t\t\t\tis_total: resp.error_critico == 1 && resp.peso == null || resp.peso == 0 ? true : false\n\t\t\t});\n\n\t\t\tif (resp.error_critico == 1 && (resp.peso == null || resp.peso == 0)) {\n\t\t\t\tthis.moduleForm.get('peso').disable();\n\t\t\t} else {\n\t\t\t\tthis.moduleForm.get('peso').enable();\n\t\t\t}\n\t\t\tif (this.datos.tipo_matriz == \"Cumplimiento\") {\n\n\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t} else {\n\t\t\t\tif (this.datos.tipo_peso) {\n\t\t\t\t\tif (this.datos.tipo_peso == 'Peso en Módulos') {\n\t\t\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (resp.peso !== \"\" && resp.peso !== null && resp.peso !== undefined && resp.peso > 0) {\n\t\t\t\t\t\t\tthis.moduleForm.get('peso').enable();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.moduleForm.get('peso').disable();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tchangeCheck(event: any): void {\n\n\t\tif (event.checked) {\n\t\t\tif (this.datos.tipo_peso == 'Peso en Items') {\n\t\t\t\tthis.moduleForm.get('peso').setValue(null);\n\t\t\t\tthis.moduleForm.get('peso').enable();\n\t\t\t}\n\t\t\tthis.moduleForm.get('is_total').enable();\n\t\t\tthis.moduleForm.get('peso').setValidators([Validators.min(this.datos.minimo), Validators.max(this.datos.maximo), Validators.required])\n\t\t} else {\n\t\t\tif (this.datos.tipo_peso == 'Peso en Items') {\n\t\t\t\tthis.moduleForm.get('peso').setValue(null);\n\t\t\t\tthis.moduleForm.get('peso').disable();\n\t\t\t}\n\t\t\tthis.moduleForm.get('peso').setValidators(null)\n\t\t\tthis.moduleForm.get('is_total').setValue(false);\n\t\t\tthis.moduleForm.get('is_total').disable();\n\t\t}\n\t}\n\n\t/** Metodo que se encarga de habilit el peso\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 16/06/2022 \n\t * @param event:any evento de HTML \n\t */\n\thabilitarPeso(event: any): void {\n\t\tif (event.checked) {\n\t\t\tthis.moduleForm.get('peso').setValue('');\n\t\t\tthis.moduleForm.get('peso').disable();\n\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\tthis.moduleForm.get('peso').setValidators(null)\n\t\t} else {\n\t\t\tthis.moduleForm.get('peso').setValue('');\n\t\t\tthis.moduleForm.get('peso').enable();\n\t\t\tif (this.moduleForm.get('error_critico').value) {\n\t\t\t\tthis.moduleForm.get('peso').setValidators([Validators.min(this.datos.minimo), Validators.max(this.datos.maximo), Validators.required])\n\t\t\t\tthis.moduleForm.get('peso').setErrors({ required: true });\n\t\t\t} else {\n\t\t\t\tthis.moduleForm.get('peso').setErrors(null);\n\t\t\t\tthis.moduleForm.get('peso').setValidators([Validators.min(this.datos.minimo), Validators.max(this.datos.maximo)])\n\t\t\t}\n\t\t}\n\n\t}\n\n\n\t\n}\n","\n
\n

Editar módulo

\n \n \n Nombre\n \n \n \n \n {{option.nombre}}\n \n \n Por favor ingresa un nombre.\n No se encontraron coincidencias con el nombre que acabas de ingresar\n \n \n \n Peso\n \n Por favor ingresa un número de peso.\n Por favor ingresar un peso superior a {{ this.datos.minimo }} .\n Por favor ingresar un peso menor a {{ this.datos.maximo }} .\n \n ¿Es módulo crítico?\n
\n ¿Es afectación total?\n\n
\n \n \n
\n
","import { LOCALE_ID, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CrmComponent } from './crm.component';\nimport { CrmRoutingModule } from './crm-routing.module';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { GroupsModule } from './modules/groups/groups.module';\nimport { FormsModule } from '@angular/forms';\nimport { AdminEscalationComponent } from './modules/escalation/admin-escalation/admin-escalation.component';\nimport { ViewEscalationComponent } from './modules/escalation/view-escalation/view-escalation.component';\nimport { AdminEmailComponent } from './modules/email/admin-email/admin-email.component';\nimport { ViewMailComponent } from './modules/email/view-mail/view-mail.component';\nimport { CreateStateComponent } from './modules/escalation/create-state/create-state.component';\nimport { CreateAffairComponent } from './modules/escalation/create-affair/create-affair.component';\nimport { EditUserComponent } from './modules/escalation/edit-user/edit-user.component';\nimport { AngularEditorModule } from '@kolkov/angular-editor';\nimport { ManageEmailComponent } from './modules/email/manage-email/manage-email.component';\nimport { NewEmailComponent } from './modules/email/new-email/new-email.component';\nimport { TemplatesModule } from './modules/templates/templates.module';\nimport { LandingPageCrmComponent } from './modules/landing-page-crm/landing-page-crm.component';\nimport { MailEscalationComponent } from './modules/escalation/mail-escalation/mail-escalation.component';\nimport { GestionadorCorreosComponent } from \"./modules/escalation/gestionador-correos/gestionador-correos.component\";\n\nimport localeEs from '@angular/common/locales/es';\nimport { registerLocaleData } from '@angular/common';\nimport { ViewPlantillasComponent } from './modules/escalation/view-plantillas/view-plantillas.component';\nimport { FilesUploadComponent } from './modules/escalation/files-upload/files-upload.component';\nregisterLocaleData(localeEs, 'es');\n\n@NgModule({\n declarations: [\n CrmComponent,\n AdminEscalationComponent,\n ViewEscalationComponent,\n AdminEmailComponent,\n ViewMailComponent,\n CreateStateComponent,\n CreateAffairComponent,\n EditUserComponent,\n ManageEmailComponent,\n NewEmailComponent,\n LandingPageCrmComponent,\n MailEscalationComponent,\n GestionadorCorreosComponent,\n ViewPlantillasComponent,\n FilesUploadComponent],\n imports: [\n CommonModule,\n CrmRoutingModule,\n SharedModule,\n GroupsModule,\n FormsModule,\n TemplatesModule,\n AngularEditorModule\n ],\n exports: [\n ],\n providers: [{provide: LOCALE_ID, useValue: 'es'}],\n})\nexport class CrmModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { ChatRestService } from '../../services/chat-rest.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-all-contacts',\n templateUrl: './all-contacts.component.html',\n styleUrls: ['./all-contacts.component.sass']\n})\nexport class AllContactsComponent implements OnInit {\n /**\n * Listado de tipos de documento\n */\n listTypeDocuments:any[]=[]\n\n /**\n * Variable de control para la busqueda\n */\n filterForm:FormGroup = new FormGroup({\n searchControl: new FormControl(null,[Validators.required]),\n typeDocument: new FormControl(1,[]),\n })\n \n\n /**\n * Variable que indica el tipo de busqueda \n * document \n * user\n */\n typeSearch:'document' | 'user' = 'user';\n\n\n listUsers:any[]=[]\n constructor(\n private chatRestService:ChatRestService,\n private alertService:AlertsService,\n private dialogRef:MatDialogRef\n ) { }\n\n ngOnInit(): void {\n this.getTypedocuments();\n this.filterForm.get('searchControl').valueChanges.subscribe(\n (searchValue)=>{\n if(searchValue != null && searchValue != \"\" ){\n if(this.isNumeric(searchValue)){\n this.typeSearch = 'document'\n }else{\n this.typeSearch = 'user'\n }\n }\n }\n );\n }\n\n /**\n * Metodo que se encarga de determinar si el valor es numerico o no\n * @param value:string|number {string|number}\n * @returns boolean {bollean} True en caso de ser numerico False en caso de contener letras o caracteres especiales\n */\n private isNumeric(value):boolean{\n return !isNaN(parseFloat(value)) && isFinite(value);\n }\n\n /**\n * Metodo que se encarga de obtener el listado de los tipos de documento\n * @author Juan David Guerrero Vargas\n */\n getTypedocuments():void{\n this.chatRestService.getIdTypesdocuments().subscribe((resp:any[]) => {\n this.listTypeDocuments = resp;\n });\n }\n\n\n /**\n * Metodo que se encarga de realizar la busuqeda segun el criterio de filtrado indicado\n * @author Juan David Guerrero Vargas\n * @returns {void} void\n */\n searchUsers():void{\n let searchValue = this.filterForm.get('searchControl').value\n if(searchValue == null || searchValue == \"\" ){\n this.alertService.alertSmallNotification('top-end', 'success', `

Debe ingrersar algun valor apra el filtrado

`)\n return;\n }\n\n switch (this.typeSearch) {\n case 'document':\n let searchValue = {\n document: this.filterForm.get('searchControl').value,\n type_doc: this.filterForm.get('typeDocument').value,\n }\n this.chatRestService.getUsersBydocumentAndType(searchValue).subscribe(\n (restUsers:any)=>{\n this.listUsers = [{\n rrhh_id:restUsers.data.rrhh_id,\n name:restUsers.data.name,\n recipient_type:1,\n countMessageNotRead:0,\n }]\n },(error)=>{\n this.listUsers = []\n }\n );\n break;\n case 'user':\n this.chatRestService.getUserByName(this.filterForm.get('searchControl').value).subscribe(\n (restUsers:any)=>{\n this.listUsers = restUsers.data.map( (user:any) =>{\n user[\"recipient_type\"] = 1\n user [\"countMessageNotRead\"] = 0\n return user;\n } )\n },(error)=>{\n this.listUsers = []\n }\n );\n break;\n \n default:\n this.listUsers=[]\n break;\n }\n \n }\n\n /**\n * Metodo que se encarga de establecer un nuevo chat segun el usuario seleccionado\n * @param user:any {any}\n */\n newChat(user:any):void{\n this.dialogRef.close({user:user})\n }\n}\n","\n
\n
\n

Listado de contactos

\n
\n
\n\n
\n
\n
\n \n Busqueda por documento o usuario\n \n \n {{item.key}}\n \n Presiona \"ENTER\" para buscar por número de documento o por nombre de usuario.\n \n
\n
\n
\n\n
\n
\n
    0\">\n
  • {{ user.name }}
  • \n
\n

Debes ingresar un criterio de búsqueda y presionar \"ENTER\" para consultar la lista de contactos.

\n
\n
\n\n\n
","import { Injectable } from '@angular/core';\nimport * as FileSaver from 'file-saver';\nimport * as XLSX from 'xlsx';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class FileService {\n \n constructor() {}\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-08-04\n * Metodo crea y exporta el json a excel\n */\n public exportAsExcelFile(json: any[],fileName): void { \n let excelFileName = fileName + '_export_' + this.formatDate(new Date());\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\n this.saveAsExcelFile(excelBuffer, excelFileName);\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-08-04\n * Metodo guarda el excel\n */\n private saveAsExcelFile(buffer: any, fileName: string): void {\n const EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\n const EXCEL_EXTENSION = '.xlsx';\n const data: Blob = new Blob([buffer], {\n type: EXCEL_TYPE\n });\n FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-08-04\n * Metodo forma la fecha actual en string \n */\n formatDate(date) {\n return [\n this.padTo2Digits(date.getDate()),\n this.padTo2Digits(date.getMonth() + 1),\n date.getFullYear(),\n ].join('_');\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-08-04\n * convierte un numero a string\n */\n padTo2Digits(num) {\n return num.toString().padStart(2, '0');\n }\n\n}\n","import { ChartOptions } from 'chart.js';\nimport 'chartjs-plugin-datalabels';\n\nexport const OPTIONS_PIE: ChartOptions<'pie'> = {\n plugins: {\n datalabels: {\n backgroundColor: function (_) {\n return 'rgba(0, 0, 0, 0.5)'; \n },\n anchor: 'end', \n align: 'start',\n offset: 10,\n color: 'white',\n font: {\n weight: 'bold',\n size: 14,\n family: '\"Poppins\", sans-serif'\n },\n formatter: (value) => `${Math.round(value * 100)}%`,\n borderRadius: 4,\n padding: 6\n },\n legend: {\n position: 'bottom',\n labels: {\n font: {\n size: 14,\n family: '\"Poppins\", sans-serif'\n }\n }\n },\n tooltip: {\n titleFont: {\n family: '\"Poppins\", sans-serif'\n },\n bodyFont: {\n family: '\"Poppins\", sans-serif'\n },\n callbacks: {\n label: function(tooltipItem) {\n let value = Number(tooltipItem.raw);\n if (isNaN(value)) return 'Invalid data';\n return `${Math.round(value * 100)}%`;\n }\n }\n }\n },\n};","import { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { BookingCreateComponent } from './../../../modules/reservas/modules/bookings/booking-create/booking-create.component';\nimport { TypeResources } from './../../../modules/reservas/modules/bookings/bookings-main/bookings-main.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ResourcesService } from './../../../modules/reservas/services/resources.service';\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\nimport { Observable, from, observable } from 'rxjs';\nimport { map, startWith, filter } from 'rxjs/operators';\nimport { QuestionBase } from 'src/app/core/models/questions-base-v2';\nimport { DateAdapter } from '@angular/material/core';\nimport { DynamicFormServiceService } from '../../../core/services/rest/dynamic-form-service.service.crm.v2';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { RequireMatch } from 'src/app/core/services/utils/question-control.service';\nimport { FormsRequestService } from 'src/app/modules/crm_v2/services/rest/forms-request.service';\n\ninterface Option {\n id: string,\n name: string\n}\n\n@Component({\n selector: 'shared-form-questions-v4',\n templateUrl: './form-questions.component.html',\n styleUrls: ['./form-questions.component.sass']\n})\nexport class FormQuestionsV4Component implements OnInit {\n myControl = new FormControl();\n options: any = [];\n filteredOptions: Observable;\n @Output() addField = new EventEmitter();\n @Output() addDependece = new EventEmitter();\n @Output() calculateField = new EventEmitter();\n @Output() triggerApi = new EventEmitter();\n @Input() question: QuestionBase;\n @Input() idSection: QuestionBase;\n @Input() form: FormGroup;\n @Input() formId;\n nameFile: string;\n oldValue: string;\n\n @Output() addFile = new EventEmitter();\n typeSelectorChargables:string[]=[\n\t\t'dropdown', 'multiselect', 'autocomplete'\n\t]\n typeSelectorsCalculate:string[] = [\n 'dropdown','autocomplete','radiobutton',\n ]\n\n\n constructor(private fb: FormBuilder,\n private adapter: DateAdapter,\n private dynamicService: DynamicFormServiceService,\n private destroyService: DestroyComponentService,\n public resourcesService:ResourcesService,\n private dialog_agenda: MatDialog,\n private route: ActivatedRoute,\n public alertService:AlertsService,\n private formsRequestService: FormsRequestService,\n ) {\n this.adapter.setLocale('es');\n }\n\n\n ngOnInit(): void {\n\n if (this.form.get(this.question.key) !== null) {\n this.oldValue = this.question.value;\n if(this.question.controlType == 'dropdown-request'){\n this.getOptions(this.question)\n .then(() =>{\n let index = this.question.options.findIndex(state => JSON.stringify(state) === JSON.stringify(this.question.value));\n if(index >= 0){\n this.form.controls[this.question.key].setValue(this.question.options[index])\n }\n });\n }\n\n if (this.question.controlType === 'file') {\n if ((this.question.value === null || this.question.value === '') && this.question.nameFile) {\n this.form.controls[this.question.key].setValidators(null);\n this.form.controls[this.question.key].updateValueAndValidity();\n }\n }\n this.filteredOptions = this.form.get(this.question.key).valueChanges\n .pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value?.name),\n map(state => state ? this._filter(state) : this.question.options)\n );\n\n }\n if(this.typeSelectorChargables.find( (type:any) => type == this.question.controlType ) !== undefined && this.question.isChargeableOption == true && (Array.isArray(this.question.dependencies) == false || this.question.dependencies.length <= 0 ) ){\n \n this.getOptionstoFieldChargable();\n }\n\n\n }\n private _filter(value: string): any[] {\n if (value) {\n const filterValue = value.toLowerCase();\n return this.question.options.filter(state => state.name.toLowerCase().includes(filterValue));\n }\n }\n\n displayFn(id): any {\n if (!id) {\n return '';\n }\n const index = this.question.options.findIndex(state => state.id === id);\n return this.question.options[index].name;\n }\n\n /**\n * @author Karol García\n * @createdate 2021-04-12\n * Método que devuelve el nombre elegido en loa autocomplete\n */\n displayFn2(option): any {\n if (!option) {\n return '';\n }\n let index = this.question.options.findIndex(state => JSON.stringify(state) === JSON.stringify(option));\n return this.question.options[index].name;\n }\n\n\n getErrorMessage() {\n if (this.form.controls[this.question.key]) {\n if (this.form.controls[this.question.key].hasError('required')) {\n return `${this.question.label} es requerido`;\n }\n if (this.form.get(this.question.key).hasError('invalidAutocompleteObject')) {\n return `No es una opción válida`;\n }\n if (this.form.get(this.question.key).hasError('maxlength')) {\n return `${this.question.label} supera el límite de ${this.question.maxLength} caracteres`;\n }\n if (this.form.get(this.question.key).hasError('minlength')) {\n return `${this.question.label} debe tener ${this.question.minLength} mínimo caracteres`;\n }\n if (this.form.get(this.question.key).hasError('email')) {\n return `No es un correo electrónico válido`;\n }\n }\n\n }\n addQuestion(question) {\n this.addField.emit(question);\n }\n \n /**\n * Metodo que se dispara en la seleccion de una opcion dentro de un autoComplete\n * @update 18/09/2023\n */\n optionSelected(event, question) {\n this.editedAdviser(event);\n let aux: any;\n aux = {\n idFather: question.id,\n idValue: event,\n idSection: this.idSection\n };\n this.addDependece.emit(aux);\n let calcualted = {\n question:question,\n value: event,\n }\n this.changeFieldCalculated(calcualted);\n }\n\n onFileSelected(e, id) {\n this.editedAdviser(e);\n this.question.value = e.target.files[0].name;\n this.question.nameFile = e.target.files[0].name;\n const data = {\n id: id,\n file: e.target.files[0]\n };\n this.addFile.emit(data);\n\n }\n\n selectedOptonMulti(event:any, question){\n this.editedAdviser(event)\n \n const aux = {\n idFather: question.id,\n idValue: event,\n idSection: this.idSection,\n isMultiple:true\n };\n this.addDependece.emit(aux);\n \n }\n\n /**\n * Metodo que se encarga dde refescarr a lista de opciones para evitar que se retardo en carga de opciones\n * @author Jua David Guerrero Vargas\n * @retruns void {void}\n */\n refreshListOptions():void{\n if(this.question.dependencies.length > 0 && this.question.controlType == 'autocomplete'){\n this.filteredOptions = from(this.question.dependencies).pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(state => state ? this._filter(state) : this.question.options.slice(0, 5))\n );\n }\n }\n\n /**\n * @author Karol García\n * @createdate 2021-04-13\n * Metodo que consulta las opciones por campo tipo dropdown-request\n * *** IMPORTANTE ********\n * La respuesta debe ser { id : \" STRING \" , name: \"Test\"} Ex. { \"id\":\"1\",\"name\":\"Test\"}\n *\n */\n getOptions(question) {\n var promise = new Promise((resolve) => {\n if(question.apiServe){\n this.dynamicService.getData(question.apiServe,`dropdown/options/${question.key}`).subscribe( (options:any) => {\n if(options.length > 7){\n this.question.controlType ='autocomplete2'\n this.form.controls[this.question.key].setValidators([\n RequireMatch,\n ]);\n }\n this.question.options = options;\n resolve(options);\n });\n }\n });\n return promise;\n }\n\n downloadFile(value: any) {\n if (typeof value.value === 'string' && value.value !== '') {\n const url = value.value.split('/');\n const urlId = url[url.length - 1];\n const data = new FormData();\n data.append( 'url', urlId);\n this.dynamicService.downloadFile(data).subscribe((resp: any) => {\n importedSaveAs(resp, value.nameFile);\n });\n }\n else {\n let urlId = null;\n const data = new FormData();\n if (!value.idValue) {\n urlId = value.value;\n } else {\n urlId = value.idValue;\n }\n data.append( 'url', urlId);\n this.dynamicService.downloadFile(data).subscribe((resp: any) => {\n importedSaveAs(resp, value.nameFile);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n //Valida si el campo fue editado por el asesor y asigna el valor\n editedAdviser(event){\n if (event !== this.oldValue) {\n this.question['edit_by_adviser'] = true;\n }else{\n this.question['edit_by_adviser'] = false;\n }\n }\n\n openAgenda( ){\n\n this.route.params.subscribe(params => {\n this.resourcesService.getResources('resourcetypes', {idForm:params['id']}).subscribe(res=>{\n const resourceTypes = res;\n if( resourceTypes.length == 0 ){\n this.alertService.alertWarning('¡Atención!', \"No hay recursos creados para este formulario\");\n }\n else\n {\n const resourcesDialog = this.dialog_agenda.open( TypeResources, {\n data: { types: resourceTypes}\n });\n resourcesDialog.afterClosed().subscribe(type=>{\n\n\n const reservasDialog = this.dialog_agenda.open( BookingCreateComponent, {\n data: {\n id: type[0][\"id\"],\n type: type[0][\"name\"]\n }\n });\n reservasDialog.afterClosed().subscribe(dateResult => {\n this.form.controls[this.question.key].setValue(dateResult);\n })\n\n\n })\n\n }\n\n\n })\n });\n\n }\n\n /**\n * Metodo que se encarga de cargar las opciones para los selectores cargados por archivo Excel\n * @autor Juan David Guerrero Vargas\n * @returns {void}\n */\n getOptionstoFieldChargable(){\n if(this.formId){\n this.formsRequestService.getOptionsUploadFileAll(String(this.formId),String(this.question.id),false).subscribe(\n restResponse => {\n if (Array.isArray(restResponse.options) == true && restResponse.options.length > 0 ){\n this.question.options = [];\n restResponse.options.forEach( (option:any) => {\n this.question.options.push( { id:Number(option.id), name:option.option_name , value_option:option.option_id, stateDisabled:false } )\n });\n }else{\n this.question.options = []\n for (const key in restResponse.options) {\n this.question.options.push( {id:Number(key), name: restResponse.options[key],value_option:'', stateDisabled:false } )\n }\n }\n \n }\n )\n }\n\n }\n\n /**\n * Metodo que se encarga de emmitir evento cuando un campo de tipo number o currency cambia su valor de tal forma que se pueda notificar de su cambio\n * @param event:any evento de cambio en los inputs\n * @author Juan David Guerrero Vargas\n * @returns {void} viod\n */\n\n changeFieldCalculated(event:any):void{ \n this.editedAdviser(event); \n if( this.question.type == \"number\" || this.typeSelectorsCalculate.find( (fnd:string) => fnd == this.question.controlType ) !== undefined ){\n this.calculateField.emit(event);\n }\n }\n\n /**\n * @author Juan David Guerrero Vargas\n * @create_date 04/08/2023 \n * @update 18/09/2023\n * @param event:FocusEvent Evento Blur de inputs autoComplete\n * @returns void {void} \n */\n cleanInput(question:any):void{\n const valueControl = this.form.controls[question.key].value\n if( valueControl == null || valueControl == undefined || typeof valueControl === \"string\"){\n let aux: any;\n aux = {\n idFather: question.id,\n idValue: this.form.controls[question.key].value,\n idSection: this.idSection\n };\n this.form.controls[question.key].setValue(null);\n this.addDependece.emit(aux);\n }\n }\n\n\n /**\n * Metodo que se encarga determinar si se debe o no dispara el consumo del API\n * @param configTrigger:any {any}\n * @param typeEvent:string {string} tipo de evento que trata de dispara el consumo API\n * @returns {boolean} boolean True en caso de dispara el consumo False de lo contrario\n */\n isAviableTriggerField(configTrigger:any, typeEvent:string ):boolean{\n if(configTrigger?.type_trigger == '1'&& typeEvent == 'outFocus'){\n return true\n }else if(configTrigger?.type_trigger == '2' && typeEvent == 'change'){\n return true\n }else if (configTrigger?.type_trigger == '3' && typeEvent == 'click'){\n return true\n }\n return false;\n }\n\n /**\n * Metodo que se encarga de eminir el valor del campo disparador una vez se retire el foco del mismo\n * @param event:any {any}\n */\n emmitTrigger(event:any, typeEvent:string){\n if(this.question?.isApiDispatcher !== undefined && this.question.isApiDispatcher == true){\n //Usamos accesos a datos por Key-value ya que el modelo de question Base solo tiene configuracion del campo y no de comportamiento\n const configTrigger = this.question['apiTriggerConfig'];\n if(this.isAviableTriggerField(configTrigger,typeEvent)){\n this.triggerApi.emit({ changefield:true, question: this.question })\n }\n }\n\n }\n\n\n}\n","
\n \n \n {{question.label}}\n $  \n
\n
\n \n
\n
\n \n
\n
\n \n \n {{option.name}}\n \n \n
\n
\n \n \n {{option.name}}\n \n \n
\n
\n \n \n {{option.name}}\n \n \n
\n
\n \n \n \n {{option.name}}\n \n \n
\n
\n \n
\n \n \n \n\n
\n\n \n\n
\n
\n \n \n \n {{option.name}}\n \n \n
\n
\n\n
\n
\n \n \n {{option.name}}\n \n \n
\n\n
\n\n calendar_today\n\n \n \n \n \n\n {{getErrorMessage()}}\n\n\n
\n \n\n
\n
\n

{{question.label}}

\n
\n \n \n {{option.name}}\n \n \n
\n
\n
\n
\n \n \n \n
\n \n \n {{question.label}}\n \n = 24\">\n {{question.label | slice:0:23}}...\n \n
\n

\n \n {{question.nameFile}}\n \n = 17\">\n {{question.nameFile | slice:0:16}}...\n \n

\n \n\n
\n
\n\n
\n
\n\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DetalleRetroalimentacionComponent } from '../detalle-retroalimentacion/detalle-retroalimentacion.component';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n@Component({\n selector: 'app-tabla-retroalimentar',\n templateUrl: './tabla-retroalimentar.component.html',\n styleUrls: ['./tabla-retroalimentar.component.sass']\n})\nexport class TablaRetroalimentarComponent implements OnInit {\n\n @Input() dataSource = [];\n displayedColumns:string[] = ['acciones','id','fecha_auditoria','campaña','nombre_auditado','retroalimentada'];\n roles = [];\n\n\n is_supervisor:boolean = false;\n\n @Input()length;\n @Input()pageSize = 5;\n @Input() page = 1;\n pageSizeOptions = [5,10,25,50,100];\n @Output() paginacion = new EventEmitter();\n campania:string = '';\n constructor(\n private dialog:MatDialog,\n private authService:AuthService,\n private router: Router,\n ) { \n \n }\n\n ngOnInit(): void {\n\n this.roles = this.authService.getUser().roles;\n //console.log(this.roles);\n this.roles.forEach(rol => {\n \n if (rol == 'auditoria::supervisor') {\n this.is_supervisor = true;\n }\n \n\n });\n\n\n }\n\n detailRetroAlimentacion(id){\n\n\n //this.router.navigateByUrl(`/mios/auditoria/detail-retro/${id}`);\n let uri = `/mios/auditoria/detail-retro/${id}`;\n\n this.router.navigateByUrl('/', {skipLocationChange: true}).then(()=>\n this.router.navigate([uri]));\n\n\n /* const retroalimentacionRef = this.dialog.open(DetalleRetroalimentacionComponent,{\n width:'1056px',\n disableClose:true,\n data: id,\n });\n retroalimentacionRef.afterClosed().subscribe(()=>{\n \n });*/\n }\n\n pageEvent(event:any){\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.paginacion.emit({\n pagina: this.page,\n registros: this.pageSize,\n });\n }\n\n get campaign(){\n let campaignMatriz;\n this.dataSource.forEach(element => {\n campaignMatriz = element.campaign;\n });\n if (campaignMatriz.length == 0) {\n return false\n }\n this.campania = campaignMatriz.name;\n return true;\n }\n\n}\n","
\n \n\n \n \n
\n
\n \n \n \n\n \n \n \n \n \n\n\n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n\n \n \n \n
\n \n ID {{ element.matriz.id}} Fecha auditoría {{ element.matriz.created_at | date:'dd/MM/yyyy' }} Campaña {{ element.campaign }} Nombre auditado {{ element.matriz.nombre_asesor }} Estado {{ element.matriz.retroalimentada_nombre }}
No hay registros para mostrar
\n\n \n \n \n
","import { Component, OnInit } from '@angular/core';\nimport { ConfigTable, Paginator } from 'src/app/shared/basic-crud-page/type';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AssignPriorityComponent } from '../../components/assign-priority/assign-priority.component';\nimport { AssignPriorityService } from '../../services/assign-priority.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { EmailService } from '../../services/email.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\nimport { TrayService } from '../../services/tray.service';\n\n@Component({\n selector: 'app-assign-priority-page-main',\n templateUrl: './assign-priority-page-main.component.html',\n styleUrls: ['./assign-priority-page-main.component.css']\n})\nexport class AssignPriorityPageMainComponent implements OnInit {\n assignsPriority: any[] = [];\n filter: string = '';\n filterSelect: number = 0;\n filterOptionalSelect: number = 0;\n configColumnsTable: ConfigTable[] = [\n { name: '', key: 'actions', type: 'events' },\n { name: 'Cuenta de correo', key: 'user_name_email_entrada' },\n { name: 'Correo electrónico', key: 'email' },\n ];\n configPaginator: Paginator = { length: 0, pageIndex: 0, pageSize: 5 };\n userLogin: any = null;\n emailsConfig: any[] = [];\n trays: any[] = [];\n\n constructor(\n private matDialog: MatDialog,\n private assignPriorityService: AssignPriorityService,\n private matSnackBar: MatSnackBar,\n private emailService: EmailService,\n private authService: AuthService,\n private trayService: TrayService\n ) { }\n\n ngOnInit(): void {\n this.getEmailsConfigByRol();\n this.getTrays();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que trae las asignaciones prioritarias registrados en el sistema. \n */\n getAssignsPriority(): void {\n if (this.filterSelect !== 0) {\n this.assignPriorityService.getAssignsPriority(this.configPaginator, this.filterSelect, this.filter, this.filterOptionalSelect).subscribe(res => {\n this.assignsPriority = res.data.data;\n this.configPaginator.length = res.data.total;\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que setea el filtro emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilter($event: string) {\n this.filter = $event;\n this.configPaginator.pageIndex = 0;\n this.getAssignsPriority();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que actualiza el estado de una asignacion prioritaria. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeStateValueAns($event: any): void {\n const setDataState = { ...$event.item, state: $event.state };\n this.assignPriorityService.storeAssignPriority(setDataState).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.getAssignsPriority();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que permite ejecutar la modal para crear o actualizar una asignacion prioritaria. \n * @param state Estado seleccionada de la tabla. \n * @param titleDialog Titulo que va a tener la modal. \n * @param viewOnly Modo de vizualizacion de la modal. \n */\n onClickShowPriority(assignPriority: any = null, titleDialog: string = 'Asignar prioridad', viewOnly: boolean = false): void {\n this.matDialog.open(AssignPriorityComponent, {\n width: '50%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-assign-priority',\n data: {\n titleDialog,\n assignPriority,\n viewOnly,\n emailsConfig: this.emailsConfig,\n trays: this.trays\n }\n }).afterClosed().subscribe(res => {\n if (res) this.getAssignsPriority();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que permite actualizar la configuracion de la paginacion.\n * @param $event Evento emitido por el componente hijo. \n */\n onChangePage($event: Paginator): void {\n this.configPaginator = $event;\n this.getAssignsPriority();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que setea el filtro del select emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilterSelect($event: number) {\n this.filterSelect = $event;\n this.configPaginator.pageIndex = 0;\n this.getAssignsPriority();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-23\n * Metodo que trae solo las bandejas prioritaria y spam. \n */\n getTrays(): void {\n this.trayService.getTrays(null, '', false, 0, 1).subscribe(res => {\n this.trays = res.data.filter((item: any) => item.key === 'prioritaria' || item.key === 'spam');\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-23\n * Metodo que setea el filtro del select opcional emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilterOptionalSelect($event: number) {\n this.filterOptionalSelect = $event;\n this.configPaginator.pageIndex = 0;\n this.getAssignsPriority();\n }\n}","\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst calidad_url = environment.CALIDAD_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportsService {\n\n constructor(\n private http:HttpClient,\n ) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n getReportGeneral(params){\n const item = localStorage.getItem('locale');\n params.lang = item ? JSON.parse(item) : 'es';\n return this.http.get(`${calidad_url}descargaReporteGeneral`,{params,responseType:'blob'})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from '../../../../environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\n\n\nexport class PositionsService {\n\n constructor(private http:HttpClient){}\n\n cargos: any [];\n api_services = environment.BPMS_URL;\n api_rrhh = environment.RRHH_URL;\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n };\n\n getPositions(id,flag ?) {\n\n return this.http.get(`${this.api_services}position/category/${id}${flag}`, this.httpOptions);\n\n // this.cargos = cargosJSON;0\n\n // this.cargos = this.cargos.sort((a, b) => a.cargo.localeCompare(b.cargo));\n\n // this.cargos = this.cargos.filter( tipo => tipo.tipo === id);\n\n // return this.cargos.sort((a, b) => a.cargo.localeCompare(b.cargo));\n\n }\n getPositionsActives(id) {\n return this.http.get(`${this.api_services}position/category/${id}?flag=actives`, this.httpOptions);\n }\n\n getPositionsStatusActive(id) {\n return this.http.get(`${this.api_rrhh}position/category-active/${id}`);\n }\n}\n\nconst cargosJSON = [\n {\n id: '1',\n cargo: 'Asesor comercial',\n\n tipo: 2,\n\n\n },\n {\n id: '2',\n cargo: 'Asesor servicio al Cliente',\n\n tipo: 2,\n\n\n },\n {\n id: '3',\n cargo: 'Asesor cobranza',\n\n tipo: 2,\n\n\n },\n {\n id: '4',\n cargo: 'Asesor Back Office',\n\n tipo: 2,\n\n\n },\n {\n id: '5',\n cargo: 'Asesor seguros',\n\n tipo: 2,\n\n\n },\n {\n id: '6',\n cargo: 'Asesor soporte',\n\n tipo: 2,\n\n\n },\n {\n id: '7',\n cargo: 'Asesor de salud',\n\n tipo: 2,\n\n\n },\n {\n id: '8',\n cargo: 'Asesor presencial Olimpicas',\n\n tipo: 2,\n\n\n },\n {\n id: '9',\n cargo: 'Aux de enfermeria',\n\n tipo: 2,\n\n\n },\n {\n id: '10',\n cargo: 'Jefe de enfermeria',\n\n tipo: 2,\n\n\n },\n {\n id: '11',\n cargo: 'Supervisor',\n\n tipo: 2,\n\n\n },\n {\n id: '12',\n cargo: 'Formador junior',\n\n tipo: 2,\n\n\n },\n {\n id: '13',\n cargo: 'Formador senior',\n\n tipo: 2,\n\n\n },\n {\n id: '14',\n cargo: 'Analista de calidad',\n\n tipo: 2,\n\n\n },\n {\n id: '15',\n cargo: 'Reporting',\n\n tipo: 2,\n\n\n },\n {\n id: '16',\n cargo: 'Controller',\n\n tipo: 2,\n\n\n },\n {\n id: '17',\n cargo: 'Pushers',\n\n tipo: 2,\n\n\n },\n {\n id: '18',\n cargo: 'Back office',\n\n tipo: 2,\n\n\n },\n {\n id: '19',\n cargo: 'Lider de formacion y calidad',\n\n tipo: 2,\n\n\n },\n {\n id: '20',\n cargo: 'Datamarshall',\n\n tipo: 2,\n\n\n },\n {\n id: '21',\n cargo: 'Jefes de Operación',\n\n tipo: 2,\n\n\n },\n {\n id: '22',\n cargo: 'Coordinadores de Operación',\n\n tipo: 2,\n\n\n },\n {\n id: '23',\n cargo: 'Especialista en ventas',\n\n tipo: 2,\n\n\n },\n {\n id: '24',\n cargo: 'Oficial de seguridad de la informacion',\n\n tipo: 1,\n\n\n },\n {\n id: '25',\n cargo: 'Analista de la seguridad de la informacion',\n\n tipo: 1,\n\n\n },\n {\n id: '26',\n cargo: 'Analista NOC',\n\n tipo: 1,\n\n\n },\n {\n id: '27',\n cargo: 'Analista de ciberseguridad',\n\n tipo: 1,\n\n\n },\n {\n id: '28',\n cargo: 'Director de control interno',\n\n tipo: 1,\n\n\n },\n {\n id: '29',\n cargo: 'Coordinador SST',\n\n tipo: 1,\n\n\n },\n {\n id: '30',\n cargo: 'Lider SGA',\n\n tipo: 1,\n\n\n },\n {\n id: '31',\n cargo: 'Jefe de sistemas de gestion',\n\n tipo: 1,\n\n\n },\n {\n id: '32',\n cargo: 'Analista SST',\n\n tipo: 1,\n\n\n },\n {\n id: '33',\n cargo: 'Analista en salud',\n\n tipo: 1,\n\n\n },\n {\n id: '34',\n cargo: 'Auxiliar de enfermeria',\n\n tipo: 1,\n\n\n },\n {\n id: '35',\n cargo: 'Auxiliar SGA',\n\n tipo: 1,\n\n\n },\n {\n id: '36',\n cargo: 'Auxiliar ambiental',\n\n tipo: 1,\n\n\n },\n {\n id: '37',\n cargo: 'Formador control Interno',\n\n tipo: 1,\n\n\n },\n {\n id: '38',\n cargo: 'Gerente de talento humano',\n\n tipo: 1,\n\n\n },\n {\n id: '39',\n cargo: 'Coordinador de contratacion',\n\n tipo: 1,\n\n\n },\n {\n id: '40',\n cargo: 'Analista de contratacion',\n\n tipo: 1,\n\n\n },\n {\n id: '41',\n cargo: 'Auxiliar de contratacion',\n\n tipo: 1,\n\n\n },\n {\n id: '42',\n cargo: 'Jefe de bienestar y comunicaciones',\n\n tipo: 1,\n\n\n },\n {\n id: '43',\n cargo: 'Analista de bienestar',\n\n tipo: 1,\n\n\n },\n {\n id: '44',\n cargo: 'Auxiliar talento humano - bienestar',\n\n tipo: 1,\n\n\n },\n {\n id: '45',\n cargo: 'Analista de comunicaciones',\n\n tipo: 1,\n\n\n },\n {\n id: '46',\n cargo: 'Asistente de comunicaciones',\n\n tipo: 1,\n\n\n },\n {\n id: '47',\n cargo: 'Lider selecccion y desarrollo',\n\n tipo: 1,\n\n\n },\n {\n id: '48',\n cargo: 'Analista de seleccion',\n\n tipo: 1,\n\n\n },\n {\n id: '49',\n cargo: 'Auxiliar de talento humano - desarrollo',\n\n tipo: 1,\n\n\n },\n {\n id: '50',\n cargo: 'Analista de desarrollo humano',\n\n tipo: 1,\n\n\n },\n {\n id: '51',\n cargo: 'Auxiliar desarrollo humano',\n\n tipo: 1,\n\n\n },\n {\n id: '52',\n cargo: 'Director de desarrollos de proyectos',\n\n tipo: 1,\n\n\n },\n {\n id: '53',\n cargo: 'Ejecutivo de proyectos',\n\n tipo: 1,\n\n\n },\n {\n id: '54',\n cargo: 'Coordinador de licitaciones y gestion de contratos',\n\n tipo: 1,\n\n\n },\n {\n id: '55',\n cargo: 'Analista de requerimientos',\n\n tipo: 1,\n\n\n },\n {\n id: '56',\n cargo: 'Gestor de negocios',\n\n tipo: 1,\n\n\n },\n {\n id: '57',\n cargo: 'Gerente financiero',\n\n tipo: 1,\n\n\n },\n {\n id: '58',\n cargo: 'Jefe financiero',\n\n tipo: 1,\n\n\n },\n {\n id: '59',\n cargo: 'Jefe de nomina',\n\n tipo: 1,\n\n\n },\n {\n id: '60',\n cargo: 'Analista contable',\n\n tipo: 1,\n\n\n },\n {\n id: '61',\n cargo: 'Asistente de tesoreria',\n\n tipo: 1,\n\n\n },\n {\n id: '62',\n cargo: 'Asistente contable',\n\n tipo: 1,\n\n\n },\n {\n id: '63',\n cargo: 'Analista de impuestos',\n\n tipo: 1,\n\n\n },\n {\n id: '64',\n cargo: 'Data nomina',\n\n tipo: 1,\n\n\n },\n {\n id: '65',\n cargo: 'Auxiliar contable - nomina',\n\n tipo: 1,\n\n\n },\n {\n id: '66',\n cargo: 'Gerente administrativa',\n\n tipo: 1,\n\n\n },\n {\n id: '67',\n cargo: 'Coordinador de infraestructura',\n\n tipo: 1,\n\n\n },\n {\n id: '68',\n cargo: 'Coordinador administrativo',\n\n tipo: 1,\n\n\n },\n {\n id: '69',\n cargo: 'Jefe seguridad fisica',\n\n tipo: 1,\n\n\n },\n {\n id: '70',\n cargo: 'Jefe juridico',\n\n tipo: 1,\n\n\n },\n {\n id: '71',\n cargo: 'analista juridico',\n\n tipo: 1,\n\n\n },\n {\n id: '72',\n cargo: 'Supervisor de mantenimiento',\n\n tipo: 1,\n\n\n },\n {\n id: '73',\n cargo: 'Tecnico de mantenimiento',\n\n tipo: 1,\n\n\n },\n {\n id: '74',\n cargo: 'Auxiliar administrativo almacen',\n\n tipo: 1,\n\n\n },\n {\n id: '75',\n cargo: 'Supervisor servicios generales',\n\n tipo: 1,\n\n\n },\n {\n id: '76',\n cargo: 'Auxiliar servicios generales',\n\n tipo: 1,\n\n\n },\n {\n id: '77',\n cargo: 'Supervisor administrativo',\n\n tipo: 1,\n\n\n },\n {\n id: '78',\n cargo: 'Recepcionista',\n\n tipo: 1,\n\n\n },\n {\n id: '79',\n cargo: 'Auxiliar mantenimiento CCTV',\n\n tipo: 1,\n\n\n },\n {\n id: '80',\n cargo: 'Operador medios tecnologicos',\n\n tipo: 1,\n\n\n },\n {\n id: '81',\n cargo: 'Auxiliar parqueaderos',\n\n tipo: 1,\n\n\n },\n {\n id: '82',\n cargo: 'Asistente administrativo - compras',\n\n tipo: 1,\n\n\n },\n {\n id: '83',\n cargo: 'Director IT',\n\n tipo: 1,\n\n\n },\n {\n id: '84',\n cargo: 'Coordinador de soporte y usuarios',\n\n tipo: 1,\n\n\n },\n {\n id: '85',\n cargo: 'Analista senior',\n\n tipo: 1,\n\n\n },\n {\n id: '86',\n cargo: 'Analista lider de soporte',\n\n tipo: 1,\n\n\n },\n {\n id: '87',\n cargo: 'Analista IT',\n\n tipo: 1,\n\n\n },\n {\n id: '88',\n cargo: 'Analista lider de accesos',\n\n tipo: 1,\n\n\n },\n {\n id: '89',\n cargo: 'Analista de accesos',\n\n tipo: 1,\n\n\n },\n {\n id: '90',\n cargo: 'Coordinador de infraestructura',\n\n tipo: 1,\n\n\n },\n {\n id: '91',\n cargo: 'Anlaista de infraestructura',\n\n tipo: 1,\n\n\n },\n {\n id: '92',\n cargo: 'Coordinador de telecomunicaciones',\n\n tipo: 1,\n\n\n },\n {\n id: '93',\n cargo: 'Analista senior telecomunicaciones',\n\n tipo: 1,\n\n\n },\n {\n id: '94',\n cargo: 'Analista junior telecomunicaciones',\n\n tipo: 1,\n\n\n },\n {\n id: '95',\n cargo: 'Jefe de redes y conectividad',\n\n tipo: 1,\n\n\n },\n {\n id: '96',\n cargo: 'Administrador de redes y conectividad',\n\n tipo: 1,\n\n\n },\n {\n id: '97',\n cargo: 'Administrador de redes y seguridad',\n\n tipo: 1,\n\n\n }\n];\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { RequestsService } from './../../../services/requests.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-modal-delete',\n templateUrl: './modal-delete.component.html',\n styleUrls: ['./modal-delete.component.sass']\n})\nexport class ModalDeleteComponent implements OnInit {\n\n formulario: FormGroup;\n\n constructor(public dialogRef: MatDialogRef,\n private formBuilder: FormBuilder,\n private serviceBpms: RequestsService,\n private alertService: AlertsService,\n @Inject(MAT_DIALOG_DATA) public datos: any) { }\n\n ngOnInit(): void {\n\n this.formulario = this.formBuilder.group({\n campo: ['', [Validators.required]]\n });\n\n }\n\n onSubmit(formulario) {\n const observacion = {\n observations: this.formulario.value.campo,\n };\n\n this.serviceBpms.cancelarSolicitud(this.datos.item.id, observacion).subscribe((respuesta: any) => {\n this.alertService.alertSuccess('Cancelada', 'Su solicitud ha sido cancelada correctamente');\n this.dialogRef.close(true);\n });\n }\n}\n","\n\n

Rechazar Solicitud

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

¿Estás seguro que deseas Rechazar la Solicitud?

\n
\n \n
\n\n \n ¿Por qué? *\n \n \n\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n","import { Component, Inject, OnInit, OnDestroy} from '@angular/core';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { ErrorStateMatcher } from '@angular/material/core';\nimport { FormControl, FormGroupDirective, NgForm, Validators, FormBuilder, FormGroup, AbstractControl, ValidatorFn } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { Subscription } from 'rxjs';\n/** Error when invalid control is dirty, touched, or submitted. */\nexport class MyErrorStateMatcher implements ErrorStateMatcher {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n const isSubmitted = form && form.submitted;\n return !!(control && control.invalid && (control.dirty || control.touched || isSubmitted));\n }\n}\n\n\n@Component({\n selector: 'app-candidate-create',\n templateUrl: './candidate-create.component.html',\n styleUrls: ['./candidate-create.component.sass']\n})\nexport class CandidateCreateComponent implements OnInit, OnDestroy {\n\n buttonRegister = false;\n isReferredValue = false;\n\n candidateForm: FormGroup;\n\n matcher = new MyErrorStateMatcher();\n selected = new FormControl('false');\n\n requestId = 1;\n idTypes:any;\n keyType: string;\n showReferendInput: boolean = false;\n isNewUser: boolean = true;\n referendList = [];\n userName;\n getReferredByDocumentSuscription: Subscription;\n\n constructor(@Inject(MAT_DIALOG_DATA) public datos: any,\n private candidatesService: CandidatesService,\n private fb: FormBuilder,\n private dialogRef: MatDialogRef,\n private alert: AlertsService,\n private authService: AuthService) {\n this.requestId = datos.requestId;\n }\n\n ngOnInit(): void {\n this.getTypes();\n this.createCandidateForm();\n this.userName = this.authService.decryptToken();\n }\n createCandidateForm(){\n this.candidateForm = this.fb.group({\n\n id_type_id: ['', {disabled: false, validators: [Validators.required]}],\n id_number: ['', {disabled: false, validators: [Validators.required, Validators.maxLength(15)]}],\n first_name: [{value: '', disabled: true}, [Validators.required, Validators.maxLength(15)]],\n middle_name: [{value: '', disabled: true}, Validators.maxLength(15)],\n last_name: [{value: '', disabled: true}, [Validators.required, Validators.maxLength(15)]],\n second_last_name: [{value: '', disabled: true}, Validators.maxLength(15)],\n email: [{value: '', disabled: true}, [Validators.required, Validators.email, Validators.maxLength(40)]],\n email_2: [{value: '', disabled: true}, [Validators.email, Validators.maxLength(40)]],\n phone: [{value: '', disabled: true}, [Validators.min(1), Validators.max(9999999999)]],\n mobile_phone: [{value: '', disabled: true}, [Validators.required, Validators.min(1), Validators.max(9999999999)]],\n referred_document:[''],\n referred_id:['']\n });\n }\n candidateRegister(): any {\n if (this.candidateForm.valid){\n if(this.showReferendInput)\n {\n this.alert.alertConfirm('¿Deseas continúar?',`Esta acción de referido quedará asignada a ${this.candidateForm.controls.referred_id.value.Primer_Nombre} ${this.candidateForm.controls.referred_id.value.Primer_Apellido} y validada por ${this.userName.rrhh.name} y no podrá ser modificada.`).then(res =>{\n if(res.isConfirmed)\n {\n this.candidateForm.controls.referred_id.setValue(this.candidateForm.controls.referred_id.value.rrhh_id);\n this.candidatesService.registerCandidate(this.requestId, this.candidateForm.getRawValue()).subscribe( (resp) => {\n this.alert.alertSuccess('¡Hecho!', 'Candidato creado con éxito');\n this.dialogRef.close(true);\n });\n }\n })\n }else{\n this.candidatesService.registerCandidate(this.requestId, this.candidateForm.getRawValue()).subscribe( (resp) => {\n this.alert.alertSuccess('¡Hecho!', 'Candidato creado con éxito');\n this.dialogRef.close(true);\n });\n }\n }\n }\n buttonTextDynamic = 'Registrar';\n getCandidateById(){\n if (this.candidateForm.controls.id_type_id.valid && this.candidateForm.controls.id_number.valid){\n this.candidatesService.candidateById(this.candidateForm.controls.id_type_id.value, this.candidateForm.controls.id_number.value, this.requestId).subscribe( (resp: any) => {\n if (resp && resp.id){\n this.isReferred('falso');\n this.isNewUser = false;\n this.candidateForm.patchValue(resp);\n this.buttonTextDynamic = 'Asignar a Solicitud';\n this.enableForm();\n }else{\n this.isNewUser = true;\n this.enableForm();\n this.buttonTextDynamic = 'Registrar';\n }\n });\n }\n }\n cleanCandidate = false;\n enableForm(){\n this.buttonRegister = true;\n this.cleanCandidate = true;\n this.candidateForm.controls.id_type_id.disable();\n this.candidateForm.controls.id_number.disable();\n this.candidateForm.controls.first_name.enable();\n this.candidateForm.controls.middle_name.enable();\n this.candidateForm.controls.last_name.enable();\n this.candidateForm.controls.second_last_name.enable();\n this.candidateForm.controls.email.enable();\n this.candidateForm.controls.phone.enable();\n this.candidateForm.controls.mobile_phone.enable();\n this.candidateForm.controls.email_2.enable();\n this.candidateForm.untouched;\n this.candidateForm.pristine;\n this.candidateForm.dirty;\n }\n disaleForm(){\n this.buttonRegister = false;\n this.cleanCandidate = false;\n this.candidateForm.controls.id_type_id.enable();\n this.candidateForm.controls.id_number.enable();\n this.candidateForm.controls.first_name.disable();\n this.candidateForm.controls.middle_name.disable();\n this.candidateForm.controls.last_name.disable();\n this.candidateForm.controls.second_last_name.disable();\n this.candidateForm.controls.email.disable();\n this.candidateForm.controls.phone.disable();\n this.candidateForm.controls.mobile_phone.disable();\n this.candidateForm.controls.email_2.disable();\n this.candidateForm.untouched;\n this.candidateForm.pristine;\n\n }\n cleanCandidateFrom(){\n this.candidateForm.reset();\n this.disaleForm();\n }\n /**\n * Metodo el cual lista dinamicamente los tipos de documentos\n * @author Lina Hueso\n * @return json\n */\n getTypes() {\n this.candidatesService.getIdTypes().subscribe(resp => {\n this.idTypes = resp;\n\n if(this.candidateForm.controls['id_type_id'].value)\n {\n let json = this.idTypes.find(element => element.id == this.candidateForm.controls['id_type_id'].value);\n this.keyType = json.key;\n }\n }\n );\n }\n\n /**\n * Metodo el cual setea el nuevo valos del key type segun seleccion del usuario\n * @author Lina Hueso\n * @return string\n */\n selectedIdtype(value) {\n this.keyType = value;\n }\n\n /**\n * Metodo que muestra u oculta el inpunt de referido\n * ademas de setear nuevas validaciones o quitarlas segun sea el caso\n * @author Carlos Nieto\n *\n */\n\n isReferred(value)\n {\n this.isReferredValue = value === 'true' ? true : false;\n if(this.isReferredValue)\n {\n this.candidateForm.get('referred_document').setValidators([Validators.required]);\n this.candidateForm.get('referred_id').setValidators([Validators.required]);\n this.candidateForm.get('referred_document').updateValueAndValidity();\n this.candidateForm.get('referred_id').updateValueAndValidity();\n }else{\n this.showReferendInput = false;\n this.candidateForm.controls['referred_document'].setValue('');\n this.candidateForm.controls['referred_id'].setValue('');\n this.candidateForm.get('referred_document').clearValidators();\n this.candidateForm.get('referred_id').clearValidators();\n this.candidateForm.get('referred_document').updateValueAndValidity();\n this.candidateForm.get('referred_id').updateValueAndValidity();\n }\n }\n\n /**\n * Metodo que consulta por medio de numero de cedula o documento de estados activos\n * @author Carlos Nieto\n * @return json\n */\n getReferredByDocument(){\n if(this.candidateForm.controls.referred_document.value == '' || this.candidateForm.controls.referred_document.value == null)\n {\n this.alert.alertInfo('Alerta','No existen coincidencias con este documento');\n return;\n }\n let data = {\n id_documents : [this.candidateForm.controls.referred_document.value],\n state: true\n }\n this.showReferendInput = false;\n this.getReferredByDocumentSuscription = this.candidatesService.findbyiddocument(data).subscribe( (resp: any) => {\n if(resp.length > 0)\n {\n this.referendList = resp;\n this.showReferendInput = true;\n }else{\n this.alert.alertInfo('Alerta','No existen coincidencias con este documento')\n this.candidateForm.controls['referred_document'].setValue('');\n this.candidateForm.get('referred_document').updateValueAndValidity();\n }\n });\n\n }\n\n /**\n * Metodo muestra un alert al usuario de responsabilidad\n * @author Carlos Nieto\n */\n showInfoAlert(event){\n console.log(event);\n \n this.alert.alertInfo('Recuerda',`Esta acción de referido quedará asignada a ${event.Primer_Nombre} ${event.Primer_Apellido} y validada por ${this.userName.rrhh.name} y no podrá ser modificada.`);\n }\n\n ngOnDestroy(): void {\n this.getReferredByDocumentSuscription.unsubscribe();\n }\n}\n","\n\n\n

Registrar candidato

\n
\n\n
\n
\n
\n
\n \n Tipo de documento\n \n \n {{idType.name}}\n \n \n \n
\n
\n \n Número de documento\n \n \n \n \n
\n
\n \n \n
\n
\n \n Seleccione a quien referencia\n \n \n {{referend.Primer_Nombre}} {{referend.Segundo_Nombre}} {{referend.Primer_Apellido}} {{referend.Segundo_Apellido}}\n \n \n \n
\n
\n\n
\n
\n \n Primer nombre\n \n\n \n
\n
\n \n Segundo nombre\n \n \n
\n
\n\n
\n
\n \n Primer Apellido\n \n\n \n
\n
\n \n Segundo apellido\n \n \n
\n
\n\n
\n
\n \n Teléfono celular\n \n\n \n
\n
\n \n Teléfono fijo\n \n \n
\n
\n\n
\n
\n \n Email\n \n\n \n
\n \n
\n
\n
\n
\n\n \n \n\n","import { SchedulesService } from './../../../modules/ciu/services/rest/schedules.service';\nimport { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { ScheduleModalComponent } from '../schedule-modal/schedule-modal.component';\nimport { MatDialog } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-user-schedule',\n templateUrl: './user-schedule.component.html',\n styleUrls: ['./user-schedule.component.sass']\n})\nexport class UserScheduleComponent implements OnInit {\n\n public weekScheduleList = [];\n public count : number;\n public user : any;\n\n constructor(\n private schedulesService : SchedulesService,\n private authService: AuthService,\n public dialog: MatDialog,\n ) { }\n\n ngOnInit(): void {\n this.user = this.authService.decryptToken(); \n this.getUserWeekSchedule(this.user.idCiu);\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-03-11\n * Metodo lista el horario laborar de un usuario\n */\n getUserWeekSchedule(id)\n {\n this.schedulesService.getUserWeekSchedule(id).subscribe(\n response => {\n this.weekScheduleList = Object.values(response.data);\n this.count = this.weekScheduleList.length;\n },error =>{\n this.weekScheduleList = []; \n this.count = this.weekScheduleList.length; \n } \n )\n }\n\n /**\n * Metodo abre el modal del crear referido y pasa el id de hired_user,\n * al cerrarse llama al metodo de getReferredList() \n * @author Carlos Nieto\n * @date 11-10-2022 \n * @return\n */\n openCreateForm(){\n const registerDialog = this.dialog.open( ScheduleModalComponent, {\n minWidth: '150px',\n minHeight: '400px',\n data: this.weekScheduleList\n });\n }\n}\n","
\n

\n 0\">Mi horario laboral\n Sin horario laboral asignado\n

\n\n
\n \n
\n \n
\n
\n
\n ver horario\n
\n \n \n
\n
\n
\n \n \n
\n \n \n \n \n
\n
\n

\n {{schedule.schedule_type_name}}\n

\n
\n
\n

\n

Hora inicio{{schedule.date+\" \"+schedule.start_time | date:'shortTime'}}

\n

\n
\n
\n

\n

Hora fin{{schedule.date+\" \"+schedule.end_time | date:'shortTime'}}

\n

\n
\n
\n
\n
\n
\n
\n
\n","import { UsersReportsComponent } from './modules/users/users-reports/users-reports.component';\nimport { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { CiuComponent } from './ciu.component';\nimport { AdminUsersComponent } from './modules/users/admin-users/admin-users.component';\nimport { AdminRolesComponent } from './modules/roles/admin-roles/admin-roles.component';\nimport { AdminGroupsComponent } from './modules/groups/admin-groups/admin-groups.component';\nimport { AdminSchedulesComponent } from './modules/schedules/admin-schedules/admin-schedules.component';\nimport { AdminApplicationsComponent } from './modules/aplications/admin-applications/admin-applications.component';\nimport { AdminMenusComponent } from './modules/menus/admin-menus/admin-menus.component';\nimport { ProfileComponent } from './modules/profile/profile.component';\nimport { ReportAdhesionComponent } from './modules/reports/report-adhesion/report-adhesion.component';\nimport { ReportUsersAppComponent } from './modules/reports/report-users-app/report-users-app.component';\nimport { ManageNetworkUsersComponent } from './modules/manage-network-users/manage-network-users.component';\n\n\nconst routes: Routes = [\n\n { path: '', component: CiuComponent},\n { path: 'usuarios', component: AdminUsersComponent},\n { path: 'roles', component: AdminRolesComponent},\n { path: 'grupos', component: AdminGroupsComponent},\n { path: 'horarios', component: AdminSchedulesComponent},\n { path: 'aplicaciones', component: AdminApplicationsComponent},\n { path: 'menus', component: AdminMenusComponent},\n { path: 'perfil', component: ProfileComponent },\n { path: 'adherencia', component: ReportAdhesionComponent},\n { path: 'usuarios-de-red', component: ManageNetworkUsersComponent}\n //{ path: 'reportes/:id', component: ReportUsersAppComponent}\n\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class CiuRoutingModule { }\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { TemplatesService } from 'src/app/modules/crm/services/rest/templates.service';\nimport { ClipboardService } from 'ngx-clipboard';\nimport { FormControl, FormBuilder } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n\n@Component({\n selector: 'app-generate-template',\n templateUrl: './generate-template.component.html',\n styleUrls: ['./generate-template.component.sass']\n})\n\nexport class GenerateTemplateComponent implements OnInit {\n\n template: any;\n plantilla: any = [];\n writable: any = [];\n options: any;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private templateService: TemplatesService,\n private clipCopy: ClipboardService,\n private fb: FormBuilder,\n private alertsService: AlertsService) {\n this.options = this.fb.group({});\n }\n\n ngOnInit(): void {\n\n this.templateService.obtenerTemplate(this.data.form).subscribe(resp => {\n this.template = resp;\n this.plantilla = resp.plantilla;\n this.writable = JSON.parse(resp.fields_writable);\n this.writable.forEach(element => {\n this.options.addControl(element.label, new FormControl(''));\n });\n });\n\n }\n\n copiarTexto(){\n\n let csv = this.template.csv;\n let form = this.options.getRawValue();\n\n for (const key in form) {\n if (Object.prototype.hasOwnProperty.call(form, key)) {\n\n this.writable.forEach(element => {\n\n if(element.label === key){\n csv = csv+String.fromCharCode(element.registerDelimiter);\n if(element.haveTheLabel){\n csv = csv+key+':';\n }\n csv = csv+form[key]+String.fromCharCode(element.registerDelimiter)+String.fromCharCode(this.template.value_delimiter);\n }\n\n });\n\n }\n }\n\n let copyCsv = csv.substring(0, csv.length - 1);\n\n this.clipCopy.copy(copyCsv);\n\n this.alertsService.alertSuccess('Éxito', 'Su texto se ha copiado correctamente');\n\n }\n\n\n\n}\n","

{{data.title}}\n \n

\n \n
\n
\n \n
\n \n {{item.label}}\n \n \n
\n \n
\n \n {{item.label}}\n \n \n
\n \n
\n \n
\n \n
\n
\n
\n \n
\n\n","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { AuditoriaService } from '../../../../services/auditoria.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DialogEliminacionComponent } from '../dialog-eliminacion/dialog-eliminacion.component';\nimport Swal from 'sweetalert2';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-tabla-eliminacion',\n templateUrl: './tabla-eliminacion.component.html',\n styleUrls: ['./tabla-eliminacion.component.sass']\n})\nexport class TablaEliminacionComponent implements OnInit, OnDestroy {\n dataSource = [];\n displayedColumns:string[] = ['acciones','id','fecha_creacion','hora_creacion','nombre_auditor'];\n\n filtroId = '';\n\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions = [5,10,25,50,100];\n @ViewChild(MatPaginator) paginator:MatPaginator;\n\n //Observable para los cambios de la tabla\n subscription:Subscription;\n\n constructor(\n private auditoriaService:AuditoriaService,\n private dialog:MatDialog,\n ) { }\n\n ngOnInit(): void {\n this.cargarTabla(this.page,this.pageSize);\n this.subscription = this.auditoriaService.refresh$.subscribe(()=>{\n this.cargarTabla(this.page,this.pageSize);\n });\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n /**\n * @author Cristian Gallo\n * @createdate 2022-03-02\n * Metodo que se encarga de cargar la tabla.\n */\n cargarTabla(page,pageSize){\n const params = {\n page: page,\n numeroReg: pageSize,\n id:''\n };\n if (this.filtroId != '' && this.filtroId != null) {\n params.id = this.filtroId;\n }\n this.auditoriaService.getAllAuditorias(params).subscribe((resp:any)=>{\n this.dataSource = resp.data;\n this.length = resp.total\n this.pageSize = resp.per_page;\n });\n }\n\n filtro(){\n this.cargarTabla(this.page,this.pageSize);\n }\n\n pageEvent(event:any){\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.cargarTabla(this.page,this.pageSize);\n }\n\n /**\n * @author Cristian Gallo\n * @createdate 2022-03-02\n * Metodo que se encarga de abrir el dialog para eliminar la auditoría.\n */\n eliminarAuditoria(auditoria){\n Swal.fire({\n icon:'warning',\n title: '¿Estas seguro de eliminar esta auditoría?',\n html: '

¿Deseas eliminar permanentemente la auditoría?

Recuerda que esta acción será definitiva y no se podrá deshacer.

',\n showCancelButton: true,\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true,\n width: '810px',\n padding: '2em 7em'\n }).then(result=>{\n if (result.isConfirmed) { \n const eliminarRef = this.dialog.open(DialogEliminacionComponent,{\n disableClose: true,\n width: '820px',\n data: auditoria\n });\n }\n });\n }\n\n}\n","
\n
\n \n Buscar por ID\n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n ID {{ element.id}} Fecha de creación {{ element.created_at | date:'dd/MM/yyyy' }} Hora de creación {{ element.created_at | date:'mediumTime' }} Nombre del auditor {{ element.nombreAuditor }}
No hay registros para mostrar
\n \n \n \n \n
\n
","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { GESTIONADOR_CORREOS } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TrayService {\n\n constructor(private httpClient: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-18\n * Metodo que retorna los errores generados por HTTP. \n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-18\n * Metodo que retorna las bandejas registradas en el sistema.\n * @param paginator Paginador configurado en la vista. \n * @param filter Filtro configurado en la vista.\n * @param showAllTrays Muestra todas las bandejas activas en el sistema. \n * @param filterEmail Filtro para la cuenta de correo seleccionado.\n * @param typeTray Tipo de bandeja que se quiere traer. \n */\n getTrays(paginator: any = null, filter: string = '', showAllTrays: boolean = false, filterEmail: number = 0, typeTray: number = 1): Observable {\n const paramState = showAllTrays ? '' : '&state=1';\n const paramEmail = filterEmail !== 0 ? filterEmail : '';\n const url = paginator === null ? `${GESTIONADOR_CORREOS}emailbox/showall?type=${typeTray}&id_email_config=${paramEmail}${paramState}` : `${GESTIONADOR_CORREOS}emailbox/showall?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&name=${filter}&id_email_config=${paramEmail}&type=${typeTray}`;\n return this.httpClient.get(url).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-18\n * Metodo que guardar o actualiza una bandeja en el sistema. \n * @param tray Informacion proveniente del formulario. \n */\n storeTray(tray: any): Observable {\n const url = tray.id === null ? `${GESTIONADOR_CORREOS}emailbox/store` : `${GESTIONADOR_CORREOS}emailbox/update/${tray.id}`;\n return this.httpClient.post(url, tray).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-27\n * Metodo que trae las bandejas asignadas a un usuario especifico. \n * @param idRrhh Usuario seleccionado en el formulario. \n * @param typeTray Tipo de bandeja a consultar. \n */\n getTraysByUser(idRrhh: number, typeTray: number = 1, idEmailConfig: number = 0): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}userbox/showall?id_rrhh=${idRrhh}&type=${typeTray}&id_email_config=${idEmailConfig}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-27\n * Metodo que asigna una lista de bandejas a un usuario especifico. \n * @param data Informacion proveniente del formulario. \n */\n assignTraysForUser(data: any): Observable {\n return this.httpClient.post(`${GESTIONADOR_CORREOS}userbox/store`, data).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-01\n * Metodo que retorna las bandejas registradas con las cantidades de correo dentro de ellas. \n * @param idEmailConfig Correos seleccionados en configuracion de correos. \n */\n getTraysByUserAndEmails(idEmailConfig: string): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}userbox/user_list_box?email_list=[${idEmailConfig}]`).pipe(\n catchError(this.handleError)\n );\n }\n}","import { Injectable } from '@angular/core';\nimport {environment} from '../../../../../environments/environment';\nimport {Observable} from 'rxjs';\nimport {HttpClient} from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CountriesService {\n COMERCIALURL = environment.CRM_CIAL;\n\n constructor(\n private http: HttpClient\n ) { }\n /**\n * @author javier Castañeda\n * @createdate 2022-10-29\n * Servicio que lista los paises\n * @returns JSON\n */\n getCountries(): Observable {\n return this.http.get(`${this.COMERCIALURL}countries`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule, CurrencyPipe, DecimalPipe, registerLocaleData } from '@angular/common';\nimport { MaterialModule } from './material/material.module';\nimport { DynamicFormComponent } from './dynamic-forms/dynamic-form/dynamic-form.component';\nimport { FormQuestionsComponent } from './dynamic-forms/form-questions/form-questions.component';\nimport { DynamicFormV2Component } from './dynamic-forms-v2/dynamic-form/dynamic-form.component';\nimport { FormQuestionsV2Component } from './dynamic-forms-v2/form-questions/form-questions.component';\nimport { NumberDirective } from '../core/directives/number.directive';\nimport { LandingPageComponent } from './landing-page/landing-page.component';\nimport { ReportViewComponent } from './report-view/report-view.component';\nimport { ModalLandingComponent } from './landing-page/modal-landing/modal-landing.component';\nimport { CvViewComponent } from './cv-view/cv-view.component';\nimport { VicidialVozComponent } from './vicidial-voz/vicidial-voz.component';\nimport { PipesModule } from './pipes/pipes.module';\nimport { FilesViewComponent } from './files-view/files-view.component';\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\nimport { ChatComponent } from './chat/chat.component';\nimport { VicidialDashboardComponent } from './vicidial-dashboard/vicidial-dashboard.component';\nimport { SpeedDialFabComponent } from './speed-dial-fab/speed-dial-fab.component';\nimport { ChronometerComponent } from './chronometer/chronometer.component';\nimport { NotificationsComponent } from './notifications/notifications.component';\nimport { BookingReserveComponent } from './booking-reserve/booking-reserve.component';\nimport { FullCalendarModule } from '@fullcalendar/angular';\nimport { OnBoardingComponent } from './on-boarding/on-boarding.component';\nimport { UserScheduleComponent } from './landing-page/user-schedule/user-schedule.component';\nimport { PopoverModule } from \"ngx-smart-popover\";\nimport { VideollamadaComponent } from './videollamada/videollamada.component';\nimport { MeetingsComponent } from './meetings/meetings.component';\nimport { BasicSnackbarComponent } from './basic-snackbar/basic-snackbar.component';\nimport { LimitTextPipe } from 'src/app/modules/juridica/pipes/limit-text.pipe';\nimport { FilterTypesPipe } from '../modules/juridica/pipes/filter-type-function.pipe';\nimport { ScheduleModalComponent } from './landing-page/schedule-modal/schedule-modal.component';\nimport { UserScheduleV2Component } from './user-schedule-v2/user-schedule-v2.component';\nimport { RpaModalComponent } from './rpa-modal/rpa-modal.component';\nimport { BasicCrudPageComponent } from './basic-crud-page/basic-crud-page.component';\nimport { ExchangeListsComponent } from './exchange-lists/exchange-lists.component';\nimport { PrintFormSurveyComponent } from './print-form-survey/print-form-survey.component';\nimport { DynamicFormV3Component } from './dynamic-forms-v3/dynamic-form/dynamic-form.component';\nimport { DynamicFormV4Component } from './dynamic-forms-4/dynamic-form/dynamic-form.component';\nimport { FormQuestionsV4Component } from './dynamic-forms-4/form-questions/form-questions.component';\nimport { BasicTableComponent } from './basic-table/basic-table.component';\nimport { ChatSoulModule } from './chat-soul/chat-soul.module';\nimport { CallSummaryComponent } from './call-summary/call-summary.component';\nimport { SvgFeelingsComponent } from './svg-feelings/svg-feelings.component';\nimport { MaterialFileInputModule } from 'ngx-material-file-input';\nimport { PhoneComponent } from './phone/phone.component';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { AngularEditorModule } from '@kolkov/angular-editor';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { PhoneTransferFormComponent } from './phone/components/transfer-form/transfer-form.component';\n\n@NgModule({\n declarations: [\n DynamicFormComponent,\n FormQuestionsComponent,\n NumberDirective,\n LandingPageComponent,\n ReportViewComponent,\n ModalLandingComponent,\n CvViewComponent,\n VicidialVozComponent,\n FilesViewComponent,\n ChatComponent,\n VicidialDashboardComponent,\n SpeedDialFabComponent,\n ChronometerComponent,\n NotificationsComponent,\n BookingReserveComponent,\n OnBoardingComponent,\n UserScheduleComponent,\n VideollamadaComponent,\n MeetingsComponent,\n BasicSnackbarComponent,\n LimitTextPipe,\n FilterTypesPipe,\n ScheduleModalComponent,\n UserScheduleV2Component,\n RpaModalComponent,\n BasicCrudPageComponent,\n DynamicFormV2Component,\n FormQuestionsV2Component,\n ExchangeListsComponent,\n PrintFormSurveyComponent,\n DynamicFormV3Component,\n BasicTableComponent,\n DynamicFormV4Component,\n FormQuestionsV4Component,\n BasicTableComponent,\n CallSummaryComponent,\n SvgFeelingsComponent,\n PhoneComponent,\n PhoneTransferFormComponent,\n ],\n imports: [\n CommonModule,\n MaterialModule,\n PipesModule,\n PdfViewerModule,\n FullCalendarModule,\n PopoverModule,\n ChatSoulModule,\n MaterialFileInputModule,\n AngularEditorModule,\n DragDropModule,\n MatFormFieldModule,\n ],\n exports: [\n DynamicFormComponent,\n FormQuestionsComponent,\n MaterialModule,\n LandingPageComponent,\n ReportViewComponent,\n NumberDirective,\n CvViewComponent,\n VicidialVozComponent,\n FilesViewComponent,\n ChatComponent,\n VicidialDashboardComponent,\n SpeedDialFabComponent,\n BookingReserveComponent,\n ChronometerComponent,\n NotificationsComponent,\n LimitTextPipe,\n FilterTypesPipe,\n BasicCrudPageComponent,\n RpaModalComponent,\n DynamicFormV2Component,\n FormQuestionsV2Component,\n ExchangeListsComponent,\n PrintFormSurveyComponent,\n DynamicFormV3Component,\n BasicTableComponent,\n DynamicFormV4Component,\n FormQuestionsV4Component,\n BasicTableComponent,\n MatFormFieldModule,\n PhoneTransferFormComponent\n ],\n\n providers: [CurrencyPipe, DecimalPipe],\n})\n\nexport class SharedModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { NgxSpinnerService } from 'ngx-spinner';\n\nimport Swal from 'sweetalert2';\n\n// Dialogs\nimport { ChooseCampaignComponent } from './modules/shared/dialogs/choose-campaign/choose-campaign.component';\n\n// Models\nimport { CampaignUser } from './modules/shared/models/campaign-user';\n\n// Servicios\nimport { LocalStorageService } from './modules/shared/services/localStorage.service';\nimport { CampaignService } from './modules/shared/services/campaign.service';\nimport { OnBoardingComponent } from 'src/app/shared/on-boarding/on-boarding.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n@Component({\n\tselector: 'app-cartera-wom',\n\ttemplateUrl: './cartera-wom.component.html',\n\tstyleUrls: ['./cartera-wom.component.sass']\n})\nexport class CarteraWomComponent implements OnInit {\n\trrhh_id: number; // Id del usuario logueado.\n\tpublic userName: any;\n\n\n\tconstructor(public dialog: MatDialog, private campaignService: CampaignService, private localStorageService: LocalStorageService, private router: Router, private spinner: NgxSpinnerService, private authService: AuthService,) {}\n\n\tngOnInit(): void {\n\t\tthis.localStorageService.removeCampaign();\n\t\tthis.rrhh_id = this.localStorageService.getRRHHID();\n\t\tthis.getCampaignsByUser(this.rrhh_id);\n\t\tthis.userName = this.authService.decryptToken();\n\n\t}\n\n\t/**\n\t * Método para obtner las campañas en las cuales se encuentra el usuario logueado en la aplicación.\n\t * @param id id del usuario logueado\n\t * @author Carlos Gomez\n\t * @createdate 2021-05-21\n\t */\n\tgetCampaignsByUser(id: number): void {\n\t\tthis.campaignService.getCampaignsByUser(id).subscribe((campaigns) => this.validateCampaigns(campaigns));\n\t}\n\n\t/**\n\t * Método para validar las campañas de vinculadas al usuario.\n\t * @param campaigns campañas del usuario\n\t * @author Carlos Gomez\n\t * @createdate 2021-05-21\n\t */\n\tvalidateCampaigns(campaigns: CampaignUser[]): void {\n\t\tthis.spinner.show();\n\t\tconst campaignsValid = campaigns.filter((campaign) => campaign.is_active === 1);\n\t\tif (campaignsValid.length === 0) {\n\t\t\tthis.spinner.hide();\n\t\t\tthis.showDialogNoCampaign();\n\t\t} else if (campaignsValid.length === 1) {\n\t\t\tthis.localStorageService.setCampaignUser(campaignsValid[0]);\n\t\t\tthis.spinner.hide();\n\t\t} else {\n\t\t\tthis.spinner.hide();\n\t\t\tthis.showDialogChooseCampaign(campaignsValid);\n\t\t}\n\t}\n\n\t/**\n\t * Método para mostrar un mensaje de error cuando el usuario no tiene ninguna campaña activa a la cual pueda ingresar\n\t * @author Carlos Gomez\n\t * @createdate 2021-05-21\n\t */\n\tshowDialogNoCampaign(): void {\n\t\tSwal.fire({\n\t\t\ticon: 'error',\n\t\t\ttitle: '¡Lo sentimos!',\n\t\t\ttext: 'No tienes ninguna campaña activa',\n\t\t\tshowConfirmButton: false,\n\t\t\ttimer: 3000,\n\t\t\tallowOutsideClick: false\n\t\t});\n\n\t\tthis.router.navigateByUrl('/', { skipLocationChange: true }).then(() => this.router.navigate(['/mios/ciu']));\n\t}\n\n\t/**\n\t * Método para mostrar el dialogo con las campañas del usuario.\n\t * @param campaigns campañas del usuario\n\t * @author Carlos Gomez\n\t * @createdate 2021-05-21\n\t */\n\tshowDialogChooseCampaign(campaigns: CampaignUser[]): void {\n\t\tconst dialogConfig = new MatDialogConfig();\n\t\tdialogConfig.id = 'dialog_chooseCampaign';\n\t\tdialogConfig.data = {\n\t\t\tcampaigns\n\t\t};\n\t\tdialogConfig.disableClose = true;\n\n\t\t// Abre el dialogo\n\t\tthis.dialog.open(ChooseCampaignComponent, dialogConfig);\n\t}\n\n\n\tonBoadingCalidad(): void{\n\t\tconst landingRef = this.dialog.open(OnBoardingComponent,{\n\t\t disableClose: true,\n\t\t panelClass: 'full-screen-modal',\n\t\t})\n\t }\n}\n","
\n\n
\n
\n
\n
\n
\n
\n

Cartera WOM

\n
\n

¡Bienvenid@
{{userName.rrhh.name | titlecase }}!

\n
\n
\n

\n \n

\n
\n
\n
\n \n
\n \n
\n
\n\n
\n \"\"\n
\n\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { CreateObservationItemComponent } from '../create-observation-item/create-observation-item.component';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-view-observation-item',\n templateUrl: './view-observation-item.component.html',\n styleUrls: ['./view-observation-item.component.sass']\n})\nexport class ViewObservationItemComponent implements OnInit {\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: { observation, indexItem },\n private matDialog: MatDialog,\n private matDialogRef: MatDialogRef) { }\n\n ngOnInit(): void {\n \n }\n\n viewModalEdit(): void {\n const openModalUpdate = this.matDialog.open(CreateObservationItemComponent, {\n data: {\n indexItem: this.data.indexItem,\n observation: this.data.observation\n },\n width: '60%',\n autoFocus: false\n });\n openModalUpdate.afterClosed().subscribe(resUpdate => {\n this.matDialogRef.close({ resUpdate });\n });\n }\n}","
\n

Ver observación

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

Observación por {{ data.observation.rrhh_observations }} | {{ data.observation.date_observations }}

\n

\n {{ data.observation.observations }}\n

\n \n

\n {{ data.observation }}\n

\n
\n
\n
\n \n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { GESTIONADOR_CORREOS } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ContactGroupService {\n\n constructor(private httpClient: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-13\n * Metodo que retorna los errores generados por HTTP. \n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-13\n * Metodo que retorna los grupos de contacto registrados en el sistema.\n * @param paginator Configuracion de la paginacion.\n * @param filter Filtro de texto.\n * @param allStates Muestra o no todas los grupos de contacto activos.\n * @param filterEmail Filtro para las cuentas de correo. \n */\n getContactGroups(paginator: any, filter: string, allStates: boolean = true, filterEmail: number = 0): Observable {\n const allStatesFilter = !allStates ? 'state=1' : '';\n const paramEmail = filterEmail !== 0 ? `&email_list=[${filterEmail}]` : '';\n return this.httpClient.get(`${GESTIONADOR_CORREOS}groups/showall?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&name=${filter}&${allStatesFilter}${paramEmail}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-13\n * Metodo que guardar o actualiza un grupo de contacto en el sistema. \n * @param groupContact Informacion proveniente del formulario. \n */\n storeGroupContact(groupContact: any): Observable {\n const url = groupContact.id === null ? `${GESTIONADOR_CORREOS}groups/store` : `${GESTIONADOR_CORREOS}groups/update/${groupContact.id}`;\n return this.httpClient.post(url, groupContact).pipe(\n catchError(this.handleError)\n );\n }\n}","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { JuridicaService } from '../../../../services/juridica.service';\n\n@Component({\n selector: 'app-permit-view-boss',\n templateUrl: './permit-view-boss.component.html',\n styleUrls: ['./permit-view-boss.component.sass']\n})\nexport class PermitViewBossComponent implements OnInit {\n dataInfo: any;\n public realTime: string;\n public scheduleTime: string;\n public endTime: string;\n public noveltyDetailHeight: number;\n\n public showJustifyForm: boolean;\n public showJustifyInfo: boolean;\n public showInput: boolean;\n public titlePermit = '';\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private alert: AlertsService,\n public dialog: MatDialog,\n private permit: JuridicaService\n ) {\n }\n\n ngOnInit() {\n this.permit.getInfoByPermitId(this.data.data.idNovelty).subscribe(resp => {\n this.dataInfo = resp.data;\n if (this.dataInfo.validForMoreResponses) {\n this.showJustifyForm = true;\n }\n this.showJustifyInfo = true;\n this.changeDetailHeight(this.dataInfo);\n });\n this.titlePermit = this.data?.data?.novelty_type?.name ?? \"Permiso\";\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-23\n * Alto del modal\n */\n changeDetailHeight(novelty): void {\n if (novelty.responseFirstInstance && (novelty.responseFirstInstance.justify || novelty.responseFirstInstance.response)) {\n this.noveltyDetailHeight = 240;\n }\n }\n}\n","
\n\n

\n \n \n
\n \n

{{data.data?.name}}

\n
{{data.data?.id_number}}\n
\n
\n
\n

\n\n \n\n
\n","import { EditSchedulesComponent } from './../edit-schedules/edit-schedules.component';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfigSchedulesComponent } from '../config-schedules/config-schedules.component';\nimport { FormGroup, FormControl, Validators, ValidatorFn, AbstractControl } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { CampaignService } from '../../../services/rest/campaign.service';\nimport { GroupsService } from '../../../services/rest/groups.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { startWith, map, filter } from 'rxjs/operators';\nimport { ScheduleTypesService } from '../../../services/rest/schedule-types.service';\nimport { ConfigService } from '../../../services/rest/config.service';\nimport { DatePipe } from '@angular/common';\nimport { SchedulesService } from '../../../services/rest/schedules.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport * as moment from 'moment';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { element } from 'protractor';\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { ScheduleService } from './../../../../../core/services/rest/schedule.service';\nimport Swal from 'sweetalert2';\n\n\n\n\n@Component({\n selector: 'app-admin-schedules',\n templateUrl: './admin-schedules.component.html',\n styleUrls: ['./admin-schedules.component.sass']\n})\nexport class AdminSchedulesComponent implements OnInit {\n filterForm: FormGroup;\n campaigns: any;\n campaigns2: any;\n groups: any = [];\n rangeDates: any;\n filteredOptionsCampaigns: Observable;\n filteredOptionsCampaigns2: Observable;\n filteredOptionsGroups: Observable;\n filteredOptionsRanges: Observable;\n week: any;\n document: any;\n show = false;\n selection = new SelectionModel(true, []);\n\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n public editAvailable: boolean;\n\n public filters: any = {\n campaignId: '',\n startWeek: '',\n endWeek: '',\n groupId: '',\n document: '',\n type: 1,\n stateUserSchedule: 0,\n perPage: 5,\n page: 1,\n paginate: 1,\n };\n\n // displayedColumns: string[] = ['date_start', 'date_end', 'hour_start', 'hour_end', 'user'];\n displayedColumns: string[] = ['check', 'actions', 'name', 'document', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'];\n dataSource = new MatTableDataSource();\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatAutocompleteTrigger, { read: MatAutocompleteTrigger }) inputAutoComplete: MatAutocompleteTrigger;\n\n Actives: any;\n Inactives: any;\n documents: any = [];\n idTypeDoc: any;\n typeDocument = new FormControl();\n rol: any;\n reportForm: FormGroup;\n isRolPayroll : boolean;\n\n constructor(public dialog: MatDialog,\n private campaignService: CampaignService,\n private groupService: GroupsService,\n private scheduleTypeService: ScheduleTypesService,\n private configService: ConfigService,\n private alert: AlertsService,\n private datePipe: DatePipe,\n private users: CandidatesService,\n private sheduleService: SchedulesService,\n private authService: AuthService,\n private scheduleService2 : ScheduleService,\n ) {\n this.isRolPayroll = this.authService.getUser().roles.includes('ciu::horarios_nomina');\n }\n\n ngOnInit(): void {\n this.editAvailable = true;\n this.selection.clear();\n this.formControl();\n this.reportForm = new FormGroup({\n startDate: new FormControl('', Validators.required),\n endDate: new FormControl('', Validators.required),\n groupId: new FormControl('', Validators.required),\n userId: new FormControl('')\n });\n this.campaignService.getCampaigns().subscribe((resp) => {\n this.campaigns = resp.data;\n this.campaigns2 = resp.data;\n\n/* this.filteredOptionsCampaigns = this.filterForm.get('campaigns').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(x => x ? this._filterCampaigns(x) : this.campaigns.slice())\n ); */\n\n // filtro tab reporte\n this.filteredOptionsCampaigns2 = this.reportForm.get('groupId').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(x => x ? this._filterCampaigns(x) : this.campaigns2.slice())\n );\n });\n\n //obtener rol\n let user = this.authService.getUser();\n user.roles.map(item => {\n let array = item.split('::');\n if (array[0] == 'ciu') {\n this.rol = array[1];\n }\n });\n\n // atento a cambios de campaña y grupo\n\n this.consultarGrupos();\n this.filterForm.controls.groups.valueChanges.subscribe(resp => {\n\n if (resp) {\n this.cleanAllByChangeFilters('groups');\n this.filters.groupId = resp;\n this.getWeeksByGroupId();\n if (this.filters.startWeek) {\n this.getSchedulesToPrint();\n }\n }\n });\n\n //Tipos de documento\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.filters.type = resp;\n this.getSchedulesToPrint();\n });\n this.typeDocument.setValue(1);\n\n }\n\n get error(): any {\n return this.filterForm.controls;\n }\n\n get errorReport(): any {\n return this.reportForm.controls;\n }\n\n get userLog() { return this.authService.decryptToken(); }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se encarga del paginador al momento de cambiar de pagina\n * @param event evento que trae la pagina a listar\n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.filters.page = this.page;\n this.filters.perPage = this.pageSize;\n this.getSchedulesToPrint();\n // this.getSchedule(this.pageSize, this.page, null);\n\n }\n\n /**\n * @author Jose Silva\n * @createdate 2021-02-09\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void {\n\n this.filterForm = new FormGroup({\n rangeDate: new FormControl('', [this.autocompleteObjectValidator(), Validators.required]),\n groups: new FormControl('', [this.autocompleteObjectValidator(), Validators.required])\n });\n }\n\n /**\n * @author Jose Silva\n * @createdate 2021-02-09\n * Metodo que valida las funciones del autocompetable\n */\n autocompleteObjectValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (typeof control.value === 'string') {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n };\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterCampaigns(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.campaigns.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterGroups(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.groups.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterRanges(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.rangeDates.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFnCampaigns(id: number): string {\n if (!id) {\n return '';\n }\n const index = this.campaigns.findIndex(resp => resp.id === id);\n return this.campaigns[index].name;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFnGroups(id: number): string {\n if (!id) {\n return '';\n }\n const index = this.groups.findIndex(resp => resp.id === id);\n return this.groups[index].name;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFnRanges(id: any): string {\n if (!id) {\n return '';\n }\n const index = this.rangeDates.findIndex(resp => resp.id === id);\n return this.rangeDates[index].name;\n }\n\n /**\n * Consultar grupos\n * @author Daniel Dominguez \n * @createdate 2021-05-05\n */\n public consultarGrupos(e?) {\n\n this.filterForm.patchValue({\n groups: ''\n });\n\n this.groupService.getAllGroups().subscribe((response) => {\n this.groups = response.data;\n this.filteredOptionsGroups = this.filterForm.get('groups').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(x => x ? this._filterGroups(x) : this.groups.slice())\n );\n });\n }\n\n /**\n * Obtner semanas\n * @author Daniel Dominguez \n * @createdate 2021-05-05\n */\n public getWeeksRange() {\n this.filterForm.patchValue({\n rangeDate: ''\n });\n const to = new Date().getFullYear() + '-01-01';\n const numWeeks = 52;\n this.sheduleService.getWeeksRangesForScheduleFilters({ to, numWeeks })\n .subscribe(resp => {\n this.rangeDates = resp.data;\n this.filteredOptionsRanges = this.filterForm.get('rangeDate').valueChanges.pipe(\n startWith(''),\n map(value => {\n return typeof value === 'string' ? value : value.name;\n }),\n map(x => {\n return x ? this._filterRanges(x) : this.rangeDates.slice();\n })\n );\n /*setTimeout(() => {\n this.inputAutoComplete.openPanel();\n }, 700);*/\n });\n }\n\n /**\n * @author Daniel Dominguez \n * Modal para la creación de horarios\n */\n public newConfigSchedule() {\n const dialogNewRol = this.dialog.open(ConfigSchedulesComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Administrar tipos de horario',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.selection.clear();\n if (this.filters.startWeek) {\n this.getSchedulesToPrint();\n }\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-05\n * Modal para la edición de horarios\n */\n\n public viewEditSchedule(element) {\n\n if (this.week.length > 0 || this.week != undefined) {\n const dialogNewRol = this.dialog.open(EditSchedulesComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Editar horarios',\n data: this.selection.selected,\n data2: element,\n week: this.week,\n filters: this.filters\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.selection.clear();\n delete this.filters.userIds;\n if (this.filters.startWeek) {\n this.getSchedulesToPrint();\n }\n });\n }\n }\n\n /**\n * Metodo encargado de la eliminacion de horarios\n * @param row info del usuario seleccionado\n * @author Andrés Buitrago\n */\n deleteSchedule(row): void {\n this.alert.alertConfirm('¿Desea eliminar el horario de esta semana para este usuario?').then(e => {\n if (e.isConfirmed) {\n const { groupId, startWeek, endWeek } = this.filters;\n this.sheduleService.deleteScheduleByParams({ groupId, startWeek, endWeek, userId: row.id })\n .subscribe(resp => {\n this.selection.clear();\n this.getSchedulesToPrint();\n });\n }\n });\n }\n\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-05\n * Metodo que devuelve los dias de la semana seleccionada, para ser mostrados en la cabecera de la tabla\n */\n onChange(e) {\n const index = this.rangeDates.findIndex(resp => resp.id === e.option.value);\n this.filters.startWeek = this.rangeDates[index].from;\n this.filters.endWeek = this.rangeDates[index].to;\n this.week = this.rangeDates[index].days;\n // validar si muestro botones para edicion\n this.editAvailable = this.filters.endWeek >= moment().format('YYYY-MM-DD');\n\n if (this.filterForm.controls.groups.value) {\n this.getSchedulesToPrint();\n }\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-05\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e) {\n this.document = e;\n this.filters.document = this.document;\n this.getSchedulesToPrint();\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-06\n * Metodo para mostrar o ocultar filtros avanzados\n */\n Hide() {\n if (this.show == false) {\n this.show = true;\n } else {\n this.show = false;\n this.filters.document = this.show ? this.document : '';\n this.getSchedulesToPrint();\n }\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-05\n * Metodo para seleccionar las filas en la tabla\n */\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-05\n * Selecciona todas las filas si no están todas seleccionadas; de lo contrario la selección se limpia.\n */\n masterToggle() {\n this.isAllSelected() ?\n this.selection.clear() :\n this.dataSource.data.forEach(row => this.selection.select(row));\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-05\n * Obtiene los horarios en base a los filtros seleccionados.\n */\n getSchedulesToPrint(): void {\n if (!this.filters.groupId || this.filters.groupId === '') {\n return;\n }\n\n this.sheduleService.getSchedulesByFilters(this.filters)\n .subscribe(resp => {\n this.Actives = resp.data.actives;\n this.Inactives = resp.data.inactives;\n this.dataSource.data = resp.data.data;\n this.dataSource.sort = this.sort;\n this.length = resp.data.total;\n this.pageSize = resp.data.per_page;\n }, error => {\n this.Actives = 0;\n this.Inactives = 0;\n this.dataSource.data = [];\n this.dataSource.sort = this.sort;\n this.length = 0;\n this.pageSize = 5;\n });\n }\n\n /**\n * @author Andres Buitrago\n * @createdate 2021-05-28\n * Obtiene los horarios en base a los filtros seleccionados.\n */\n selectCardFilter(state: number): void {\n if (!this.filters.groupId && !this.filters.startWeek) {\n return;\n }\n this.filters.stateUserSchedule = (this.filters.stateUserSchedule === state) ? 0 : state;\n this.getSchedulesToPrint();\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-05\n * Obtiene los horarios en base a los filtros seleccionados.\n */\n exportSchedule(): void {\n if (!this.filters.startWeek) {\n return;\n }\n this.sheduleService.exportScheduleByFilters(this.filters)\n .subscribe(resp => {\n const dateToFile = moment().format('YYYY-MM-DD');\n importedSaveAs(resp, `reporte_horarios_${dateToFile}.xlsx`);\n });\n }\n\n /**\n * Obtiene las semanas cargadas por grupo\n * @author Andres Buitrago\n */\n getWeeksByGroupId(): void {\n this.filterForm.patchValue({\n rangeDate: ''\n });\n this.sheduleService.getWeeksRangesByGroupId(this.filters.groupId)\n .subscribe(resp => {\n this.rangeDates = resp.data.data;\n if (resp.data.currentWeekId) {\n this.filterForm.controls.rangeDate.setValue(resp.data.currentWeekId);\n this.onChange({ option: { value: resp.data.currentWeekId } });\n }\n this.filteredOptionsRanges = this.filterForm.get('rangeDate').valueChanges.pipe(\n startWith(''),\n map(value => {\n return typeof value === 'string' ? value : value.name;\n }),\n map(x => {\n return x ? this._filterRanges(x) : this.rangeDates.slice();\n })\n );\n });\n }\n\n /**\n * Reporte eventos CIU and VICI\n * @author Andres Buitrago\n */\n public downloadReportCiuAndVici(): void {\n this.sheduleService.exportEventsCiuAndVicidialByFilters(this.reportForm.value)\n .subscribe(resp => {\n const dateToFile = moment().format('YYYY-MM-DD');\n importedSaveAs(resp, `reporte_eventos_${dateToFile}.xlsx`);\n });\n }\n\n /**\n * Limpia los filtros de búsqueda cuando se cambia la campaña\n */\n cleanAllByChangeFilters(type: string): void {\n this.selection.clear();\n this.editAvailable = false;\n this.filterForm.controls.rangeDate.setValue('');\n this.dataSource.data = [];\n this.dataSource.sort = this.sort;\n this.length = 0;\n this.pageSize = 5;\n this.rangeDates = [];\n this.Actives = 0;\n this.Inactives = 0;\n if (type === 'campaign') {\n this.filterForm.controls.groups.setValue('');\n this.filters = {\n campaignId: this.filterForm.controls.campaigns.value,\n startWeek: '',\n endWeek: '',\n groupId: '',\n document: '',\n type: 1,\n stateUserSchedule: 0,\n perPage: 5,\n page: 1,\n paginate: 1,\n };\n } else if (type === 'group') {\n this.filters = {\n campaignId: this.filterForm.controls.campaigns.value,\n startWeek: '',\n endWeek: '',\n groupId: this.filterForm.controls.groups.value,\n document: '',\n type: 1,\n stateUserSchedule: 0,\n perPage: 5,\n page: 1,\n paginate: 1,\n };\n }\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-03-07\n * Metodo que se encarga de resetear la jornada de un usuario\n * guardando su respectivo log\n * @param user datos de la columna usuario\n */\n scheduleReset(user: any): void{\n\n let value = this.alert.alertConfirm('¿Desea reiniciar la jornada este usuario?');\n value.then((result) =>{\n if (result.isConfirmed) {\n let data = {\"responsible_id\":this.userLog.idCiu,\"affected_user\":user.id};\n if(this.userLog.idCiu != user.id )\n {\n this.scheduleService2.scheduleReset(data).subscribe((resp) => {\n this.alert.alertSuccess('Jornada reiniciada', resp.data);\n });\n }else{\n Swal.fire({\n html: `No puedes modificar tu propia jornada.`,\n icon: 'error',\n title : 'Error',\n confirmButtonText: 'Aceptar'\n })\n }\n\n }\n });\n }\n}\n\n\n","
\n\n
\n

Administración de Horarios

\n

Bienvenido al módulo administración de Horarios, recuerda que puedes
filtrar por cualquier criterio\n que encuentres en la tabla.

\n
\n\n \n \n
\n
\n
\n
\n\n
\n\n\n \n Grupo:\n \n \n \n {{group.name}}\n \n \n Campo es\n requerido\n Opción no válida\n \n\n \n Semana:\n \n \n \n {{ range.name }}\n \n \n Campo es\n requerido\n Opción no válida\n \n\n \n Documento\n \n \n {{item.key}}\n \n \n\n\n
\n
\n
\n \n \n
\n\n\n
\n
\n
\n \n \n \n
\n\n
\n
\n Personas activas: {{Actives}}\n Personal sin horarios: {{Inactives}}\n
\n
\n
\n
\n\n
\n
\n \n\n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n\n \n \n\n\n
\n \n \n \n \n \n Acciones\n \n \n \n Nombre {{row.name}} Documento {{row.id_number}} Lunes {{week?.monday |date:'dd'}}\n

{{row.monday.jornada}}

\n
Martes {{week?.tuesday |date:'dd'}} \n

{{row.tuesday?.jornada}}

\n
Miércoles {{week?.wednesday |date:'dd'}} \n

{{row.wednesday?.jornada}}

\n
Jueves {{week?.thursday |date:'dd'}} \n

{{row.thursday?.jornada}}

\n
Viernes {{week?.friday |date:'dd'}} \n

{{row.friday?.jornada}}

\n
Sábado {{week?.saturday |date:'dd'}} \n

{{row.saturday?.jornada}}

\n
Domingo {{week?.sunday |date:'dd'}} \n

{{row.sunday?.jornada}}

\n
\n\n \n \n\n
\n
\n\n
\n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n Fecha Inicio y Fin\n \n \n \n \n \n \n \n\n \n Grupo:\n \n \n \n {{group.name}}\n \n \n Campo es\n requerido\n Opción no válida\n \n\n \n\n

\n Nota: Genera el reporte de eventos entre CIU y Vicidial\n

\n\n
\n
\n
\n
\n\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { PageEvent } from '@angular/material/paginator';\nimport * as moment from 'moment';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ManagementHistoryViewComponent } from '../management-history-view/management-history-view.component';\nimport { EmailService } from '../../services/email.service';\nimport { FormControl, Validators } from '@angular/forms';\n\n@Component({\n selector: 'app-management-history',\n templateUrl: './management-history.component.html',\n styleUrls: ['./management-history.component.css']\n})\nexport class ManagementHistoryComponent implements OnInit {\n configColumnsTable: any[] = [\n { name: '', key: 'actions' },\n { name: 'Estado', key: 'state_email' },\n { name: 'Asunto', key: 'asunto' },\n { name: 'Fecha de envio', key: 'created_at' }\n ];\n dataManagementHistory: any[] = [];\n configPaginator: any = { length: 0, pageIndex: 0, pageSize: 5 };\n keysColumnsTable: string[] = [];\n filterSubject: FormControl = new FormControl('', Validators.maxLength(100));\n\n constructor(\n private matDialog: MatDialog,\n private emailService: EmailService,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n ngOnInit(): void {\n this.keysColumnsTable = this.configColumnsTable.map(item => item.key);\n this.getManagementHistory();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-05\n * Metodo que trae los historiales registrados en el sistema. \n */\n getManagementHistory(): void {\n this.emailService.getHistoryEmail(this.configPaginator, this.data.email.id, this.filterSubject.value).subscribe(res => {\n const mapToRegistersHistory = res.data.email_historial.data.map((item: any) => {\n return { ...item, created_at: moment(item.created_at).format('DD/MM/YYYY') };\n });\n this.dataManagementHistory = mapToRegistersHistory;\n this.configPaginator.length = res.data.email_historial.total;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-05\n * Metodo que trae la informacion del email seleccionado en la tabla.\n * @param management Gestion seleccionada en la tabla. \n */\n onClickShowManagementSelected(management: any): void {\n this.emailService.getEmailById(management).subscribe(res => {\n this.matDialog.open(ManagementHistoryViewComponent, {\n width: '80%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-management-history-view',\n data: {\n management: res.data,\n toPreview: false\n }\n });\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-05\n * Metodo que setea la configuracion de la paginacion.\n * @param $event Evento emitido por el paginador.\n */\n onChangePage($event: PageEvent): void {\n this.configPaginator = $event;\n this.getManagementHistory();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-10\n * Metodo que setea el valor del filtro sobre la vista.\n * @param $event Evento emitido el input.\n */\n onChangeFilter($event: any): void {\n this.filterSubject.setValue($event.target.value);\n if (this.filterSubject.valid) this.getManagementHistory();\n }\n}","
\n
\n \n
\n
\n
\n
Historial de gestión
\n \n
\n Acá podrá ver el histórico de gestión; dando clic en ver, podrá visualizar mas detalles del correo.\n
\n
\n
\n \n Asunto\n \n \n \n Maximo 100 caracteres para buscar\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ column.name }} \n {{ element[column.key] }}\n {{ column.name }} \n \n
No existe información relacionada
\n \n \n
\n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { UsersService } from '../../../services/users.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { RequestAssignComponent } from '../../requests/request-assign/request-assign.component';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-candidate-assign',\n templateUrl: './candidate-assign.component.html',\n styleUrls: ['./candidate-assign.component.sass']\n})\nexport class CandidateAssignComponent implements OnInit {\n\n analysts:any = [];\n analystSelected;\n dates:any = [];\n daleSelected;\n dateSelectedToCandidates;\n candidates = [];\n candidatesSelected = [];\n candidatesByDay = [];\n reAssingSection = false;\n reScheduled = false;\n reAssingDateSelected = false;\n candidatesList= false\n\n constructor(private _user:UsersService, private _candidate:CandidatesService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialog: MatDialogRef,\n private alert:AlertsService) { }\n\n ngOnInit(): void {\n this.getAnalysts();\n }\n\n getAnalysts(){\n this._user.getUserByRole('analista').subscribe( (analysts: any) => {\n this.analysts = analysts;\n });\n }\n reset(){\n this.candidates = [];\n this.dates = [];\n this.daleSelected = null;\n this.clearCandidateByDay();\n this.reAssingSection = false;\n this.reScheduled = false;\n this.reAssingDateSelected = false;\n this.candidatesSelected = [];\n }\n\n selectAnalyst(analystId){\n this.reset();\n this.analystSelected = analystId;\n this._candidate.checkSchedulesCandidates(analystId).subscribe( (dates: any) => {\n this.dates = dates;\n });\n\n }\n\n setAnalyst(){\n this.alert.alertConfirm('¿Estas seguro que desea asignar a los candidato(s) seleccionados?').then(e => {\n if(e.isConfirmed){\n this._candidate.assignCandidateToAnalyst(this.analystSelected, {candidateIds: this.candidatesSelected\n .toString(),dateSelected: this.daleSelected, requestId: this.data.requestId})\n .subscribe( (resp: any) => {\n this.alert.alertSuccess('¡Hecho!', 'Candidato(s) asignados con éxito');\n this.selectAnalyst(this.analystSelected);\n });\n }\n });\n }\n\n selectDate(date){\n this.clearCandidateByDay();\n this.candidatesList= false\n this.daleSelected = date.date;\n this._candidate.getCandidatesToAnalystByDaySelected(this.data.requestId, {date: new Date(date.date)\n .toISOString(), analystId: this.analystSelected })\n .subscribe( (candidates: any) => {\n this.candidates = candidates;\n var objDiv = document.getElementById('botDiv');\n objDiv.scrollIntoView()\n \n } );\n \n }\n\n checkCandidatesToDisable(candidate){\n\n if (candidate.scheduled){\n this.candidates.forEach(e => {\n if ( !e.scheduled ){\n e.disabled = true;\n }\n });\n }else{\n this.candidates.forEach(e => {\n if ( e.scheduled ){\n e.disabled = true;\n }\n });\n }\n }\n\n checkCandidateEnableAll(){\n if (this.candidatesSelected.length === 0){\n this.candidates.forEach(e => {\n e.disabled = false;\n });\n }\n }\n\n pushArr(candidate){\n if (candidate.scheduled){\n this.reScheduled = true;\n }else{\n this.reScheduled = false;\n }\n\n if (this.candidatesSelected.indexOf(candidate.id) < 0){\n this.candidatesSelected.push(candidate.id);\n this.checkCandidatesToDisable(candidate);\n }else{\n this.candidatesSelected.splice(this.candidatesSelected.indexOf(candidate.id), 1);\n this.checkCandidateEnableAll();\n }\n }\n\n showCandidates(date, candidateIds){\n this.candidatesList= false\n this.daleSelected= null\n this.dateSelectedToCandidates = date;\n this.candidatesByDay = [];\n this._candidate.candidatesByIds(candidateIds.toString()).subscribe((resp: any) => {\n this.candidatesByDay = resp;\n this.candidatesList= true\n setTimeout(f => {\n var objDiv = document.getElementById('candidatesDiv');\n objDiv.scrollIntoView()\n }, 400);\n \n \n });\n }\n\n clearCandidateByDay(){\n this.dateSelectedToCandidates;\n this.candidatesByDay = [];\n }\n\n reAssgign(){\n this.reAssingSection = true;\n }\n\n\n reAssingDateSelect(date){\n this.reAssingDateSelected = date;\n }\n\n reAssgignSave(){\n this.alert.alertConfirm('¿Estas seguro que quiere reasignar a los candidato(s) seleccionados?').then(e => {\n if(e.isConfirmed){\n this._candidate.reAssignCandidateToAnalyst(this.analystSelected, {candidateIds: this.candidatesSelected\n .toString(), dateSelected: this.reAssingDateSelected, requestId: this.data.requestId})\n .subscribe( (resp: any) => {\n this.alert.alertSuccess('¡Hecho!', 'Candidato(s) reasignados con éxito');\n this.selectAnalyst(this.analystSelected);\n });\n }\n });\n }\n\n cancelSchedules(){\n this.alert.alertConfirm('¿Quieres cancelar las citas para los candidato(s) selecionados?').then(e => {\n if (e.isConfirmed){\n this._candidate.cancelSchedulesCandidates(this.analystSelected, {candidateIds: this.candidatesSelected.toString()})\n .subscribe( e => {\n this.alert.alertSuccess('Cancelado', 'Candidato(s) cancelados con éxito');\n this.selectAnalyst(this.analystSelected);\n });\n }\n });\n }\n}\n","\n

Asignar Analista

\n
\n\n
\n \n Analistas\n \n \n {{row.name}}\n \n \n \n
\n
\n
0\" >\n

Agenda Analista

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

{{ date.date | date:'EEEE'}}

\n {{ date.date | date:'MMMM d, y'}}\n
\n
\n
\n \n Candidatos\n
\n {{date.candidates}} / {{date.availability}}\n
\n \n \n \n
\n \n
\n
\n
\n\n
\n
\n

No hay candidatos asignados para este día

\n
0\" >\n
\n

Candidatos asignados para el dia  
{{ dateSelectedToCandidates | date:'EEEE, MMM d, y'}}

\n \n
\n \n {{ candidate.name }} ({{candidate.requestCode}})\n \n \n
\n
\n \n \n\n
\n
\n

Fecha Seleccionada   {{daleSelected | date:'EEEE, MMMM d, y,'}}

\n
\n \n \n \n {{candidate.fullname}} (Programado)\n \n \n
\n
\n

No hay candidatos disponibles ni asignados

\n

0\">Candidatos seleccionados {{candidateSelected.selectedOptions.selected.length}}

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

Seleccione una nueva fecha para re-asignar a los candidatos seleccionados

\n
\n \n Seleccione una nueva fecha\n \n \n {{ row.date | date:'dd/MM/yyyy'}} ({{row.candidates}} / {{row.availability}})\n \n \n \n \n
\n
\n
\n\n\n \n\n \n \n \n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { PreguntasService } from 'src/app/modules/calidad/services/preguntas.service';\nimport Swal from 'sweetalert2';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-detalle-pregunta',\n templateUrl: './detalle-pregunta.component.html',\n styleUrls: ['./detalle-pregunta.component.sass']\n})\nexport class DetallePreguntaComponent implements OnInit {\n private uuid = '6d7bc6d0-8fa0-11ee-b9d1-0242ac120002';\n public config: any;\n /**\n * @author Cristian Gallo\n * Variable para almacenar los tipos de preguntas\n */\n tiposPreguntas = [];\n\n /**\n * @author Cristian Gallo\n * Variable para almacenar los rangos existente por tipo de pregunta lineal\n */\n items_tipo_pregunta;\n questionForm:FormGroup;\n elimantedOptions = [];\n constructor(\n private fb:FormBuilder,\n public questionRef:MatDialogRef,@Inject(MAT_DIALOG_DATA) public datos:any,\n private preguntaService:PreguntasService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.getTypeQuestions();\n this.createForm();\n this.getQuestionById();\n\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función para llamar los tipos de preguntas\n */\n getTypeQuestions(){\n this.preguntaService.getTypeQuestions().subscribe((resp:any)=>{\n this.tiposPreguntas = resp;\n })\n }\n\n createForm(){\n this.questionForm = this.fb.group({\n question_type_id: [{value:'', disabled:true}],\n question: [''],\n multiple: this.fb.array([]),\n question_type_item_id: '',\n requerida: [''],\n });\n this.edit()\n }\n\n /**\n * @author Cristian Gallo\n * Función para llamar los datos de la pregunta seleccionada\n */\n getQuestionById(){\n this.preguntaService.getQuestionByID(this.datos.id).subscribe((resp:any)=>{\n this.questionForm.get('question_type_id').setValue(resp.question_type_id);\n this.questionForm.get('question').setValue(resp.question);\n this.questionForm.get('requerida').setValue(resp.requerida);\n if (resp.tipo_pregunta.key == 'selección_múltiple' || resp.tipo_pregunta.key == 'lista_desplegable') {\n const option = this.questionForm.controls['multiple'];\n resp.opciones_respuesta_form_pregunta_activos.forEach(opcion => {\n option.push(this.fb.group(opcion));\n });\n this.edit()\n }\n if (resp.tipo_pregunta.key == \"escala_lineal\") {\n this.items_tipo_pregunta = resp.tipo_pregunta.items_tipo_pregunta;\n this.questionForm.get('question_type_item_id').setValue(resp.question_type_item_id)\n }\n });\n }\n\n get getOptions(){\n return this.questionForm.get('multiple') as FormArray;\n }\n\n /**\n * @author Cristian Gallo\n * Función para habilitar o desabilidar campos y botones del formulario,\n * una vez se ingrese al dialog\n */\n edit(){\n if (this.datos.edit) {\n this.questionForm.enable();\n this.questionForm.get('question_type_id').disable();\n }else{\n this.questionForm.disable();\n }\n }\n\n /**\n * @author Cristian Gallo\n * Función para habilitar campos y botones del formulario usando el boton editar\n */\n btnEdit(){\n this.questionForm.enable();\n this.questionForm.get('question_type_id').disable();\n this.datos.edit = true;\n }\n\n /**\n * @author Cristian Gallo\n * Función para agregar una nueva opción\n */\n addOption(){\n const option = this.questionForm.controls['multiple'];\n option.push(this.fb.group({\n activo: 1,\n business_intelligence_question_id: this.datos.id,\n created_at: '',\n name: '',\n other_answer: 0,\n updated_at: '',\n }));\n }\n\n /**\n * @author Cristian Gallo\n * Función para retirar una opción\n */\n removeOption(item:number,id_option){\n const option = this.questionForm.controls['multiple'];\n option.removeAt(item);\n const data = {\n id_pregunta: this.datos.id,\n id_opcion: id_option\n }\n this.elimantedOptions.push(data);\n }\n\n /**\n * @author Cristian Gallo\n * Función para actualizar información de la pregunta\n */\n updateQuestion(){\n this.questionForm.addControl('other_answer', new FormControl(0));\n this.questionForm.get('question_type_id').enable();\n this.preguntaService.updateQuestion(this.datos.id,this.questionForm.value).subscribe((resp:any)=>{\n this.questionForm.get('question_type_id').disable();\n if (resp.respuesta.codigo != 202) {\n Swal.fire({\n icon: 'error',\n title: this.config.msgTitleError,\n text: this.config.msgTextError,\n showConfirmButton: false,\n timer: 3500\n })\n return;\n }\n this.elimantedOptions.forEach(option => {\n this.preguntaService.deleteOpcion(option).subscribe(()=>{});\n });\n Swal.fire({\n icon: 'success',\n title: this.config.msgTitleSuccess,\n text: this.config.msgTextSuccess,\n showConfirmButton:false,\n timer: 2500\n })\n this.questionRef.close(resp.respuesta.codigo);\n },(err:any)=>{\n this.questionForm.get('question_type_id').disable();\n }\n );\n }\n\n}\n","\n
\n
\n

{{config.title}}

\n \n \n
\n \n {{config.questionType}}\n \n {{tipo.name}}\n \n \n \n {{config.question}}\n \n \n
\n
\n
\n \n {{config.option}} {{i+1}}\n \n 1\" [hidden]=\"!datos.edit\" (click)=\"removeOption(i,opcion.value.id)\">\n \n
\n
\n \n
\n
\n \n {{config.scale}} {{opcion.name}}\n \n
\n
\n
\n
\n \n {{config.option}} {{i+1}}\n \n 1\" [hidden]=\"!datos.edit\" (click)=\"removeOption(i,opcion.value.id)\">\n \n
\n
\n \n
\n {{config.answerMandatory}}\n
\n \n \n
\n
\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'time'\n})\nexport class TimePipe implements PipeTransform {\n\n transform(value: string, ...args: unknown[]): string {\n let str =value;\n str = str.replace(':', '');\n str = str.replace(':', '');\n str = str.replace(':', '');\n \n\n let arr = str.split('');\n let toal_r = arr.length;\n if (toal_r>6){ toal_r=6; } // Si supera los 6 caracteres , limitamos\n //Llenamos los numeros de la derecha\n for (let i = 1; i <=(6-toal_r); i++) {\n str = str+'0';\n } \n arr = str.split('');\n let text = \"\";\n //formateamos el texto, lo maximo son 6 caracteres HH:MM:SS\n for (let i = 1; i <= 6; i++) {\n text = text+''+arr[i-1];\n if ( (i%2)==0 ) {\n if (i<6) { text = text+':'; } \n } \n } \n\n return text; \n}\n\n/*\n\n\n\n\n /*\n let newValue:string = '';\n if (value.length >= 4) {\n if (value.length == 5) {\n Array.from(value).forEach((numero, index) => {\n newValue = newValue + numero\n if (index == 2) {\n newValue = newValue + ':'\n }\n });\n return newValue;\n }else if (value.length == 4) {\n Array.from(value).forEach((numero, index) => {\n newValue = newValue + numero\n if (index == 1) {\n newValue = newValue + ':'\n }\n });\n return newValue;\n }\n }else{\n return value;\n }\n }*/\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators, ValidatorFn, AbstractControl } from '@angular/forms';\nimport { Observable, ReplaySubject, Subject } from 'rxjs';\nimport { GroupsService } from '../../../services/rest/groups.service';\nimport { DestroyComponentService } from '../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { CampaignService } from '../../../services/rest/campaign.service';\nimport { startWith, map, delay, debounceTime, takeUntil, tap, filter } from 'rxjs/operators';\nimport { UsersService } from '../../../services/rest/users.service';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-save-groups',\n templateUrl: './save-groups.component.html',\n styleUrls: ['./save-groups.component.sass']\n})\nexport class SaveGroupsComponent implements OnInit {\n\n groupForm: FormGroup;\n filteredOptions: Observable;\n userRRHH: any;\n userSinGroup: any[] = [];\n userSinGroupNuevo: any[] = [];\n userGroup: any[] = [];\n userSelected: any[] = [];\n\n /** list of campaigns */\n protected campaigns: any[] = [];\n /** control for the selected campaign for server side filtering */\n public CampaignServerSideCtrl: FormControl = new FormControl();\n /** control for filter for server side. */\n public campaignServerSideFilteringCtrl: FormControl = new FormControl('');\n /** indicate search operation is in progress */\n public searching: boolean = false;\n /** list of campaigns filtered after simulating server side search */\n public filteredServerSideCampaigns: ReplaySubject = new ReplaySubject(1);\n protected _onDestroy = new Subject();\n //documento\n documentNumber = new FormControl();\n typeDocument = new FormControl(1);\n documents: any = [];\n idTypeDoc: any = 1;\n document: any;\n userInfo: any = [];\n\n constructor(private campaignService: CampaignService,\n private groupService: GroupsService,\n private userServce: UsersService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private users: CandidatesService,) {\n }\n\n ngOnInit(): void {\n this.userInfo = [];\n this.formControl();\n if (this.data.type === 'editar') {\n this.groupService.getUsersByGroup(this.data.group.id).subscribe((usuGroup) => {\n this.userGroup = usuGroup;\n });\n }\n this.campaignService.getCampaigns().subscribe((resp) => {\n this.campaigns = resp.data;\n this.setEdit();\n //select multiple\n this.campaignServerSideFilteringCtrl.valueChanges.pipe(\n filter(search => !!search),\n tap(() => this.searching = true),\n takeUntil(this._onDestroy),\n debounceTime(200),\n startWith(''),\n map(search => {\n if (!this.campaigns) {\n return [];\n }\n\n // simulate server fetching and filtering data\n return this.campaigns.filter(item => item.name.toLowerCase().indexOf(search) > -1);\n }),\n delay(500)\n )\n .subscribe(filteredCamapaings => {\n this.searching = false;\n this.filteredServerSideCampaigns.next(filteredCamapaings);\n }, error => {\n // no errors in our simulated example\n this.searching = false;\n // handle error...\n });\n });\n\n\n // camapañas seleccionadas\n this.CampaignServerSideCtrl.valueChanges.subscribe(resp => {\n const campaingsSelected = resp;\n const body = {\n campaignIds: [],\n group_id: 0\n };\n campaingsSelected.forEach(element => {\n body.campaignIds.push(element.id);\n });\n \n this.userServce.getUserByGroup(body).subscribe((usuGroup) => {\n this.userSinGroup = usuGroup.data;\n });\n if (this.data.type === 'editar') {\n this.groupService.getUsersByGroup(this.data.group.id).subscribe((usuGroup) => {\n this.userGroup = usuGroup;\n });\n } else if (this.data.type === 'crear') {\n this.userGroup = [];\n }\n });\n\n // Tipo documento\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.idTypeDoc = resp;\n this.getUserByDocument();\n });\n\n // N° documento\n this.documentNumber.valueChanges.pipe(debounceTime(1000)).subscribe(resp => {\n this.document = resp;\n this.getUserByDocument();\n });\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n\n return this.campaigns.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFn(id: number): string {\n if (!id) { return ''; }\n let index = this.campaigns.findIndex(resp => resp.id === id);\n return this.campaigns[index].name;\n\n }\n\n get error(): any { return this.groupForm.controls; }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void {\n\n this.groupForm = new FormGroup({\n group: new FormControl('', [Validators.required, Validators.maxLength(45), Validators.minLength(3)]),\n description: new FormControl('', [Validators.required, Validators.maxLength(50), Validators.minLength(3)]),\n //campaigns: new FormControl('', [this.autocompleteObjectValidator(), Validators.required])\n });\n\n }\n\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que valida las funciones del autocompetable\n */\n autocompleteObjectValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (typeof control.value === 'string') {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n };\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que setea los valores al momento de editar\n */\n setEdit(): void {\n if (this.data.type === 'editar') {\n this.groupForm.controls.group.setValue(this.data.group.name);\n this.groupForm.controls.description.setValue(this.data.group.description);\n }\n }\n\n lstInicial = new FormGroup({\n selected: new FormControl([])\n });\n\n lstfinal = new FormGroup({\n selected: new FormControl([])\n });\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que a partir de una variable enviada desde el administrador de roles crea un nuevo rol o edita un rol\n * @param groupForm datos que recolecta el formulario\n */\n saveGroup(groupForm): void {\n\n if (this.data.type === 'crear') {\n const group = {\n name: groupForm.value.group,\n description: groupForm.value.description,\n key: groupForm.value.description\n };\n\n this.groupService.saveGroup(group).subscribe((resp) => {\n this.userServce.saveUserWithGroup(this.userGroup, resp.id).subscribe();\n this.userServce.saveUserWithoutGroup(this.userSinGroup).subscribe();\n this.alertsService.alertSuccess('Guardado', resp.data);\n this.dialogRef.close('');\n });\n }\n else if (this.data.type === 'editar') {\n this.editGroup(groupForm);\n }\n\n }\n\n /**\n * Metodo para la inactivacion del grupo cuando al editar quiten los usuarios vinculados\n * @param group objeto del grupo\n * @author Andres Buitrago\n */\n inactiveGroup(): void {\n this.groupService.deleteGroup(this.data.group.id)\n .subscribe(resp => {\n this.alertsService.alertSuccess('Grupo Inactivo', 'Cambios realizados correctamente');\n this.dialogRef.close('');\n });\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que edita un rol\n * @param groupForm datos que recolecta el formulario\n */\n editGroup(groupForm): void {\n const group = {\n name: groupForm.value.group,\n description: groupForm.value.description,\n key: groupForm.value.description\n };\n\n this.groupService.editGroup(this.data.group.id, group).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', resp.data);\n });\n this.userServce.saveUserWithGroup(this.userGroup, this.data.group.id).subscribe();\n this.userServce.saveUserWithoutGroup(this.userSinGroup).subscribe();\n this.dialogRef.close('');\n }\n\n asingarGrupo() {\n this.userSelected = this.lstInicial.value.selected;\n this.userSinGroupNuevo = this.userSinGroup;\n this.userSelected.forEach(select => {\n this.userGroup.push(select);\n this.userSinGroupNuevo = this.userSinGroupNuevo.filter((i) => i.id !== select.id)\n });\n this.lstInicial.value.selected = [];\n\n this.userSinGroup = this.userSinGroupNuevo;\n this.lstInicial.controls.selected.setValue([]);\n\n }\n\n quitarGrupo() {\n this.userSelected = this.lstfinal.value.selected;\n this.userSinGroupNuevo = this.userGroup;\n\n this.userSelected.forEach(select => {\n this.userSinGroup.push(select);\n this.userSinGroupNuevo = this.userSinGroupNuevo.filter((i) => i.id !== select.id)\n });\n this.lstfinal.value.selected = [];\n\n this.userGroup = this.userSinGroupNuevo;\n this.lstfinal.controls.selected.setValue([]);\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n /**\n* @author Javier Castañeda\n* @createdate 2022-02-11\n* Metodo para capturar el documento a filtrar\n*/\n onBlurMethod(e) {\n this.document = e;\n this.getUserByDocument();\n }\n /**\n* @author Javier Castañeda\n* @createdate 2022-02-11\n* Metodo para obtener la información de un usuario por documento y tipo de documento\n*/\n getUserByDocument() {\n this.userInfo = [];\n if( this.document != ''){\n this.userServce.getUserByDocument(this.document, this.idTypeDoc).subscribe(resp => {\n this.userInfo.push(resp.data);\n });\n }\n\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-02-11\n * Metodo para agregar el usuario consultado al grupo\n */\n addUserToGroup() {\n if (this.userInfo[0]?.group == null) { \n this.userGroup.push(this.userInfo[0]);\n this.userInfo = [];\n this.documentNumber.setValue('');\n } else if (this.userInfo[0]?.group !== null){ \n let str =\n '¿En verdad deseas cambiar al usuario de grupo?, ' +\n '\\n' +\n 'recuerda esto será definitivo y no se podrá deshacer.';\n Swal.fire({\n title: '¿Estás seguro?',\n html:\n '
' + str + '
',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true,\n }).then((result) => {\n if (result.isConfirmed) {\n this.userGroup.push(this.userInfo[0]);\n this.userInfo = [];\n this.documentNumber.setValue('');\n }\n });\n }\n }\n\n}\n","\n

\n
\n

{{data.title}}

\n
\n

\n
\n\n
\n\n \n \n\n \n Campañas\n \n \n \n \n \n {{item.name}}\n \n \n \n\n\n \n Nombre del grupo\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo 3\n caracteres\n ¡Cuidado! Solo puedes tener un\n máximo de 45 caracteres\n \n\n\n \n Descripción\n \n ¡Advertencia! Este\n campo es requerido\n ¡Aún falta!\n Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo\n puedes\n tener un máximo de 50 caracteres\n \n\n \n
\n
\n Usuarios Disponibles\n \n \n \n\n
\n
\n
\n
\n Usuarios del Grupo\n
\n
\n\n
\n \n
\n\n \n \n \n Nombre: {{usuario.name}} | Doc: {{ usuario.documento }} | Fecha: {{\n usuario.created_at | date }}\n \n \n \n\n
\n \n
\n \n \n\n
\n \n
\n \n \n \n Nombre: {{usuario.name}} | Doc: {{ usuario.documento }} | Fecha: {{\n usuario.created_at | date }}\n \n \n \n
\n\n
\n\n \n
\n
\n

\n Opciones seleccionadas: {{disponibles.selectedOptions.selected.length}}\n

\n
\n
\n
\n

\n Opciones seleccionadas: {{usuarios.selectedOptions.selected.length}}\n

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

Añadir usuario al grupo

\n \n Documento\n \n \n {{item.key}}\n \n \n
\n
\n \n

Nombre: {{userInfo[0]?.name}}
Grupo: {{userInfo[0]?.group}}

\n
\n\n
\n\n
\n\n \n \n \n \n \n\n
\n
","import { Component, OnInit, Input, ViewChild, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\nimport { FormGroup, FormBuilder, FormControl, FormArray, Validators } from '@angular/forms';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { EDITOR_CONFIG } from '../../constantes/mail-config-editor';\nimport { MatChipInputEvent, MatChipList } from '@angular/material/chips';\nimport { validateArrayNotEmpty, validateIsEmails } from '../../constantes/custom-validations';\nimport { ContactGroupComponent } from '../contact-group/contact-group.component';\nimport { MatDialog } from '@angular/material/dialog'\nimport { MatSelectChange } from '@angular/material/select';\nimport { EmailService } from '../../services/email.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatOptionSelectionChange } from '@angular/material/core';\n\n@Component({\n selector: 'app-mail-form',\n templateUrl: './mail-form.component.html',\n styleUrls: ['./mail-form.component.css']\n})\nexport class MailFormComponent implements OnInit, OnChanges {\n @ViewChild('chipListTo') chipListTo: MatChipList;\n @ViewChild('chipListCc') chipListCc: MatChipList;\n @ViewChild('chipListCco') chipListCco: MatChipList;\n @ViewChild('editor') editor: any;\n @Input() formNewMessage: FormGroup = null;\n @Input() typeManagerMessage: string = 'Enviar';\n @Input() templates: any[] = [];\n @Input() filesToLoadEmail: any[] = [];\n @Input() preloadAttachments: any[] = [];\n @Input() labels: any[] = [];\n @Output() onChangeTemplate: EventEmitter = new EventEmitter();\n @Output() onDeleteFilesToLoadEmail: EventEmitter = new EventEmitter();\n @Output() clearMessage: EventEmitter = new EventEmitter();\n @Output() updatePreloadAttachments: EventEmitter = new EventEmitter();\n @Output() onChangeLabelSelected: EventEmitter = new EventEmitter();\n separatorKeysCodes: number[] = [ENTER, COMMA];\n ccSelect: boolean = false;\n ccoSelect: boolean = false;\n editorConfig: any = EDITOR_CONFIG;\n filteredOptions: Observable = null;\n nameLabel: string = '';\n labelSelected: string = '';\n\n constructor(\n private formBuilder: FormBuilder,\n private matDialog: MatDialog,\n private emailService: EmailService,\n private matSnackBar: MatSnackBar,\n private alertService: AlertsService\n ) { }\n\n ngOnInit(): void {\n this.formNewMessage.get('to')?.statusChanges.subscribe(status => { this.chipListTo.errorState = status === 'INVALID'; });\n this.filteredOptions = this.formNewMessage.get('label').valueChanges.pipe(\n startWith(''),\n map(value => this.filterLabel(value))\n );\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.formNewMessage.get('cc') && this.formNewMessage.get('cc').value !== null && this.formNewMessage.get('cc').value.length > 0) this.ccSelect = true;\n if (this.formNewMessage.get('cco') && this.formNewMessage.get('cco').value !== null && this.formNewMessage.get('cco').value.length > 0) this.ccoSelect = true;\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-11-01\n * Filtra el array de labels a traves de lo digitado en el input. \n */\n private filterLabel(value: string): any[] {\n const filterValue = typeof value === 'string' ? value.toLowerCase() : '';\n return this.labels.filter(option => option.name.toLowerCase().includes(filterValue));\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-01\n * Metodo que busca la etiqueta para sacar el nombre. \n * @param $event Evento emitido por el option. \n */\n findLabel($event: MatOptionSelectionChange): void {\n const label = this.labels.find(item => item.content == $event.source.value);\n if (label) {\n this.nameLabel = label.name;\n this.labelSelected = label.content;\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-01\n * Metodo que agrega el contenido de la etiqueta al texto enriquecido. \n */\n onClickSelectedLabelToInput(): void {\n this.editor.focus();\n this.editor.editorService.restoreSelection();\n this.editor.editorService.insertHtml(this.labelSelected);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-30\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formNewMessage.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-29\n * Metodo que agrega una cadena de texto a cada uno de los chip list.\n * @param event Manejador de eventos de los mat chip.\n * @param typeList Nombre del list chip en el cual se van agregar una cadena de texto. \n */\n addEmail($event: MatChipInputEvent, typeList: string): void {\n const input = $event.input;\n const value = ($event.value || '').trim();\n if (value && value !== '') {\n const newFormGroup = this.formBuilder.group({ name: new FormControl(value, [Validators.email]) });\n const arrayForm = this.formNewMessage.get(typeList) as FormArray;\n arrayForm.push(newFormGroup);\n if (input) input.value = '';\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-29\n * Metodo que elimina una cadena de texto dentro un chip list.\n * @param index Cadena de texto seleccionada dentro del chip list. \n * @param typeList Nombre del chip list en el cual se va a remover el elemento.\n */\n removeItem(index: number, typeList: string): void {\n const arrayForm = this.formNewMessage.get(typeList) as FormArray;\n arrayForm.removeAt(index);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-29\n * Metodo agrega un archivo a la lista de archivos del formulario. \n * @param $event Evento emitido por el campo tipo archivo. \n */\n addFile($event: any) {\n const files = $event.target.files;\n for (let i = 0; i < files.length; i++) {\n const newFormGroup = this.formBuilder.group({ file: new FormControl(files[i], []) });\n const arrayForm = this.formNewMessage.get('attachments') as FormArray;\n arrayForm.push(newFormGroup);\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-30\n * Metodo que muestra u oculta el campo con copia. \n */\n onChangeStateCcSelect(): void {\n this.ccSelect = this.updateValidatorsFields(this.ccSelect, 'cc');\n this.formNewMessage.get('cc').statusChanges.subscribe(status => { this.chipListCc.errorState = status === 'INVALID'; });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-30\n * Metodo que muestra u oculta el campo con copia. \n */\n onChangeStateCcoSelect(): void {\n this.ccoSelect = this.updateValidatorsFields(this.ccoSelect, 'cco');\n this.formNewMessage.get('cco').statusChanges.subscribe(status => { this.chipListCco.errorState = status === 'INVALID'; });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-30\n * Metodo que setea las validaciones segun el campo pasado por parametro. \n * @param stateField Estado de la vizualización del campo.\n * @param nameField Nombre del campo del formulario. \n */\n updateValidatorsFields(stateField: boolean, nameField: string): boolean {\n const newStateField = !stateField;\n const arrayField = this.formNewMessage.get(nameField) as FormArray;\n arrayField.clear();\n if (newStateField) this.formNewMessage.get(nameField).setValidators([validateArrayNotEmpty, validateIsEmails]);\n else this.formNewMessage.get(nameField).clearValidators();\n this.formNewMessage.get(nameField).updateValueAndValidity();\n return newStateField;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-02\n * Metodo que muestra la modal de grupos de contacto. \n * @param nameField Nombre del campo de donde esta ubicado el boton.\n */\n onClickOpenDialogContacts(nameField: string): void {\n this.matDialog.open(ContactGroupComponent, {\n width: '70%',\n autoFocus: false,\n panelClass: 'dialog-padding-contact-group',\n maxHeight: '95vh',\n data: {\n nameField\n }\n }).afterClosed().subscribe(res => {\n if (res.contactGroupSelected && res.contactGroupSelected.length > 0)\n this.addMailsContactGroup(res.contactGroupSelected, res.nameField);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-02\n * Metodo que registra los correos de los grupos de contacto sobre los respectivos campos de texto.\n * @param mails Informacion del grupo de contacto. \n * @param nameField Nombre del campo de donde esta ubicado el boton.\n */\n addMailsContactGroup(mails: any, nameField: string): void {\n const mailsToSplit = mails.map((item: any) => { return { ...item, mails: item.email_list.split(',') }; });\n mailsToSplit.forEach((contactGroup: any) => {\n contactGroup.mails.forEach((mail: string) => {\n const newFormGroup = this.formBuilder.group({ name: new FormControl(mail, [Validators.email]) });\n const arrayForm = this.formNewMessage.get(nameField) as FormArray;\n arrayForm.push(newFormGroup);\n });\n });\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: 'Se ha añadido el grupo de contacto con éxito'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-11\n * Metodo que envia al componente padre la plantilla seleccionada desde el formulario.\n * @param $event Evento emitido por el select. \n */\n onChangeTemplateSelected($event: MatSelectChange): void {\n this.onChangeTemplate.emit($event.value);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-15\n * Metodo que elimina un adjunto de un correo. \n * @param idFile Id del archivo seleccionado. \n */\n deleteFileByEmail(idFile: number): void {\n this.emailService.deleteAttachment(idFile).subscribe(res => {\n if (res) this.onDeleteFilesToLoadEmail.emit(idFile);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-04\n * Metodo que envia el id del adjunto seleccionado al componente padre. \n * @param index Id del archivo seleccionado. \n */\n deletePreloadAttachments(index: number): void {\n this.updatePreloadAttachments.emit(index);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-18\n * Metodo que agrega contenido al texto enriquecido de acuerdo a la etiqueta seleccionada.\n * @param label Etiqueta seleccionada. \n */\n onClickSelectLabel(label: string): void {\n this.alertService.alertWarning('Información de la etiqueta', label, 'Agregar', 'Cancelar', { icon: 'info' }).then(res => {\n if (res.isConfirmed) {\n this.editor.focus();\n this.editor.editorService.restoreSelection();\n this.editor.editorService.insertHtml(label);\n }\n })\n }\n}","
\n
\n
\n \n De\n \n \n
\n
\n
\n
\n \n Lista de correos\n \n \n
\n
\n
\n
\n \n Con copia\n \n \n
\n
\n \n
\n
\n \n Descripción*\n \n \n El campo es requerido\n Máximo 10000 caracteres\n \n \n
\n
\n \n
\n
\n \n \n \n {{ item.value.name }}\n cancel\n \n \n \n \n
\n El campo es requerido\n Correo invalido\n
\n
\n
\n
\n \n
\n
CC
\n
CCO
\n
\n
\n
\n
\n \n \n \n {{ item.value.name }}\n cancel\n \n \n \n \n
\n El campo es requerido\n Correo invalido\n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n {{ item.value.name }}\n cancel\n \n \n \n \n
\n El campo es requerido\n Correo invalido\n
\n
\n
\n \n
\n
\n
\n
\n \n Asunto*\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n \n \n {{ item.value.file.name }}\n cancel\n \n \n \n \n \n
\n Máximo 20 MB\n
\n
\n
\n
0\">\n
\n \n \n {{ file.nombre }}\n cancel\n \n \n
\n
\n
0\">\n
\n \n \n {{ file.nombre }}\n cancel\n \n \n
\n
\n
0\">\n
\n \n \n {{ item.name }}\n \n \n
\n
\n
\n
\n \n Textos rápidos\n \n \n \n \n {{ item.name }}\n \n \n \n \n
\n \n
\n \n
\n
\n
\n
\n \n
\n El campo es requerido\n
\n
\n
\n \n
\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges, ViewChild, ElementRef } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ManagementHistoryComponent } from '../management-history/management-history.component';\nimport { AssignEmailComponent } from '../assign-email/assign-email.component';\nimport { EmailService } from '../../services/email.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { EDITOR_CONFIG } from '../../constantes/mail-config-editor-view';\nimport { ManagementHistoryViewComponent } from '../management-history-view/management-history-view.component';\nimport * as html2pdf from 'html2pdf.js';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport * as ClassicEditor from '@ckeditor/ckeditor5-build-classic';\n\n\n@Component({\n selector: 'app-mail-view',\n templateUrl: './mail-view.component.html',\n styleUrls: ['./mail-view.component.css']\n})\nexport class MailViewComponent implements OnInit, OnChanges {\n @Input() mailSelected: any = null;\n @Input() showVerticalScroll: boolean = true;\n @Input() showActionsButtons: boolean = true;\n @Input() showButtonHistory: boolean = true;\n @Input() showAccordeonHistory: boolean = true;\n @Input() showDetails: boolean = true;\n @Output() updateViewEmails: EventEmitter = new EventEmitter();\n @Output() updateDataEmailSelected: EventEmitter = new EventEmitter();\n @Output() deleteOrRestoreEmail: EventEmitter = new EventEmitter();\n @Output() moveEmail: EventEmitter = new EventEmitter();\n @ViewChild('containerViewMail', { static: false }) containerViewMail: ElementRef\n editorConfig: any = EDITOR_CONFIG;\n showHistoryConversationByButton: boolean = false;\n actionSelected: string = null;\n\n /**\n * CKEDitor Config\n */\n public editorBody = ClassicEditor\n\n public configTextBody = {\n placeholder: 'Ingresa aqui el cuerpo del PDF',\n language: 'es'\n }\n\n constructor(\n private matDialog: MatDialog,\n private emailService: EmailService,\n private alertService: AlertsService,\n private matSnackBar: MatSnackBar\n ) { \n /*\n ClassicEditor.defaultConfig = {\n toolbar: {\n items: [\n 'heading',\n '|',\n 'bold', 'italic',\n '|',\n 'link',\n '|',\n 'bulletedList', 'numberedList',\n '|',\n 'insertTable',\n '|',\n 'blockQuote',\n '|',\n 'undo',\n 'redo'\n ],\n },\n heading: {\n options: [\n { model: 'paragraph', title: 'Párrafo', class: 'ck-heading_paragraph' },\n { model: 'heading1', view: 'h1', title: 'Título 1', class: 'ck-heading_heading1' },\n { model: 'heading2', view: 'h2', title: 'Título 2', class: 'ck-heading_heading2' },\n { model: 'heading3', view: 'h3', title: 'Título 3', class: 'ck-heading_heading3' },\n { model: 'heading4', view: 'h4', title: 'Título 4', class: 'ck-heading_heading4' },\n { model: 'heading5', view: 'h5', title: 'Título 5', class: 'ck-heading_heading5' },\n { model: 'heading6', view: 'h6', title: 'Título 6', class: 'ck-heading_heading6' }\n ]\n },\n table: {\n contentToolbar: [ 'tableColumn', 'tableRow', 'mergeTableCells' ]\n },\n language: 'es'\n };\n */\n }\n\n ngOnInit(): void {\n\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-09\n * Cuando la data del componente cambie vamos a reiciar la vista ocultado el formulario de gestion.\n * @param changes Cambios detectados por el componente. \n */\n ngOnChanges(changes: SimpleChanges): void {\n this.actionSelected = null;\n this.showHistoryConversationByButton = false;\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-05\n * Metodo que muestra la modal de historial de gestion. \n */\n onClickShowManagementHistory(): void {\n this.matDialog.open(ManagementHistoryComponent, {\n width: '80%',\n height: '60vh',\n autoFocus: false,\n panelClass: 'dialog-padding-management-history',\n data: {\n email: this.mailSelected\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-25\n * Metodo que setea la accion seleccionada.\n * @param nameAction Nombre de la accion seleccionada. \n */\n setActionSelected(nameAction: string): void {\n this.actionSelected = nameAction;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-25\n * Metodo que muestra la modal de asignacion de correos.\n */\n onClickShowAssignEmail(): void {\n this.matDialog.open(AssignEmailComponent, {\n width: '40%',\n autoFocus: false,\n panelClass: 'dialog-padding-assign-email',\n data: {\n title: 'Asignación de correo',\n email: [this.mailSelected],\n isEmailReassignment: false,\n configEmailsSelected: this.mailSelected.email_config_id\n }\n }).afterClosed().subscribe(res => {\n if (res) this.updateViewEmails.emit();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-25\n * Metodo que imprime el correo seleccionado en la lista en un PDF.\n */\n async onClickPrintToEmailPdf() {\n const content = this.containerViewMail.nativeElement;\n const options = {\n margin: 10,\n filename: 'Email.pdf',\n image: { type: 'jpeg', quality: 0.98 },\n html2canvas: { scale: 2 },\n jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }\n };\n html2pdf().from(content).set(options).save();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-14\n * Metodo que que descarga el adjunto seleccionado.\n * @param url Url del adjunto.\n * @param name Nombre del adjunto\n */\n downloadAttachments(url: string, name: string): void {\n const urlWithName = `${url}/${name}`;\n this.emailService.downloadAttachment(urlWithName).subscribe(res => {\n importedSaveAs(res, name);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-14\n * Metodo que emite el email gestionado del formulario.\n * @param $event Evento emitido por el componente hijo. \n */\n onSubmitFormManagerMessage($event: any): void {\n this.actionSelected = null;\n this.updateDataEmailSelected.emit(this.mailSelected);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-03\n * Metodo que abre los detalles del correo en una modal.\n */\n showPreviewEmail(): void {\n this.matDialog.open(ManagementHistoryViewComponent, {\n width: '95%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-management-history-view',\n data: {\n management: this.mailSelected,\n toPreview: true,\n showButtonPrint: true,\n showButtonAddEmail: false,\n showDetails: true\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-04\n * Metodo que que descarga el archivo EML del correo seleccionado.\n */\n downloadEML(): void {\n this.emailService.downloadEmailEML(this.mailSelected.id).subscribe(res => {\n importedSaveAs(res);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-23\n * Metodo que elimina el correo seleccionado.\n */\n deleteEmailsSelected(): void {\n this.alertService.alertWarning('¿Está seguro?', '¿De eliminar el correo? Este quedara almacenado en la bandeja de eliminados.').then(confirm => {\n if (confirm.isConfirmed) {\n const formData = new FormData();\n formData.append('email_list', `[${this.mailSelected.id}]`);\n this.emailService.deleteEmails(formData).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.deleteOrRestoreEmail.emit();\n });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-23\n * Metodo que elimina el correo seleccionado.\n */\n restoreEmailsSelected(): void {\n this.alertService.alertWarning('¿Está seguro?', '¿De restaurar el correo? Este quedara almacenado en la bandeja original.').then(confirm => {\n if (confirm.isConfirmed) {\n const formData = new FormData();\n formData.append('email_list', `[${this.mailSelected.id}]`);\n this.emailService.restoreEmails(formData).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.deleteOrRestoreEmail.emit();\n });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-26\n * Metodo que emite el ID del correo seleccionado para ser movido.\n */\n onClickMoveEmail(): void {\n this.moveEmail.emit([{ id: this.mailSelected.id, id_bandeja: this.mailSelected.id_bandeja }]);\n }\n}","
\n
\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n \n
\n {{ mailSelected.asunto }}\n
\n \n
\n
\n
\n
\n MT\n
\n
\n
De: {{ mailSelected.de }}
\n
Para: {{ mailSelected.para }}
\n
CC: {{ mailSelected.cc }}
\n
\n
\n
\n {{ mailSelected.created_at | date: 'short' }}\n
\n
\n {{ mailSelected.fecha_hora }}\n
\n
\n
\n
\n \n
\n
\n
\n Detalles\n
\n
\n Historial\n \n
\n
\n
\n
\n Estado: {{\n mailSelected.state_email }}\n
\n
\n
Categoría: {{ mailSelected.category_email }}
\n
\n
\n
\n
\n Vencimiento: {{ mailSelected.expiration }}\n
\n
\n Tiempo dentro del vencimiento: {{\n mailSelected.timeWithExpiration }}\n
\n
\n
\n
\n
\n
0\">\n \n
\n
{{ mailSelected.attachments.length }} Adjuntos
\n
\n
\n
\n {{ item.nombre }}\n \n
\n
\n
\n
\n
\n \n
\n \n \n \n \n \n
\n
\n \n
\n Ver historico de conversación\n
\n
\n
\n Historico de conversación\n
\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { map, startWith } from 'rxjs/operators';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { CampaignService } from '../../../services/campaign.service';\n\n@Component({\n selector: 'app-assign-campaign',\n templateUrl: './assign-campaign.component.html',\n styleUrls: ['./assign-campaign.component.sass']\n})\nexport class AssignCampaignComponent implements OnInit {\n userSearchControl = new FormControl();\n userSelected: any[] = [];\n usersToRolSpeech: any[] = [];\n filteredUsers: any[] = [];\n\n baseFirstList: any[] = [];\n baseSecondList: any[] = [];\n firstList: any[] = [];\n secondList: any[] = [];\n showExchangeLists: boolean = false;\n filteredFirstList: any[] = [];\n filteredSecondList: any[] = [];\n\n constructor(\n private alertService: AlertsService,\n private campaignService: CampaignService\n ) { }\n\n ngOnInit(): void {\n this.getUsersToRolSpeech();\n\n //maneja los cambios en el valor del campo de búsqueda de usuarios.\n this.userSearchControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this.filterUsers(value))\n )\n .subscribe(filteredUsers => {\n this.filteredUsers = filteredUsers;\n });\n }\n\n /**\n * Metodo que filtra las listas a traves de una cadena de texto.\n * @author Yeison Seoulveda\n * @createdate 2024-06-12\n * @param filterValue Valor de filtro para buscar en los nombres de usuario.\n * @returns Arreglo de usuarios filtrados que coinciden con el filtro.\n */\n\n filterUsers(filterValue: string): any[] {\n const lowerCaseFilter = filterValue.toLowerCase();\n return this.usersToRolSpeech.filter(user =>\n user.name.toLowerCase().includes(lowerCaseFilter)\n );\n }\n\n /**\n * Función que devuelve el nombre del usuario para mostrar en la interfaz.\n * @author Yeison Seoulveda\n * @createdate 2024-06-12\n * @param user Objeto usuario del cual se desea mostrar el nombre.\n * @returns Nombre del usuario o cadena vacía si el usuario no está definido.\n */\n displayFn(user: any): string {\n return user ? user.name : '';\n }\n\n /**\n * Maneja el evento de clic en una opción de usuario.\n * @author Yeison Seoulveda\n * @createdate 2024-06-12\n * @param event Evento de clic generado por el usuario.\n * @param user Usuario seleccionado en la lista.\n */\n optionClicked(event: Event, user: any) {\n event.stopPropagation();\n this.toggleSelection(user);\n }\n\n /**\n * Agrega el usuario a la lista de seleccionados si está marcado,\n * @author Yeison Seoulveda\n * @createdate 2024-06-12\n * @param user Usuario que se desea marcar o desmarcar.\n */\n toggleSelection(user: any) {\n user.selected = !user.selected;\n if (user.selected) {\n this.userSelected.push(user);\n } else {\n const index = this.userSelected.findIndex(u => u.rrhh_id === user.rrhh_id);\n if (index >= 0) {\n this.userSelected.splice(index, 1);\n }\n }\n }\n\n /**\n * Metodo que filtra las listas a traves de una cadena de texto.\n * @author Fabian Duran\n * @createdate 2024-04-23\n * @param $event Evento emitido por el componente hijo. \n */\n\n runFilterList($event: any): void {\n if ($event.name === 'FIRST') {\n if ($event.value !== '') this.firstList = this.baseFirstList.filter(item => item.name.toLowerCase().includes($event.value.toLowerCase()));\n else this.firstList = this.baseFirstList;\n } else {\n if ($event.value !== '') this.secondList = this.baseSecondList.filter(item => item.name.toLowerCase().includes($event.value.toLowerCase()));\n else this.secondList = this.baseSecondList;\n }\n }\n\n /**\n * Metodo que trae las configuraciones de las listas del componente hijo.\n * @author Fabian Duran\n * @createdate 2024-04-23\n * @param $event Evento emitido por el componente hijo. \n */\n\n saveConfig($event: any): void {\n const dataAssignTrays = {\n id_rrhh: this.userSelected.map(u => u.rrhh_id),\n data: $event.secondList.map((item: any) => item.id),\n };\n this.alertService.alertWarning('¿Está seguro?', '¿De asociar las campañas al usuario seleccionado?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.campaignService.associatedCampaigns(dataAssignTrays.id_rrhh, dataAssignTrays.data).subscribe(res => {\n this.alertService.alertSuccess('¡Excelente!', res.data.message);\n this.cancelProcess();\n });\n }\n });\n }\n\n /**\n * Metodo que emite la cancelacion del proceso. \n * @author Fabian Duran\n * @createdate 2024-04-23\n * @update Yeison Sepulveda\n * @updatedate 2024-09-10\n */\n cancelProcess(): void {\n this.usersToRolSpeech.forEach(user => {\n user.selected = false;\n });\n\n this.userSelected = [];\n this.showExchangeLists = false;\n }\n\n /**\n * Metodo que setea los items entre las listas. \n * @createdate 2024-04-23\n * @author Fabian Duran\n * @update Yeison Sepulveda\n * @updatedate 2024-09-10\n * @param $event Evento emitido por el componente hijo. \n */\n updateList($event: any): void {\n if ($event.name === 'FIRST') {\n $event.list.forEach((itemList: any) => {\n this.secondList.push(itemList); \n this.firstList = this.firstList.filter(item => item.id !== itemList.id); \n \n this.baseFirstList = this.baseFirstList.filter(item => item.id !== itemList.id);\n if (!this.baseSecondList.some(item => item.id === itemList.id)) {\n this.baseSecondList.push(itemList);\n }\n \n this.filteredFirstList = this.filteredFirstList.filter(item => item.id !== itemList.id);\n this.filteredSecondList = [...this.secondList];\n });\n } else {\n $event.list.forEach((itemList: any) => {\n this.firstList.push(itemList);\n this.secondList = this.secondList.filter(item => item.id !== itemList.id); \n \n this.baseSecondList = this.baseSecondList.filter(item => item.id !== itemList.id);\n if (!this.baseFirstList.some(item => item.id === itemList.id)) {\n this.baseFirstList.push(itemList);\n }\n \n this.filteredFirstList = [...this.firstList];\n this.filteredSecondList = this.filteredSecondList.filter(item => item.id !== itemList.id);\n });\n }\n }\n\n /**\n * Trae la informacion de los usuarios selccionados\n * @author Yeison Sepulveda \n * @createdate 2024-05-22\n */\n getInfoUserSelection(): void {\n this.showExchangeLists = true;\n this.campaignService.getUserAssociatedCampaigns(this.userSelected.map(u => u.rrhh_id)).subscribe(resByUser => {\n this.baseSecondList = resByUser.data;\n this.secondList = this.baseSecondList;\n this.campaignService.getAvailableCampaigns(this.userSelected.map(u => u.rrhh_id)).subscribe(resAllCampaigns => {\n this.baseFirstList = resAllCampaigns.data;\n this.baseSecondList.forEach(itemSecondList => {\n this.baseFirstList = this.baseFirstList.filter(itemFirstList => itemSecondList.id !== itemFirstList.id);\n });\n this.firstList = this.baseFirstList;\n });\n });\n }\n\n /**\n * Metodo que lista los usuarios que tienen el rol de speech.\n * @author Fabian Duran\n * @createdate 2024-04-23\n */\n\n getUsersToRolSpeech(): void {\n this.campaignService.getUsersToRolSpeech().subscribe(res => {\n this.usersToRolSpeech = res.data;\n this.filteredUsers = this.usersToRolSpeech;\n });\n }\n}\n","
\n
\n
\n \n Buscar usuarios\n \n \n \n
\n \n {{ user.name }}\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n \n \n \n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-paso-paso',\n templateUrl: './paso-paso.component.html',\n styleUrls: ['./paso-paso.component.sass']\n})\nexport class PasoPasoComponent implements OnInit {\n pasoPaso:boolean = false;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n
\n \n \n \n \n \n \n \n \n \n \n
\n\n\n\n
\n

Crear ambiente

\n

\n Crear el espacio adecuado en donde puedas sostener una conversación de manera privada y confidencial con tu coachee (agente), \n en donde no se presenten interrupciones por parte de terceros, ya sea de manera virtual o presencial. \n Esto es muy importante para que el coachee se pueda enfocar en la conversación y te pueda transmitir lo que necesite sin obstáculos. \n De no ser posible el cumplir con estas condiciones se recomienda reagendar, \n dado que hay una alta probabilidad de que la conversación no sea productiva.\n

\n
\n
\n\n
\n

Romper el Hielo-Relacionamiento

\n

\n Esta apertura le permitirá al coachee estar dispuesto y entrar en confianza contigo, \n te permitirá conocerl@ más, de manera que puedas comprender mejor sus puntos de vista. \n Conocer más a tu coachee en su área personal, te permitirá acercarte a el/la de una manera más natural y \n generar el relacionamiento que requieres, para poder hacer el acompañamiento efectivo. \n Es muy importante en esta apertura rompe hielo generar confianza, mencionar que la conversación será confidencial, \n es decir, nada de lo que se mencione en ella será compartido con otras personas. \n * Se amable\n *Busca puntos en común con tu coachee (hobbies, experiencias, etc) \n

\n
\n
\n\n
\n

Definición de objetivos

\n

\n En la conversación de coaching, uno de los puntos más importantes es definir un objetivo, \n esto le permitirá al coachee llevarse un resultado concreto y unas acciones enfocadas a lograr ese objetivo. \n El objetivo puede estar dentro de su vida laboral o su vida personal, recuerda que las dificultades que pueda estar teniendo en su vida personal, \n también pueden afectar su vida laboral. \n

\n

\n Preguntas recomendadas:
\n ¿Qué quieres trabajar en esta conversación?
\n ¿De qué quieres hablar en esta conversación?
\n Una vez el coachee defina el objetivo, es importante saber cual sería la importancia de eso que quiere lograr, \n para esto te recomendamos las siguientes preguntas
\n ¿Para qué sería importante lograr eso?
\n ¿Cuál sería la importancia de lograr eso?
\n Por último, indaga sobre lo que se quiere llevar de la sesión, por ejemplo: Unas acciones que le ayuden a mejorar, \n descubrir algunos tips para lograr lo que quiere, etc. \n

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

Preguntas poderosas

\n

\n Recuerda que el coaching es una dinámica de acompañamiento, por esta razón las preguntas serán claves \n para que el coachee encuentre las respuestas que necesita por si mismo. Estas preguntas le ayudarán al coachee \n a desafiar sus propios juicios y creencias.\n

\n

\n Es muy importante que hagas preguntas abiertas, es decir, preguntas que inviten al coachee a reflexionar.\n

\n

\n Evita hacer preguntas conducentes, es decir, preguntas que dirijan al coachee hacia alguna respuesta. \n Por ejemplo ¿No te parece qué lo que deberías hacer sería.... ? \n

\n

\n Evita dar consejos ocultos en las preguntas, por ejemplo ¿Lo que yo haría sería....? \n

\n

Es importante que confíes en que el coachee es capaz de encontrar las respuestas por si mism@, en esto radica el poder del coaching!

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

Escucha activa

\n

\n Es importante que escuches de manera activa a tu coachee, para esto deberás estar absolutamente presente y enfocad@ \n en la conversación de coaching, debes escuchar muy bien lo siguiente: \n

\n
    \n
  • Sus palabras
  • \n
  • Sus juicios y creencias
  • \n
  • Su gestos y posición corporal
  • \n
  • Las emociones que expresa tanto en sus palabras como en su corporalidad
  • \n
\n

Nota: Si la conversación es virtual, la cámara deberá estar encendida para mejorar la comunicación.

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

Responsabilidad

\n

\n Si bien es cierto que existen factores externos que afectan de forma directa los indicadores y la gestión de coachee, \n debe reconocer que la mejora de su realidad, es resposabilidad de si mismo. Hacer consciente al asesor sobre sus oportunidades \n de mejora y los momentos en donde no ha realizado adecuadamente su gestión, le permitirá entender que sus resultados\n actuales dependen de su desempeño. \n

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

Diseño de acciones

\n

\n Recuerda que uno de los objetivos de la conversación de coaching, es que el coachee obtenga resultados \n que mejoren tanto su gestión, como su calidad de vida. Por esto es importante que el resultado de la sesión \n sean acciones concretas, acciones que el coachee se va a comprometer a realizar y a las cuáles podremos \n hacerles seguimiento y ver su evolución. \n Recomendaciones:\n

\n
    \n
  • Acciones deben ser específicas
  • \n
  • Tener plazos claros
  • \n
  • Identificar un plan alternativo por si la primera opción no da resultados
  • \n
\n
\n
","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, Subject, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from '../../../../environments/environment';\n\nconst CHAT_SOUL = environment.CHAT_SOUL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ChatMeetingsService {\n\n constructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Obtiene listado de skills segun el grupo seleccionado\n * @author Yeison David Sepulveda Ospina\n * @createdate 20-12-2024\n * @params group_id id del grupo a consultar\n * @returns Observable\n */\n getSkills(group_id: number): Observable {\n return this.http.get(`${CHAT_SOUL}v1/public/groups/${group_id}/groups`)\n }\n}\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ControlService } from 'src/app/modules/calidad/services/control.service';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-detalle-grupo',\n templateUrl: './detalle-grupo.component.html',\n styleUrls: ['./detalle-grupo.component.sass']\n})\nexport class DetalleGrupoComponent implements OnInit {\n private uuid = 'c8766f6a-9306-11ee-b9d1-0242ac120002';\n public config: any;\n\n titulo:string = '';\n supervisor:string = '';\n creacion;\n id_grupo;\n id_matriz;\n constructor(\n private controlService:ControlService,\n private aRoute:ActivatedRoute,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.aRoute.paramMap.subscribe(params=>{\n this.id_grupo = params.get('id');\n });\n this.getGrupoById();\n }\n\n getGrupoById(){\n this.controlService.getGrupoById(this.id_grupo).subscribe((resp:any)=>{\n this.titulo = resp[0].nombre;\n this.supervisor = resp[0].nombre_supervisor;\n this.creacion = resp[0].created_at;\n this.id_matriz = resp[0].matriz_id;\n });\n }\n\n}\n","
\n
\n \n
\n
\n

{{titulo}}

\n

{{supervisor}}

\n
{{config.labels.createdOn}} {{creacion | date:'dd/MM/yyyy hh:mm a'}}
\n
\n
\n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { Observable, throwError } from 'rxjs';\nimport { HttpErrorResponse, HttpClient } from '@angular/common/http';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\nimport { catchError } from 'rxjs/operators';\n\nconst COMPRAS_URL = environment.COMPRAS_URL;\n@Injectable({\n providedIn: 'root'\n})\nexport class ArchivosService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n getArchivosSolicitud( idSolicitud:Number, selected = false): Observable{\n return this.http.get(`${COMPRAS_URL}requestFiles/${idSolicitud}?${selected ? 'selected=true': ''}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n saveArchivosSolicitud(archivo: any): Observable{\n return this.http.post(`${COMPRAS_URL}requestFiles/`, archivo)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n updateArchivosSolicitud(estado: any, id: number): Observable{\n return this.http.put(`${COMPRAS_URL}requestFiles/${id}`, estado)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n postCargarArchivos(params: FormData): Observable {\n return this.http.post(`${COMPRAS_URL}cargar-adjuntos`, params)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n eliminarArchivo(id): Observable {\n return this.http.delete(`${COMPRAS_URL}requestFiles/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n download(params: FormData){\n return this.http.post(`${COMPRAS_URL}descargar-adjuntos`, params, {responseType: 'blob'});\n }\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n downloadOrder(path: any): Observable{\n return this.http.post(`${COMPRAS_URL}descargar-adjuntos`, path, {responseType: 'arraybuffer' as 'json'})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ConfigTable, Paginator } from 'src/app/shared/basic-crud-page/type';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { ComandosCreateComponent } from '../comandos-create/comandos-create.component';\nimport { CommandsService } from '../services/commands.service';\n\n@Component({\n selector: 'app-comandos-page',\n templateUrl: './comandos-page.component.html',\n styleUrls: ['./comandos-page.component.sass']\n})\nexport class ComandosPageComponent implements OnInit {\n commands: any[] = [];\n filter: string = '';\n configColumnsTable: ConfigTable[] = [\n { name: '', key: 'actions', type: 'events' },\n { name: 'Nombre', key: 'nombre' },\n { name: 'Comando', key: 'comando' },\n ];\n configPaginator: Paginator = { length: 0, pageIndex: 0, pageSize: 5 };\n\n constructor(\n private matDialog: MatDialog,\n private matSnackBar: MatSnackBar,\n private commandsService: CommandsService\n ) { }\n\n ngOnInit(): void {\n this.getCommands();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-02-22\n * Metodo que trae los comandos registrados en el sistema. \n */\n getCommands(): void {\n this.commandsService.getCommands(this.configPaginator, this.filter).subscribe(res => {\n this.commands = res.data.data;\n this.configPaginator.length = res.data.total;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-22\n * Metodo que setea el frltro emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilter($event: string) {\n this.filter = $event;\n this.configPaginator.pageIndex = 0;\n this.getCommands();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-22\n * Metodo que actualiza el estado de un comando. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeStateCommand($event: any): void {\n this.commandsService.deleteCommand($event.item.id).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.getCommands();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-22\n * Metodo que permite ejecutar la modal para crear o actualizar un comando. \n * @param command Comando seleccionado de la tabla. \n */\n onClickShowCommand(command: any = null): void {\n this.matDialog.open(ComandosCreateComponent, {\n width: '40%',\n autoFocus: false,\n panelClass: 'dialog-padding-tray',\n data: {\n command\n }\n }).afterClosed().subscribe(res => {\n if (res) this.getCommands();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-22\n * Metodo que permite actualizar la configuracion de la paginacion.\n * @param $event Evento emitido por el componente hijo. \n */\n onChangePage($event: Paginator): void {\n this.configPaginator = $event;\n this.getCommands();\n }\n}","\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n\n@Component({\n selector: 'app-landing-page-crm',\n templateUrl: './landing-page-crm.component.html',\n styleUrls: ['./landing-page-crm.component.sass']\n})\nexport class LandingPageCrmComponent implements OnInit {\n\n userName: string;\n constructor(private authService: AuthService) { }\n\n ngOnInit(): void {\n this.userName = this.authService.getUser().rrhh.name;\n }\n\n}\n","
\n
\n
\n

Gestionador CRM

\n ¡Bienvenid@
{{userName}}!
\n

En el módulo de CRM podrás administrar
\n toda la gestión, crear formularios y ver el
\n dashboard de estado de las campañas.

\n \n \n
\n \n
\n
\n
\n
\n\n \n \n
","import { DatePipe } from '@angular/common';\nimport { DescargaComponent } from './../historial-aprobador/descarga/descarga.component';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { Solicitud } from '../../../Class/solicitud';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { SolicitudesService } from '../../../../services/rest/solicitudes.service';\nimport { DestroyComponentService } from '../../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CrearSolicitudComponent } from '../crear-solicitud/crear-solicitud.component';\nimport { ProcesarSolicitudComponent } from '../procesar-solicitud/procesar-solicitud.component';\nimport { ConsultarProveedorComponent } from '../consultar-proveedor/consultar-proveedor.component';\nimport { AprobarSolcitudComponent } from '../aprobar-solcitud/aprobar-solcitud.component';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { CompaniaService } from 'src/app/modules/compras/services/rest/compania.service';\n\n@Component({\n selector: 'app-gestion-inicial',\n templateUrl: './gestion-inicial.component.html',\n styleUrls: ['./gestion-inicial.component.sass']\n})\nexport class GestionInicialComponent implements OnInit {\n companias : any[] = [];\n filteredOptionsCompania : any[] = [];\n length = 0;\n rol = 1;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n newRolComponent = false;\n filterState;\n filterCompany;\n\n requestStates: any = [];\n\n displayedColumns: string[] = ['acciones', 'request_date', 'title', 'description', 'created_by', 'company', 'state'];\n dataSource = new MatTableDataSource();\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n constructor(private solicitudService: SolicitudesService,\n private destroyService : DestroyComponentService,\n private alertsService : AlertsService,\n public dialog : MatDialog,\n private datepipe : DatePipe,\n private companiaService : CompaniaService,\n ) { }\n\n\n ngOnInit(): void {\n this.solicitudService.getRequestStates().subscribe(resp => {\n this.requestStates = resp.data;\n });\n\n this.companiaService.getCompany().subscribe(comp=>{\n this.companias = comp.data;\n this.filteredOptionsCompania = this.companias;\n });\n this.getSolicitudes();\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que trae los roles paginados\n * @param size cantidad de roles a traer en la tabla\n * @param page pagina que va a mostrar la tabla\n */\n getSolicitudes(): void {\n\n if (this.dataSource.filter === '') {\n this.dataSource.filter = null;\n }\n const params = {\n isPage : this.isPage,\n pageSize : this.pageSize,\n page : this.page,\n rol : this.rol,\n company : this.filterCompany,\n estados : this.filterState,\n\n }\n this.solicitudService.getSoliciudesPaginate(params)\n .subscribe((Response) => {\n\n for (var i = 0; i < Response.data.length; i++){\n let item = Response.data[i]\n item = Object.assign(item, { orderBy: new Date(item.created_at)})\n }\n\n this.dataSource.data = Response.data.sort((a, b) => b.orderBy - a.orderBy);\n this.dataSource.sort = this.sort;\n this.length = Response.total;\n this.pageSize = Response.per_page;\n\n });\n\n }\n\n filterByState(event) {\n this.filterState = event;\n this.getSolicitudes();\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-10\n * Metodo que filtra las companias segun el autocomplete\n */\n filterByCompany(company) {\n this.filterCompany = company;\n this.getSolicitudes();\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-10\n * Metodo que muestra el nombre de la empresa seleccionada\n */\n displayFnCompania(id: number): string{\n if (!id) { return ''; }\n let index = this.companias.findIndex(resp => resp.id === id);\n return this.companias[index].name;\n\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-10\n * Metodo que filtra las companias segun el autocomplete\n */\n filterCompanies(v){\n const filterValue = v.toLowerCase();\n this.filteredOptionsCompania = this.companias.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que se encarga del movimiento del paginador\n * @param event cuando se da click en el paginador trae este evento\n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getSolicitudes();\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que abre el modal de crear un nuevo rol, al cerral el modal se refresca la tabla\n */\n newSolicitud(): void {\n const dialogNewRol = this.dialog.open(CrearSolicitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Solicitud',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize = 5;\n this.ngOnInit();\n });\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que abre el modal de editar usuario, envia un usuario, al cerrar el modal se refresca la tabla\n * @param rol rol a editar\n */\n editSolicitud(solicitud: Solicitud): void{\n const dialogNewRol = this.dialog.open(ProcesarSolicitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Detalles solicitud',\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize = 5;\n this.ngOnInit();\n });\n }\n\n procesarSolictud(solicitud: Solicitud): void{\n const dialogNewRol = this.dialog.open(ProcesarSolicitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'Procesar',\n title: 'Detalles solicitud',\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize = 5;\n this.ngOnInit();\n });\n }\n\n viewSolicitud(solicitud: Solicitud) {\n const dialogNewRol = this.dialog.open(ProcesarSolicitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'ver',\n title: 'Detalles solicitud',\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize = 5;\n this.ngOnInit();\n });\n }\n\n generarSolicitud(solicitud: Solicitud): void {\n const dialogNewRol = this.dialog.open(ConsultarProveedorComponent, {\n width: '50%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar Solicitudes',\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize = 5;\n this.ngOnInit();\n });\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que abre el modal de editar usuario, envia un usuario, al cerrar el modal se refresca la tabla\n * @param rol rol a editar\n */\n viewSolicitudAprobada(solicitud: Solicitud): void{\n const dialogNewRol = this.dialog.open(AprobarSolcitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'view',\n viewInfo: true,\n title: 'Detalles solicitudes',\n coordinador: false,\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n }\n\n\n\n\n\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n clearFilters() {\n this.filterCompany = '';\n this.filterState = '';\n }\n\n\n descargaGestion(){\n this.dialog.open( DescargaComponent , {\n width : '60%',\n data:{\n type : \"solicitud\"\n }\n } )\n\n }\n\n}\n","
\n\n \n Estado\n \n {{state.name}}\n \n \n\n \n Empresa\n \n \n \n {{comp.name}}\n \n \n \n\n\n
\n \n
\n
\n \n
\n\n\n\n
\n\n\n
\n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
Acciones\n
\n \n \n \n \n
\n
Fecha de creación {{row.created_at|date:'yyyy-MM-dd': 'UTC'}} Título de solicitud {{row.title|slice:0:30}} 50\">... Descripción de solicitud \n {{row.description|slice:0:30}} 50\">...\n Nombre del solicitante {{row.created_by}} Empresa {{row.company.name}} Estado \n
\n   {{row.request_state.name}}\n\n
\n
No hay datos que coincidan con el filtro
\n\n \n \n\n\n
\n
\n","import { map } from 'rxjs/operators';\nimport { Component, OnInit } from '@angular/core';\nimport { QuestionBase } from 'src/app/core/models/questions-base';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\nQuestionBase;\n@Component({\n selector: 'app-crm',\n templateUrl: './crm.component.html',\n styleUrls: ['./crm.component.sass']\n})\nexport class CrmComponent implements OnInit {\n currentDate;\n constructor() {\n\n }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { ReportsService } from 'src/app/modules/nomina/services/rest/reports.service';\nimport {TranslatesService} from '../../services/translates.service';\n\n@Component({\n selector: 'app-powerbi',\n templateUrl: './powerbi.component.html',\n styleUrls: ['./powerbi.component.sass']\n})\nexport class PowerbiComponent implements OnInit {\n private uuid = '8f87d0e0-92d3-11ee-b9d1-0242ac120006';\n public config: any;\n\n public token: string='';\n public report_id:string='';\n public generar = false;\n\n constructor(\n private reportService:ReportsService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.reportService.getReport('11_DBS_CAL_PBI').subscribe((resp)=>{\n if(resp.data.token !== ''){\n this.token = resp.data.token;\n this.report_id =resp.data.reporte_id;\n this.generar=true;\n }\n });\n }\n\n}\n","
\n
\n

{{ config.labels.qualityReportTitle }}

\n

{{ config.labels.qualityReportDescription }}

\n
\n
\n\n
\n \n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\nimport {FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {NomenclaturesService} from \"../../../services/nomenclatures.service\";\n\nexport interface Nomenclature {\n name: string;\n code: string;\n}\n\n@Component({\n selector: 'app-address-form',\n templateUrl: './address-form.component.html',\n styleUrls: ['./address-form.component.sass']\n})\nexport class AddressFormComponent implements OnInit {\n\n currentAddress : string;\n selectedAddress: string;\n public myForm: FormGroup;\n partOneOptions: Nomenclature[];\n hasNameSelected: number;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private nomenclatureService: NomenclaturesService,\n public dialogRef: MatDialogRef,\n ) {\n this.currentAddress = data.address;\n }\n\n ngOnInit(): void {\n this.buildForm();\n\n this.nomenclatureService.getNomenclatures().subscribe((resp:any)=> {\n this.partOneOptions = resp.default;\n });\n\n this.myForm.get('hasName').valueChanges.subscribe(resp => {\n this.hasNameSelected = resp;\n this.changeValidations(this.hasNameSelected);\n });\n }\n\n /**\n * Building address form\n * CL 52 A BIS SUR # 85 I BIS ESTE - 20\n * @author Gabriel Rodríguez\n */\n buildForm() {\n this.myForm = new FormGroup({\n hasName: new FormControl('', [Validators.required]), // Tiene nombre?\n partOne: new FormControl('', [Validators.required, Validators.pattern(/^[A-Z]+$/)]), // NOM // CL\n partTwo: new FormControl('', []), // 26, EL DORADO\n partThree: new FormControl('', [Validators.pattern(/^[A-Z]+$/)]), // A\n partFour: new FormControl(), // BIS\n partFive: new FormControl( '', [Validators.pattern(/^[A-Z]+$/)]), // SUR\n partSix: new FormControl('', [Validators.pattern('^[0-9]*$')]), // 85\n partSeven: new FormControl( '', [Validators.pattern(/^[A-Z]+$/)]), // I\n partEight: new FormControl(), // BIS\n partNine: new FormControl('', [Validators.pattern(/^[A-Z]+$/)]), // SUR\n partTen: new FormControl('', [Validators.required, Validators.pattern('^[0-9]*$')]), // - 20\n // COMPLEMENT\n partEleven: new FormControl(),\n partTwelve: new FormControl('', Validators.pattern('^[0-9]*$')),\n partThirteen: new FormControl(),\n });\n }\n\n onSubmit() {\n this.preview();\n this.dialogRef.close(this.selectedAddress);\n }\n\n get error(): any { return this.myForm.controls; }\n\n onCancel() {\n this.dialogRef.close();\n }\n\n changeValidations(hasName) {\n this.myForm.get('partTwo').clearValidators()\n if (hasName) {\n this.myForm.get('partTwo').setValidators([Validators.pattern(/^[A-Z\\s]+$/), Validators.required]);\n } else {\n this.myForm.get('partTwo').setValidators([Validators.pattern('^[0-9]*$'), Validators.required]);\n }\n }\n\n preview() {\n\n let obj = this.myForm.value;\n\n const keys = [\n \"partOne\",\n \"partTwo\",\n \"partThree\",\n \"partFour\",\n \"partFive\",\n \"partSix\",\n \"partSeven\",\n \"partEight\",\n \"partNine\",\n \"partTen\",\n \"partEleven\",\n \"partTwelve\",\n \"partThirteen\"\n ];\n\n let result = \"\";\n for (const key of keys) {\n let value = obj[key];\n\n if (value !== null && value !== undefined && value !== false) {\n if(value == true) { result += ' ' + 'BIS'; } else { result += ' ' + value; }\n }\n }\n\n this.selectedAddress = result;\n }\n\n}\n","
\n
\n Direccion actual: {{currentAddress}}\n
\n
\n\n
\n

Principal

\n
\n\n
\n \n Calle con nombre? *\n \n NO \n SI \n \n Por ej: Avenida el Dorado \n Éste campo es requerido\n \n
\n\n
\n\n
\n \n Dirección *\n \n {{ item.name }}\n \n Por ej: Calle \n Éste campo es requerido\n \n\n \n *\n \n Por ej: 26 / EL DORADO\n Éste campo es requerido\n \n EL campo debe ser alfabético en mayuscúlas\n \n \n EL campo debe ser númerico\n \n \n\n \n \n \n Por ej: A \n Éste campo es requerido\n Éste campo debe ser una letra mayúscula\n \n\n
\n \n BIS\n \n
\n\n \n Orientación\n \n --\n NORTE\n SUR\n ESTE\n OESTE\n ORIENTE\n OCCIDENTE\n \n Por ej: SUR \n \n\n \n \n \n \n\n \n Número *\n \n Por ej: 85 \n Éste campo es requerido\n Éste campo debe ser númerico \n \n\n \n Letra\n \n Por ej: Q \n Éste campo debe ser una letra mayúscula\n \n\n
\n \n BIS\n \n
\n\n \n Orientación\n \n --\n NORTE\n SUR\n ESTE\n OESTE\n ORIENTE\n OCCIDENTE\n \n Por ej: NORTE \n \n\n \n \n \n \n\n \n Número *\n \n Por ej: 20 \n Éste campo es requerido\n \n
\n
\n
\n

Complemento

\n
\n \n Complemento\n \n {{ item.name }}\n \n Por ej: Bloque / Interior / Manzana \n \n\n \n Número\n \n Por ej: 85 \n Éste campo debe ser númerico \n \n\n \n \n \n {{ item.name }}\n \n Por ej: Casa / Apartamento \n Éste campo es requerido\n \n
\n\n
\n
\n Previsualización: {{selectedAddress}}\n
\n
\n\n
\n\n \n\n \n\n \n
\n\n
\n
\n\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { TemplateService } from '../../services/template.service';\nimport { EDITOR_CONFIG } from '../../constantes/mail-config-editor';\nimport { validateWhiteSpaces } from 'src/app/modules/email-manager/constantes/custom-validations';\n\n@Component({\n selector: 'app-templates',\n templateUrl: './templates.component.html',\n styleUrls: ['./templates.component.css']\n})\nexport class TemplatesComponent implements OnInit {\n formTemplate: FormGroup = new FormGroup({\n id: new FormControl(null, []),\n name: new FormControl('', [Validators.required, Validators.maxLength(30), Validators.pattern(/^(?!\\s)(.*\\S)?$/)]),\n html: new FormControl(null, []),\n body: new FormControl('', [Validators.required, validateWhiteSpaces()]),\n id_email_config: new FormControl('', [Validators.required])\n });\n editorConfig: any = EDITOR_CONFIG;\n\n public configTextBody = {\n placeholder: 'Ingresa aqui el cuerpo del PDF',\n language: 'es'\n }\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alertService: AlertsService,\n private matDialogRef: MatDialogRef,\n private matSnackBar: MatSnackBar,\n private templateService: TemplateService\n ) { }\n\n ngOnInit(): void {\n if (this.data.template) {\n this.formTemplate.get('id').setValue(this.data.template.id);\n this.formTemplate.get('name').setValue(this.data.template.name);\n this.formTemplate.get('html').setValue('');\n this.formTemplate.get('body').setValue(this.data.template.body);\n this.formTemplate.get('id_email_config').setValue(this.data.template.id_email_config);\n }\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-03-01\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formTemplate.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-01\n * Metodo que guarda o actualiza una plantilla. \n */\n saveTemplate(): void {\n if (this.formTemplate.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.templateService.storeTemplate(this.formTemplate.value).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: this.formTemplate.value.id === null ? 'Se ha creado una nueva plantilla con éxito' : 'Se ha actualizado una plantilla con éxito'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(res);\n });\n }\n });\n } else {\n this.formTemplate.markAllAsTouched();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-01\n * Metodo que precarga el contenido del archivo al texto enriquecido.\n * @param $event Evento emitido por el campo tipo file. \n */\n onChangeFileUpload($event: Event): void {\n const inputFile = $event.target as HTMLInputElement;\n\n\n\n if (inputFile.files && inputFile.files.length > 0) {\n const file = inputFile.files[0];\n const fileName = file.name;\n const fileExtension = fileName.split('.').pop()?.toLowerCase();\n if (fileExtension === 'html') {\n this.formTemplate.get('html').setValue(file.name);\n const reader = new FileReader();\n reader.onload = () => {\n const contentFile = reader.result as string;\n this.formTemplate.get('body').setValue(contentFile);\n };\n reader.readAsText(file);\n } else {\n this.alertService.alertError('¡Error!', 'Solo puede cargar archivos HTML');\n }\n }\n inputFile.value = '';\n }\n}","
\n
\n \n
\n
\n
\n
\n {{ data.template === null ? 'Crear plantilla' : 'Editar plantilla' }}\n
\n \n
\n
\n
\n \n Nombre de la plantilla\n \n \n El campo es requerido\n Máximo 30 caracteres\n El campo debe contener caracteres\n \n \n
\n
\n \n Archivo HTML\n \n \n
\n
\n \n Cuenta de correo\n \n {{ item.name\n }}\n \n \n El campo es requerido\n \n \n
\n
\n \n
\n
\n \n
\n El campo es requerido\n El campo debe contener caracteres\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MedicaltestService } from '../../../services/medicaltest.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSort } from '@angular/material/sort';\nimport { MedicalTestsComponent } from '../medical-tests/medical-tests.component';\nimport { CreateMedicalTestComponent } from '../create-medical-test/create-medical-test.component';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { MedicalTestImportComponent } from '../medical-test-import/medical-test-import.component';\nimport {AuthService} from '../../../../../core/services/rest/auth.service';\n\n@Component({\n selector: 'app-medical-candidates',\n templateUrl: './medical-candidates.component.html',\n styleUrls: ['./medical-candidates.component.sass']\n})\nexport class MedicalCandidatesComponent implements OnInit {\n\n displayedColumns: string[] = ['actions', 'state','group','name','id_number','mobilephone'];\n\n dataSource: MatTableDataSource;\n dataSourceDisabbledUsers: MatTableDataSource;\n length: number;\n pageSize: number;\n currentPage = 1;\n showCandidates = false;\n\n identification: any = '';\n email: any = '';\n mobile: any = '';\n typeFilter:any\n userData: any;\n isNurse: boolean;\n\n pageSizeOptions: number[] = [10, 50, 100, 150];\n public page : number = 1;\n public per_page : number = 10;\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort;\n\n constructor(private medicalTestServices:MedicaltestService,private alertService:AlertsService,\n private dialog:MatDialog,\n private destroyService: DestroyComponentService,\n private authService: AuthService,\n ) {\n this.userData = this.authService.decryptToken();\n }\n\n ngOnInit(): void {\n this.getCandidates();\n this.isNurse = this.existRol('rrhh::enfermero');\n }\n\n existRol(rolToFind: string): boolean {\n return this.userData.roles.includes(rolToFind);\n }\n\n getCandidates(){\n this.medicalTestServices.getCandidates({page: this.page, per_page: this.per_page, identification: this.identification, email: this.email, mobile: this.mobile}).subscribe( (resp:any) => {\n if (resp.total > 0) this.showCandidates = true;\n this.length = resp.total;\n this.pageSize = resp.per_page;\n this.dataSource = new MatTableDataSource(resp.data);\n this.dataSource.sort = this.sort;\n })\n };\n\n filterByValue(event){\n this.identification=''\n this.email=''\n this.mobile = ''\n\n switch (this.typeFilter) {\n case \"Identificación\":\n this.identification = event;\n break;\n case \"Email\":\n this.email= event\n break;\n case \"Teléfono\":\n this.mobile = event\n break;\n }\n this.getCandidates();\n }\n\n getPaginatorData(event){\n this.ValidateFilterParams(event);\n this.destroyService.destroyComponent();\n this.getCandidates();\n }\n medicalTests(candidate){\n const dialogMedicalTests = this.dialog.open( MedicalTestsComponent ,{\n data:{\n 'candidate':candidate\n },\n minWidth:'700px',\n });\n dialogMedicalTests.afterClosed().subscribe( e => {\n this.getCandidates();\n })\n }\n\n createMedicalTest(candidate){\n const dialogCreateMedicalTests = this.dialog.open( CreateMedicalTestComponent ,{\n data:{\n 'candidate':candidate,\n 'medicalTest':null\n },\n minWidth:'700px',\n });\n dialogCreateMedicalTests.afterClosed().subscribe( e => {\n if(e){\n this.getCandidates();\n }\n\n })\n }\n\n /**\n\t * valida el paginado\n\t * @author Carlos Nieto\n\t * @param event\n\t * @returns string\n\t /**/\n\tpublic ValidateFilterParams(event)\n\t{\n this.page = event.pageIndex + 1,\n this.per_page = event.pageSize\n\t}\n\n /**\n\t * Abre modal para la asignacion masiva de examenes medicos\n\t * @author David Reinoso\n\t/**/\n openModalAssignmentMassive() {\n const dialogCreateMedicalTests = this.dialog.open( MedicalTestImportComponent ,{\n width:'60%',\n });\n dialogCreateMedicalTests.afterClosed().subscribe( e => {\n if(e){\n this.getCandidates();\n }\n });\n }\n\n}\n","
\n
\n

Asignación de exámenes

\n

Bienvenido al módulo de Exámenes Médicos, aquí podrás agendar
o asignar exámenes médicos a los candidatos

\n
\n
\n \n Tipo de filtro\n \n Identificación\n Teléfono\n \n \n \n Filtrar por {{typeFilter}}\n \n \n \n
\n \n
\n
\n\n
\n\n \n\n \n \n \n \n\n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n\n\n\n\n \n \n\n \n \n \n
Acciones\n \n \n \n \n \n Estado {{row.state}} Grupo de Formación {{row.groupName}} Nombre {{row.name}} No. Documento {{row.documentId}} Celular {{row.mobile_phone}}
No hay candidatos disponibles.
\n\n\n \n \n\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { RequestsService } from './../../../services/requests.service';\nimport { RecruitersService } from './../../../services/recruiters.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-modal-assign-recruiter',\n templateUrl: './modal-assign-recruiter.component.html',\n styleUrls: ['./modal-assign-recruiter.component.sass']\n})\nexport class ModalAssignRecruiterComponent implements OnInit {\n\n constructor(private reclutadorService: RecruitersService,\n private solicitudService: RequestsService,\n public dialogRef: MatDialogRef,\n private alertService: AlertsService) { }\n\n reclutadores = [];\n reclutadorId: number;\n requestId: number;\n\n ngOnInit(): void {\n this.reclutadorService.getReclutadores('lider').subscribe(( value: any ) => {\n this.reclutadores = value;\n });\n }\n\n selectReclutador(userSelected) {\n this.reclutadorId = userSelected;\n }\n\n asignarReclutador() {\n this.alertService.alertSuccess('Asignado', 'Su solicitud se ha asignado correctamente');\n }\n}\n","\n\n

Asignar reclutador

\n\n

Seleccione a que reclutador asignar la solicitud para su seguimiento.

\n

No hay reclutadores a quien asignar su solicitud.

\n\n \n Seleccione un reclutador\n \n \n {{reclutador.first_name }} {{reclutador.last_name }}\n \n \n \n\n
\n\n \n \n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { CheckAttachmentComponent } from '../check-attachment/check-attachment.component';\nimport { saveAs as importedSaveAs } from \"file-saver\";\nimport { FilesViewComponent } from 'src/app/shared/files-view/files-view.component';\n\n@Component({\n selector: 'app-candidate-attachments',\n templateUrl: './candidate-attachments.component.html',\n styleUrls: ['./candidate-attachments.component.sass']\n})\nexport class CandidateAttachmentsComponent implements OnInit {\n candidateDocuments:any = [];\n displayedColumns: string[] = ['actions', 'file', 'name', 'state'];\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, \n private serviceCandidate: CandidatesService, private dialog: MatDialog,) { }\n\n ngOnInit(): void {\n this.serviceCandidate.getAttachments(this.data.candidateId).subscribe( (resp: any) => {\n this.candidateDocuments = resp\n })\n }\n downdloadFile(data?, view?: boolean){\n let direction= `candidate/download/attachment/${this.data.candidateId}`\n let name\n if(data){\n direction= direction.concat(`/${data.id}`)\n name = data.name\n }\n this.serviceCandidate.downdloadFile(direction).subscribe( (file) =>{\n if(view){\n let fileURL = URL.createObjectURL(file);\n this.documentView(fileURL, data.name, file)\n\n }\n else{\n importedSaveAs(file, name);\n }\n })\n }\n checkItem(id){\n const checkDialog = this.dialog.open( CheckAttachmentComponent, {\n minWidth: '50%',\n disableClose: true,\n data: { attachmentId: id }\n });\n checkDialog.afterClosed().subscribe( (params) => {\n if(params){\n this.ngOnInit()\n }\n\n });\n }\n documentView(url, name, file?){\n const checkDialog = this.dialog.open( FilesViewComponent, {\n disableClose: true,\n data: { url: url, name:name, file:file}\n });\n }\n}\n","\n

Documentos del candidato

\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Acciones \n \n \n \n Tipo {{element.file}} Archivo cargado {{element.name}} Estado \n {{element.state}}
\n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { GroupsListComponent } from './pages/groups-list/groups-list.component';\n\nconst routes: Routes = [\n { path: '', component: GroupsListComponent},\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class GroupsRoutingModule { }\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Subject, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\n\nconst AUDITORIA_URL = environment.AUDITORIA_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InteligenciaService {\n\n private _refresh$ = new Subject();\n\n constructor(\n private http:HttpClient,\n private authService:AuthService\n ) { }\n\n get refresh$(){\n return this._refresh$;\n }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n createIntelligence(params){\n return this.http.post(`${AUDITORIA_URL}crearFormulario/${this.authService.getUser().rrhh_id}`,params)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getForms(params){\n return this.http.get(`${AUDITORIA_URL}listarFormularios`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getFormById(id){\n return this.http.get(`${AUDITORIA_URL}verFormulario/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n questionsForm(id_form,params,id_question){\n return this.http.post(`${AUDITORIA_URL}crearPreguntasForm`,{idForm:id_form,dataform:params,idPregunta:id_question})\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n removeForm(id_form){\n return this.http.post(`${AUDITORIA_URL}eliminarFormulario/${id_form}`,{})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n changePosition(id_form,params){\n return this.http.post(`${AUDITORIA_URL}dragdrop`,{idForm:id_form,dataform:params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getMatrix(idForm){\n return this.http.get(`${AUDITORIA_URL}getMatricesForm?idForm=${idForm}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-solicitudes-aprobar',\n templateUrl: './solicitudes-aprobar.component.html',\n styleUrls: ['./solicitudes-aprobar.component.sass']\n})\nexport class SolicitudesAprobarComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n localStorage.removeItem('filter_request')\n }\n\n selectedTabChange(evt){\n if(evt.index != 0) return;\n const tabChangeEvent = new Event('coordinator-gestion-called');\n window.dispatchEvent(tabChangeEvent);\n }\n\n}\n","
\n\n
\n

Solicitudes

\n

Aquí puedes revisar y/o gestionar las solicitudes con sus respectivas cotizaciones.

\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n\n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormGroup, FormArray, FormControl, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { QuestionBase } from 'src/app/core/models/questions-base';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { PermitService } from 'src/app/core/services/utils/permit.service';\nimport { QuestionControlService } from 'src/app/core/services/utils/question-control.service';\nimport { FormsRequestService } from 'src/app/modules/crm/services/rest/forms-request.service';\nimport { storageService } from 'src/app/modules/livechat/services/storage/storage.service';\nimport { AlertsService } from '../../alerts/alerts.service';\n\n\n@Component({\n\tselector: 'shared-dynamic-form',\n\ttemplateUrl: './dynamic-form.component.html',\n\tstyleUrls: ['./dynamic-form.component.sass']\n})\nexport class DynamicFormComponent implements OnInit {\n\t@Output() submitForm = new EventEmitter();\n\t@Output() denyForm = new EventEmitter();\n\t@Output() enableTemplate = new EventEmitter();\n\t_sections: any;\n\tforms = new FormArray([]);\n\tconstructor(\n\t\tprivate qcs: QuestionControlService,\n\t\tprivate authService: AuthService,\n\t\tprivate permit: PermitService,\n\t\tprivate router: Router,\n\t\tprivate formsRequestService: FormsRequestService,\n\t\tpublic alertsService: AlertsService,\n\t\tprivate destroyService: DestroyComponentService,\n\t\tpublic storage: storageService\n\t) {}\n\t@Input() dependencies;\n\t@Input() formId;\n\t@Input() files;\n\t@Input() template;\n\tFiles: any = [];\n\t@Input()\n\tpublic set sections(form: any) {\n\t\tthis.forms = new FormArray([]);\n\t\tthis.getRolUser(form.app);\n\t\tthis._sections = form.sections;\n\t\tif (this._sections) {\n\t\t\tthis._sections.forEach((section) => {\n\t\t\t\tthis.checkSeeRol(section);\n\t\t\t\tconst group = this.qcs.toFormGroup(section.fields);\n\t\t\t\tthis.forms.push(group);\n\t\t\t\tthis.fieldsInTrays(section);\n\t\t\t\t\n\t\t\t});\n\t\t}\n\t}\n\n\t@Input() public set clearControl(clear: any) {\n\t\tif (clear === true) {\n\t\t\t/* this.forms.removeAt(1); */\n\t\t}\n\t}\n\n\trol: any = [];\n\tfieldsPreloaded: any[] = [];\n\tquestionPush: any;\n\tevento: any;\n\tplantilla: any = '';\n\ttab: any;\n\ttray: any;\n\tseePermit: any;\n\teditPermit: any;\n\n\tngOnInit(): void {\n\t\tthis.plantilla = this.router.url.substring(6).split('/', 3)[2];\n\t}\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-03-29 \n\t * Metodo que captura el rol del usuario\n\t */\n\tgetRolUser(app) {\n\t\tlet user = this.authService.getUser();\n\t\tuser.roles.forEach((rol) => {\n\t\t\tlet name = rol.split('::');\n\t\t\tif (name[0] === app) {\n\t\t\t\tthis.rol.push(name[1]);\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-03-29\n\t * Metodo que verifica si tiene el permiso\n\t */\n\tcheckSeeRol(section) {\n\t\t\n\t\tsection['see'] = false;\n\t\tsection.fields.forEach((question) => {\n\t\t\tthis.seePermit = this.permit.permit(this.rol, question.seeRoles);\n\t\t\tthis.editPermit = this.permit.permit(this.rol, question.editRoles);\n\t\t\tquestion.disabled = !this.editPermit;\n\t\t\tquestion['see'] = this.seePermit;\n\t\t\tquestion['seeSons'] = true;\n\t\t\tquestion['edit_by_adviser'] = false;\n\t\t\tif (question.preloaded == true) {\n\t\t\t\tthis.fieldsPreloaded.push(question);\n\t\t\t}\n\t\t\tif (this.editPermit && question.isSon) {\n\t\t\t\t\n\t\t\t\tquestion = this.checkDependence(question);\n\t\t\t}\n\t\t\tsection.see = true;\n\t\t});\n\t}\n\n\t/**\n\t * @author Miguel Restrepo\n\t * @createdate 2022-03-01\n\t * Metodo que permite validar las dependencias de un campo\n\t */\n\n\tcheckDependence(question){\n\t\t\n\t\tthis._sections.forEach(section => { // Busca si tiene dependencias de campos de otras secciones\n\t\t\tsection.fields.forEach(field => {\n\t\t\t\tconst dependences = question.dependencies.filter(dependence => dependence.idField === field.id);\n\t\t\t\tif (dependences.length != 0) {\n\t\t\t\t\tquestion.disabled = true;\n\t\t\t\t\tquestion.seeSons = false;\n\t\t\t\t\tdependences.forEach(dependence => {\n\t\t\t\t\t\tif(question.seeSons === false) {\n\t\t\t\t\t\t\tquestion.seeSons = dependence.activators.some(activator => activator.id === field.value);\n\t\t\t\t\t\t\tquestion.disabled = !dependence.activators.some(activator => activator.id === field.value);\n\t\t\t\t\t\t}\t\n\t\t\t\t\t\tif (dependence.disabled) {\n\t\t\t\t\t\t\tquestion.disabled = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t\treturn question;\n\t}\n\t/**\n\t * @author Jair Celis\n\t * @createdate 2021-08-30\n\t * Metodo que añade las dependecias, dependiendo de la opciones del padre\n\t */\n\taddDependencies(event: any) {\n\n\t\tconst mySons = this.findSons(event.idFather);\n\t\tif (mySons.length != 0) {\n\t\t\tmySons.forEach((son) => {\n\t\t\t\tif (this.forms.controls[son.sectionIndex].get(son.key).value != '') {\n\t\t\t\t\tthis.forms.controls[son.sectionIndex].get(son.key).setValue('');\n\t\t\t\t\tthis.forms.controls[son.sectionIndex].get(son.key).disable();\n\t\t\t\t\tthis.disableField(son.id);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tthis._sections.forEach((section, index) => {\n\t\t\tsection.fields.forEach((field) => {\n\t\t\t\tif (field.isSon === true) {\n\t\t\t\t\tvar bandera = 0;\n\t\t\t\t\tfield.dependencies.forEach((dependencie) => {\n\n\t\t\t\t\t\tif (dependencie.idField === event.idFather && bandera === 0) {\n\t\t\t\t\t\t//desactivar hermanos\n\n\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).disable();\n\t\t\t\t\t\t\tfield.disabled = true;\n\t\t\t\t\t\t\tfield.seeSons = false;\n\n\t\t\t\t\t\t\tdependencie.activators.forEach((activator) => {\n\t\t\t\t\t\t\t\tif (activator.id == event.idValue) {\n\t\t\t\t\t\t\t\t\tbandera = bandera + 1;\n\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).setValue('');\n\t\t\t\t\t\t\t\t\tfield.seeSons = true;\n\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).enable();\n\t\t\t\t\t\t\t\t\tfield.disabled = false;\n\t\t\t\t\t\t\t\t\t//activa seccion dependiente\n\t\t\t\t\t\t\t\t\tif (section.see === false) {\n\t\t\t\t\t\t\t\t\t\tsection.see = true;\n\t\t\t\t\t\t\t\t\t\t// this.forms.controls[index].enable();\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tfield.options = [];\n\t\t\t\t\t\t\t\t\tif (dependencie.options !== '') {\n\t\t\t\t\t\t\t\t\t\tdependencie.options.forEach((option) => {\n\t\t\t\t\t\t\t\t\t\t\tfield.options.push(option);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (section.fields.some(field => field.seeSons == true)) {\n\t\t\t\tsection.see = true;\n\t\t\t} else {\n\t\t\t\tsection.see = false;\n\t\t\t}\n\t\t\t// console.log(section.fields.some(field => field.seeSons == true));\n\t\t});\n\t}\n\n\t/**\n\t * @author Jair Celis\n\t * @createdate 2021-08-30\n\t * Metodo que desactiva la visualizacion de un campo\n\t * @param idField id del campo a desactivar\n\t */\n\n\tdisableField(idField) {\n\t\tthis._sections.forEach((section, index) => {\n\t\t\tsection.fields.forEach((field) => {\n\t\t\t\tif (field.id == idField) {\n\t\t\t\t\tfield.seeSons = false;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @author Jair Celis\n\t * @createdate 2021-08-30\n\t * Metodo que devuelve un arreglo de campos hijos\n\t * @param idField id del campo a buscar los hijos\n\t */\n\n\tfindSons(idField) {\n\t\tconst mySons = [];\n\t\tthis._sections.forEach((section, index) => {\n\t\t\tsection.fields.forEach((field) => {\n\t\t\t\tif (field.isSon == true) {\n\t\t\t\t\tfield.dependencies.forEach((dependencie) => {\n\t\t\t\t\t\tif (dependencie.idField == idField) {\n\t\t\t\t\t\t\tfield.sectionIndex = index;\n\t\t\t\t\t\t\tmySons.push(field);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\treturn mySons;\n\t}\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-02-25\n\t * Metodo que añade otro campo\n\t */\n\taddQuestion(event, nameSection) {\n\t\tthis.evento = Object.assign({}, event);\n\t\tthis.questionPush = this.evento;\n\t\tlet cont = 0;\n\t\tlet indexAuxField = 0;\n\t\tlet indexAuxSec = 0;\n\n\t\tthis._sections.forEach((section, indexSec) => {\n\t\t\tsection.fields.forEach((question, indexField) => {\n\t\t\t\tif (question.key.includes(this.evento.key) && nameSection === section.name_section) {\n\t\t\t\t\tcont++;\n\t\t\t\t\tindexAuxField = indexField;\n\t\t\t\t\tindexAuxSec = indexSec;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tcont = cont + 1;\n\n\t\tthis.questionPush.id = new Date().getTime();\n\t\tthis.questionPush.key = this.evento.key + '_' + cont;\n\t\tthis.questionPush.value = '';\n\t\tthis.questionPush.label = this.evento.label + ' ' + cont;\n\t\tthis.questionPush.canAdd = false;\n\t\tthis.questionPush.duplicated = {\n\t\t\tidOriginal: event.id,\n\t\t\ttype: 'field'\n\t\t};\n\n\t\tif (this.questionPush.nameFile) {\n\t\t\tthis.questionPush.nameFile = '';\n\t\t}\n\n\t\tif (this.questionPush.idValue) {\n\t\t\tthis.questionPush.idValue = '';\n\t\t}\n\n\t\tif (this._sections[indexAuxSec].name_section === nameSection) {\n\t\t\tthis._sections[indexAuxSec].fields.splice(indexAuxField + 1, 0, this.questionPush);\n\t\t}\n\n\t\tlet formAux = this.forms.controls[indexAuxSec] as FormGroup;\n\n\t\tlet controlAux = this.qcs.toFormControl(this.questionPush);\n\t\tformAux.addControl(this.questionPush.key, controlAux);\n\t}\n\n\t/**\n\t * @author Miguel Restrepo\n\t * @createdate 2021-02-25\n\t * @updatedate 2022-05-18 \n\t * Metodo que añade una nueva sección duplicada\n\t */\n\n\taddSection(event, i) {\n\t\tlet evento = Object.assign({}, event);\n\t\tlet section = evento;\n\t\tlet cont = 0;\n\t\tthis._sections.forEach((element) => {\n\t\t\tif (element.name_section.includes(section.name_section)) {\n\t\t\t\tcont++;\n\t\t\t}\n\t\t});\n\t\tcont = cont + 1;\n\t\tlet sendSection = new FormData();\n\t\tsendSection.append('section', JSON.stringify(section));\n\t\tsendSection.append('cont', cont.toString());\n\t\tthis.formsRequestService.addSection(sendSection).subscribe((resp) => {\n\t\t\tresp[\"duplicated_section\"] = true;\n\t\t\tthis._sections.push(resp);\n\t\t\tconst group = this.qcs.toFormGroup(resp.fields);\n\t\t\tthis.forms.push(group);\n\t\t});\n\t}\n\n\tremoveSection(event, index) {\n\t\tthis.forms.removeAt(index)\n\t\tthis._sections.splice(index, 1)\n\n\t}\n\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-02-17\n\t * Metodo que emite el formulario resuelto\n\t */\n\tonSubmit() {\n\t\tlet response = {\n\t\t\tsections: this._sections,\n\t\t\tanswer: this.forms.getRawValue(),\n\t\t\tfiles: this.Files,\n\t\t\tforms: this.forms\n\t\t};\n\t\tthis.submitForm.emit(response);\n\t\tthis.fieldsPreloaded.forEach((element) => {\n\t\t\tthis.forms.controls.forEach((sections) => {\n\t\t\t\tif (sections.get(element.key) != null) {\n\t\t\t\t\tsections.get(element.key).setValue(element.value);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-03-30\n\t * Metodo que cancela el formulario\n\t */\n\tcancelForm() {\n\t\tlet saveconfirm = this.alertsService.alertConfirm('¿Desea cancelar?');\n\t\tsaveconfirm.then((res) => {\n\t\t\tif (res.isConfirmed) {\n\t\t\t\tthis.denyForm.emit(true);\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t * @author Daniel Dominguez\n\t * @createdate 2021-04-06\n\t * Metodo recibe los archivos cargados en los campos tipo file\n\t */\n\taddFiles(e) {\n\t\tthis.Files.push(e);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.destroyService.destroyComponent();\n\t}\n\n\t// Boton para generar las plantillas\n\tgenerateTemplate() {\n\t\tlet responseTemplate = {\n\t\t\tsections: this._sections,\n\t\t\tanswer: this.forms.getRawValue(),\n\t\t\tfiles: this.Files,\n\t\t\tforms: this.forms\n\t\t};\n\n\t\tthis.enableTemplate.emit(responseTemplate);\n\t}\n\n\tfieldsInTrays(section){\n\n\t\tthis.tab = this.storage.getItem('tab');\n\t\tthis.tray = this.storage.getItem('tray');\n\t\tsection.fields.forEach((question) => {\n\t\t\tif (question.tray) {\n\t\t\t\tvar band = false;\n\t\t\t\tquestion.tray.forEach(element => {\n\n\t\t\t\t\tquestion.disabled = true;\n\t\t\t\t\tquestion['see'] = true;\n\n\t\t\t\t\tif (element.id !== +this.tray && band === false) {\n\t\t\t\t\t\tquestion.disabled = false;\n\t\t\t\t\t\tquestion['see'] = false;\n\t\t\t\t\t\tthis._sections.forEach((sectionArray, index) => {\n\t\t\t\t\t\t\tif (sectionArray.id === section.id ) {\n\t\t\t\t\t\t\t\tthis.forms.controls[index].get(question.key).disable();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tquestion.disabled = true;\n\t\t\t\t\t\tquestion['see'] = true;\n\t\t\t\t\t\tband = true;\n\n\t\t\t\t\t\tif (element.preloaded === false ){\n\n\t\t\t\t\t\t\tthis._sections.forEach((sectionArray, index) => {\n\t\t\t\t\t\t\t\tif (sectionArray.id === section.id ) {\n\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(question.key).setValue('');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (this.template) {\n\t\t\t\t\tif (+this.tab < 2) {\n\t\t\t\t\t\tquestion.disabled = !this.editPermit;\n\t\t\t\t\t\tquestion['see'] = false;\n\t\t\t\t\t\tquestion['seeSons'] = true;\n\t\t\t\t\t\tthis._sections.forEach((sectionArray, index) => {\n\t\t\t\t\t\t\tif (sectionArray.id === section.id ) {\n\t\t\t\t\t\t\t\tthis.forms.controls[index].get(question.key).disable();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (+this.tab < 1) {\n\t\t\t\t\t\tquestion.disabled = !this.editPermit;\n\t\t\t\t\t\tquestion['see'] = false;\n\t\t\t\t\t\tquestion['seeSons'] = true;\n\t\t\t\t\t\tthis._sections.forEach((sectionArray, index) => {\n\t\t\t\t\t\t\tif (sectionArray.id === section.id ) {\n\t\t\t\t\t\t\t\tthis.forms.controls[index].get(question.key).disable();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tsection.see = section.fields.some(field => field.see === true && field.seeSons === true);\n\t}\n\n}\n","
\n \n
\n \n \n \n

{{section.name_section}}

\n \n \n
\n
\n \n
\n \n \n \n
\n
\n\n
\n
\n
\n
\n \n \n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { environment } from '../../../../environments/environment';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthService } from '../../../core/services/rest/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommentsService {\n private server = environment.RRHH_URL;\n user;\n constructor(private http:HttpClient, private activeRoute: ActivatedRoute, private authService:AuthService) {\n this.user = this.authService.getUser();\n }\n\n getTypeComment(candidateId,requestId?){\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n entries['candidateState']= candidateId\n if(requestId != null)\n {\n entries['requestId']= requestId\n }\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}comments/type`, {params});\n }\n\n registerComment(entries: any){\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.post(`${this.server}comment/candidate`, params);\n }\n editComment(commentId,entries:any){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.put(`${this.server}comment/candidate/${commentId}`, params);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ConfigTable, Paginator } from 'src/app/shared/basic-crud-page/type';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CategoryComponent } from '../../components/category/category.component';\nimport { CategoryService } from '../../services/category.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { EmailService } from '../../services/email.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\n\n@Component({\n selector: 'app-category-page-main',\n templateUrl: './category-page-main.component.html',\n styleUrls: ['./category-page-main.component.css']\n})\nexport class CategoryPageMainComponent implements OnInit {\n categories: any[] = [];\n filter: string = '';\n configColumnsTable: ConfigTable[] = [\n { name: '', key: 'actions', type: 'events' }, \n { name: 'Nombre', key: 'name' }, \n { name: 'Color', key: 'color' }, \n { name: 'Cuenta de correo', key: 'user_name_email_entrada' }\n ];\n configPaginator: Paginator = { length: 0, pageIndex: 0, pageSize: 5 };\n emailsConfig: any[] = [];\n filterSelect: number = 0;\n\n constructor(\n private matDialog: MatDialog,\n private categoryService: CategoryService,\n private matSnackBar: MatSnackBar,\n private authService: AuthService,\n private emailService: EmailService\n ) { }\n\n ngOnInit(): void {\n this.getEmailsConfigByRol();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-17\n * Metodo que trae la categorias registradas en el sistema. \n */\n getCategories(): void {\n if (this.filterSelect !== 0) {\n this.categoryService.getCategories(this.configPaginator, this.filter, true, this.filterSelect).subscribe(res => {\n this.categories = res.data.data;\n this.configPaginator.length = res.data.total;\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-17\n * Metodo que setea el filtro emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilter($event: string) {\n this.filter = $event;\n this.configPaginator.pageIndex = 0;\n this.getCategories();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-17\n * Metodo que actualiza el estado de una categoria. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeStateCategory($event: any): void {\n const setDataCategory = { ...$event.item, state: $event.state };\n this.categoryService.storeCategory(setDataCategory).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.getCategories();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-17\n * Metodo que permite ejecutar la modal para crear o actualizar una categoria. \n * @param category Categoria seleccionada de la tabla. \n * @param titleDialog Titulo que va a tener la modal. \n * @param viewOnly Modo de vizualizacion de la modal. \n */\n onClickShowCategory(category: any = null, titleDialog: string = 'Crear categoría', viewOnly: boolean = false): void {\n this.matDialog.open(CategoryComponent, {\n width: '40%',\n autoFocus: false,\n panelClass: 'dialog-padding-category',\n data: {\n titleDialog,\n category,\n viewOnly,\n emailsConfig: this.emailsConfig\n }\n }).afterClosed().subscribe(res => {\n if (res) this.getCategories();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-17\n * Metodo que permite ejecutar la modal para crear o actualizar una categoria.\n * @param $event Evento emitido por el componente hijo. \n */\n onChangePage($event: Paginator): void {\n this.configPaginator = $event;\n this.getCategories();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que setea el filtro del select emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilterSelect($event: number) {\n this.filterSelect = $event;\n this.configPaginator.pageIndex = 0;\n this.getCategories();\n }\n}","\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-speech-menu',\n templateUrl: './speech-menu.component.html',\n styleUrls: ['./speech-menu.component.sass']\n})\nexport class SpeechmenuComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n Speech to Text\n
\n
\n

\n Este es el módulo de Speech to Text, donde podrás administrar la transcripción de
\n audios y aplicar estrategias. No olvides, “El respeto y empatía son clave”.\n

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

\n Nota: Recuerda que los audios solo estarán disponibles durante\n 1 mes \n para realizar su auditoría, después de esto se eliminarán automáticamente.\n

\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ActivatedRoute } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map, startWith, filter } from 'rxjs/operators';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { GroupsService } from 'src/app/modules/crm_v2/services/rest/groups.service';\nimport { AdminGroupsComponent } from '../admin-groups/admin-groups.component';\n\n@Component({\n selector: 'app-groups-list',\n templateUrl: './groups-list.component.html',\n styleUrls: ['./groups-list.component.sass']\n})\nexport class GroupsListComponent implements OnInit {\n groupsLists: any[];\n campaingId: string;\n public campaingName: string = '';\n dataSource: any;\n filteredOptions: Observable;\n Form: FormGroup;\n permit: any;\n\n length:number = 0;\n pageSize:number = 5;\n page:number = 1;\n pageSizeOptions : number[] = [5,10, 25, 100];\n\n constructor(\n public group: GroupsService,\n private route: ActivatedRoute,\n public dialog: MatDialog,\n private authService: AuthService\n ) { }\n\n ngOnInit(): void {\n this.Form = new FormGroup({\n search: new FormControl('', [])\n });\n this.campaingId = this.route.snapshot.queryParamMap.get('id');\n this.campaingName = this.route.snapshot.queryParamMap.get('name');\n this.permit = this.authService.getUser().permissions.crm2.groups;\n\n\n this.getGroupsByUser();\n\n }\n\n\n getGroupsByUser():void{\n let user = this.authService.getUser();\n let userID = user.rrhh_id;\n \n if(this.pageSize == undefined) {\n this.pageSize = 5\n }\n if(this.page == undefined) this.page = 1; \n\n \n this.group.getGroupsByUser('groupsbyuser/', userID,this.pageSize,this.page).subscribe(res=>{\n this.groupsLists =res.groups.data;\n this.groupsLists.map(data =>{\n if (data.state == 1) {\n data['status'] = true;\n } else {\n data['status'] = false;\n }\n });\n this.pageSize = res.groups.per_page\n this.page = res.groups.current_page\n this.length = res.groups.total;\n this.filteredOptions = this.Form.get('search').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name_group),\n map(groups => groups ? this._filter(groups) : this.groupsLists.slice())\n );\n });\n }\n\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getGroupsByUser();\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-03-03\n * Metodo filtro busqueda\n */\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n\n return this.groupsLists.filter(option => option.name_group.toLowerCase().indexOf(filterValue.toLocaleLowerCase()) > -1);\n }\n /**\n * @author Daniel Dominguez\n * @createdate 2021-03-03\n * Metodo cambiar estado del grupo\n */\n changeStatus(id,state){\n if (state == 1) {\n state = 0;\n } else {\n state = 1;\n }\n let data={\n state: state\n }\n this.group.putState(id, data).subscribe(res => {\n this.ngOnInit();\n });\n }\n /**\n * @author Daniel Dominguez\n * @createdate 2021-03-03\n * Metodo abrir modal de crear grupo\n */\n newgroup(): void{\n const dialogNewgroup = this.dialog.open(AdminGroupsComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear grupo',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n\n }\n /**\n * @author Daniel Dominguez\n * @createdate 2021-03-03\n * Metodo abrir modal de editar grupo\n */\n editgroup(group: any): void{\n const dialogNewgroup = this.dialog.open(AdminGroupsComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar grupo',\n group\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getGroupsByUser();\n });\n }\n\n}\n","
\n
\n
\n
\n

Grupos

\n

Grupos de {{campaingName}}

\n

En este espacio podrás ver todos los grupos
que tienes creados

\n
\n
\n
\n \n Buscar grupo\n \n \n \n
\n
\n \n
\n
\n
\n\n
\n \n \n \n \n \n
\n \n \n {{list?.name_group}}\n \n {{list?.description}}\n \n \n
\n\n
\n \n
\n
\n\n \n \n\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'app-inteligencia-negocios',\n templateUrl: './inteligencia-negocios.component.html',\n styleUrls: ['./inteligencia-negocios.component.sass']\n})\nexport class InteligenciaNegociosComponent implements OnInit {\n selected = new FormControl(0);\n tab;\n constructor(\n private aRouter:ActivatedRoute,\n private router:Router,\n ) { }\n\n ngOnInit(): void {\n this.aRouter.paramMap.subscribe(params=>{\n this.selected.setValue(params.get('tab'));\n })\n }\n\n changeTab(event){\n this.router.navigateByUrl(`/mios/auditoria/inteligencia-negocios/${event}`);\n this.selected.setValue(event);\n }\n\n}\n","
\n\n
\n \n

Inteligencia de negocio

\n
\n

En este espacio podrás crear las preguntas y los formularios para tu

\n

inteligencia de negocio, no olvides, “El respeto y empatía son clave”.

\n
\n \n \n \n \n \n \n \n \n \n
","import { createReducer, on } from \"@ngrx/store\";\nimport { SolicitudState } from \"../../core/states/solicitud.state\";\nimport { loadedSolicitud } from \"../actions/solicitud.actions\";\n\nexport const initialState: SolicitudState = { solicitud:null };\n\nexport const solicitudReducer = createReducer(\n initialState,\n on(loadedSolicitud,( state, { solicitud } )=>{\n return {...state, solicitud}\n })\n);","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-ps\": \"TJgH\",\n\t\"./ar-ps.js\": \"TJgH\",\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-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\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-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-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\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-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\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\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\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-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\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-kmr\": \"dVgr\",\n\t\"./ku-kmr.js\": \"dVgr\",\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\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\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\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\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-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\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';\nimport { FormControl } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { startWith, map, takeUntil } from 'rxjs/operators';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MeetingsService } from '../../services/meetings.service';\nimport { VideollamadaService } from 'src/app/shared/videollamada/services/videollamada.service';\n\n@Component({\n selector: 'app-users-skill',\n templateUrl: './users-skill.component.html',\n styleUrls: ['./users-skill.component.sass']\n})\nexport class UsersSkillComponent implements OnInit {\n\n private destroy$ = new Subject();\n\n userSearchControl = new FormControl();\n groupFilter = new FormControl();\n userSelected: any[] = [];\n userToSkillMeeting: any[] = [];\n filteredUsers: any[] = [];\n\n baseFirstList: any[] = [];\n baseSecondList: any[] = [];\n firstList: any[] = [];\n secondList: any[] = [];\n showExchangeLists: boolean = false;\n filteredFirstList: any[] = [];\n filteredSecondList: any[] = [];\n groups: any[] = [];\n\n constructor(\n private alertService: AlertsService,\n private videollamadaService: MeetingsService,\n private service: VideollamadaService,\n ) { }\n\n ngOnInit(): void {\n this.getUsersToRolSpeech();\n this.getGroups();\n\n //maneja los cambios en el valor del campo de búsqueda de usuarios.\n this.userSearchControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this.filterUsers(value)),\n takeUntil(this.destroy$)\n )\n .subscribe(filteredUsers => {\n this.filteredUsers = filteredUsers;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n /**\n * Metodo que filtra las listas a traves de una cadena de texto.\n * @author Yeison Seoulveda\n * @createdate 2024-06-12\n * @param filterValue Valor de filtro para buscar en los nombres de usuario.\n * @returns Arreglo de usuarios filtrados que coinciden con el filtro.\n */\n\n filterUsers(filterValue: string): any[] {\n const lowerCaseFilter = filterValue.toLowerCase();\n return this.userToSkillMeeting.filter(user =>\n user.candidate_name.toLowerCase().includes(lowerCaseFilter)\n );\n }\n\n /**\n * Función que devuelve el nombre del usuario para mostrar en la interfaz.\n * @author Yeison Seoulveda\n * @createdate 2024-06-12\n * @param user Objeto usuario del cual se desea mostrar el nombre.\n * @returns Nombre del usuario o cadena vacía si el usuario no está definido.\n */\n displayFn(user: any): string {\n return user ? user.candidate_name : '';\n }\n\n /**\n * Maneja el evento de clic en una opción de usuario.\n * @author Yeison Seoulveda\n * @createdate 2024-06-12\n * @param event Evento de clic generado por el usuario.\n * @param user Usuario seleccionado en la lista.\n */\n optionClicked(event: Event, user: any) {\n event.stopPropagation();\n this.toggleSelection(user);\n }\n\n /**\n * Agrega el usuario a la lista de seleccionados si está marcado,\n * @author Yeison Seoulveda\n * @createdate 2024-06-12\n * @param user Usuario que se desea marcar o desmarcar.\n */\n toggleSelection(user: any) {\n user.selected = !user.selected;\n if (user.selected) {\n this.userSelected.push(user);\n } else {\n const index = this.userSelected.findIndex(u => u.rrhh_id === user.rrhh_id);\n if (index >= 0) {\n this.userSelected.splice(index, 1);\n }\n }\n }\n\n /**\n * Metodo que filtra las listas a traves de una cadena de texto.\n * @author Yeison Sepulveda\n * @createdate 2024-11-07\n * @param $event Evento emitido por el componente hijo.\n */\n\n runFilterList($event: any): void {\n if ($event.name === 'FIRST') {\n if ($event.value !== '') this.firstList = this.baseFirstList.filter(item => item.name.toLowerCase().includes($event.value.toLowerCase()));\n else this.firstList = this.baseFirstList;\n } else {\n if ($event.value !== '') this.secondList = this.baseSecondList.filter(item => item.name.toLowerCase().includes($event.value.toLowerCase()));\n else this.secondList = this.baseSecondList;\n }\n }\n\n /**\n * Metodo que trae las configuraciones de las listas del componente hijo.\n * @author Yeison Sepulveda\n * @createdate 2024-11-07\n * @param $event Evento emitido por el componente hijo.\n */\n\n saveConfig($event: any): void {\n const data = {\n skill_ids: $event.secondList.map((item: any) => item.id),\n rrhh_ids: this.userSelected.map(u => u.rrhh_id),\n group_id: this.groupFilter.value\n };\n this.alertService.alertWarning('¿Está seguro?', '¿De asociar la skills al usuario seleccionado?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.videollamadaService.saveSkillUser(data).subscribe(res => {\n this.alertService.alertSuccess('¡Excelente!', res.message);\n this.cancelProcess();\n });\n }\n });\n }\n\n /**\n * Metodo que emite la cancelacion del proceso.\n * @author Yeison Sepulveda\n * @createdate 2024-11-07\n * @update Yeison Sepulveda\n * @updatedate 2024-09-10\n */\n cancelProcess(): void {\n this.userToSkillMeeting.forEach(user => {\n user.selected = false;\n });\n\n this.userSelected = [];\n this.showExchangeLists = false;\n }\n\n /**\n * Metodo que setea los items entre las listas.\n * @createdate 2024-11-07\n * @author Yeison Sepulveda\n * @param $event Evento emitido por el componente hijo.\n */\n updateList($event: any): void {\n if ($event.name === 'FIRST') {\n $event.list.forEach((itemList: any) => {\n this.secondList.push(itemList);\n this.firstList = this.firstList.filter(item => item.id !== itemList.id);\n\n this.baseFirstList = this.baseFirstList.filter(item => item.id !== itemList.id);\n if (!this.baseSecondList.some(item => item.id === itemList.id)) {\n this.baseSecondList.push(itemList);\n }\n\n this.filteredFirstList = this.filteredFirstList.filter(item => item.id !== itemList.id);\n this.filteredSecondList = [...this.secondList];\n });\n } else {\n $event.list.forEach((itemList: any) => {\n this.firstList.push(itemList);\n this.secondList = this.secondList.filter(item => item.id !== itemList.id);\n\n this.baseSecondList = this.baseSecondList.filter(item => item.id !== itemList.id);\n if (!this.baseFirstList.some(item => item.id === itemList.id)) {\n this.baseFirstList.push(itemList);\n }\n\n this.filteredFirstList = [...this.firstList];\n this.filteredSecondList = this.filteredSecondList.filter(item => item.id !== itemList.id);\n });\n }\n }\n\n /**\n * Trae la informacion de los usuarios selccionados\n * @author Yeison Sepulveda\n * @createdate 2024-05-22\n */\n getInfoUserSelection(): void {\n const group_id = this.groupFilter.value;\n const users = this.userSelected.map(u => u.rrhh_id);\n this.showExchangeLists = true;\n this.videollamadaService.getAssociateSkills(users, group_id).subscribe(resByUser => {\n this.baseSecondList = resByUser;\n this.secondList = this.baseSecondList;\n this.videollamadaService.getAvailableSkills(users, group_id).subscribe(resAllCampaigns => {\n this.baseFirstList = resAllCampaigns;\n this.baseSecondList.forEach(itemSecondList => {\n this.baseFirstList = this.baseFirstList.filter(itemFirstList => itemSecondList.id !== itemFirstList.id);\n });\n this.firstList = this.baseFirstList;\n });\n });\n }\n\n /**\n * Metodo que lista los usuarios que tienen el rol de meetings.\n * @author Yeison Sepulveda\n * @createdate 2024-11-07\n */\n getUsersToRolSpeech(): void {\n this.videollamadaService.getAdvisersList().subscribe(res => {\n this.userToSkillMeeting = res;\n this.filteredUsers = this.userToSkillMeeting;\n });\n }\n\n /**\n * @author Yeison David Sepulveda Ospina\n * @createdate 14-11-2024\n * Obtener los skills\n */\n getGroups(): void {\n this.service.getGroups().subscribe(res => {\n this.groups = res.groups;\n }, error => {\n console.error('Error al obtener los skills');\n });\n }\n\n}\n","
\n
\n
\n Gestión de Skills\n
\n
\n

\n En este espacio, puedes asignar o remover skills para los asesores de videollamadas,
\n facilitando una organización efectiva y personalizada. No olvides: “El respeto
y la empatía son clave”.\n

\n
\n
\n
\n
\n
\n
\n \n Buscar usuarios\n \n \n \n
\n \n {{ user.candidate_name }}\n \n
\n
\n
\n
\n
\n
\n \n Selecciona grupo\n \n \n {{ group.name }}\n \n \n \n
\n
\n \n
\n
\n\n \n \n
\n
\n
\n\n\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-history-main-menu',\n templateUrl: './history-main-menu.component.html',\n styleUrls: ['./history-main-menu.component.sass']\n})\nexport class HistoryMainMenuComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n Speech to Text\n
\n
\n
\n

\n Este es el módulo de Speech to Text, donde podrás revisar el histórico de análisis de
\n audios y aplicación de estrategias. No olvides, “El respeto y empatía son clave”.\n

\n
\n\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n\n
","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { AuthService } from './auth.service';\n\nconst CIU_URL = environment.CIU_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LeftNavService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-01\n * Servicio que trae el el menu de cada aplicativo\n * @param id id o key del aplicativo\n */\n getLeftMenu(id: any): Observable{\n const item = localStorage.getItem('locale');\n const lang = item ? JSON.parse(item) : 'es';\n\n const params = {\n lang: lang,\n };\n return this.http.get(`${CIU_URL}applications/` + id + `/menus`, {params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\n\nconst CIU_URL = environment.CIU_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScheduleTypesService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n\n /**\n * @author Jose Vicente Silva Rivera\n * @createdate 2021-02-02\n * Servicio que lista todos los tipos de schedule \n * @param size tamaño de los datos a traer\n * @param page numero de pagina en la que se ubicara la tabla\n */\n getScheduleTypes(): Observable{\n return this.http.get(`${CIU_URL}schedule-types`)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroup, Validators, AbstractControl, ValidatorFn } from '@angular/forms';\nimport {QuestionBase} from 'src/app/core/models/questions-base';\nimport { of } from 'rxjs';\nimport * as moment from 'moment';\n@Injectable({\n providedIn: 'root'\n})\nexport class QuestionControlService {\n\n constructor() { }\n /**\n * @author Karol García\n * @createdate 2021-01-26\n * Por cada pregunta se crea un control del formulario y las validaciones necesarias\n * @param questions\n */\n toFormGroup(questions: QuestionBase[] ) {\n const group: any = {};\n \n questions.forEach(question => {\n let validatorsBase = [Validators.maxLength(question.maxLength), Validators.minLength(question.minLength)] \n if(question.type === 'date' && question.controlType === 'datepicker'){\n question.value = new Date(moment(question.value).format());\n const testDate = new Date(moment(question.value).format()).toString();\n if (testDate === 'Invalid Date') {\n question.value = null;\n }\n }\n \n if(question.required && question.required == true){\n validatorsBase.push(Validators.required);\n if (question.controlType == 'autocomplete' || question.controlType == 'autocomplete2' && question.type == 'options') {\n validatorsBase.push(RequireMatch)\n }\n }else{\n if (question.controlType == 'autocomplete' || question.controlType == 'autocomplete2' && question.type == 'options') {\n validatorsBase.push(RequireMatchEmptyValue)\n }\n }\n \n if (question.type == 'email') {\n validatorsBase.push(Validators.email)\n }\n group[question.key] = new FormControl({value: question.value || '', disabled: question.disabled}, validatorsBase)\n\n });\n return new FormGroup(group);\n }\n\n \n\n toFormControl(question) {\n\n let control: any;\n let validators = [Validators.maxLength(question.maxLength), Validators.minLength(question.minLength)]\n if(question.required){\n validators.push(Validators.required)\n }\n if(question.type == 'email'){\n validators.push(Validators.email);\n }\n control = new FormControl({value: question.value || '', disabled: question.disabled}, validators )\n return control;\n }\n\n}\n\nexport function RequireMatch(control: AbstractControl) {\n if (typeof control.value === 'string') {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n}\n\n/**\n * Metodo que se encarga de valdiar coincidencias de autocomplete, permite no ingresar un valor\n * @param control \n * @returns \n */\nexport function RequireMatchEmptyValue(control: AbstractControl) {\n if (typeof control.value === 'string' && control.value.trim() !== \"\") {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n@Component({\n selector: 'app-sable',\n templateUrl: './sable.component.html',\n styleUrls: ['./sable.component.sass']\n})\n\nexport class SableComponent implements OnInit {\n nameUser: string = '';\n\n constructor(private authService: AuthService) { }\n\n ngOnInit(): void {\n const user = this.authService.getUser();\n this.nameUser = user.rrhh.name;\n }\n}","
\n
\n

Gestor de descargas

\n

¡Bienvenid@
{{nameUser}}

\n

Este es el módulo de gestor de descargas,
\n donde podrás visualizar y realizar la gestión
\n para programar descargas de las llamadas
\n registradas en Vicidial.\n

\n
\n
\n \"Imagen\n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { TrainingGroupsService } from '../../../services/training-groups.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-groups-candidate-assign',\n templateUrl: './groups-candidate-assign.component.html',\n styleUrls: ['./groups-candidate-assign.component.sass']\n})\nexport class GroupsCandidateAssignComponent implements OnInit {\n group;\n\n candidates = [];\n candidatesSelected = [];\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public dialog: MatDialogRef,\n public candidatesService: CandidatesService,\n public groupServices: TrainingGroupsService,\n private notification: AlertsService ) {\n this.group = data.group;\n }\n\n ngOnInit(): void {\n this.getCandidates();\n }\n\n getCandidates() {\n this.candidatesService.candidateByUserLogguedForGroups(this.group.id).subscribe((resp: any) => {\n this.candidates = resp;\n });\n }\n\n pushArray(event) {\n this.candidatesSelected = event.selectedOptions.selected.map(item => item.value);\n }\n\n assignCandidates () {\n this.notification.alertConfirm('¿Está seguro que desea asignar el/los candidatos a este grupo?').then(e => {\n if (e.isConfirmed){\n const params = {\n candidateIds: this.candidatesSelected.toString(),\n groupId: this.group.id\n };\n this.groupServices.assignCandidatesToGroup(params)\n .subscribe( resp => {\n this.notification.alertSuccess('¡Asignados!', 'Candidatos asignados con éxito');\n this.dialog.close(true);\n });\n }\n });\n }\n}\n","\n

Agregar candidato

\n
\n\n

Seleccione los candidatos a cargar a este formador

\n \n \n \n {{candidate.fullname}} \n \n \n \n\n
\n\n \n\n","import { Component, Inject, Input, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { EscalationService } from '../../../services/rest/escalation.service';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport Swal from 'sweetalert2';\n\n\n@Component({\n selector: 'app-mail-escalation',\n templateUrl: './mail-escalation.component.html',\n styleUrls: ['./mail-escalation.component.sass']\n})\nexport class MailEscalationComponent implements OnInit {\n\n dataInfo: any[] = [];\n listDataInfo: any[] = [];\n @Input() escalation: any; \n panelOpenState = false;\n\n constructor(\n private escalationService: EscalationService,\n private sanitizer:DomSanitizer\n ) { \n }\n\n ngOnInit() {\n this.loadDataEscalation();\n }\n\n async loadDataEscalation(){\n if(this.escalation.email_id != null){\n // await this.escalationService.getAttachments(this.escalation.email_id).toPromise();\n this.escalationService.getEmailPQRS(this.escalation.email_id).subscribe(resp => {\n resp[0].cuerpo = this.convertSanitizer(resp[0].cuerpo);\n this.dataInfo = resp;\n this.listDataInfo = [\n { name: 'De: ', value: this.dataInfo[0]?.de },\n { name: 'Para: ', value: this.dataInfo[0]?.para },\n { name: 'Asunto: ', value: this.dataInfo[0]?.asunto },\n { name: 'Fecha de recibido: ', value: this.dataInfo[0]?.fecha_Hora },\n ];\n \n });\n \n }\n }\n\n convertSanitizer(body){\n return this.sanitizer.bypassSecurityTrustHtml(body);\n }\n\n downloadEmailAttachment(route:any, nombre:any){\n this.escalationService.downloadEmailAttachment({url: route}).subscribe(resp => {\n importedSaveAs(resp, nombre); \n },\n error =>{\n Swal.fire('!Atención¡', \"Ha ocurrido un error al intentar descargar el adjunto\", \"error\");\n }\n );\n }\n}","
\n \n \n \n

\n \n Correo \n

\n
\n
\n
\n
\n
\n
{{ item.name }}
\n
{{ item.value }}
\n
\n
\n
\n \n
\n

Archivos adjuntos

\n
\n \n
\n
\n \n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { GESTIONADOR_CORREOS } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CategoryService {\n\n constructor(private httpClient: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-13\n * Metodo que retorna los errores generados por HTTP. \n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-13\n * Metodo que retorna las categorias registradas en el sistema.\n * @param paginator Paginador configurado en la vista. \n * @param filter Filtro configurado en la vista. \n * @param showAllCategories Muestra o no todas las categorias activas. \n * @param filterEmail Filtro de cuenta de correo.\n */\n getCategories(paginator: any = null, filter: string = '', showAllCategories: boolean = false, filterEmail: number = 0): Observable {\n const paramState = showAllCategories ? '' : 'state=1';\n const paramEmail = filterEmail !== 0 ? `&email_list=[${filterEmail}]` : '';\n const url = paginator === null ? `${GESTIONADOR_CORREOS}category/showall?${paramState}` : `${GESTIONADOR_CORREOS}category/showall?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&name=${filter}${paramEmail}`;\n return this.httpClient.get(url).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-13\n * Metodo que guardar o actualiza una categoria en el sistema. \n * @param category Informacion proveniente del formulario. \n */\n storeCategory(category: any): Observable {\n const url = category.id === null ? `${GESTIONADOR_CORREOS}category/store` : `${GESTIONADOR_CORREOS}category/update/${category.id}`;\n return this.httpClient.post(url, category).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-31\n * Metodo que trae las categorias por id de configuracion del correo. \n * @param idEmailConfig Correo seleccionado de la lista de configuracion de correos. \n */\n getCategoriesByIdEmailConfig(idEmailConfig: string): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}category/showall?email_list=[${idEmailConfig}]&state=1`).pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { ModalSurveysUserComponent } from 'src/app/mios/modal-surveys-user/modal-surveys-user.component';\n\n@Injectable({\n providedIn: 'root'\n })\n export class DialogStateService{\n private dialogRef: MatDialogRef;\n private isOpenDialog = false;\n\n constructor(private dialog: MatDialog) {}\n\n openDialogSurveys(){\n this.dialogRef = this.dialog.open(ModalSurveysUserComponent,{\n id:'dialog-surveys',\n width: '95vw',\n height: 'auto',\n disableClose: true,\n });\n\n this.dialogRef.afterClosed().subscribe(\n (closedResponse)=>{\n this.isOpenDialog = false\n }\n );\n\n this.isOpenDialog = true\n }\n\n resetDialog() {\n this.dialogRef = null;\n this.isOpenDialog = false;\n }\n \n isDialogOpen() {\n return this.isOpenDialog;\n }\n\n }","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n@Pipe({\n name: 'userPhoto'\n})\nexport class UserPhotoPipe implements PipeTransform {\n\n /**\n * @author Karol García\n * @createdate 2021-07-28\n * Pipe que permite visualizar una imagen tipo Blob traida de una consulta.\n */\n constructor(private sanitizer: DomSanitizer) { }\n\n transform(image: Blob) {\n if(image){\n let fileURL = window.URL.createObjectURL(image);\n let fileSrc = this.sanitizer.bypassSecurityTrustUrl(fileURL);\n return fileSrc\n }else{\n return 'assets/images/dummy-user.jpg';\n }\n }\n} \n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.sass']\n})\nexport class AppComponent {\n title = 'Mios-v2-front';\n}\n","\n\n

Cargando...

\n
\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { MatSelectChange } from '@angular/material/select';\nimport { PageEvent } from '@angular/material/paginator';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { EmailService } from 'src/app/modules/email-manager/services/email.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from 'src/app/modules/email-manager/constantes/keys-roles';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { CrudService } from 'src/app/shared/basic-crud-page-service/crud.service';\nimport { environment } from 'src/environments/environment';\nimport { ManagementHistoryViewComponent } from 'src/app/modules/email-manager/components/management-history-view/management-history-view.component';\nimport { AnalysisResultComponent } from '../../components/analysis-result/analysis-result.component';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { interval, Subscription } from 'rxjs';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport * as moment from 'moment';\n\nconst URL_BACK_GESTOR_CORREOS = environment.GESTIONADOR_CORREOS;\n\n@Component({\n selector: 'app-manager-list-emails',\n templateUrl: './manager-list-emails.component.html',\n styleUrls: ['./manager-list-emails.component.css']\n})\nexport class ManagerListEmailsComponent implements OnInit, OnDestroy {\n formFilter: FormGroup = new FormGroup({\n email_list_id: new FormControl(null, [Validators.required]),\n id_bandeja: new FormControl(null, [Validators.required]),\n asunto: new FormControl(null, []),\n date_in: new FormControl(null, [Validators.required]),\n date_end: new FormControl(null, [Validators.required]),\n contiene_palabras: new FormControl(null, []),\n allEmailsByOnlyTray: new FormControl(true, [])\n });\n dataTable: any[] = [];\n emailsTableSelected: any[] = [];\n configColumnsTable: any[] = [\n { name: '', key: 'actions' },\n { name: 'ID', key: 'id' },\n { name: 'Cuenta de correo', key: 'para' },\n { name: 'Usuario asignado', key: 'name_user_asignado' },\n { name: 'Correo remitente', key: 'de' },\n { name: 'Asunto', key: 'asunto' },\n { name: 'Fecha - Hora', key: 'fecha_Hora' }\n ];\n configPaginator: any = { length: 0, pageIndex: 0, pageSize: 10 };\n keysColumnsTable: string[] = [];\n emailsConfig: any[] = [];\n checkAllEmails: boolean = false;\n traysAndFolders: any[] = [];\n filterTraysAndFolders: any[] = [];\n subscribeInterval: Subscription | null = null;\n textLoadingTable: string = 'No existe información relacionada';\n stateButtonForm: boolean = false;\n\n constructor(\n private location: Location,\n private emailService: EmailService,\n private matDialog: MatDialog,\n private authService: AuthService,\n private crudService: CrudService,\n private alertService: AlertsService\n ) { }\n\n ngOnInit(): void {\n this.keysColumnsTable = this.configColumnsTable.map(item => item.key);\n this.getEmailsConfigByRol();\n const source = interval(200000);\n this.subscribeInterval = source.subscribe(_ => {\n this.getEmails();\n });\n }\n\n ngOnDestroy(): void {\n if (this.subscribeInterval) this.subscribeInterval.unsubscribe();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-11-15\n * Metodo que redirecciona a la pagina anterior visitada. \n */\n backToPreviousPage(): void {\n this.location.back();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-15\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formFilter.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-15\n * Metodo que actualiza el filtro de cuenta de correo. \n * @param $event Evento emitido por el campo. \n */\n onChangeSelectAccountEmail($event: MatSelectChange): void {\n this.crudService.getData({\n url: `${URL_BACK_GESTOR_CORREOS}emailbox/showall`,\n filters: { state: 1, id_email_config: $event.value }\n }).subscribe(res => {\n const trays = res.data.filter((item: any) => item.type === 1)\n .map((item: any) => { return { id: item.id, name: item.name } });\n const folders = res.data.filter((item: any) => item.type === 2)\n .map((item: any) => { return { id: item.id, name: item.name } });\n this.traysAndFolders.push({ name: 'Bandejas', list: trays });\n this.traysAndFolders.push({ name: 'Carpetas', list: folders });\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-15\n * Metodo que trae los correos registrados en el sistema.\n * @param resetPage Reset del estado de la paginación.\n * @param resetChecks Reset del estado de los check.\n */\n getEmails(resetPage: boolean = false, resetChecks: boolean = false): void {\n if (this.formFilter.valid) {\n if (this.onDateInitChange()) {\n this.textLoadingTable = 'Actualizando información...';\n this.stateButtonForm = true;\n this.dataTable = [];\n if (resetChecks) this.checkAllEmails = false;\n if (resetChecks) this.emailsTableSelected = [];\n if (resetPage) this.configPaginator.pageIndex = 0;\n const dataFilterForm = {\n ...this.formFilter.value,\n email_list: `[${this.formFilter.value.email_list_id}]`,\n };\n this.emailService.getEmailsByIaModule(this.configPaginator, dataFilterForm).subscribe(res => {\n this.dataTable = res.data.data.map((item: any) => {\n return {\n ...item,\n nameStateIa: item.stateIa ? item.stateIa : 'N/R'\n };\n });\n this.configPaginator.length = res.data.total;\n this.textLoadingTable = res.data.data.length === 0 && 'No existe información relacionada';\n this.stateButtonForm = false;\n });\n } else this.alertService.alertError('¡Ten en cuenta!', 'Debe estar en un rango de 7 días');\n } else this.formFilter.markAllAsTouched();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-15\n * Metodo que actualiza la lista de correos seleccionados en la tabla.\n * @param $event Evento emitido por el checkbox. \n */\n onChangeCheckboxAllSelected($event: MatCheckboxChange): void {\n this.emailsTableSelected = $event.checked ? this.dataTable.filter(item => item.state_email !== 'Cerrado') : [];\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-15\n * Metodo que actualiza la lista de correos seleccionados en la tabla.\n * @param $event Evento emitido por el checkbox.\n * @param email Informacion del email seleccionado. \n */\n onChangeCheckboxSelected($event: MatCheckboxChange, email: any): void {\n if ($event.checked) this.emailsTableSelected.push(email);\n else this.emailsTableSelected = this.emailsTableSelected.filter(item => item.id !== email.id);\n const totalEmailsCount = this.dataTable.filter(item => item.state_email !== 'Cerrado');\n this.checkAllEmails = this.emailsTableSelected.length === totalEmailsCount.length ? true : false;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-15\n * Metodo que valida si un correo esta o no dentro de la lista de correos seleccionados.\n * @param email Informacion del email seleccionado. \n */\n ifSelectedMail(email: any): boolean {\n return this.emailsTableSelected.filter(item => item.id === email.id).length > 0 ? true : false;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-15\n * Metodo que emite el cambio sobre la configuracion de la paginacion.\n * @param $event Evento emitido por el paginador. \n */\n onChangePage($event: PageEvent): void {\n this.configPaginator = $event;\n this.getEmails();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-15\n * Metodo que limpia el valor de los filtros avanzados. \n */\n clearValuesAdvanceFilters(): void {\n this.formFilter.reset();\n this.dataTable = [];\n this.textLoadingTable = 'No existe información relacionada';\n this.stateButtonForm = false;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-15\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-15\n * Metodo que se encarga de abrir el detalle del correo.\n * @param email correo seleccionado de la tabla.\n */\n showEmailHistory(email: any): void {\n this.emailService.getEmailById(email).subscribe(res => {\n this.matDialog.open(ManagementHistoryViewComponent, {\n width: '95%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-management-history-view',\n data: {\n management: res.data,\n toPreview: true,\n showButtonPrint: false,\n showButtonAddEmail: false,\n showDetails: true\n }\n });\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-15\n * Metodo que se encarga tomar los correos seleccionados para luego ser analisados.\n */\n analysisEmailsSelected(): void {\n const user = this.authService.decryptToken();\n if (user && user.rrhh_id) {\n this.alertService.alertWarning('¿Está seguro?', '¿Desea analizar los correos seleccionados?').then(confirm => {\n if (confirm.isConfirmed) {\n this.crudService.postData({ url: `${URL_BACK_GESTOR_CORREOS}ia/saveToSelectedEmails`, formData: { emails: this.emailsTableSelected, rrhh_id: user.rrhh_id } }).subscribe(res => {\n this.alertService.alertSuccess('!Excelente¡', res.message);\n this.emailsTableSelected = [];\n this.getEmails();\n });\n }\n });\n } else this.alertService.alertError('!Error¡', 'La información del usuario no puede ser procesada');\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-18\n * Metodo que se encarga de actualizar el rango de fecha maximo en el filtro.\n */\n onDateInitChange(): boolean {\n const momentInit = moment(this.formFilter.get('date_in').value);\n const momentEnd = moment(this.formFilter.get('date_end').value);\n const daysDiff = momentEnd.diff(momentInit, 'days');\n return daysDiff < 8 ? true : false;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-18\n * Metodo que se encarga de abrir la modal para visualizar los resultados de la IA sobre el correo.\n */\n showDialogAnalysisResult(email: any): void {\n this.emailService.getEmailById(email).subscribe(res => {\n if (res.data.resultToIa) {\n this.matDialog.open(AnalysisResultComponent, {\n width: '70%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-management-history-view',\n data: {\n result: JSON.parse(res.data.resultToIa),\n email: res.data,\n }\n });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-18\n * Metodo que se encarga de mostrar la alerta con el error generado por la IA.\n * @param email Correo seleccionado.\n */\n showAlertByMessageError(email: any): void {\n const parseError = JSON.parse(email.detailsIa).mensaje_error || 'Error desconocido';\n this.alertService.alertSuccess('Error generado', parseError, { icon: 'warning', timer: null });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-21\n * Metodo que descarga el reporte de excel.\n */\n onClickDownloadReportExcel(): void {\n if (this.formFilter.valid) {\n this.crudService.postData({\n url: `${URL_BACK_GESTOR_CORREOS}ia/email/report`,\n formData: {\n ...this.formFilter.value,\n date_in: this.formFilter.value.date_in !== null ? moment(this.formFilter.value.date_in).format('YYYY-MM-DD') : null,\n date_end: this.formFilter.value.date_end !== null ? moment(this.formFilter.value.date_end).format('YYYY-MM-DD') : null\n },\n responseType: 'blob'\n }).subscribe(res => {\n importedSaveAs(res, 'Reporte');\n });\n } else this.formFilter.markAllAsTouched();\n }\n}","
\n
\n \n Regresar\n
\n
\n
\n Análisis de correos\n
\n
\n

\n En este módulo podrás realizar la carga y el análisis de correos mediante el uso de la IA.
\n No olvides, “El respeto y la empatía son clave”.\n

\n
\n
\n
\n
\n
\n \n Cuenta de correo\n \n {{ email.name\n }}\n \n \n El campo es requerido\n \n \n
\n
\n \n Bandejas y carpetas\n \n \n \n {{ item.name }}\n \n \n \n \n El campo es requerido\n \n \n
\n
\n \n Asunto\n \n \n
\n
\n \n Rango de fechas\n \n \n \n \n \n \n \n El campo es requerido\n \n \n
\n
\n \n Palabras clave\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n \n \n \n
\n
\n
{{ column.name }} \n {{ element[column.key] | limitText:30 }}
{{ textLoadingTable }}
\n \n \n
\n
\n
\n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { TestsService } from '../../../services/tests.service';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table'\nimport { AssessmentScoreComponent } from '../assessment-score/assessment-score.component';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA, } from '@angular/material/dialog';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { AssingUserComponent } from '../../assign-user/assing-user/assing-user.component';\n\n@Component({\n selector: 'app-assessments-detail',\n templateUrl: './assessments-detail.component.html',\n styleUrls: ['./assessments-detail.component.sass']\n})\nexport class AssessmentsDetailComponent implements OnInit {\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort;\n displayedColumns: string[] = ['actions', 'name', 'document', 'phone'];\n dataSource = new MatTableDataSource();\n userId\n rommId\n room\n currentPage = 1;\n noEdit = false;\n roomForm: FormGroup = this.fb.group({\n name:['',Validators.required],\n capacity:['',Validators.required],\n start:['',Validators.required],\n end:['',Validators.required],\n description:['',Validators.required],\n user_selection_id:['',Validators.required],\n user_operation_id:['',Validators.required],\n user_formation_id:['',Validators.required],\n });\n user_selection_name:string;\n user_operation_name:string;\n user_formation_name:string;\n length\n pageSize\n constructor(private auth: AuthService, private activatedRoute: ActivatedRoute,\n private testsService:TestsService, private fb: FormBuilder, \n public dialog: MatDialog, public alert:AlertsService) { \n this.userId = this.auth.getUser().rrhh_id;\n this.rommId = this.activatedRoute.snapshot.paramMap.get('id');\n }\n\n ngOnInit(): void {\n this.testsService.getRoomAssessmet( this.rommId).subscribe((res:any)=>{\n this.room = res\n res.start= new Date(res.start); \n res.end= new Date(res.end);\n this.roomForm.patchValue(res)\n this.roomForm.disable()\n this.dataSource = new MatTableDataSource(res.assessment_room_candidates);\n this.dataSource.sort = this.sort;\n this.length = res.assessment_room_candidates.total;\n this.pageSize = res.assessment_room_candidates.per_page;\n this.user_formation_name= res.user_formation;\n this.user_operation_name= res.user_operation;\n this.user_selection_name= res.user_selection;\n if( this.userId === res.user_creator_id){\n this.noEdit = true\n }\n })\n \n \n }\n activeEdit() {\n this.roomForm.disabled? this.roomForm.enable():this.roomForm.disable()\n \n }\n updateRomm(){\n let roomAux = {\n name: this.roomForm.get('name').value,\n capacity: this.roomForm.get('capacity').value,\n start: this.roomForm.get('start').value,\n end: this.roomForm.get('end').value,\n description: this.roomForm.get('description').value,\n user_selection_id: this.roomForm.get('user_selection_id').value,\n user_operation_id: this.roomForm.get('user_operation_id').value,\n user_formation_id: this.roomForm.get('user_formation_id').value,\n request_id: this.room.request.id\n }\n \n this.alert.alertConfirm('¿Desea actualizar los datos de esta sala?').then( e => {\n if(e.isConfirmed){\n this.testsService.updateRoomAssessmet(this.rommId, roomAux).subscribe(res=>{\n this.ngOnInit()\n this.roomForm.disable();\n this.alert.alertSuccess('¡Actualizado!','La sala ha sido actualizada éxitosamente');\n })\n }\n })\n \n }\n getPaginatorData(e){\n this.currentPage = e.pageIndex + 1;\n this.ngOnInit();\n }\n assessmentDialog(id){\n this.testsService.getCandidateAssessmet(id).subscribe(res=>{\n const assessmentDialog = this.dialog.open( AssessmentScoreComponent, {\n data: { candidateId: id, assessment:res }\n });\n \n })\n }\n deleteCandidate(id){\n this.alert.alertConfirm('¿Desea eliminar a este candidato de esta sala?').then( e => {\n if(e.isConfirmed){\n this.testsService.deleteCndidateToAssessmet(id).subscribe(res=>{\n this.ngOnInit()\n this.alert.alertSuccess('¡Eliminado!','El candidato ha sido eliminado de esta sala');\n })\n }\n })\n \n }\n\n\n}\n","
\n

{{room?.name}}

\n

Solicitud {{room?.request.code}}

\n

Creador por {{room?.user_creator}}

\n

En este espacio podrás evaluar a los candidatos con las pruebas asignadas con anterioridad.
No olvides, “El respeto y empatía son clave”.

\n \n \n
\n
\n \n \n
\n
\n\n \n Nombre\n \n \n \n Capacidad\n \n \n \n Fecha Inicio\n \n \n \n \n \n Fecha Fin\n \n \n \n \n \n Descripción\n \n \n \n Responsable de selección\n \n \n \n \n Responsable de operacíon\n \n \n \n Responsable de formación\n \n \n \n\n \n
\n
\n \n \n\n
\n \n
\n
\n\n \n \n
\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n
Acciones \n \n \n Nombre {{row.name}} No. Documento {{row.document}} Celular {{row.phone}}
No hay candidatos asociados al grupos de formación.
\n\n \n\n
\n
\n
\n
\n","import { Component, Inject, Input, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { EscalationService } from '../../../services/rest/escalation.service';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport Swal from 'sweetalert2';\n\n\n@Component({\n selector: 'app-mail-escalation',\n templateUrl: './mail-escalation.component.html',\n styleUrls: ['./mail-escalation.component.sass']\n})\nexport class MailEscalationComponent implements OnInit {\n\n dataInfo: any[] = [];\n listDataInfo: any[] = [];\n @Input() escalation: any; \n panelOpenState = false;\n\n constructor(\n private escalationService: EscalationService,\n private sanitizer:DomSanitizer\n ) { \n }\n\n ngOnInit() {\n this.loadDataEscalation();\n }\n\n async loadDataEscalation(){\n if(this.escalation.email_id != null){\n // await this.escalationService.getAttachments(this.escalation.email_id).toPromise();\n this.escalationService.getEmailPQRS(this.escalation.email_id).subscribe(resp => {\n resp[0].cuerpo = this.convertSanitizer(resp[0].cuerpo);\n this.dataInfo = resp;\n this.listDataInfo = [\n { name: 'De: ', value: this.dataInfo[0]?.de },\n { name: 'Para: ', value: this.dataInfo[0]?.para },\n { name: 'Asunto: ', value: this.dataInfo[0]?.asunto },\n { name: 'Fecha de recibido: ', value: this.dataInfo[0]?.fecha_Hora },\n ];\n \n });\n \n }\n }\n\n convertSanitizer(body){\n return this.sanitizer.bypassSecurityTrustHtml(body);\n }\n\n downloadEmailAttachment(route:any, nombre:any){\n this.escalationService.downloadEmailAttachment({url: route}).subscribe(resp => {\n importedSaveAs(resp, nombre); \n },\n error =>{\n Swal.fire('!Atención¡', \"Ha ocurrido un error al intentar descargar el adjunto\", \"error\");\n }\n );\n }\n}","
\n \n \n \n

\n \n Correo \n

\n
\n
\n
\n
\n
\n
{{ item.name }}
\n
{{ item.value }}
\n
\n
\n
\n \n
\n

Archivos adjuntos

\n
\n \n
\n
\n \n
\n
\n
\n
","import {\n AfterViewInit,\n Component,\n Inject,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\ndeclare var JitsiMeetExternalAPI: any;\nimport {\n MatDialog,\n MatDialogRef,\n MAT_DIALOG_DATA,\n} from '@angular/material/dialog';\nimport { VideollamadaService } from '../videollamada/services/videollamada.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport * as moment from 'moment';\nimport 'moment-timezone';\nimport { NotificationService } from 'src/app/core/services/rest/notification.service';\nimport Swal from 'sweetalert2';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AlertsSnackbarService } from '../alerts-snackbar/alerts-snackbar.service';\nimport { GetBackgroundResponse } from './interfaces/get-background.response';\nimport { MeetingsService } from 'src/app/modules/meetings/services/meetings.service';\n\n@Component({\n selector: 'app-meetings',\n templateUrl: './meetings.component.html',\n styleUrls: ['./meetings.component.sass'],\n})\nexport class MeetingsComponent implements OnInit, AfterViewInit, OnDestroy {\n domain: string = 'meetings.appsouls.net'; // For self hosted use your domain\n room: any;\n options: any;\n api: any;\n user: any;\n campaignId: number = 0;\n startRecordingAt: any;\n\n // For Custom Controls\n isAudioMuted = false;\n isVideoMuted = false;\n viewFiles: boolean = true;\n files: any[] = [];\n docsWidth = 0;\n frameWidth = 100;\n frameHeight = 400;\n minView: boolean = false;\n modalWidth = 900;\n modalHeight = 500;\n roomData: any;\n AuthUser: any;\n fileData: any;\n formData = new FormData();\n filesInterval: any;\n stateRoom: any;\n endDate: any = '';\n intervalId: any;\n startCallTime;\n isRecording: boolean = false;\n\n constructor(\n private router: ActivatedRoute,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private videoService: VideollamadaService,\n private authService: AuthService,\n private notificacionService: NotificationService,\n private snackBar: MatSnackBar,\n private snackBarService: AlertsSnackbarService,\n private meetingsService: MeetingsService\n ) {}\n\n ngOnInit(): void {\n this.AuthUser = this.authService.getUser();\n this.videoService.getAdviserById(this.AuthUser.rrhh_id).subscribe((res) => {\n this.campaignId = res.campaign_id;\n\n const body = {\n id: res.id,\n state_id: 3,\n };\n\n this.videoService.UpdateAdviserState(body).subscribe((resp) => {});\n\n this.loadingMeetingConfig();\n });\n\n this.roomData = this.data.data.aplicacion.split('::');\n const bodyRoom = {\n id: this.roomData[1],\n state_id: 2,\n };\n this.videoService.UpdateRoomState(bodyRoom).subscribe((resp) => {});\n\n this.room = this.roomData[0]; // Set your room name\n this.user = {\n name: this.data.user ? this.data.user : 'Asesor', // Set your username\n };\n\n this.videoService.getFilesByRoomId(this.roomData[1]).subscribe((resp) => {\n this.files = resp;\n });\n\n this.filesInterval = setInterval(() => {\n this.getFiles();\n }, 15000);\n\n this.videoService.getRoomById(this.roomData[1]).subscribe((res) => {\n this.videoService.setMeetResponse({\n variabliNIC: +res.client_nic,\n });\n this.stateRoom = res.state_id;\n this.endDate = res.end_date;\n if (res.state_id != 3) {\n var date = new Date();\n const bodyRoom = {\n id: this.roomData[1],\n start_date: moment(date)\n .tz('America/Bogota')\n .format('YYYY-MM-DDTHH:mm:ss'),\n };\n this.videoService.UpdateRoomState(bodyRoom).subscribe((resp) => {});\n }\n });\n\n this.videoService.setStateCall('incall');\n }\n\n ngAfterViewInit(): void {}\n\n loadingMeetingConfig() {\n this.options = {\n roomName: this.room,\n width: 100 + '%',\n height: 100 + '%',\n jwt: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJteV9zZXJ2ZXIxIiwiaXNzIjoibXlfd2ViX2NsaWVudCIsInN1YiI6Im1lZXQuaml0c2kiLCJyb29tIjoiKiJ9.Br6Tkhu7gHJMCv3w3AFcKDD2dmudBLrXCKK96Ka0K9s',\n configOverwrite: {\n prejoinPageEnabled: false,\n },\n interfaceConfigOverwrite: {\n // overwrite interface properties\n },\n parentNode: document.querySelector('#jitsi-iframe'),\n userInfo: {\n displayName: this.user.name,\n },\n };\n\n this.api = new JitsiMeetExternalAPI(this.domain, this.options);\n\n // Event handlers\n this.api.addEventListeners({\n readyToClose: this.handleClose,\n participantLeft: this.handleParticipantLeft,\n participantJoined: this.handleParticipantJoined,\n videoConferenceJoined: this.handleVideoConferenceJoined,\n videoConferenceLeft: this.handleVideoConferenceLeft,\n audioMuteStatusChanged: this.handleMuteStatus,\n videoMuteStatusChanged: this.handleVideoStatus,\n recordingStatusChanged: this.handleRecordingStatus,\n });\n\n this.videoService\n .getBackground(this.campaignId)\n .subscribe((resp: GetBackgroundResponse) => {\n if (resp.background_base64) {\n this.api.setVirtualBackground(true, resp.background_base64);\n }\n });\n }\n\n handleClose = () => {\n //console.log(\"handleClose\");\n };\n\n handleParticipantLeft = async (participant) => {\n //console.log(\"handleParticipantLeft\", participant); // { id: \"2baa184e\" }\n const data = await this.getParticipants();\n this.meetingsService\n .sendNotificationUserleft(this.roomData[1], this.startCallTime)\n .subscribe((resp) => {});\n };\n\n handleParticipantJoined = async (participant) => {\n //console.log(\"handleParticipantJoined\", participant); // { id: \"2baa184e\", displayName: \"Shanu Verma\", formattedDisplayName: \"Shanu Verma\" }\n const data = await this.getParticipants();\n };\n\n handleVideoConferenceJoined = async (participant) => {\n //console.log(\"handleVideoConferenceJoined\", participant); // { roomName: \"bwb-bfqi-vmh\", id: \"8c35a951\", displayName: \"Akash Verma\", formattedDisplayName: \"Akash Verma (me)\"}\n const data = await this.getParticipants();\n this.startCallTime = new Date();\n this.startTimer();\n };\n\n handleVideoConferenceLeft = (event) => {\n this.videoService.getAdviserById(this.AuthUser.rrhh_id).subscribe((res) => {\n const body = {\n campaign_id: res.campaign_id,\n adviser_id: res.id,\n };\n this.videoService.sendEncolamiento(body).subscribe((resp) => {});\n });\n var date = new Date();\n var end_date =\n this.stateRoom != 3\n ? moment(date).tz('America/Bogota').format('YYYY-MM-DDTHH:mm:ss')\n : this.endDate;\n const bodyRoom = {\n id: this.roomData[1],\n state_id: 3,\n end_date: end_date,\n };\n this.videoService.UpdateRoomState(bodyRoom).subscribe((resp) => {});\n this.notificacionService\n .deleteNotificationById(this.data.data.id)\n .subscribe(() => {});\n\n // Save recording information\n const endRecordingAt = new Date();\n this.isRecording = false;\n this.saveInfoRecording(endRecordingAt);\n\n this.videoService.setStateCall('ready');\n this.dialogRef.close();\n //this.router.navigate(['/thank-you']);\n };\n\n handleMuteStatus = (audio) => {\n //console.log(\"handleMuteStatus\", audio); // { muted: true }\n };\n\n handleVideoStatus = (video) => {\n //console.log(\"handleVideoStatus\", video); // { muted: true }\n };\n\n handleRecordingStatus = (event: any) => {\n if (event.on === true) {\n this.startRecordingAt = new Date();\n this.isRecording = true;\n } else if (event.on === false) {\n const endRecordingAt = new Date();\n this.isRecording = false;\n this.saveInfoRecording(endRecordingAt);\n }\n };\n\n videoConferenceLeft = () => {\n const endRecordingAt = new Date();\n this.isRecording = false;\n this.saveInfoRecording(endRecordingAt);\n };\n\n setTimeFormat(timeFormat: Date): string {\n return moment(timeFormat).format('YYYY-MM-DD HH:mm:ss');\n }\n\n saveInfoRecording(endRecordingAt: Date) {\n const formattedStart = this.setTimeFormat(this.startRecordingAt);\n const formattedEnd = this.setTimeFormat(endRecordingAt);\n\n this.meetingsService\n .saveInfoRecording(this.roomData[1], formattedStart, formattedEnd)\n .subscribe((resp) => {});\n }\n\n getParticipants() {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(this.api.getParticipantsInfo()); // get all participants\n }, 500);\n });\n }\n\n //Execute Command\n executeCommand(command: string) {\n this.api.executeCommand(command);\n if (command == 'hangup') {\n //this.router.navigate(['/thank-you']);\n\n return;\n }\n\n if (command == 'toggleAudio') {\n this.isAudioMuted = !this.isAudioMuted;\n }\n\n if (command == 'toggleVideo') {\n this.isVideoMuted = !this.isVideoMuted;\n }\n }\n\n seeFiles() {\n if (this.viewFiles == true) {\n this.viewFiles = false;\n this.docsWidth = 35;\n this.frameWidth = 65;\n }\n }\n\n hideFiles() {\n if (this.viewFiles == false) {\n this.viewFiles = true;\n this.docsWidth = 0;\n this.frameWidth = 100;\n }\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-07-25\n * Metodo para la captura de archivos\n */\n public onChangeFile(e): void {\n const file = e.target.files[0];\n\n if (file) {\n const maxSizeInMB = 10;\n if (file.size > maxSizeInMB * 1024 * 1024) {\n Swal.fire({\n icon: 'error',\n title: 'Archivo demasiado grande',\n text: 'El archivo debe tener un tamaño máximo de 10 MB.',\n timer: 4000,\n timerProgressBar: true,\n showConfirmButton: false,\n });\n return;\n }\n\n const allowedTypes = [\n 'application/pdf',\n 'application/msword',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'text/plain',\n 'image/jpeg',\n 'image/png',\n ];\n\n if (!allowedTypes.includes(file.type)) {\n Swal.fire({\n icon: 'error',\n title: 'Formato no permitido',\n text: 'Solo se permiten archivos PDF, Word, Excel, TXT, JPEG y PNG.',\n timer: 4000,\n timerProgressBar: true,\n showConfirmButton: false,\n });\n return;\n }\n\n this.fileData = file;\n this.formData = new FormData();\n this.formData.append('file', this.fileData);\n this.formData.append('room_name', this.roomData[0]);\n this.formData.append('room_id', this.roomData[1]);\n this.videoService.SendFileRoom(this.formData).subscribe((resp) => {\n this.seeFiles();\n this.getFiles();\n });\n }\n }\n\n getFiles() {\n this.files = [];\n this.videoService.getFilesByRoomId(this.roomData[1]).subscribe((resp) => {\n this.files = resp;\n });\n }\n\n minimize() {\n if (this.minView == false) {\n this.minView = true;\n this.viewFiles == false ? this.hideFiles() : '';\n this.modalWidth = 300;\n this.modalHeight = 300;\n this.frameHeight = 230;\n } else {\n this.minView = false;\n this.modalWidth = 900;\n this.modalHeight = 500;\n this.frameHeight = 400;\n }\n }\n\n seeDocuments() {\n if (this.viewFiles == true) {\n this.viewFiles = false;\n this.docsWidth = 35;\n this.frameWidth = 65;\n this.getFiles();\n } else {\n this.viewFiles = true;\n this.docsWidth = 0;\n this.frameWidth = 100;\n }\n }\n\n ngOnDestroy() {\n if (this.filesInterval) {\n clearInterval(this.filesInterval);\n }\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n }\n\n startTimer(): void {\n let startTime = Date.now();\n\n this.intervalId = setInterval(() => {\n const elapsedMinutes = Math.floor((Date.now() - startTime) / 60000);\n if (elapsedMinutes % 15 === 0) {\n this.sendAlert(elapsedMinutes);\n }\n }, 60000);\n }\n\n sendAlert(minutes: number): void {\n this.snackBarService.showNotification({\n title: '¡Ten en cuenta!',\n message: `La videollamada ha alcanzado los ${minutes} minutos de duración.`,\n });\n }\n}\n","
\n
\n
\n \n \n \n
\n
\n \n
\n
\n\n
\n
\n \n \n\n \n \n \n \n

Documentos adjuntos

\n
\n

\n \n {{item?.name}}\n \n

\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n
\n\n
\n","import { Injectable } from '@angular/core';\nimport {environment} from '../../../../../environments/environment';\nimport {HttpClient, HttpParams} from '@angular/common/http';\nimport {Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CitiesService {\n COMERCIALURL = environment.CRM_CIAL;\n\n constructor(\n private http: HttpClient\n ) { }\n /**\n * @author Javier Castañeda \n * @createdate 2022-10-29\n * Servicio de consulta de ciudades por id del pais\n * @param {number} countryId id del pais \n * @returns json\n */\n searchCities(countryId): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('country_id', countryId || '')\n };\n return this.http.get(`${this.COMERCIALURL}municipalityByCountry/`, httpOptions);\n }\n}\n","import { AddReportFormComponent } from './../add-report-form/add-report-form.component';\nimport { UsersService } from 'src/app/modules/ciu/services/rest/users.service';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { AuthService } from './../../../../../core/services/rest/auth.service';\nimport { Component, OnInit, ViewChild, ChangeDetectorRef } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { Location } from '@angular/common';\n\n\n@Component({\n selector: 'app-user-assignment-report',\n templateUrl: './user-assignment-report.component.html',\n styleUrls: ['./user-assignment-report.component.sass'],\n})\nexport class UserAssignmentReportComponent implements OnInit {\n\n // MatPaginator Inputs\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n show = false;\n filterValue;\n public reactiveForm: FormGroup;\n public queryParams: string = 'page=1&per_page=5';\n public validInit: boolean = true;\n public panelOpenState = false;\n\n\n\n\n displayedColumns: string[] = ['accion', 'name', 'id_number', 'userName', 'email', 'campaign'];\n dataSource = new MatTableDataSource();\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n constructor(public dialog: MatDialog,\n public userService: UsersService,\n private destroyService: DestroyComponentService,\n private location: Location,\n private authService: AuthService,\n private formBuilder: FormBuilder,\n ) { }\n\n ngOnInit(): void {\n this.defineReactiveForm();\n this.getUsers();\n }\n\n get userLog() { return this.authService.decryptToken(); }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-03-04\n * Metodo que consulta todos los usuarios debidamente paginados para mostrarlos en la tabla\n * @param size tamaño de datos a traer\n * @param page pagina a traer\n */\n getUsers(): void {\n\n if (this.dataSource.filter === '') {\n this.dataSource.filter = null;\n }\n this.userService.getUsersFilter(this.queryParams).subscribe((Response) => {\n if (typeof Response.data.data !== 'undefined') {\n this.dataSource = new MatTableDataSource(Object.values(Response.data.data));\n } else {\n this.dataSource.data = [];\n }\n this.dataSource.sort = this.sort;\n this.length = Response.data.total;\n this.pageSize = Response.data.per_page;\n });\n\n }\n\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-03-04\n * Metodo que abre el modal para editar permisos de un usuario\n * @param rrhh_id datos del usuario a editar\n */\n addPermisions(rrhh_id: any): void {\n\n const dialogRefEdit = this.dialog.open(AddReportFormComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar permisos de reportes',\n rrhh_id: rrhh_id\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogRefEdit.afterClosed().subscribe(() => {\n this.getUsers();\n });\n\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-03-04\n * Metodo que se encarga del paginador al momento de cambiar de pagina\n * @param event evento que trae la pagina a listar\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n }\n\n /**\n* @author Carlos Nieto\n* @createdate 2022-03-04\n* Metodo para mostrar o ocultar filtros avanzados\n*/\n Hide() {\n if (this.show == false) {\n this.show = true;\n } else {\n this.show = false;\n }\n }\n\n /**\n * Primero valida si existe en la variable el string filter,\n * en cuyo caso obtiene 'filter={info digitada}', limpiando los demas datos,\n * luego vuelve a evaluar si existe filter en cuyo caso lo concatena al string\n * en caso de que no exista arma el string solo con con page y pagezise\n * @author Carlos Nieto\n * @createdate 2022-03-04\n * @param event\n * @returns string\n /**/\n public ValidateFilterParams(event): string {\n this.queryParams = this.queryParams.includes(\"filter\") ?\n this.queryParams.substring(this.queryParams.indexOf('filter')) : this.queryParams;\n this.queryParams = this.queryParams.includes(\"filter\") ?\n `page=${event.pageIndex + 1}&per_page=${event.pageSize}&${this.queryParams}` :\n `page=${event.pageIndex + 1}&per_page=${event.pageSize}`;\n\n return this.queryParams;\n }\n\n public handleChangePage(event) {\n this.queryParams = this.ValidateFilterParams(event);\n this.validInit = false;\n this.destroyService.destroyComponent();\n this.getUsers();\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-03-04\n * Metodo que se encarga de validar los datos a enviar en onfilter\n * @param row dato a convertir\n */\n applyFilter(filterValue: string): void {\n filterValue = filterValue.trim(); // Remove whitespace\n filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches\n this.queryParams = `filter=${filterValue}`;\n this.destroyService.destroyComponent();\n this.getUsers();\n this.dataSource.filter = filterValue;\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-03-04\n * Metodo que se encarga de pasar todos los valores objetos a array\n * @param row dato a convertir\n */\n vaidateData(row) {\n return Object.values(row);\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-03-04\n * Metodo que se crea el control para el filtro\n * @param row dato a convertir\n */\n defineReactiveForm(): void {\n this.reactiveForm = this.formBuilder.group({\n 'filter': ['']\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n backRoute() {\n this.location.back()\n }\n}\n","
\n
\n \n
\n
\n

\n Asignación de reportes a usuarios

\n

Bienvenido al módulo de asignación de reportes, recuerda que puedes
filtrar por cualquier criterio que\n encuentres en la tabla.

\n
\n\n
\n \n Filtro de búsqueda\n \n \n \n
\n
\n \n \n
\n\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Acciones\n \n Nombre y apellido {{row.name}} Identificación {{row.id_number}} Nombre de Usuario {{row.username}} Correo {{row.email}} Campaña {{row.campaign}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n\n \n \n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\n\nimport { GLOBAL } from '../../../../services/config/message.service';\n\n@Component({\n selector: 'app-card-dashboard',\n templateUrl: './card-dashboard.component.html',\n styleUrls: ['./card-dashboard.component.sass']\n})\nexport class CardDashboardComponent implements OnInit {\n\n @Input() icon:string;\n @Input() num:string;\n @Input() info:string;\n public paragraph: string;\n \n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n
\n
\n \n \n \n \n \n \n \n \n \n
\n
\n

{{num}}

\n

{{info}}

\n
\n
\n
\n","import { JuridicaService } from './../../../../services/juridica.service';\nimport { DatePipe } from '@angular/common';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { CampaignsService } from 'src/app/modules/nomina/services/rest/campaigns.service';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { PermitResponseComponent } from '../permit-response/permit-response.component';\nimport { PermitViewComponent } from '../permit-view/permit-view.component';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { debounceTime } from 'rxjs/operators';\n\n@Component({\n selector: 'app-permit-list',\n templateUrl: './permit-list.component.html',\n styleUrls: ['./permit-list.component.sass']\n})\nexport class PermitListComponent implements OnInit {\n // MatPaginator Inputs\n length;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n displayedColumns: string[] = ['acciones', 'fecha', 'nombre', 'numero', 'campana', 'tipo', 'estado'];\n dataSource = new MatTableDataSource();\n\n reportForm: FormGroup;\n reportForm2: FormGroup;\n Campaings: any;\n filterControl = new FormControl();\n filterControl2 = new FormControl(4);\n typeDocument = new FormControl(1);\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatPaginator, { static: true }) paginator2: MatPaginator;\n\n document: any;\n startDate: any = '';\n endDate: any;\n idCampaing: any;\n\n document2: any;\n startDate2: any = '';\n endDate2: any;\n idCampaing2: any;\n\n documents: any = [];\n idTypeDoc: any = 1;\n idTypeDoc2: any;\n states: any = [{ id: 4, name: 'Todos' }, { id: 0, name: 'En revisión' }, { id: 1, name: 'Aprobado' }, { id: 2, name: 'Rechazado' }];\n idState: any = 4;\n\n public documentControl = new FormControl();\n\n\n constructor(public dialog: MatDialog,\n private service: CampaignsService,\n private permit: JuridicaService,\n private users: CandidatesService\n ) {\n\n }\n\n ngOnInit() {\n this.reportForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n this.filterControl2.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idState = resp;\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n //documento\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.idTypeDoc = resp;\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n // Campaña\n this.filterControl.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idCampaing = resp;\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n this.service.getAllCampaigns().subscribe(resp => {\n this.Campaings = resp.data;\n });\n\n this.permit.getPermits(this.idState).subscribe(resp => {\n this.dataSource = resp.data.data;\n this.length = resp.data.total;\n });\n }\n\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Metodo de paginación\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getPermits(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Modal de respuests de permiso\n */\n viewJustification(element): void {\n const dialogNewgroup = this.dialog.open(PermitResponseComponent, {\n width: '70%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Modal de visualizar justificación\n */\n viewJustification2(element): void {\n const dialogNewgroup = this.dialog.open(PermitViewComponent, {\n width: '70%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n\n }\n\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e) {\n this.resetPaginator(1);\n this.document = e;\n this.getPermits(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Metodo para capturar el rango de fechas a filtrar\n */\n dateRangeChange() {\n this.resetPaginator(1);\n const date1: Date = this.reportForm.controls.start.value;\n const date2: Date = this.reportForm.controls.end.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n this.getPermits(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-23\n * Metodo para filtrar los pendientes\n */\n getPermits(type, pageSi, page) {\n if (this.document != null || this.idTypeDoc != null ||this.idCampaing != null || page != null || pageSi != null || this.startDate != null && this.endDate != null) {\n this.permit.getPermitsBy(type, this.idTypeDoc, this.document, this.idCampaing, this.startDate, this.endDate, pageSi, page).subscribe(resp => {\n this.dataSource = resp.data.data;\n this.length = resp.data.total;\n });\n }\n }\n\n /**\n * @author D aniel Dominguez \n * @createdate 2021-06-24\n * Metodo de descarga de reporte de permisos\n */\n downloadReport() {\n this.permit.getReport(this.idState, this.idTypeDoc, this.document, this.idCampaing, this.startDate, this.endDate).subscribe(resp => {\n importedSaveAs(resp, 'reporte_permisos.xlsx');\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose resetea el paginador\n */\n resetPaginator(numPaginator): void {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n }\n\n}\n","
\n
\n

Novedades de permisos

\n

En este espacio podrás revisar y/o gestionar las novedades de
permisos de\n los trabajadores, no olvides,\"El respeto y la empatía son clave\"

\n
\n\n\n \n Estado\n \n \n {{item?.name}}\n \n \n \n\n \n Fecha\n \n \n \n \n \n \n \n\n \n Identificación\n \n \n {{item.key}}\n \n \n\n \n Campaña\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n\n \n \n\n \n \n \n\n
\n \n \n Fecha {{element.novelty_date_start | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}} Campaña{{element.campaignName}} Tipo{{element.fullName}} Estado {{element.stateName}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n\n
\n\n\n
\n","import { PermitListComponent } from './pages/permit-list/permit-list.component';\nimport { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { PermitConsultantComponent } from './pages/permit-consultant/permit-consultant.component';\n\nconst routes: Routes = [\n { path: '', component: PermitListComponent },\n { path: 'consultant', component: PermitConsultantComponent },\n ];\n \n @NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n })\n export class PermitRoutingModule { }","import { trigger, state, style, transition, animate, animateChild, query } from '@angular/animations';\n\n\nexport const onSideNavChange = trigger('onSideNavChange', [\n state('close',\n style({\n 'min-width': '50px'\n })\n ),\n state('open',\n style({\n 'min-width': '200px'\n })\n ),\n transition('close => open', animate('250ms ease-in')),\n transition('open => close', animate('250ms ease-in')),\n]);\n\n\nexport const onMainContentChange = trigger('onMainContentChange', [\n state('close',\n style({\n 'margin-left': '62px'\n })\n ),\n state('open',\n style({\n 'margin-left': '150px'\n })\n ),\n transition('close => open', animate('250ms ease-in')),\n transition('open => close', animate('250ms ease-in')),\n]);\n\n\nexport const animateText = trigger('animateText', [\n state('hide',\n style({\n 'display': 'none',\n opacity: 0,\n })\n ),\n state('show',\n style({\n 'display': 'block',\n opacity: 1,\n })\n ),\n transition('close => open', animate('350ms ease-in')),\n transition('open => close', animate('200ms ease-out')),\n]);","import { element } from 'protractor';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { SchedulesService } from '../../../services/rest/schedules.service';\nimport { AuthService } from '../../../../../core/services/rest/auth.service';\nimport * as moment from 'moment';\nimport { FormControl, FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-edit-schedules',\n templateUrl: './edit-schedules.component.html',\n styleUrls: ['./edit-schedules.component.sass']\n})\nexport class EditSchedulesComponent implements OnInit {\n public uploadFile;\n public nameFile: any = '';\n public filters: any;\n FileData: any = 0;\n btnUpload = true;\n usersArray: any;\n editDay = false;\n editDay2 = false;\n DaysWeek: any = [];\n filterControl = new FormControl();\n jornada: FormGroup;\n selectedWeek: any;\n olData: any;\n length: any = [];\n checked: boolean = false;\n\n constructor(private alert: AlertsService,\n private scheduleService: SchedulesService,\n private authService: AuthService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef) {\n }\n\n ngOnInit(): void {\n this.jornada = new FormGroup({\n startJ: new FormControl(''),\n endJ: new FormControl(''),\n startA: new FormControl(''),\n endA: new FormControl(''),\n startC: new FormControl(''),\n endC: new FormControl(''),\n start1: new FormControl(''),\n end1: new FormControl(''),\n start2: new FormControl(''),\n end2: new FormControl('')\n });\n\n this.filters = this.data.filters;\n const array = [];\n if (this.data.data.length > 0) {\n this.data.data.forEach(element => {\n array.push(element.rrhh_id);\n });\n this.usersArray = array;\n } else {\n array.push(this.data.data2.rrhh_id);\n this.usersArray = array;\n }\n const arrayWeek = this.data.week;\n this.DaysWeek.push({ day: arrayWeek.monday, name_day: 'Lunes' });\n this.DaysWeek.push({ day: arrayWeek.tuesday, name_day: 'Martes' });\n this.DaysWeek.push({ day: arrayWeek.wednesday, name_day: 'Miércoles' });\n this.DaysWeek.push({ day: arrayWeek.thursday, name_day: 'Jueves' });\n this.DaysWeek.push({ day: arrayWeek.friday, name_day: 'Viernes' });\n this.DaysWeek.push({ day: arrayWeek.saturday, name_day: 'Sábado' });\n this.DaysWeek.push({ day: arrayWeek.sunday, name_day: 'Domingo' });\n this.filterControl.valueChanges.subscribe(resp => {\n this.selectedWeek = resp;\n });\n let Data = [];\n if (this.data.data.length > 0) {\n Data = [...this.data.data];\n this.length = Data.length;\n } else if (this.data.data2 != []) {\n Data.push(this.data.data2);\n this.length = Data.length;\n }\n\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-06\n * Metodo carga de archivo\n */\n public onChangeFile(e): void {\n const currentDate = moment().format('YYYY-MM-DD');\n this.nameFile = e.target.files[0].name;\n this.FileData = e.target.files;\n if (this.FileData.length > 0) {\n if (e.target.files[0].type == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' || e.target.files[0].type == 'application/vnd.ms-excel') {\n this.btnUpload = false;\n const formData = new FormData();\n formData.append('groupId', this.filters.groupId);\n formData.append('userIds', JSON.stringify(this.usersArray));\n formData.append('startWeek', this.filters.startWeek);\n formData.append('endWeek', this.filters.endWeek);\n formData.append('upload', e.target.files[0]);\n this.scheduleService.updateScheduleSelected(formData)\n .subscribe(resp => {\n e.srcElement.value = null;\n this.nameFile = '';\n this.btnUpload = true;\n if (resp.data.possibleErrors.length === 0) {\n this.alert.alertSuccess('¡Archivo cargado!', `\n

Nota:

\n

\n Archivo subido por: ${ this.authService.getUser().rrhh.name ?? 'NA' }
\n Fecha: ${ currentDate }\n

\n `);\n } else {\n let buildMessages = '';\n for (const property in resp.data.possibleErrors) {\n if (resp.data.possibleErrors.hasOwnProperty(property)) {\n buildMessages += resp.data.possibleErrors[property];\n }\n }\n this.alert.alertWarning('Proceso realizado', `\n

Nota:

\n

\n Archivo subido por: ${ this.authService.getUser().rrhh.name ?? 'NA' }
\n Fecha: ${ currentDate }

\n Inconvenientes presentados:
${ buildMessages }\n

\n `);\n }\n }, error => {\n e.srcElement.value = null;\n this.nameFile = '';\n this.btnUpload = true;\n this.alert.alertError('Error', 'Ocurrio un error al intentar actualizar masivamente');\n });\n } else {\n this.btnUpload = true;\n this.alert.alertError('Error', 'La extensión del archivo no es valida, solo se permiten archivos excel');\n }\n } else {\n this.btnUpload = false;\n }\n }\n\n /**\n * Metodo que obtiene la plantilla con información a actualizar\n * @author Daniel Dominguez \n */\n getScheduleFileToEdit(): void {\n this.filters.userIds = this.usersArray;\n this.scheduleService.getScheduleFileToEdit(this.filters)\n .subscribe(resp => importedSaveAs(resp, 'edicion_horarios.xlsx'));\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-19\n * Metodo de modificar un dia de la semana\n */\n saveDays(): void {\n if (!this.filterControl.value) {\n return;\n }\n const jornadaToEdit = {\n groupId: this.filters.groupId,\n startWeek: this.filters.startWeek,\n endWeek: this.filters.endWeek,\n userIds: this.usersArray,\n dateSelected: this.selectedWeek,\n workday: [{\n hourStart: this.jornada.controls.startJ.value,\n hourEnd: this.jornada.controls.endJ.value\n }],\n break: [{\n hourStart: this.jornada.controls.start1.value,\n hourEnd: this.jornada.controls.end1.value\n }, {\n hourStart: this.jornada.controls.start2.value,\n hourEnd: this.jornada.controls.end2.value\n }],\n lunch: [{\n hourStart: this.jornada.controls.startA.value,\n hourEnd: this.jornada.controls.endA.value\n }],\n training: [{\n hourStart: this.jornada.controls.startC.value,\n hourEnd: this.jornada.controls.endC.value\n }]\n };\n\n this.scheduleService.updateScheduleDateSelected(jornadaToEdit)\n .subscribe(resp => {\n this.alert.alertSuccess('Actualización realizada!', 'proceso realizado correctamente');\n // this.dialogRef.close('');\n });\n\n\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-19\n * Metodo de para mostrar la vista de modificar turno\n */\n showEdit(): void {\n if (this.editDay == false) {\n this.editDay = true;\n } else {\n this.editDay = false;\n }\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-05-19\n * Metodo de para mostrar la vista de modificar turno por dia\n */\n showEdit2(): void {\n if (this.editDay2 == false) {\n this.editDay2 = true;\n } else {\n this.editDay2 = false;\n }\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-07-28\n * Metodo de para limpiar campos de hora\n */\n clearFills(e): void {\n if (e) {\n this.jornada.disable();\n this.checked = true;\n } else {\n this.jornada.enable();\n this.checked = false;\n }\n\n if (this.olData) {\n Object.keys(this.olData.schedules).forEach(key => {\n if (this.olData.descanso) {\n this.jornada.controls[key].setValue((this.checked) ? '00:00:00' : '');\n } else {\n this.jornada.controls[key].setValue((this.checked) ? '00:00:00' : this.olData.schedules[key] ?? '');\n }\n });\n } else {\n // cuando son mas de 1 un usuario\n Object.keys(this.jornada.controls).forEach(key => {\n this.jornada.controls[key].setValue((this.checked) ? '00:00:00' : '');\n });\n }\n }\n\n /**\n * Busca la configuracion que pudo haber cargado en un dia especifico\n * @author Andres Buitrago\n * @created 2021-08-05\n */\n searchPossibleSchedule(): void {\n if (this.usersArray.length > 1) return;\n\n this.checked = false;\n this.jornada.enable();\n // limpiar campos\n Object.keys(this.jornada.controls).forEach(key => {\n this.jornada.controls[key].setValue('');\n });\n\n this.scheduleService.getScheduleToEdit(this.usersArray[0], this.selectedWeek)\n .subscribe(resp => {\n this.olData = resp.data;\n if (resp.data.descanso) {\n this.checked = true;\n this.clearFills(true);\n } else {\n Object.keys(resp.data.schedules).forEach(key => {\n this.jornada.controls[key].setValue(resp.data.schedules[key] ?? '');\n });\n }\n }, error => {\n this.olData = {descanso: false, schedules: []};\n });\n }\n\n\n}\n","
\n\n
\n

\n \n

\n \n
\n

Modificar turno

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

\n \n

\n \n
\n

Cómo subir tus archivos

\n
\n\n
\n
\n
\n \n - Realice las modificaciones\n necesarias, si el usuario no debe asistir en una fecha, dejar vacías las celdas de horas\n respectivas.\n \n
\n
\n
\n \"vacationIcon\"\n
\n
\n
\n
\n\n
\n
\n
\n
\n \n
\n
\n\n
\n \n \n
{{nameFile}}
\n
\n
\n\n
\n\n
\n\n
\n \n
\n

\n \n

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

{{length}} usuarios seleccionados

\n
\n
\n
\n

Modificar turno

\n
\n
\n \n \n Seleccionar\n \n {{item?.name_day}} {{item?.day | date:'dd'}}\n \n \n
\n
\n Asignar turno de descanso\n
\n
\n\n
\n
\n
\n
\n

Workday

\n \n Inicio\n \n \n \n Fin\n \n \n
\n
\n

Lunch

\n \n Inicio\n \n \n \n Fin\n \n \n
\n
\n

Training

\n \n Inicio\n \n \n \n Fin\n \n \n
\n
\n
\n
\n

Break 1

\n \n Inicio\n \n \n \n Fin\n \n \n
\n
\n

Break 2

\n \n Inicio\n \n \n \n Fin\n \n \n
\n
\n\n
\n
\n
\n \n
\n\n
\n \n
\n
\n\n
\n\n
\n
\n\n
\n
\n\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\n\nimport { LivechatRoutingModule } from './livechat-routing.module';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { ShortcutPipe } from './pipes/shortcut.pipe';\nimport { FiltertemplatePipe } from './pipes/filtertemplate.pipe';\n\n@NgModule({\n declarations: [ShortcutPipe, FiltertemplatePipe],\n imports: [\n CommonModule,\n LivechatRoutingModule,\n SharedModule,\n NgxChartsModule\n ],\n exports:[\n ShortcutPipe,\n NgxChartsModule\n ]\n})\nexport class LivechatModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ListContactComponent } from './componentes/list-contact/list-contact.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MaterialModule } from '../material/material.module';\nimport { ActiveChatComponent } from './componentes/active-chat/active-chat.component';\nimport { ChatRestService } from './services/chat-rest.service';\nimport { ManagerChatService } from './services/manager-chat.service';\nimport { ChatGroupsComponent } from './componentes/chat-groups/chat-groups.component';\nimport { ElementSelectorComponent } from './componentes/element-selector/element-selector.component';\nimport { AllContactsComponent } from './componentes/all-contacts/all-contacts.component';\nimport { ViewUsersGroupComponent } from './componentes/view-users-group/view-users-group.component';\n\n\n\n@NgModule({\n declarations: [\n ListContactComponent,\n ActiveChatComponent,\n ChatGroupsComponent,\n ElementSelectorComponent,\n AllContactsComponent,\n ViewUsersGroupComponent,\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MaterialModule\n ],\n exports:[\n ListContactComponent,\n ActiveChatComponent\n ],\n providers:[\n ChatRestService,\n ManagerChatService\n ]\n})\nexport class ChatSoulModule { }\n","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { GESTIONADOR_CORREOS } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StateService {\n\n constructor(private httpClient: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-13\n * Metodo que retorna los errores generados por HTTP. \n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-15\n * Metodo que retorna los estados registrados en el sistema. \n * @param paginator Paginador configurado en la vista. \n * @param filter Filtro configurado en la vista. \n * @param showAllStates Trae o no todos los estados activos. \n */\n getStates(paginator: any = null, filter: string = '', showAllStates: boolean = false, idEmailConfig: string = ''): Observable {\n const paramState = showAllStates ? '' : 'state=1';\n const url = paginator === null ? `${GESTIONADOR_CORREOS}emailstate/showall?${paramState}&id_email_config=${idEmailConfig}` : `${GESTIONADOR_CORREOS}emailstate/showall?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&name=${filter}&id_email_config=${idEmailConfig}`;\n return this.httpClient.get(url).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-15\n * Metodo que guardar o actualiza un estado en el sistema. \n * @param state Informacion proveniente del formulario. \n */\n storeState(state: any): Observable {\n const url = state.id === null ? `${GESTIONADOR_CORREOS}emailstate/store` : `${GESTIONADOR_CORREOS}emailstate/update/${state.id}`;\n return this.httpClient.post(url, state).pipe(\n catchError(this.handleError)\n );\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { SPEECH_URL } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoDirigidoService {\n constructor(private httpClient: HttpClient) { }\n\n /**\n * Metodo que retorna los errores generados por HTTP. \n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Metodo obtener listado de los audios cargados paginados\n * @author Yeison Sepulveda\n * @createdate 2024-05-02\n * @param paginator configuración de paginación (pageIndex).\n * @param per_page cantidad por pagina\n */\n getAudios(paginator: any, ids: any[]): Observable {\n const body = { ids: ids};\n return this.httpClient.post(`${SPEECH_URL}uploadAudios/paginate/${paginator.pageSize}?page=${(paginator.pageIndex)}`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Cargar los audios al storage del back\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param audios array de audios cargados\n */\n\n uploadAudios(formData: any): Observable {\n console.log('data',formData)\n return this.httpClient.post(`${SPEECH_URL}uploadAudios/store`, formData).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Descargar reporte vista no dirigido\n * @author Yeison Sepulveda\n * @createdate 2024-04-04\n * @param filters json de la informacion\n */\n downloadReport(filters){\n return this.httpClient.post(`${SPEECH_URL}uploadAudios/downloadReportLocal`,filters, {responseType: 'blob' as 'json'}).pipe(\n catchError(this.handleError)\n );\n }\n}","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { MatDialogRef, MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { ResourcesService } from '../../../services/resources.service';\n\n@Component({\n selector: 'app-resources-create',\n templateUrl: './resources-create.component.html',\n styleUrls: ['./resources-create.component.sass']\n})\nexport class ResourcesCreateComponent implements OnInit {\n\n createResourceType = false;\n resourceForm = this.fb.group({\n 'name': [null, Validators.required],\n 'type_resource_id': [null, Validators.required],\n 'status': [1],\n });\n resourceTypes = [];\n states = false;\n\n constructor(private fb: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private dialogRef: MatDialogRef,\n private resourcesService: ResourcesService,\n private alertNotification: AlertsService,\n private auth: AuthService,\n private dialog: MatDialog) {\n }\n\n\n ngOnInit(): void {\n this.auth.getUser().roles.forEach(element => {\n if (element === 'rrhh::usuario') {\n this.states = true;\n }\n\n if (this.data.action === 'Editar') {\n this.resourceForm.patchValue(this.data.row);\n }\n });\n this.getResourceTypes();\n }\n\n getResourceTypes() {\n this.resourcesService.getResourceTypes(true).subscribe( res => {\n this.resourceTypes = res;\n });\n }\n\n saveResource() {\n if (this.resourceForm.valid) {\n if (this.data.action === 'Crear') {\n this.resourcesService.createResources(this.resourceForm.value).subscribe(res => {\n this.alertNotification.alertSuccess('Recurso creado con éxito', '');\n this.dialogRef.close(true);\n });\n }\n\n if (this.data.action === 'Editar') {\n this.resourcesService.updateResources(this.data.row.id, this.resourceForm.value).subscribe( res => {\n this.alertNotification.alertSuccess('Recurso editado con éxito', '');\n this.dialogRef.close(true);\n });\n }\n } else {\n this.resourceForm.markAllAsTouched();\n }\n }\n\n}\n","\n

{{data.action}} Recurso

\n\n\n
\n \n Nombre\n \n Este campo es requerido\n \n\n \n Tipo de recurso\n \n --\n \n {{type.name}}\n \n Este campo es requerido \n \n\n \n \n Estado\n \n \n Activo\n \n \n Inactivo\n \n \n \n \n \n
\n
\n\n \n \n\n","import Swal from \"sweetalert2\";\n\n\n\nexport class Tools {\n static swalSuccess( title , text ){\n Swal.close;\n Swal.fire({\n position:'center',\n icon: 'success' ,\n title: title,\n text: text,\n showConfirmButton:false,\n timer: 2500\n });\n }\n\n static swalError( title , text ){\n Swal.close;\n Swal.fire({\n position:'center',\n icon: 'error' ,\n title: title,\n text: text,\n showConfirmButton:false,\n timer: 3500\n });\n}\n\n\nstatic downloadFile( x , fileName ){\n var newBlob = new Blob([x], { type: x.type });\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\n window.navigator.msSaveOrOpenBlob(newBlob, fileName);\n return;\n }\n\n // For other browsers:\n // Create a link pointing to the ObjectURL containing the blob.\n const data = window.URL.createObjectURL(newBlob);\n\n var link = document.createElement('a');\n link.href = data;\n link.download = fileName;\n link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));\n\n setTimeout(function () {\n // For Firefox it is necessary to delay revoking the ObjectURL\n window.URL.revokeObjectURL(data);\n link.remove();\n }, 100);\n\n}\n\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdatesMainComponent } from './updates-main/updates-main.component';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\n\n\n\n@NgModule({\n declarations: [UpdatesMainComponent],\n imports: [\n CommonModule,\n SharedModule,\n MaterialModule\n ]\n})\nexport class UpdatesModule { }\n","import { Component, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { MatDialogRef } from \"@angular/material/dialog\";\nimport { CandidateCommentsComponent } from \"src/app/modules/rrhh/modules/candidates/candidate-comments/candidate-comments.component\";\n\n@Component({\n selector: 'app-userStatus-response',\n templateUrl: './userStatus-response.component.html',\n styleUrls: ['./userStatus-response.component.sass']\n})\nexport class UserStatusResponseComponent implements OnInit {\n status: FormGroup;\n user:any = [{id:36 , name:\"Inactivo\"},\n {id:3 , name:\"Listado\"}]\n constructor(\n private dialogRef: MatDialogRef,\n private fb: FormBuilder,\n ) { }\n\n ngOnInit() {\n this.status = this.fb.group({\n state :['', Validators.required],\n comment:[],\n });\n }\n\n send(){\n if(this.status.value.status_id !== '')\n this.dialogRef.close(this.status.value)\n }\n}\n","\n

¿Desea modificar este usuario?

\n \n \n \n
\n

Listar o inactivar usuario

\n
\n \n Estado\n \n \n {{item.name}}\n \n \n \n \n Comentario\n \n \n \n \n
\n
\n
\n
","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[appBlockCopyPaste]'\n})\nexport class BlockCopyPasteDirective {\n\n constructor() { }\n\n @HostListener('paste', ['$event']) blockPaste(e: KeyboardEvent) {\n e.preventDefault();\n }\n\n @HostListener('copy', ['$event']) blockCopy(e: KeyboardEvent) {\n e.preventDefault();\n }\n\n @HostListener('cut', ['$event']) blockCut(e: KeyboardEvent) {\n e.preventDefault();\n }\n\n}\n","import { ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormGroup, ValidationErrors, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { NetworkUsersService } from '../../services/rest/network-users.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\ninterface PasswordValidate {\n uppercase: boolean\n lowercase: boolean\n digits: boolean\n specialCharacters: boolean\n};\n\ninterface StatePassword {\n text: string,\n color: string\n};\n\n@Component({\n selector: 'app-change-network-user-pass',\n templateUrl: './change-network-user-pass.component.html',\n styleUrls: ['./change-network-user-pass.component.sass']\n})\nexport class ChangeNetworkUserPassComponent implements OnInit {\n questions_form: FormGroup\n password_form: FormGroup\n logged_user: any\n questions_labels: any = { first: \"\", second: \"\", third: \"\" }\n match_answers: boolean = false\n hide_pass: boolean = true\n hide_repeat: boolean = true\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private fb: FormBuilder, private networkUsersService: NetworkUsersService, private alertService: AlertsService,\n private cdr: ChangeDetectorRef, private dialogRef: MatDialogRef) { }\n\n ngOnInit(): void {\n this.validateLastPasswordUpdate()\n this.initializeQuestionsForm()\n this.initializePasswordForm()\n }\n\n /**\n * Metódo que inicializa el formulario de las preguntas\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n initializeQuestionsForm() {\n this.questions_form = this.fb.group({\n first_question: this.fb.group({\n id: ['', []],\n answer: ['', [Validators.required]]\n }),\n second_question: this.fb.group({\n id: ['', []],\n answer: ['', [Validators.required]]\n }),\n third_question: this.fb.group({\n id: ['', []],\n answer: ['', [Validators.required]]\n })\n })\n this.setQuestionFormValue();\n }\n /**\n * Metódo que obtiene las preguntas almacenadas y las asigna al formulario y a los labels\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n setQuestionFormValue() {\n this.networkUsersService.getUserSecurityQuestions(0).subscribe(resp => {\n //Se asigna el valor de las ids de las preguntas asociadas al usuario\n this.first_question_controls.id.setValue(resp[0]?.id)\n this.second_question_controls.id.setValue(resp[1]?.id)\n this.third_question_controls.id.setValue(resp[2]?.id)\n //Labels\n this.questions_labels = { first: resp[0]?.question_text, second: resp[1]?.question_text, third: resp[2]?.question_text }\n\n })\n }\n /**\n * Metódo que valida si la contraseña ya ha sido actualizada el día de hoy, si es asi restringe el acceso al formulario hasta que pasen 24 horas\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n validateLastPasswordUpdate() {\n this.networkUsersService.validateLastUpdates(0).subscribe(resp => {\n if (resp.data?.restriction) {\n this.alertService.alertInfo('¡Atención!', resp.data?.message)\n this.dialogRef.close()\n }\n })\n }\n /**\n * Metódo que inicializa el formulario de cambio de contraseña\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n initializePasswordForm() {\n this.password_form = this.fb.group({\n user_name: [this.logged_user?.rrhh?.name, []],\n new_password: ['', [Validators.required, Validators.pattern('^(?=.*[A-Z])(?=.*[a-z])(?=.*\\\\d)(?=.*[@$!%*?&])[A-Za-z\\\\d@$!%*?&]+'), Validators.minLength(12), Validators.maxLength(20)]],\n repeat_password: ['', [Validators.required, this.matchPasswords('new_password')]]\n })\n }\n /**\n * Metódo que retorna los controles de la primera pregunta\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n get first_question_controls() {\n const firstQuestionGroup = this.questions_form.get('first_question') as FormGroup\n return firstQuestionGroup ? firstQuestionGroup.controls : {}\n }\n /**\n * Metódo que retorna los controles de la segunda pregunta\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n get second_question_controls() {\n const secondQuestionGroup = this.questions_form.get('second_question') as FormGroup\n return secondQuestionGroup ? secondQuestionGroup.controls : {}\n }\n /**\n * Metódo que retorna los controles de la tercera pregunta\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n get third_question_controls() {\n const thirdQuestionGroup = this.questions_form.get('third_question') as FormGroup\n return thirdQuestionGroup ? thirdQuestionGroup.controls : {}\n }\n /**\n * Metódo que retorna los controles del formulario de contraseña\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n get pass_form_controls() {\n return this.password_form.controls;\n }\n /**\n * Validación personalizada para verificar que el campo repetir contraseña coincide con la nueva contraseña\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n matchPasswords(pass_value: string): (AbstractControl) => ValidationErrors | null {\n return (control: AbstractControl): ValidationErrors | null => {\n return !!control.parent &&\n !!control.parent.value &&\n control.value === control.parent.controls[pass_value].value\n ? null\n : { not_match: true };\n };\n }\n /**\n * Metódo envía las respuestas ingresadas y valida si se puede continuar al cambio de contraseña\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n validateAnswers(stepper) {\n if (this.questions_form.invalid) {\n this.questions_form.markAllAsTouched()\n return\n }\n this.networkUsersService.validateSecurityQuestionsAnswers(this.questions_form.value).subscribe((resp: any) => {\n if (resp.data?.confirmation) {\n this.match_answers = true\n this.cdr.detectChanges();\n stepper.next()\n }\n },\n (error) => {\n this.alertService.alertError('¡Atención!', error.error.error)\n }\n )\n }\n /**\n * Metódo que envía la nueva contraseña y la actualiza\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n changePassword() {\n if (this.password_form.invalid) {\n this.password_form.markAllAsTouched()\n return\n }\n this.networkUsersService.updateNetworkUserPassword(this.password_form.value).subscribe((resp: any) => {\n this.alertService.alertSuccess('', resp.data?.message)\n this.dialogRef.close();\n },\n (error) => {\n this.alertService.alertError('¡Atención!', error.error.error)\n }\n )\n }\n /**\n * Metódo valida la cadena de texto con los regex establecidos.\n * @param password Cadena de texto a validar.\n * @author Fabian Duran\n * @createdate 16-08-2024\n */\n validatePassword(password: string): PasswordValidate {\n return {\n uppercase: /[A-Z]/.test(password),\n lowercase: /[a-z]/.test(password),\n digits: /\\d/.test(password),\n specialCharacters: /[@$!%*?&]/.test(password)\n };\n }\n /**\n * Metódo que retorna la configuracion de la semaforizacion generada por el metodo validatePassword.\n * @author Fabian Duran\n * @createdate 16-08-2024\n */\n get checkPassword(): StatePassword {\n const validatePassword = this.validatePassword(this.password_form.get('new_password').value);\n const passedValidations = Object.values(validatePassword).filter(item => item).length;\n switch (passedValidations) {\n case 4: \n return { text: 'Strong', color: '#4CAF50' };\n case 3: \n return { text: 'Medium', color: '#FFC107' };\n case 2: \n return { text: 'Weak', color: '#FF4C4C' };\n default: \n return { text: 'Very Weak', color: '#FF4C4C' };\n }\n }\n}","
\n
\n

{{ data.title }}

\n
\n
\n \n
\n
\n\n \n \n
\n Responde las preguntas de seguridad\n
\n
\n \n {{ questions_labels.first }}\n \n Ingresa una respuesta\n \n
\n
\n
\n
\n \n {{ questions_labels.second }}\n \n Ingresa una respuesta\n \n
\n
\n
\n
\n \n {{ questions_labels.third }}\n \n Ingresa una respuesta\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n Ingresa la nueva contraseña\n \n
\n
\n
\n

Configuración de la contraseña

\n
    \n
  • La contraseña debe contener al menos una letra mayúscula.
  • \n
  • La contraseña debe contener al menos una letra minúscula.
  • \n
  • La contraseña debe contener al menos un dígito.
  • \n
  • La contraseña debe contener al menos un caracter especial.
  • \n
\n
\n Estado de la contraseña: {{\n checkPassword.text }}\n
\n
\n \n Nueva contraseña\n \n \n Ingresa la nueva\n contraseña\n La contraseña debe contener minimo\n una mayúscula, una minúscula, un número y un caracter especial\n La contraseña debe tener una\n longitud mínima de 12 caracteres\n La contraseña debe tener una\n longitud máxima 20 caracteres\n \n
\n
\n
\n
\n \n Confirma la contraseña\n \n \n Ingresa la\n contraseña\n El valor no coincide con la\n contraseña ingresada\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { PermitListBossComponent } from './components/permit-list-boss/permit-list-boss.component';\n\nconst routes: Routes = [\n { path: '', component: PermitListBossComponent },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class PermitBossRoutingModule { }\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { TrainingGroupsService } from '../../../services/training-groups.service';\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { commentsGroup, retreatGroup } from '../training-candidate/commentsTypes';\nimport * as moment from 'moment';\nimport * as tz from 'moment-timezone';\n\n@Component({\n selector: 'app-candidate-actions',\n templateUrl: './candidate-actions.component.html',\n styleUrls: ['./candidate-actions.component.sass']\n})\nexport class CandidateActionsComponent implements OnInit {\n\n firstFormGroup: FormGroup;\n secondFormGroup: FormGroup;\n types_retreat=retreatGroup\n candidates:any = [];\n validGroups:any = [];\n\n candidatesSelected:any = [];\n\n allCandidateSelected = false;\n\n actionsAvailable = [\n {\n key:'schedule',\n name:'Agendamiento de Firma',\n description: 'Agendamiento de firma de contrato'\n },\n {\n key:'comment',\n name:'Comentario, Asistencia, Etc...',\n description: 'Comentario, Asistencia, Etc...'\n },\n {\n key:'reassignment',\n name:'Reasignación de grupo',\n description: 'Asignar candidatos a otro grupo'\n }\n ]\n types_comments= commentsGroup\n scheduleDate;\n initialOperation = new FormControl();\n operationDate:any;\n\n formComment:FormGroup;\n action = new FormControl(null,Validators.required)\n actionAux:string\n description: string\n nameAux: string\n\n formReassignment = new FormControl(null)\n\n stepAction = false;\n stepCandidates = false;\n\n constructor(private _fb: FormBuilder,\n private trainingGroup:TrainingGroupsService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alertNotification:AlertsService,\n public dialog: MatDialogRef,\n ) {\n\n }\n\n ngOnInit(): void {\n this.createCommentForm()\n this.getCandidateByGroup();\n this.initialOperation.valueChanges.subscribe(res => {\n if(res){\n this.operationDate = moment(res).tz('America/Bogota').format('YYYY-MM-DD')\n }\n });\n }\n\n getCandidateByGroup(){\n this.trainingGroup.candidatesByGroup(this.data.group.id).subscribe( (resp:any) => {\n this.candidates = resp;\n })\n }\n\n createCommentForm(){\n this.formComment = this._fb.group({\n 'typeComment':[null],\n 'comment':[null,Validators.required],\n 'createdAt':[new Date().toISOString()]\n })\n }\n \n saveComment(){\n if(this.formComment.valid){\n let params = {\n 'comment':this.formComment.value,\n }\n }\n }\n\n cancelForm(form,arg){\n this[form].reset();\n this[arg] = !this[arg]\n }\n checkSelect(event){\n this.actionAux = event.key\n this.description = event.description\n this.nameAux = event.name\n if(event.key == 'reassignment'){\n this.trainingGroup.getValidGroups(`formationgroups/excluded/${this.data.group.id}`).subscribe(\n res=>{\n this.validGroups = res\n })\n }\n \n }\n\n finishActions(){\n this.alertNotification.alertConfirm('Confirmar acción por lote a candidatos del grupo de formación').then(e => {\n if(e.isConfirmed){\n switch (this.action.value.key) {\n case 'schedule':\n let params1 = {\n 'date':this.scheduleDate,\n 'initialOperation':this.operationDate || '',\n 'groupId':this.data.group.id,\n 'stateKey':'contratacion',\n 'candidateIds':this.candidatesSelected.map( e => e.id ).toString()\n }\n this.trainingGroup.scheduleDateToCandidates(params1).subscribe( (resp:any) => {\n this.alertNotification.alertSuccess('¡Hecho!',resp);\n this.dialog.close(true);\n })\n break;\n case 'comment':\n let params2 = {\n 'comments':JSON.stringify(this.formComment.value),\n 'groupId':this.data.group.id,\n 'candidateIds':this.candidatesSelected.map( e => e.id ).toString()\n }\n this.trainingGroup.commentsMultiples(params2).subscribe( (resp:any) => {\n this.alertNotification.alertSuccess('¡Hecho!',resp);\n this.dialog.close(true);\n } )\n break;\n case 'reassignment':\n let params3 = {\n candidateIds:this.candidatesSelected.map( e => e.id ),\n groupIdOld:this.data.group.id,\n groupIdLast:this.formReassignment.value,\n }\n this.trainingGroup.postReassignment(`formation/reassign/candidates`, params3).subscribe( (resp:any) => {\n this.alertNotification.alertSuccess('¡Hecho!',resp);\n this.dialog.close(true);\n } )\n break;\n }\n }\n })\n\n\n }\n\n actionsControl(){\n this.stepAction = true;\n }\n\n saveCandidates(entries:any){\n this.candidatesSelected = entries._value;\n\n }\n\n\n\n}\n","\n

Acciones por lotes

\n
\n\n\n \n \n
\n \n {{row.name}} \n \n
\n
\n \n
\n
\n \n \n
\n

Agendar cita

\n
\n
\n \n Seleccione la fecha y hora a asignar\n \n \n
\n
\n \n Fecha Inicial Operación\n \n \n \n \n
\n
\n
\n \n \n
\n
\n\n
\n

{{this.name}}

\n
\n \n \n Tipo de Comentario\n \n \n {{type.name}}\n \n \n \n Tipo de retiro\n \n \n \n \n {{type.viewValue}}\n \n \n \n \n \n \n \n Comentario\n \n \n \n
\n \n \n
\n \n
\n
\n
\n

Grupos disponibles

\n
\n \n \n {{groups.name}}\n \n \n
\n
\n
\n \n \n
\n
\n
\n 0\">\n
\n

Seleccione a los candidatos

\n
\n \n Seleccionar todos\n \n \n
\n \n \n \n \n {{candidate.name}}\n \n \n
\n
\n \n \n
\n
\n \n

Resumen de Acción

\n \n
\n Action

{{description}}

\n
\n Tipo

{{ formComment.value.typeComment }}

\n Comentario

{{ formComment.value.comment }}

\n
\n
\n Fecha Seleccionada

{{ scheduleDate | date:'dd/MM/yyyy H:mm' }}

\n
\n Candidatos Seleccionados\n
\n

{{ i+1 }}. {{row.name}}

\n
\n \n
\n \n \n
\n
\n
\n\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { GroupsRoutingModule } from './groups-routing.module';\nimport { GroupsListComponent } from './pages/groups-list/groups-list.component';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { AdminGroupsComponent } from './pages/admin-groups/admin-groups.component'; \n\n\n@NgModule({\n declarations: [GroupsListComponent, AdminGroupsComponent],\n imports: [\n CommonModule,\n GroupsRoutingModule,\n MaterialModule\n ]\n})\nexport class GroupsModule { }\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { NoveltiesService } from '../../../../services/novelties.service';\n\n// MomentJS\nimport * as moment from 'moment';\n\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { FormControl } from '@angular/forms';\nimport { FileValidator } from 'ngx-material-file-input';\n\n@Component({\n selector: 'app-novelties-response',\n templateUrl: './novelties-response.component.html',\n styleUrls: [ './novelties-response.component.sass' ]\n})\nexport class NoveltiesResponseComponent implements OnInit {\n\n public novelty;\n public justify: string;\n public sending: boolean;\n\n public showJustifyForm: boolean;\n public showJustifyInfo: boolean;\n public showInput: boolean;\n\n public realTime: string;\n public scheduleTime: string;\n public endTime: string;\n public noveltyTypeKey;\n public compensatorioKey = '0';\n public noveltyDetailHeight: number;\n public fileControl = new FormControl();\n readonly maxSize = 10000000;\n maxFiles: boolean = true;\n formData = new FormData();\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private noveltiesService: NoveltiesService,\n private alert: AlertsService) {\n this.showJustifyForm = false;\n this.showJustifyInfo = false;\n this.showInput = false;\n this.sending = false;\n this.noveltyDetailHeight = 0;\n }\n\n ngOnInit(): void {\n this.noveltyTypeKey = this.data.extraData.novelty_type.key ?? null;\n this.getPayrollNovelty();\n this.fileControl.setValidators([ FileValidator.maxContentSize(this.maxSize) ]);\n this.fileControl.updateValueAndValidity();\n this.fileControl.setValue('');\n\n this.fileControl.valueChanges.subscribe(resp => {\n if (resp?._files?.length < 3) {\n this.sending = false;\n this.maxFiles = true;\n } else {\n this.sending = true;\n this.maxFiles = false;\n }\n\n if (resp == null) {\n this.sending = false;\n this.maxFiles = true;\n }\n });\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Consulta la novedad seleccionada previamente en el calendario\n */\n getPayrollNovelty(): void {\n this.noveltiesService.getEventInfoByPayrollNoveltyId(this.data.extraData.novelty_user_id, this.data.extraData.id)\n .subscribe(resp => {\n this.novelty = resp.data;\n this.novelty.novelty_type.key = (this.novelty.novelty_type.key < 10) ? `0${ this.novelty.novelty_type.key }` : this.novelty.novelty_type.key;\n this.novelty.novelty_date_start = moment(resp.data.novelty_date_start).locale('es').format('D [de] MMMM, YYYY');\n this.realTime = moment(resp.data.real_start_time).locale('es').format('hh:mm a').toString();\n this.scheduleTime = moment(`${ resp.data.schedule_info.schedule_date } ${ resp.data.schedule_info.scheduled_start_time }`).locale('es').format('hh:mm a').toString();\n this.endTime = moment(`${ resp.data.schedule_info.schedule_date } ${ resp.data.schedule_info.scheduled_end_time }`).locale('es').format('hh:mm a').toString();\n if (this.novelty.validForMoreResponses) {\n this.showJustifyForm = true;\n }\n this.showJustifyInfo = true;\n this.changeDetailHeight(this.novelty);\n });\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Justifica la novedad seleccionada previamente en el calendario\n */\n saveJustifyForEmployee(): void {\n this.sending = true;\n let Array = [];\n this.formData = new FormData();\n this.formData.append('justify', this.justify);\n if (this.fileControl.value._files !== undefined && this.fileControl.value._files.length > 0 && this.fileControl.value._files.length < 3) {\n Array = this.fileControl.value?._files;\n Array.map(item => {\n this.formData.append('Files[]', item);\n });\n }\n this.noveltiesService.saveJustifyForEmployee(this.data.extraData.id, this.formData)\n .subscribe(resp => {\n this.alert.alertSuccess('Justificación realizada', 'En espera de aprobación y/o rechazo');\n this.clear();\n }, error => this.sending = false);\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose limpiar propiedades\n */\n clear(): void {\n this.showJustifyForm = false;\n this.showJustifyInfo = false;\n this.showInput = false;\n this.sending = false;\n this.ngOnInit();\n }\n\n changeDetailHeight(novelty): void {\n if (novelty.responseFirstInstance && (novelty.responseFirstInstance.justify || novelty.responseFirstInstance.response)) {\n this.noveltyDetailHeight = 240;\n }\n }\n}\n","
\n\n

\n {{ novelty?.novelty_date_start }}\n \n

\n\n \n
\n
\n
\n
\n
\n
\n
\n {{ novelty?.novelty_type?.key }} {{ novelty?.noveltyTypeToPrint?.title }}\n
\n
\n
\n

Estado

\n

{{ novelty?.novelty_state?.name }}

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

Mi Justificación

\n

{{ novelty.responseFirstInstance.justify }}

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

Respuesta Nómina

\n

{{ novelty.responseFirstInstance.response }}

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

Mi respuesta

\n

{{ novelty.responseSecondInstance.justify }}

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

Respuesta Nómina

\n

{{ novelty.responseSecondInstance.response }}

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

Sin Justificación

\n \n Justificación\n \n \n
\n
\n \n Adjuntar soportes \n \n \n \n ¡Advertencia! Los archivos superan los 10 MB.\n \n \n

\n ¡Advertencia! Solo se permite dos archivos máximo.\n

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

Sin Justificación

\n \n
\n\n
\n \n
\n
\n
\n\n
\n\n\n
\n \"noveltyIcon\"\n
\n
\n
\n\n \n
\n
\n Inicio turno\n

{{ scheduleTime }}

\n
\n
\n Fin turno\n

{{ endTime }}

\n
\n
\n Hora reporte\n

{{ realTime }}

\n
\n
\n
\n\n
\n","import { Component, OnInit, Inject, ElementRef, ViewChild, AfterViewInit } from '@angular/core';\nimport { SignaturePad } from 'angular2-signaturepad';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-document-signature-dialog',\n templateUrl: './document-signature-dialog.component.html',\n styleUrls: ['./document-signature-dialog.component.sass']\n})\nexport class DocumentSignatureDialogComponent implements OnInit, AfterViewInit {\n @ViewChild(SignaturePad) public signatureElement: SignaturePad;\n @ViewChild('sigContainer', { static: true }) signatureContainer: ElementRef;\n // URL de prueba para el PDF 'https://vadimdez.github.io/ng2-pdf-viewer/assets/pdf-test.pdf'\n pdf: string | ArrayBuffer | null = null;\n config = { minWidth: 2, canvasWidth: 0, canvasHeight: 0 };\n\n constructor(\n private authService: AuthService,\n private alertService: AlertsService,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n ngOnInit(): void {\n this.getDocumentToVerifyDescount();\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.resizeSignaturePad();\n window.addEventListener('resize', this.resizeSignaturePad.bind(this));\n });\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-07-29\n * Metodo que setea las dimensiones del canvas.\n */\n resizeSignaturePad(): void {\n if (this.signatureElement && this.signatureContainer) {\n const canvas = this.getCanvasElement();\n if (canvas) {\n canvas.width = this.signatureContainer.nativeElement.clientWidth;\n canvas.height = this.signatureContainer.nativeElement.clientHeight;\n this.signatureElement.clear();\n }\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-07-29\n * Metodo que retorna el canvas del contenedor.\n */\n getCanvasElement(): HTMLCanvasElement | null {\n const canvas = this.signatureContainer.nativeElement.querySelector('canvas');\n if (!canvas) {\n setTimeout(() => this.resizeSignaturePad(), 50);\n return null;\n }\n return canvas;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-07-29\n * Metodo que genera el documento a firmar.\n */\n getDocumentToVerifyDescount(): void {\n this.authService.getDocumentToVerifyDescount(this.data.document).subscribe(res => {\n const fileReader = new FileReader();\n fileReader.onload = () => this.pdf = fileReader.result;\n fileReader.readAsArrayBuffer(res);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-07-29\n * Metodo que genera el blob de la firma.\n * @param dataURL Base 64 de la firma.\n */\n generateFile(dataURL: string): Blob {\n const byteString = atob(dataURL.split(',')[1]);\n const mimeString = dataURL.split(',')[0].split(':')[1].split(';')[0];\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const uint8Array = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteString.length; i++) {\n uint8Array[i] = byteString.charCodeAt(i);\n }\n return new Blob([arrayBuffer], { type: mimeString });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-07-29\n * Metodo que guarda la firma del documento.\n */\n saveSignatureDocument(): void {\n if (this.pdf && !this.signatureElement.isEmpty()) {\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(confirm => {\n if (confirm.isConfirmed) {\n const dataSignature = this.signatureElement.toDataURL();\n const file = this.generateFile(dataSignature);\n const formData = new FormData();\n formData.append('documento', this.data.document);\n formData.append('firma', file, 'firma.png');\n this.authService.saveSignatureDocument(formData).subscribe(res => {\n this.alertService.alertSuccess('¡Excelente!', res.msg);\n this.dialogRef.close();\n });\n }\n });\n } else this.alertService.alertError('Error', 'PDF o firma no cargada');\n }\n}","
\n
\n \n
\n
\n
Firma de documento
\n\n
\n\n\n\n
\n PDF no cargado\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { DestroyComponentService } from '../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { SaveGroupsComponent } from '../save-groups/save-groups.component';\nimport { GroupsService } from '../../../services/rest/groups.service';\nimport { DatePipe, Location } from '@angular/common';\nimport { saveAs as importedSaveAs } from 'file-saver';\n\n@Component({\n selector: 'app-admin-groups',\n templateUrl: './admin-groups.component.html',\n styleUrls: ['./admin-groups.component.sass']\n})\nexport class AdminGroupsComponent implements OnInit {\n\n // MatPaginator Inputs\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n newgroupComponent: boolean = false;\n\n displayedColumns: string[] = ['acciones', 'name', 'description','state', 'created_at', 'nameUser','noUsers'];\n dataSource = new MatTableDataSource();\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n\n constructor(public groupsService: GroupsService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n public dialog: MatDialog,\n private location: Location,\n public datepipe: DatePipe) { }\n\n ngOnInit(): void {\n this.getGroups(this.pageSize, this.page);\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-05\n * Metodo que trae los grupos paginados\n * @param size cantidad de groupes a traer en la tabla\n * @param page pagina que va a mostrar la tabla\n */\n getGroups(size: number, page: number): void {\n\n if (this.dataSource.filter === ''){\n this.dataSource.filter = null;\n }\n this.groupsService.getGroups(size, page).subscribe((Response) => {\n this.dataSource.data = Response.data.data;\n this.dataSource.sort = this.sort;\n this.length = Response.data.total;\n this.pageSize = Response.data.per_page;\n\n });\n\n }\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que realiza el filtro\n * @param event datos para filtrar que son enviados desde el input\n */\n applyFilter(event: Event): void {\n\n const filterValue = (event.target as HTMLInputElement).value;\n\n this.groupsService.searchGroup(this.pageSize, filterValue).subscribe((Response) => {\n this.dataSource.data = Response.data.data;\n this.dataSource.sort = this.sort;\n this.length = Response.data.total;\n this.pageSize = Response.data.per_page;\n });\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que se encarga del movimiento del paginador\n * @param event cuando se da click en el paginador trae este evento\n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getGroups(this.pageSize, this.page);\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que abre el modal de crear un nuevo group, al cerral el modal se refresca la tabla\n */\n newgroup(): void{\n const dialogNewgroup = this.dialog.open(SaveGroupsComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear grupo',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que abre el modal de editar usuario, envia un usuario, al cerrar el modal se refresca la tabla\n * @param group group a editar\n */\n editgroup(group: any): void{\n const dialogNewgroup = this.dialog.open(SaveGroupsComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar grupo',\n group\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que elimina un group\n * @param group group a eliminar\n */\n deletegroup(group: any): void{\n this.alertsService.alertConfirm('¿Está seguro de eliminar este grupo?').then(result => {\n if(result.isConfirmed){\n this.groupsService.deleteGroup(group.id).subscribe((resp) => {\n this.alertsService.alertSuccess('Eliminado', resp.data);\n this.ngOnInit();\n });\n }\n });\n }\n /**\n * @author Jair Celis\n * @createdate 2021-04-27\n * Metodo que cambia el estado de un grupo\n * @param group group a eliminar\n */\n changeState(group){\n this.alertsService.alertConfirm('¿Está seguro de cambiar el estado del grupo?').then(result => {\n if(result.isConfirmed){\n this.groupsService.deleteGroup(group.id).subscribe((resp) => {\n this.alertsService.alertSuccess('Estado Actualizado', resp.data);\n this.ngOnInit();\n });\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n backRoute(){\n this.location.back();\n }\n\n /**\n * @author Nicoll Ramirez\n * Método para descargar el reporte general de los grupos\n */\n downloadReport() {\n this.groupsService.downloadReport().subscribe((resp) => {\n const dateToFile = this.datepipe.transform(new Date, 'short');\n importedSaveAs(resp, `Grupos_${ dateToFile }.xlsx`);\n });\n }\n\n /**\n * @author Nicoll Ramirez\n * Método para descargar el reporte de un grupo en específico\n */\n downloadGroup(row) {\n this.groupsService.downloadGroup(row.id).subscribe((resp) => {\n const dateToFile = this.datepipe.transform(new Date, 'short');\n importedSaveAs(resp, `${ row.name }_${ dateToFile }.xlsx`);\n });\n }\n\n}\n","
\n\n
\n \n
\n
\n

Administración de Grupos

\n

Bienvenido al módulo administración de grupos, recuerda que puedes
filtrar por cualquier criterio que encuentres en la tabla.

\n
\n\n
\n\n \n Filtro de búsqueda\n \n \n \n\n
\n\n
\n \n
\n
\n \n
\n\n
\n\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
Acciones\n \n \n \n Grupo {{row.name}} Descripción {{row.description}} Estado \n Inactivo\n Activo\n Fecha de creación {{row.created_at | date}} Creado por {{row.nameUser}} No. Usuarios {{row.noUsers}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n\n \n \n\n\n
\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormControl, Validators, FormGroup } from '@angular/forms';\nimport { EscalationService } from '../../../services/rest/escalation.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\n\n@Component({\n selector: 'app-edit-user',\n templateUrl: './edit-user.component.html',\n styleUrls: ['./edit-user.component.sass']\n})\nexport class EditUserComponent implements OnInit {\n\n userArea: FormGroup;\n areas: any;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public escalationService: EscalationService,\n private alertsService: AlertsService,\n private destroyService: DestroyComponentService) { }\n\n ngOnInit(): void {\n\n this.escalationService.getArea().subscribe((resp) => {\n this.areas = resp;\n });\n\n this.formControl();\n this.setEdit();\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que crea los controles del formulario\n */\n formControl(): void{\n\n this.userArea = new FormGroup({\n area: new FormControl('', [Validators.required]),\n });\n\n }\n\n get error(): any { return this.userArea.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que en caso que el modal sea de edicion realiza el seteo de los campos\n */\n setEdit(): void {\n if (this.data.type === 'editar') {\n\n this.userArea.controls.area.setValue(this.data.data.user_areas[0].id);\n\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de guardar un area\n * @param userArea area a guardar\n */\n saveArea(userArea): void {\n\n const area = new FormData();\n\n area.append( 'area_id', userArea.value.area);\n\n this.escalationService.editUsuario(this.data.data.id, area).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', 'Area editada correctamente');\n });\n\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","

{{data.title}}\n \n

\n\n\n
\n\n\n\n \n Área\n \n {{area.name}}\n \n ¡Advertencia! Este campo es requerido\n \n\n\n\n\n \n \n\n\n
\n","import { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment'\n\nconst NOMINA_URL = environment.NOMINA_URL;\nconst RRHH_URL = environment.RRHH_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImportDesprendibleService {\n\n constructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Obtiene las novedades de incapacidad\n * @param filters\n * @param perPage\n * @param Page\n * @author David Reinoso\n */\n getPaymentSlipData(filters?: any, perPage: any = 5, Page?: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('liquidations', filters.liquidations || '')\n .set('month', filters.month || '')\n .set('year', filters.year || '')\n .set('document', filters.document || '')\n .set('typeDoc', filters.typeDoc || '')\n .set('perPage', perPage)\n .set('page', Page || 1)\n };\n return this.http.get(`${NOMINA_URL}paymentSlip`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author David Reinoso\n * @purpose Servicio para descargar la plantilla de desprendibles \n */\n downloadTemplate(liquidations?: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('liquidations', liquidations || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${NOMINA_URL}paymentSlip/downloadTemplate`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author David Reinoso\n * @purpose Servicio para enviar archivo de desprendibles\n */\n uploadFile(data) {\n return this.http.post(`${NOMINA_URL}paymentSlip/importData`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\n\n@Component({\n selector: 'app-novelties-codes',\n templateUrl: './novelties-codes.component.html',\n styleUrls: ['./novelties-codes.component.sass']\n})\nexport class NoveltiesCodesComponent implements OnInit {\n public noveltyTypes: any[] = [];\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialog: MatDialog,\n private noveltiesService: NoveltiesService,\n ) { }\n\n ngOnInit() {\n this.getNoveltyTypes();\n }\n\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-07-28\n * @purpose Obtiene los tipos de novedad con sus subtipos\n */\n getNoveltyTypes(): void {\n this.noveltyTypes = [];\n this.noveltiesService.getNoveltyTypes()\n .subscribe(resp => {\n console.log(resp);\n for (let nType in resp.data) {\n if (resp.data.hasOwnProperty(nType)) {\n let type = resp.data[nType];\n type.key = (type.key < 10) ? `0${ type.key }` : type.key;\n this.noveltyTypes.push(type);\n }\n }\n });\n }\n}\n","
\n \n
\n
\n\n

{{data.title}}

\n\n \n
\n\n
\n
\n
\n {{ convention.key }}  \n
\n
\n {{ convention.name }}\n
\n
\n
\n
\n
\n\n
","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst AUDITORIA_URL = environment.AUDITORIA_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportsService {\n\n constructor(\n private http:HttpClient,\n ) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n getReportGeneral(params){\n return this.http.get(`${AUDITORIA_URL}descargaReporteGeneral`,{params,responseType:'blob'})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getReportGeneralEncuesta(params){\n return this.http.get(`${AUDITORIA_URL}descargaReporteGeneralEncuesta`,{params,responseType:'blob'})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { Component, ElementRef, Inject, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatExpansionPanel } from '@angular/material/expansion';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport * as html2pdf from 'html2pdf.js';\nimport { StrategyServersService } from '../../../services/strategy.service';\nimport { ChatService } from '../../../services/chat.service';\n\n@Component({\n selector: 'app-adherencia-chat-modal',\n templateUrl: './adherencia-chat-modal.component.html',\n styleUrls: ['./adherencia-chat-modal.component.sass']\n})\nexport class AdherenciaChatModalComponent implements OnInit {\n\n recordingID: any;\n adherenciaIA: any;\n adherenciaResponse: { adherencePercentage: number, notAdherencePercentage: number };\n transcripcion: any[] = [];\n keys: any[] = [];\n adherencePercentage: number;\n notAdherencePercentage: number;\n transcripcionFormat: any[] = [];\n @ViewChild('containerViewReport') containerViewReport: ElementRef;\n @ViewChildren(MatExpansionPanel) panels: QueryList;\n keysArray: any[];\n percentageSections: any;\n cumplimiento_general: any;\n labels_notfound: any;\n labels_found: any;\n tooltipContent: string;\n isAdherenceTooltip = false;\n formattedAdherenciaIA: string = '';\n chatData: any;\n interactions: any[];\n date_strategy: any;\n applied_strategy: any;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private strategyService: StrategyServersService,\n private sanitazer:DomSanitizer,\n private chatService: ChatService,\n ) {}\n \n ngOnInit(): void {\n this.recordingID = [this.data.id];\n this.applyStrategySelected(this.recordingID);\n }\n\n /**\n * Método consuta servicio de la estrategia aplicada\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n */\n\n applyStrategySelected(strategy_ids: string[]): void {\n this.chatService.getChatById(this.data.id).subscribe(\n (response) => {\n this.chatData = response.data[0];\n\n this.strategyService.applyAdherenciaChats(strategy_ids).subscribe(\n (adherenciaResponses) => {\n adherenciaResponses.forEach((response) => {\n const transcripcion = [];\n let diarization = JSON.parse(response.analysis_feelings);\n diarization = this.mergeInteractions(this.chatData.chat_details, JSON.parse(diarization.interaccion));\n \n diarization.forEach((item: any) => {\n transcripcion.push({\n text: this.sanitazer.bypassSecurityTrustHtml(item.text),\n agent: item.agent,\n entry_date_time: item.entry_date_time\n });\n });\n \n this.transcripcion = transcripcion;\n this.transcripcionFormat = Array.isArray(this.transcripcion) ? this.transcripcion : [this.transcripcion];\n this.adherenciaIA = response.strategy_result;\n this.cumplimiento_general = response.cumplimiento_general;\n this.labels_found = response.labels_found;\n this.labels_notfound = response.labels_notfound;\n this.date_strategy = response.date_strategy;\n this.applied_strategy = response.applied_strategy;\n\n this.formatAdherenciaIA(this.adherenciaIA);\n\n this.adherenciaResponse = {\n adherencePercentage: response.adherence_percentage,\n notAdherencePercentage: response.not_adherence_percentage\n };\n\n this.percentageSections = response.percentage_sections.map((section: any) => ({\n section: section.section,\n percentage_section: section.percentage_section,\n adherence_percentage: section.adherence_percentage,\n not_adherence_percentage: section.not_adherence_percentage,\n cumplimiento: section.cumplimiento,\n strategy_result_section: section.strategy_result_section\n }));\n });\n\n },\n (error: any) => {\n console.error(\"Error al calcular la adherencia:\", error.message);\n }\n );\n \n },\n (error) => {\n console.error('Error al consultar los resultados de análisis', error);\n }\n );\n }\n\n /**\n * Combina los detalles del chat con los sentimientos analizados basados en el ID.\n * @updated Yeison Sepulveda\n * @createdate 2024-07-16\n * @param {any[]} chatDetails - Detalles del chat a ser combinados.\n * @param {any[]} analysisFeelings - Sentimientos analizados a ser combinados.\n * @returns {any[]} Un arreglo de interacciones combinadas.\n */\n mergeInteractions(chatDetails: any[], analysisFeelings: any[]): any[] {\n return chatDetails.reduce((mergedInteractions, detail) => {\n const matchingAnalysis = analysisFeelings.find(analysis => analysis.id === detail.id);\n \n if (matchingAnalysis) {\n //vrificar si el texto en analysisFeelings está vacío\n const isTextEmptyInAnalysis = !matchingAnalysis.text || matchingAnalysis.text.trim().length === 0; \n mergedInteractions.push({\n ...detail,\n ...matchingAnalysis,\n });\n }\n return mergedInteractions;\n }, []);\n }\n\n /**\n * Formatea el texto del análisis de la IA para aplicar negrillas al primer subtítulo\n * @author Yeison Sepulveda\n * @createdate 28/08/2024\n */\n formatAdherenciaIA(text: string | null): void {\n if (text) {\n this.formattedAdherenciaIA = text\n .replace(/^.*?(\\n|$)/, '$&');\n }\n }\n\n /**\n * Metodo descarga e imprime pantallazo del modal\n * @update Yeison Sepulveda\n * @updatedate 29-05-2024\n */\n async onClickPrintPdf() {\n // Abre todos los paneles de expansión\n this.panels.forEach(panel => panel.open());\n\n setTimeout(() => {\n const content = this.containerViewReport.nativeElement;\n \n const margin = 13; // milímetros\n const filename = this.generateFilename();\n \n const options = {\n margin: margin, \n filename: filename,\n image: { type: 'jpeg', quality: 0.98 },\n html2canvas: {\n scale: 2\n },\n jsPDF: {\n unit: 'mm',\n format: 'a4',\n orientation: 'portrait'\n },\n pagebreak: {\n mode: ['avoid-all', 'css', 'legacy']\n }\n };\n \n html2pdf().from(content).set(options).toContainer().toCanvas().toImg().toPdf().save();\n }, 500); // Ajusta el tiempo según sea necesario\n }\n\n /**\n * Metodo generar el nombre del documento a descargar\n * @author Yeison Sepulveda\n * @createdate 2024-0-03\n * @return nombre del archivo\n */\n \n generateFilename(): string {\n const currentDate = new Date().toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n }).replace(/\\//g, '');\n \n const currentTime = new Date().toLocaleTimeString('es-ES', {\n hour: '2-digit',\n minute: '2-digit',\n hour12: false\n }).replace(/:/g, '');\n \n const dateTimeString = `${currentDate}${currentTime}`;\n return `reporte_adherencia_${this.recordingID}_${dateTimeString}.pdf`;\n }\n}\n","\n \n
\n

Resultados de adherencia

\n \n
\n

\n Estrategia anteriormente aplicada: \n {{ applied_strategy }} \n   |   \n Fecha estrategia aplicada: \n {{ date_strategy }}\n

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

{{ adherenciaResponse?.adherencePercentage || 'N/A' }}

\n

Adherencia General

\n
\n \n \n

{{ adherenciaResponse?.notAdherencePercentage || 'N/A' }}

\n

No Adherencia General

\n
\n
\n
\n\n\n \n \n \n Transcripción\n \n
\n
\n

\n \n \n {{ item.agent === null && chatData.phone === null ? 'Mensaje' : (item.agent === null ? 'Cliente (' + chatData.phone + ') ' : 'Agente (' + item.agent + ') ') }}\n \n \n ({{ item.entry_date_time ? item.entry_date_time : ':' }}):\n \n \n

\n
\n
\n
\n\n \n \n \n Análisis de adherencia general\n \n
\n
\n
\n \n
\n
\n Nivel de cumplimiento de adherencia: \n {{ cumplimiento_general || 'Análisis en proceso...' }}\n
\n
\n
\n
\n\n \n \n \n \n Análisis sección {{ section.section }}\n \n
\n
\n
\n Adherencia: \n {{ section.adherence_percentage || 'No disponible' }}\n
\n
\n No Adherencia: \n {{ section.not_adherence_percentage || 'No disponible' }}\n
\n
\n Cumple: \n {{ section.strategy_result_section?.cumple || 'No disponible' }}\n
\n
\n Nivel de cumplimiento de adherencia: \n {{ section?.cumplimiento || 'No disponible' }}\n
\n
\n
\n Análisis IA: \n {{ section.strategy_result_section?.analisis || 'Análisis en proceso...' }}\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport * as moment from 'moment';\nimport { Subscription } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { MatrizService } from 'src/app/modules/auditoria/services/matriz.service';\nimport { ReportsService } from 'src/app/modules/auditoria/services/reports.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\nimport Swal from 'sweetalert2';\nimport { AnalistasAuditoriaComponent } from '../analistas-auditoria/analistas-auditoria.component';\nimport { CrearMatrizComponent } from '../crear-matriz/crear-matriz.component';\nimport { EditarMatrizComponent } from '../editar-matriz/editar-matriz.component';\n\n@Component({\n\tselector: 'app-main-matrices',\n\ttemplateUrl: './main-matrices.component.html',\n\tstyleUrls: ['./main-matrices.component.sass']\n})\nexport class MainMatricesComponent implements OnInit, OnDestroy {\n\t//Filtros\n\tfiltroMatriz: string = '';\n\tfiltroFecha = new FormGroup({\n\t\tfechaInicial: new FormControl(),\n\t\tfechaFinal: new FormControl(),\n\t});\n\tfiltroTipo_matriz: string = '';\n\tfiltroCampaign: string = '';\n\tidMatriz;\n\n\tauditar: boolean = false;\n\tcontrol: boolean = false;\n\tjefe: boolean = false;\n\treports: boolean = false;\n\n\t//Control de paginación de la tabla\n\tlength;\n\tpageSize = 10;\n\tpage = 1;\n\tpageSizeOptions: number[] = [10, 25, 100];\n\t@ViewChild(MatPaginator) paginator: MatPaginator;\n\tendText: number;\n\n\tdataSource: [] = [];\n\ttiposMatrices = [];\n\tcampaigns = [];\n\n\t//Observable para los cambios de la tabla\n\tsubscription: Subscription;\n\tconstructor(\n\t\tprivate dialog: MatDialog,\n\t\tprivate router: Router,\n\t\tprivate matrizService: MatrizService,\n\t\tprivate authService: AuthService,\n\t\tprivate reportService: ReportsService,\n\t) { }\n\n\tngOnInit(): void {\n\t\tthis.getTypeMatrix();\n\t\tthis.getAllMatrix(this.page, this.pageSize);\n\t\tthis.subscription = this.matrizService.refresh$.subscribe(() => {\n\t\t\tthis.getAllMatrix(this.page, this.pageSize);\n\t\t});\n\t\tthis.validateRoute();\n\t\tthis.filtrar();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscription.unsubscribe();\n\t}\n\n\tnewMatrix() {\n\t\tconst matrizRef = this.dialog.open(CrearMatrizComponent, {\n\t\t\twidth: '840px',\n\t\t\tdisableClose: true,\n\t\t\tdata: {},\n\t\t});\n\t}\n\n\tedit(id) {\n\t\tconst editRef = this.dialog.open(EditarMatrizComponent, {\n\t\t\twidth: '840px',\n\t\t\tdisableClose: true,\n\t\t\tdata: { id_matriz: id },\n\t\t});\n\t}\n\n\tasignarSuper(idMatriz, type) {\n\t\tconst superRef = this.dialog.open(AnalistasAuditoriaComponent, {\n\t\t\twidth: '732px',\n\t\t\tdisableClose: true,\n\t\t\tdata: {\n\t\t\t\tidMatriz,\n\t\t\t\ttype\n\t\t\t},\n\t\t})\n\t}\n\n\tdetailMatrix(id) {\n\t\tthis.router.navigateByUrl(`/mios/auditoria/matriz/detail/${id}`);\n\t}\n\n\tgetTypeMatrix() {\n\t\tthis.matrizService.getTypeMatrix().subscribe((resp: any) => {\n\t\t\tthis.tiposMatrices = resp;\n\t\t})\n\t\tthis.authService.getUser().roles.forEach(rol => {\n\t\t\tif (rol == 'calidad::jefe') {\n\t\t\t\tthis.jefe = true;\n\t\t\t}\n\t\t});\n\n\t\t\n\t\t\n\t}\n\n\tgetAllMatrix(page, sizePage) {\n\n\t\tconst params = {\n\t\t\tpage: page,\n\t\t\tnumeroReg: sizePage,\n\t\t\tmatriz: '',\n\t\t\tfechaInicial: '',\n\t\t\tfechaFinal: '',\n\t\t\ttipo_matriz: '',\n\t\t\tcampaing: '',\n\t\t}\n\n\n\t\t//Filtros\n\t\tif (this.filtroMatriz != \"\") {\n\t\t\tparams.matriz = this.filtroMatriz\n\t\t}\n\n\t\tif (this.filtroFecha.get('fechaInicial').value != '' && this.filtroFecha.get('fechaInicial').value != null) {\n\t\t\tparams.fechaInicial = moment(this.filtroFecha.get('fechaInicial').value).format('yyyy-MM-DD');\n\t\t}\n\t\tif (this.filtroFecha.get('fechaFinal').value != '' && this.filtroFecha.get('fechaFinal').value != null) {\n\t\t\tparams.fechaFinal = moment(this.filtroFecha.get('fechaFinal').value).format('yyyy-MM-DD');\n\t\t}\n\n\t\tif (this.filtroTipo_matriz != \"\") {\n\t\t\tif (this.filtroTipo_matriz == null) {\n\t\t\t\tparams.tipo_matriz = '';\n\t\t\t} else {\n\t\t\t\tparams.tipo_matriz = this.filtroTipo_matriz\n\t\t\t}\n\t\t}\n\n\t\tif (this.filtroCampaign != '' && this.filtroCampaign != null) {\n\t\t\tparams.campaing = this.filtroCampaign;\n\t\t}\n\n\t\tthis.matrizService.getAllMatrix(params).subscribe((resp: any) => {\n\t\t\tthis.dataSource = resp.data\n\t\t\tthis.length = resp.total\n\t\t\tthis.pageSize = resp.per_page;\n\t\t});\n\t\tthis.matrizService.getCampaings().subscribe((resp: any) => {\n\t\t\tthis.campaigns = resp.data;\n\t\t});\n\t}\n\n\tdisableMatrix(id, estado) {\n\t\tSwal.fire({\n\t\t\ticon: 'warning',\n\t\t\ttitle: '¿Estas seguro de deshabilitar esta matriz?',\n\t\t\tshowCancelButton: true,\n\t\t\tcancelButtonText: 'Cancelar',\n\t\t\tconfirmButtonText: 'Aceptar',\n\t\t\treverseButtons: true,\n\t\t\twidth: '810px',\n\t\t\tpadding: '2em 7em'\n\t\t}).then(result => {\n\t\t\tif (result.isConfirmed) {\n\t\t\t\tthis.matrizService.disableMatrix(id, estado).subscribe(() => {\n\t\t\t\t\tTools.swalSuccess('¡Excelente!', 'Matriz deshabilitada correctamente.')\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t}\n\n\tenableMatrix(id, estado) {\n\t\tSwal.fire({\n\t\t\ticon: 'warning',\n\t\t\ttitle: '¿Estas seguro de habilitar esta matriz?',\n\t\t\tshowCancelButton: true,\n\t\t\tcancelButtonText: 'Cancelar',\n\t\t\tconfirmButtonText: 'Aceptar',\n\t\t\treverseButtons: true,\n\t\t\twidth: '810px',\n\t\t\tpadding: '2em 7em'\n\t\t}).then(result => {\n\t\t\tif (result.isConfirmed) {\n\t\t\t\tthis.matrizService.disableMatrix(id, estado).subscribe(() => {\n\t\t\t\t\tTools.swalSuccess('¡Excelente!', 'Matriz habilitada correctamente.')\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t}\n\n\tpageEvent(event: any) {\n\t\tthis.pageSize = event.pageSize;\n\t\tthis.page = event.pageIndex + 1;\n\t\tthis.getAllMatrix(this.page, this.pageSize);\n\t}\n\n\tfiltroFechas() {\n\t\tif (this.filtroFecha.get('fechaInicial').value != null && this.filtroFecha.get('fechaFinal').value != null) {\n\t\t\tthis.filtrar();\n\t\t}\n\t}\n\n\tgetReportGeneral(tipo_reporte?, tipo_matriz?) {\n\t\tconst params = {\n\t\t\tfechaInicial: '',\n\t\t\tfechaFinal: '',\n\t\t\ttipoMatriz: tipo_matriz,\n\t\t\ttipoReporte: '',\n\t\t\tnombre: '',\n\t\t\tidMatriz: '',\n\t\t\tcampaing: '',\n\t\t}\n\n\t\tif (this.filtroMatriz != '') {\n\t\t\tparams.nombre = this.filtroMatriz;\n\t\t}\n\n\t\tif (this.idMatriz != '' && this.idMatriz) {\n\t\t\tparams.idMatriz = this.idMatriz;\n\t\t}\n\n\t\tif (this.filtroFecha.get('fechaInicial').value != '' && this.filtroFecha.get('fechaInicial').value != null) {\n\t\t\tparams.fechaInicial = moment(this.filtroFecha.get('fechaInicial').value).format('yyyy-MM-DD');\n\t\t}\n\t\tif (this.filtroFecha.get('fechaFinal').value != '' && this.filtroFecha.get('fechaFinal').value != null) {\n\t\t\tparams.fechaFinal = moment(this.filtroFecha.get('fechaFinal').value).format('yyyy-MM-DD');\n\t\t}\n\n\t\tif (this.filtroTipo_matriz != '') {\n\t\t\tparams.tipoMatriz = this.filtroTipo_matriz;\n\t\t}\n\n\t\tif (tipo_reporte != null && tipo_reporte != '') {\n\t\t\tparams.tipoReporte = tipo_reporte;\n\t\t}\n\n\t\tif (this.filtroCampaign != '' && this.filtroCampaign != null) {\n\t\t\tparams.campaing = this.filtroCampaign;\n\t\t}\n\t\tthis.reportService.getReportGeneral(params).subscribe((resp: any) => {\n\t\t\tTools.downloadFile(resp, 'Auditoria_' + moment(new Date).format('DD_MM_yyy_hh_mm_ss'));\n\t\t\tthis.idMatriz = null;\n\t\t});\n\t}\n\n\tgetReportById(id: number, tipo) {\n\t\tthis.idMatriz = id;\n\t\tthis.getReportGeneral('', tipo);\n\t}\n\n\tfiltrar() {\n\t\tthis.paginator.firstPage();\n\t\tthis.getAllMatrix(this.page, this.pageSize);\n\t}\n\n\tvalidateRoute() {\n\t\tif (this.router.url == '/mios/auditoria/auditorias') {\n\t\t\tthis.auditar = true;\n\t\t} else {\n\t\t\tthis.auditar = false;\n\t\t}\n\t\tif (this.router.url == '/mios/auditoria/control') {\n\t\t\tthis.control = true;\n\t\t} else {\n\t\t\tthis.control = false;\n\t\t}\n\t\tif (this.router.url == '/mios/auditoria/reporteria') {\n\t\t\tthis.reports = true;\n\t\t} else {\n\t\t\tthis.reports = false;\n\t\t}\n\t\tif (window.screen.width >= 1920) {\n\t\t\tthis.endText = 30;\n\t\t} else {\n\t\t\tthis.endText = 15;\n\t\t}\n\t}\n\n\tdetailAuditar(idMatriz) {\n\t\tthis.router.navigateByUrl(`/mios/auditoria/auditoria/detail/0/${idMatriz}`);\n\t}\n\n\tdetailControl(idMatriz) {\n\t\tthis.router.navigateByUrl(`/mios/auditoria/control/detail/${idMatriz}`);\n\t}\n\n\tdescargaActualizaciones(idMatriz) {\n\t\tthis.matrizService.descargaActualizaciones(idMatriz).subscribe((resp: any) => {\n\t\t\tTools.downloadFile(resp, 'Trazabilidad_' + moment(new Date).format('DD_MM_yyyy_hh_mm'))\n\t\t});\n\t}\n\n\t/**\n\t * Metodo para eliminacion de matrices\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 01/06/22 \n\t * @param matriz:any Objeto con la informaicon de la matriz seleccionada\n\t * @return void \n\t */\n\teliminarMatriz(matriz: any): void {\n\n\t\tSwal.fire({\n\t\t\ttitle: '¿Estás seguro?',\n\t\t\ticon: 'warning',\n\t\t\thtml: '

¿En verdad deseas eliminar esta matriz ?
recuerda que esta acción será definitiva y no se podrá deshacer

',\n\t\t\tshowDenyButton: true,\n\t\t\tconfirmButtonColor: '#00acc1',\n\t\t\tconfirmButtonText: 'Aceptar',\n\t\t\tdenyButtonText: `Cancelar`,\n\t\t}).then(\n\t\t\t(result) => {\n\t\t\t\tif (result.isConfirmed) {\n\t\t\t\t\tthis.matrizService.deleteMatrix(String(matriz.matriz.id)).subscribe(\n\t\t\t\t\t\t(resp: any) => {\n\t\t\t\t\t\t\tif (resp.respuesta.codigo == 400) {\n\t\t\t\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\t\t\t\ticon: 'warning',\n\t\t\t\t\t\t\t\t\ttitle: '¡Lo sentimos!',\n\t\t\t\t\t\t\t\t\thtml: `

${resp.respuesta.text}

`,\n\t\t\t\t\t\t\t\t\tshowConfirmButton: false,\n\t\t\t\t\t\t\t\t\ttimer: 4500\n\t\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\tthis.getAllMatrix(this.page, this.pageSize);\n\t\t\t\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\t\t\t\ticon: 'success',\n\t\t\t\t\t\t\t\t\ttitle: 'Excelente',\n\t\t\t\t\t\t\t\t\thtml: `

Se ha eliminado la matriz ${matriz.matriz.nombre} con éxito

`,\n\t\t\t\t\t\t\t\t\tshowConfirmButton: false,\n\t\t\t\t\t\t\t\t\ttimer: 4500\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\n\n\t}\n\n}\n","
\n
\n
\n \n Matriz\n \n \n \n \n Fecha\n \n \n \n \n \n \n \n \n \n \n Tipo matriz\n \n Todas\n {{tipo.nombre}}\n \n \n \n Campaña\n \n Todas\n {{campaign.name}}\n \n \n
\n
\n \n
\n
\n
\n
\n

Seleccione una de las siguientes matrices para iniciar

\n \n
\n
\n \n \n
\n \n
\n
\n 33}\" aria-label=\"Button that displays a tooltip when focused or hovered over\"\n [matTooltip]=\"matriz.matriz.nombre\" [matTooltipPosition]=\"'above'\" [matTooltipClass]=\"'tooltip-content'\">{{matriz.matriz.nombre | titlecase | cutText:0:endText}}\n
{{matriz.matriz.tipo_matriz.nombre | titlecase}}
\n
{{matriz.matriz.created_at | date:'dd/MM/yyyy h:mm a'}}
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n
\n
\n \n \n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\nimport { NetworkUsersService } from 'src/app/modules/ciu/services/rest/network-users.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-update-network-user-form',\n templateUrl: './update-network-user-form.component.html',\n styleUrls: ['./update-network-user-form.component.sass']\n})\nexport class UpdateNetworkUserFormComponent implements OnInit {\n form: FormGroup\n\n constructor(private formBuilder: FormBuilder, private networkUserService:NetworkUsersService, private dialog:MatDialog, private alertService:AlertsService, @Inject(MAT_DIALOG_DATA) public dialog_data: any) { }\n\n ngOnInit(): void {\n this.initializeForm()\n }\n\n /**\n * Metódo que inicializa el formulario\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 19-09-2024\n */\n initializeForm() {\n this.form = this.formBuilder.group({\n network_user: [this.dialog_data.network_user ?? '', [Validators.required]],\n })\n }\n\n /**\n* Metódo que envía la información para actualizar el usuario de red\n* @param event\n* @author Juan Carlos Alonso\n* @createdate 15-05-2024\n*/\n saveData() {\n if (this.form.invalid) {\n this.form.markAllAsTouched();\n return\n }\n this.networkUserService.updateNetworkUser(this.dialog_data.id,this.form.value).subscribe((resp) => {\n this.dialog.getDialogById('dialogUpdateNetworkUser').close({ created: true })\n }, (error) => {\n if (error.error.error) {\n this.alertService.alertError('!Atención¡', error.error.error)\n } else {\n this.alertService.alertError('!Atención¡', 'Ha ocurrido un error intentar actualizar el usuario de red, por favor contacta a soporte')\n }\n })\n\n }\n}\n","
\n
\n

Actualizar usuario de red

\n
\n
\n \n
\n
\n\n\n\n \n\n
\n
\n
\n \n Usuario de red\n \n ¡Advertencia! Este campo es requerido\n \n
\n
\n
\n\n
\n\n\n \n \n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { AssesmentsViewComponent } from './assesments-view/assesments-view.component';\nimport { AssessmentsCreateComponent } from './assessments-create/assessments-create.component';\nimport { AssessmentsDetailComponent } from './assessments-detail/assessments-detail.component';\nimport { AssessmentScoreComponent } from './assessment-score/assessment-score.component';\n\n\n\n@NgModule({\n declarations: [AssesmentsViewComponent, AssessmentsCreateComponent, AssessmentsDetailComponent, AssessmentScoreComponent],\n imports: [\n CommonModule,\n SharedModule\n ]\n})\nexport class AssesmentsModule { }\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, HostListener, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport Swal from 'sweetalert2';\nimport { ChatService } from '../../../services/chat.service';\nimport { ChatViewModalComponent } from '../chat-view-modal/chat-view-modal.component';\nimport { AnalyticsChatModalComponent } from '../analytics-chat-modal/analytics-chat-modal.component';\nimport { StrategyServersService } from '../../../services/strategy.service';\nimport { TranscChatModalComponent } from '../transc-chat-modal/transc-chat-modal.component';\nimport { AdherenciaChatModalComponent } from '../adherencia-chat-modal/adherencia-chat-modal.component';\n\n@Component({\n selector: 'app-search-chat',\n templateUrl: './search-chat.component.html',\n styleUrls: ['./search-chat.component.sass']\n})\nexport class SearchChatComponent implements OnInit, OnDestroy {\n\n /**\n * formulario\n */\n formFilters:FormGroup;\n\n /**\n * Variables de paginacion\n */\n configPaginator : any = { length: 0, pageSize: 5, pageIndex: 1 };\n configPaginatorRecording : any ={ pageSize : 5, length:0, pageIndex:1 }\n configPaginatorStrategy : any ={ pageSize : 5, length:0, pageIndex:1 }\n pageSizeOptions : number[] = [5, 10, 20, 50, 100];\n\n upload_list: any[] = [];\n\n /**\n * Columnas tablas\n */\n displayedColumns : string[] = ['checbox', 'case_number', 'entry_date_time', 'agent_name', 'phone', 'file', 'conversation'];\n displayedColumnsRecordings : string[] = ['checbox', 'case_number', 'entry_date_time', 'agent_name', 'phone', 'file', 'conversation', 'analisis'];\n displayedColumnsStrategy : string[] = ['checbox', 'case_number', 'entry_date_time', 'agent_name', 'phone', 'file', 'conversation', 'analisis', 'adherencia'];\n\n /**\n * Cabeceras de tablas\n */\n tHeadersRecordings:any={\n checbox: \"\", case_number:\"Caso\",entry_date_time: \"Fecha\",\n agent_name: 'Nombre agente', phone: \"Telefono\", file:'Archivo',\n conversation:'Conversación', analisis:'Análisis' , adherencia:'Adherencia'\n }\n\n //datasources tablas\n dataSource = new MatTableDataSource();\n dataSourceRecordings = new MatTableDataSource();\n dataSourceStrategy = new MatTableDataSource();\n\n @ViewChild('paginator') paginator: MatPaginator;//paginador de busqyeda\n @ViewChild('Analyticpaginator') Analyticpaginator: MatPaginator;//paginador de busqyeda\n @ViewChild('StrategyPaginator') StrategyPaginator: MatPaginator;//paginador de busqyeda\n\n //Variables de control con Array original de datos para tablas que requiren Paginacion estatica\n listrecordingsAnalising:any[] = [];\n listRecordingsStrategys:any[] = []\n listStrategys:any[] = [];\n\n\n /**\n * Varibales de seleccions\n */\n selection = new SelectionModel(true, []);\n selectionRecordings = new SelectionModel(true, []);\n selectionStrategy = new SelectionModel(true, []);\n\n\n isAllComplete: boolean;\n private isActive = true;\n startegyComplete: boolean;\n\n //parar el metodo obtener estados\n private abortController: AbortController | null = null;\n\n //selectores\n selectedSearch: Map = new Map(); //selest activos busqueda\n selectedDownload: Map = new Map(); //selects activos descarga audios\n selectedStrategy: Map = new Map();\n\n @ViewChild('stepperStrategys') stepperStrategys: any;\n @ViewChild(MatSort) sort: MatSort;\n @ViewChild('sortRecordings') sortRecordings: MatSort;\n @ViewChild('sortStrategy') sortStrategy: MatSort;\n\n paginaActual: number;\n\n strategyControl:FormControl = new FormControl(null)\n\n constructor(\n private dialog:MatDialog,\n private chatService: ChatService,\n private strategyService: StrategyServersService,\n ) {}\n\n ngOnInit(): void {\n this.initFormFilters();\n this.filterUploads();\n this.dataSource.paginator = this.paginator;\n this.dataSourceRecordings.paginator = this.Analyticpaginator;\n }\n\n ngOnDestroy() {\n this.isActive = false;\n }\n\n /**\n * Método donde se establecen las validaciones del formulario y adviarte antes de refrescar\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @method unloadNotification\n * @param {Event} $event - El evento `beforeunload` del navegador.\n * @returns {void}\n */\n @HostListener('window:beforeunload', ['$event'])\n unloadNotification($event: any) {\n if (this.formFilters.dirty) {\n $event.returnValue = true;\n }\n }\n\n /**\n * Metodo que se encarga de inicializar los controles apra los filtros\n * @author Yeison sepulveda\n * @createdate 14/03/2023\n * @returns void {void}\n */\n initFormFilters():void{\n this.formFilters = new FormGroup({\n upload: new FormControl(Validators.required),\n case_number: new FormControl(null),\n agent_name: new FormControl(null),\n });\n }\n\n /**\n * Metodo solo permite numeros\n * @author Yeison Sepulveda\n * @date 2024-07-31\n */\n stripText(control: string) {\n this.formFilters.controls[control].setValue(\n this.formFilters.controls[control].value.replace(/[^0-9]/g, '')\n );\n }\n\n /**\n * Metodo trae listado de nombres de documento subidos para listar lso chats\n * @author Yeison sepulveda\n * @createdate 06/05/2023\n * @returns void {void}\n */\n filterUploads():void{\n this.chatService.getListUploads().subscribe(res => {\n this.upload_list = res.data;\n },\n (error)=>{\n this.upload_list = []\n console.error('Error al encontrar listado de documentos cargados', error.message);\n Swal.fire({\n icon: 'error',\n title: 'Error al encontrar información',\n text: error.message,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: '¡Entendido!',\n });\n });\n }\n\n /**\n * Metodo consulta la informacion de los chats cada vez que se cambia el select\n * @author Yeison Sepulveda\n * @date 2024-07-09\n */\n loadFile(): void {\n const upload_id = this.formFilters.get(\"upload\").value;\n const case_number = this.formFilters.get(\"case_number\").value;\n const agent_name = this.formFilters.get(\"agent_name\").value;\n\n const requestData = {\n id_upload: upload_id,\n per_page: this.configPaginator.pageSize,\n page: this.configPaginator.pageIndex,\n case_number: case_number,\n agent_name: agent_name\n };\n this.chatService.loadUploadDataPaginate(requestData).subscribe(res => {\n //procesar informacion y seteo de la misma\n const processedData = res.data.data.map(item => {\n const earliestChatDetail = item.chat_details.reduce((earliest, current) => {\n return new Date(earliest.entry_date_time) < new Date(current.entry_date_time) ? earliest : current;\n });\n\n const agentName = item.chat_details.find(detail => detail.agent_name)?.agent_name || 'N/A';\n const file = item.uploads.file;\n\n return {\n ...item,\n entry_date_time: earliestChatDetail.entry_date_time,\n agent_name: agentName,\n file: file\n };\n });\n\n this.dataSource.data = processedData;\n this.dataSource.sort = this.sort;\n this.configPaginator.length = res.data.total;\n this.syncSelectionWithStored('search');\n },\n (error) => {\n console.error('Error al cargar la información',error.message);\n });\n }\n\n /**\n * Metodo para abrir el modal detalle del caso y visual del chat\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n modalChatView(id: any): void {\n const dialogRef = this.dialog.open(ChatViewModalComponent, {\n width: '800px',\n data: { id: id }\n });\n }\n\n /**\n * Método para limpiar la selección basado en un parámetro\n * @author Yeison Sepulveda\n * @param param\n */\n searchSelection(param: string) {\n switch (param) {\n case 'search':\n this.clearSelections();\n this.resetPaginator();\n this.resetFilters(['case_number', 'agent_name']);\n this.loadFile();\n break;\n case 'searchFilter':\n this.resetPaginator();\n this.loadFile();\n break;\n case 'strategia':\n if (this.selectedDownload.size === 0) {\n Swal.fire({\n title: 'No hay registros seleccionados',\n text: 'Por favor, seleccione al menos un registro para aplicarle estrategias.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n return;\n }\n this.dataSourceStrategy.data = [];\n this.configPaginatorStrategy.pageSize = this.configPaginatorRecording.pageSize;\n this.selectedStrategy.clear();\n this.selectionStrategy.clear();\n this.applyStrategy(this.stepperStrategys);\n break;\n }\n }\n\n /**\n * Metodo para limpiar todas las selecciones depues de cambiar o consultar la carga\n * @author Yeison Sepulveda\n * @date 2024-07-31\n */\n clearSelections(): void {\n this.selectedSearch.clear();\n this.selectedDownload.clear();\n this.selectedStrategy.clear();\n this.selection.clear();\n this.selectionRecordings.clear();\n this.selectionStrategy.clear();\n }\n\n /**\n * Metodo para reiniciar el paginador de la primera tabla\n * @author Yeison Sepulveda\n * @date 2024-07-31\n */\n resetPaginator(): void {\n this.paginator.firstPage();\n this.configPaginator.pageIndex = 1;\n }\n\n /**\n * Metodo que se encarga de resetear los controles indicados\n * @author Yeison Sepulveda\n * @param controls:string[] array de name_controls a resetear e inhbilitar o habilitar\n */\n resetFilters(controls:string[]):void{\n controls.forEach( (control_name:string) => {\n this.formFilters.get(control_name).reset();\n });\n }\n\n /**\n * Recuperar los selec seleccionados en distintas paginas\n * @author Yeison Sepulveda\n * @param param\n */\n syncSelectionWithStored(param: string) {\n switch (param) {\n case 'search':\n this.selection.clear();\n this.dataSource.data.forEach((row) => {\n if (this.selectedSearch.has(row.id)) {\n this.selection.select(row);\n }\n });\n break;\n\n case 'analisis':\n this.selectionRecordings.clear();\n this.dataSourceRecordings.data.forEach((row) => {\n if (this.selectedDownload.has(row.id)) {\n this.selectionRecordings.select(row);\n }\n });\n break;\n case 'strategy':\n this.selectionStrategy.clear();\n this.dataSourceStrategy.data.forEach((row) => {\n if (this.selectedStrategy.has(row.id)) {\n this.selectionStrategy.select(row);\n }\n });\n break;\n default:\n console.error(`Error de parametro: ${param}`);\n break;\n }\n }\n\n /**\n * Metodo que determinao si los checbox estan seleccionados o no\n * @author Juan David Guerrero Vargas\n * @returns {Boolean}\n */\n isAllSelected(): boolean {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n /**\n * Metodo para para seleccionar todos los elementos en la página actual\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n selectAll(): void {\n if (this.isAllSelected()) {\n this.dataSource.data.forEach((row) => {\n this.selection.deselect(row);\n this.selectedSearch.delete(row.id);\n });\n } else {\n this.dataSource.data.forEach((row) => {\n if (!this.selection.selected.some((selectedItem: any) => selectedItem.id === row.id)) {\n this.selection.select(row);\n this.selectedSearch.set(row.id, row);\n }\n });\n }\n }\n\n /**\n * Método para alternar la selección de una grabación en la lista.\n * @author Yeison Sepulveda\n * @param row - El objeto que representa una grabación en la lista.\n */\n toggleSelection(row: any): void {\n if (this.selection.isSelected(row)) {\n this.selection.deselect(row);\n this.selectedSearch.delete(row.id);\n } else {\n this.selection.select(row);\n this.selectedSearch.set(row.id, row);\n }\n }\n\n /**\n * Método que determinao si los checbox estan seleccionados o no en la tabal de analisis\n * @author Juan David Guerrero Vargas\n * @returns {Boolean}\n */\n isAllSelectedRecordings() {\n const numSelected = this.selectionRecordings.selected.length;\n const numRows = this.dataSourceRecordings.data.filter(row => row.analisis !== 'ERROR' && row.analisis !== 'PENDIENTE' && row.analisis !== 'CARGADO').length;\n return numSelected === numRows;\n }\n\n /**\n * Método para seleccionar todos los elementos en la tabla de analsis\n * @modificado Yeison Sepulveda\n * @createdate 2024-07-16\n */\n selectAllRecordings(): void {\n if (this.isAllSelectedRecordings()) {\n this.dataSourceRecordings.data.forEach((row: any) => {\n if (row.analisis !== 'ERROR' && row.analisis !== 'PENDIENTE' && row.analisis !== 'CARGADO') {\n this.selectionRecordings.deselect(row);\n this.selectedDownload.delete(row.id);\n }\n });\n } else {\n this.dataSourceRecordings.data.forEach((row: any) => {\n if (row.analisis !== 'ERROR' && row.analisis !== 'PENDIENTE' && row.analisis !== 'CARGADO') {\n if (!this.selectionRecordings.isSelected(row)) {\n this.selectionRecordings.select(row);\n this.selectedDownload.set(row.id, row);\n }\n }\n });\n }\n }\n\n\n /**\n * Método para alternar la selección de una grabación en la lista.\n * @author Yeison Sepulveda\n * @param row - El objeto que representa una grabación en la lista.\n */\n toggleRecordingSelection(row: any): void {\n if (this.selectionRecordings.isSelected(row)) {\n this.selectionRecordings.deselect(row);\n this.selectedDownload.delete(row.id);\n } else {\n if (row.analisis !== 'ERROR' && row.analisis !== 'PENDIENTE' && row.analisis !== 'CARGADO') {\n this.selectionRecordings.select(row);\n this.selectedDownload.set(row.id, row); // Almacena el objeto completo\n }\n }\n }\n\n /**\n * Metodo que se encarga de determinar si ya estan seleccionadas todas las grbaciones apra aplicar estrategias\n * @author Juan David Guerrero Vaegas\n */\n isAllSelectedStrategy() {\n const numSelected = this.selectionStrategy.selected.length;\n const numRows = this.dataSourceStrategy.data.length;\n return numSelected === numRows;\n }\n\n /**\n * Método para seleccionar todos los elementos en la página actual\n * @author Yeison Sepulveda\n */\n selectAllStrategy(): void {\n if (this.isAllSelectedStrategy()) {\n this.dataSourceStrategy.data.forEach((row) => {\n this.selectionStrategy.deselect(row);\n this.selectedStrategy.delete(row.id);\n });\n } else {\n this.dataSourceStrategy.data.forEach((row) => {\n if (!this.selectionStrategy.isSelected(row)) {\n this.selectionStrategy.select(row);\n this.selectedStrategy.set(row.id, row);\n }\n });\n }\n }\n\n /**\n * Método para alternar la selección de una grabación en la lista.\n * @author Yeison Sepulveda\n * @param row - El objeto que representa una grabación en la lista.\n */\n toggleSelectionStrategy(row: any): void {\n if (this.selectionStrategy.isSelected(row)) {\n this.selectionStrategy.deselect(row);\n this.selectedStrategy.delete(row.id);\n } else {\n this.selectionStrategy.select(row);\n this.selectedStrategy.set(row.id, row);\n }\n }\n\n\t/**\n\t * Método para tratar los datos que retorna el servicio y descargar el archivo.\n\t * @param data data respondida por el servicio\n\t * @param fileName nombre con el que se va a descargar el archivo.\n\t * @param file_type Tipo del archivo\n\t * @author Juan Carlos Alonso\n\t * @createdate 2021-07-27\n\t * @updatedate 2022-12-13\n\t */\n\tfileTransition(data: any, fileName: string, file_type:string = \"\"): void {\n\t\tlet blob = new Blob([data], { type: file_type});\n\t\tlet downloadURL = (file_type) ? window.URL.createObjectURL(blob) : window.URL.createObjectURL(data);\n\t\tlet link = document.createElement('a');\n\t\tlink.href = downloadURL;\n\t\tlink.download = fileName;\n\t\tlink.click();\n\t}\n\n /**\n * Método para obtener los objetos seleccionados\n * @author Yeison Sepulveda\n * @createdate 2024-07-15\n * @returns {any[]} Lista de objetos seleccionados\n */\n getSelectedRows(): any[] {\n return Array.from(this.selectedSearch.values());\n }\n\n /**\n * Método para obtener los case_numbers seleccionados\n * @author Yeison Sepulveda\n * @createdate 2024-07-15\n * @returns {number[]} Lista de case_numbers seleccionados\n */\n getSelectedCaseNumbers(): number[] {\n return Array.from(this.selectedSearch.keys());\n }\n\n\n /**\n * Metodo consume servicio analizar y asigna los valores al datasource\n * @author Yeison Sepulveda\n * @createdate 2024-07-15\n */\n analytics(): void {\n const registros = this.getSelectedRows();\n\n if (registros.length === 0) {\n Swal.fire({\n icon: 'warning',\n title: 'No hay registros seleccionados',\n text: 'Por favor, seleccione al menos un registro para continuar.',\n confirmButtonText: '¡Entendido!',\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n });\n return;\n }\n\n if (registros.length > 1) {\n Swal.fire({\n title: '¿Estás seguro?',\n text: `Se iniciará el análisis de ${registros.length} chats.`,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Sí, continuar',\n confirmButtonColor: '#2CABBC',\n cancelButtonText: 'Cancelar',\n cancelButtonColor: '#FFFFFF',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.procesarAnalisis(registros);\n }\n });\n } else {\n this.procesarAnalisis(registros);\n }\n }\n\n /**\n * Método para procesar el análisis de registros.\n * @author Yeison Sepulveda\n * @createdate 2024-07-15\n * @param {any[]} registros - Arreglo de registros a ser procesadas.\n */\n procesarAnalisis(registros: any[]): void {\n this.stepperStrategys.next();\n this.actualizarConfiguraciones(registros);\n const caseNumbers = this.getSelectedCaseNumbers();\n this.resquestAnalytics(caseNumbers);\n this.obtenerEstadosRegistros(this.configPaginatorRecording.pageIndex);\n }\n\n /**\n * Manejo y actualizacion del datasource despeus de analizar\n * @autor Yeison Sepulveda\n * @createdate 2024-07-15\n * @param {any[]} registros - Arreglo de registros a ser procesadas.\n */\n actualizarConfiguraciones(registros: any[]): void {\n this.Analyticpaginator.firstPage();\n this.configPaginatorRecording.pageSize = this.configPaginator.pageSize;\n this.configPaginatorRecording.pageIndex = 1;\n this.configPaginatorRecording.length = registros.length;\n this.listrecordingsAnalising = registros;\n //datos paginados y manejo paginador statico\n const paginatedData = this.paginateAnalyticsStaticTable(registros, this.configPaginatorRecording);\n this.dataSourceRecordings.data = paginatedData;\n this.dataSourceRecordings.sort = this.sortRecordings;\n\n }\n\n /**\n * Consumo para analizar los registros\n * @autor Yeison Sepulveda\n * @createdate 2024-07-15\n * @param {numbr[]} caseNumbers - Arreglo delos ids\n */\n resquestAnalytics(caseNumbers: number[]): void {\n const body = {\n ids_case: caseNumbers\n };\n this.chatService.chatRequestAnalytics(body).subscribe(\n (response: any) => {\n console.log('Solicitud realizada con exito:', response);\n },\n (error) => {\n console.error('Error en la solicitud:', error.message);\n }\n );\n }\n\n /**\n * Metodo que limita las acciones de botones por defecto\n */\n evenPrevenDefault($event){\n $event.preventDefault();\n }\n\n /**\n * Método que pagina la informacion de la tabla.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * @param $event Evento emitido por el paginador.\n */\n changePage($event: PageEvent, tablePaginate: string): void {\n if (tablePaginate === 'recordings') {\n this.configPaginator.pageSize = $event.pageSize;\n this.configPaginator.pageIndex = $event.pageIndex + 1;\n this.loadFile();\n\n }else if (tablePaginate === 'analisis' && this.displayedColumnsRecordings.find(ffnn => ffnn === 'analisis') !== undefined) {\n this.configPaginatorRecording.pageSize = $event.pageSize;\n this.configPaginatorRecording.pageIndex = $event.pageIndex + 1;\n this.dataSourceRecordings.data = this.paginateAnalyticsStaticTable(this.listrecordingsAnalising, this.configPaginatorRecording);\n this.obtenerEstadosRegistros(this.configPaginatorRecording.pageIndex);\n this.syncSelectionWithStored('analisis');\n }else if (tablePaginate === 'strategy' && this.displayedColumnsRecordings.find(ffnn => ffnn === 'analisis') !== undefined) {\n this.configPaginatorStrategy.pageSize = $event.pageSize;\n this.configPaginatorStrategy.pageIndex = $event.pageIndex + 1;\n this.dataSourceStrategy.data = this.paginateStaticTable(this.listRecordingsStrategys, this.configPaginatorStrategy);\n this.syncSelectionWithStored('strategy');\n\n if (this.displayedColumnsStrategy.includes('adherencia')) {\n this.EstadoAdherencia();\n }\n }\n }\n\n /**\n * Metodo que se encarg de realziar paginacion estatica para tablas\n * @author Yeison Sepulveda\n * @param dataTable:any[] {any[]} Listado original de datos a paginar\n * @param configPaginator:any {any} Configuracion de paginacion a aplicar de manera estatica\n * @returns {any[]} any[]\n */\n paginateAnalyticsStaticTable(dataTable: any[], configPaginator: any): any[] {\n const startIndex = (configPaginator.pageIndex - 1) * configPaginator.pageSize;\n return dataTable.slice(startIndex, startIndex + configPaginator.pageSize);\n }\n\n /**\n * Metodo que se encarg de realziar paginacion estatica para tablas\n * @author Yeison Sepulveda\n * @param dataTable:any[] {any[]} Listado original de datos a paginar\n * @param configPaginator:any {any} Configuracion de paginacion a aplicar de manera estatica\n * @returns {any[]} any[]\n */\n paginateStaticTable(dataTable: any[], configPaginator: any): any[] {\n const startIndex = (configPaginator.pageIndex - 1) * configPaginator.pageSize;\n return dataTable.slice(startIndex, startIndex + configPaginator.pageSize);\n }\n\n /**\n * Metodo para abrir el modal de analisis\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n openAnalyticsModal(id: any): void {\n const dialogRef = this.dialog.open(AnalyticsChatModalComponent, {\n width: '800px',\n data: { id: id }\n });\n }\n\n /**\n * Validar el estado de los análisis por pagina\n * @author Yeison Sepulveda\n * @createdate 2024-03-07\n * @param paginaActual pagina actual para validar los estados por pagina\n */\n async obtenerEstadosRegistros(paginaActual: number) {\n if (this.abortController) {\n this.abortController.abort();\n }\n\n this.abortController = new AbortController();\n const signal = this.abortController.signal;\n\n try {\n let registrosPendientes = this.dataSourceRecordings.data.filter(ffll => ffll?.analisis !== 'COMPLETADO');\n this.selectionRecordings.clear();\n\n while (registrosPendientes.length > 0 && this.isActive) {\n if (signal.aborted) {\n console.log('Proceso cancelado');\n return;\n }\n\n const idsCasos = registrosPendientes.map(record => record.id);\n\n const body = {\n ids_case: idsCasos\n }\n\n const response: any = await this.chatService.chatAnalyticState(body).toPromise();\n\n if (response.data) {\n const estados = {};\n response.data.forEach(item => {\n estados[item.id] = item.status.toUpperCase();\n });\n\n this.dataSourceRecordings.data.forEach(record => {\n if (estados[record.id]) {\n record.analisis = estados[record.id];\n }\n });\n }\n\n // Actualiza la lista de registros pendientes después de la consulta\n registrosPendientes = this.dataSourceRecordings.data.filter(ffll => ffll.analisis !== 'COMPLETADO' && ffll.analisis !== 'ERROR');\n\n // Si no hay más registros pendientes, salir del bucle\n if (registrosPendientes.length === 0) {\n break;\n }\n\n // Espera 30 segundos antes de la próxima consulta\n await new Promise(resolve => setTimeout(resolve, 30000));\n }\n\n this.isAllComplete = true;\n } catch (error) {\n console.error('Error al obtener estados de registros pendientes:', error.message);\n }\n }\n\n /**\n\t * Método enviar mensaje swal de error de la grabación\n\t * @author Yeison Sepulveda\n\t * @createdate 2024-04-23\n\t */\n errorAnalyticModal(element: any) {\n this.chatService.chatAnalyticStateDetail(element.id).subscribe(\n (response: any) => {\n Swal.fire({\n icon: 'warning',\n title: '¡Aviso!',\n text: response.data.message,\n showCancelButton: true,\n confirmButtonText: 'Reprocesar análisis',\n cancelButtonText: 'Cancelar',\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.confirmReprocess(element);\n }\n });\n },\n (error) => {\n console.error('Error en la solicitud:', error.error.message);\n });\n }\n\n /**\n * Metodo para reprocesar análisis con error\n * @author Yeison Sepulveda\n * @createdate 2024-09-03\n */\n confirmReprocess(detalle_caso: any) {\n Swal.fire({\n title: '¿Estás seguro?',\n text: `¿Quieres volver a intentar analizar el caso Nº ${detalle_caso.case_number}?`,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Sí, continuar',\n cancelButtonText: 'Cancelar',\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.chatService.chatReAnalyticState({ id_case: detalle_caso.id }).subscribe(\n response => {\n Swal.fire({\n title: '¡Excelente!',\n text: 'La solicitud ha sido procesada correctamente.',\n icon: 'success',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC'\n }).then((result) => {\n if (result.isConfirmed) {\n console.log('Llamando a obtenerEstadosRegistros');\n this.obtenerEstadosRegistros(this.configPaginatorRecording.pageIndex);\n }\n });\n },\n error => {\n console.error('Error', error);\n Swal.fire({\n title: 'Opss ...',\n text: error.message,\n icon: 'error',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC'\n });\n }\n );\n }\n });\n }\n\n /**\n * Descargar reporte de busqueda excel\n * @author Yeison Sepulveda\n * @createdate 2024-07-15\n */\n downloadReport(type: string): void {\n let filters: any;\n\n if (type === 'analysis') {\n const completedRecords = Array.from(this.selectedDownload.values())\n .filter(record => record.analisis === 'COMPLETADO');\n\n if (completedRecords.length === 0) {\n Swal.fire({\n icon: 'warning',\n title: 'No hay registros completados',\n text: 'No se han seleccionado registros para descargar informe.',\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: '¡Entendido!',\n });\n return;\n }\n //praparar la data a enviar\n filters = {\n ids_case: completedRecords.map(record => record.id)\n };\n } else if (type === 'strategy') {\n if (this.selectedStrategy.size <= 0) {\n Swal.fire({\n title: 'No hay registros seleccionados',\n text: 'Por favor, seleccione al menos un registro para descargar el informe',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n return;\n }\n //praparar la data a enviar\n filters = {\n ids_case: Array.from(this.selectedStrategy.keys())\n };\n }\n\n //descargar reporte\n this.chatService.downloadReportChat(filters).subscribe(\n (response: any) => {\n const filename = this.generateFilename();\n this.fileTransition(response, filename);\n },\n (error) => {\n console.error('Ha ocurrido un error al descargar el reporte', error.message);\n Swal.fire({\n icon: 'error',\n title: '¡Ops! Ocurrio un error',\n text: error.message,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: '¡Entendido!',\n });\n }\n );\n }\n\n /**\n * Metodo generar el nombre del documento a descargar\n * @author Yeison Sepulveda\n * @createdate 2024-0-03\n * @return nombre del archivo excel\n */\n generateFilename(): string {\n const currentDate = new Date().toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n }).replace(/\\//g, '');\n\n const currentTime = new Date().toLocaleTimeString('es-ES', {\n hour: '2-digit',\n minute: '2-digit',\n hour12: false\n }).replace(/:/g, '');\n\n const dateTimeString = `${currentDate}${currentTime}`;\n return `reporte_general_chat_${dateTimeString}.xlsx`;\n }\n\n /**\n * Método que se encarga de retonar la cantidad de items seleccioandos en la tabal de Analsis\n * @author Juan David Guerrero Vargas\n * @returns {number} Cantidad de items seleccionados\n */\n getTotalItemSelectedRecordings(): number {\n if (this.selectionRecordings && this.selectionRecordings.selected) {\n return this.selectionRecordings.selected.length;\n }\n return 0;\n }\n\n /**\n * Método validar si ya esta la columna de analisis y si el total es mayor\n * @author Yeison Sepulveda\n * @createdate 2024-06-18\n * @returns El valor true o false\n */\n get ColumnVisibleTotal(): boolean {\n const isVisible = this.displayedColumnsRecordings.includes('analisis');\n const hasSelectedItems = this.getTotalItemSelectedRecordings() > 0;\n return isVisible && hasSelectedItems;\n }\n\n /**\n * Metodo que se encarga de redirigir al metodo de aplicar estrategias\n * @author Yeison Sepulveda\n * @param stepperReference:any {any} Referencia del steper para realizar la accion de continuar el paso siguiente\n */\n applyStrategy(stepperReference?: any): void {\n this.deleteColumnAdherencia();\n this.getStrategys();\n const registros = Array.from(this.selectedDownload.values());\n this.configPaginatorStrategy.length = registros.length;\n this.listRecordingsStrategys= registros;\n this.dataSourceStrategy.data = this.paginateStaticTable(this.listRecordingsStrategys, this.configPaginatorStrategy);\n this.dataSourceStrategy.sort = this.sortStrategy;\n this.selectionStrategy.clear();\n this.StrategyPaginator.firstPage();\n\n if (stepperReference !== undefined) {\n stepperReference.next();\n }\n this.startegyComplete = false;\n }\n\n /**\n * Metodo que se encarga de obtenre el listado de estrategias\n * @author Yeison Sepulveda\n * @date 2024-08-08\n */\n getStrategys():void{\n const type_channel= [2];\n this.strategyService.listStrategies(type_channel).subscribe(res => {\n this.listStrategys = res.data;\n });\n }\n\n /**\n * Metodo que se encarga de abirir el modal apra poder abrir el modal de creacion de estrategias\n * @author Yeison Sepulveda\n * @date 2024-06-19\n */\n createStrategyTranscription(): void {\n const selectedRecordingIds = Array.from(this.selectedStrategy.keys());\n\n if (selectedRecordingIds.length === 1) {\n const selectedRecordingId = selectedRecordingIds[0];\n\n const dialogRef = this.dialog.open(TranscChatModalComponent, {\n width: '100%',\n maxHeight: '95vh',\n data: { modo: 'crear', id: selectedRecordingId }\n });\n dialogRef.afterClosed().subscribe(result => {\n this.getStrategys();\n });\n } else if (selectedRecordingIds.length > 1) {\n Swal.fire({\n title: 'Advertencia',\n text: 'Seleccionaste más de un registro. Por favor, selecciona solo uno.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n } else {\n Swal.fire({\n title: 'Advertencia',\n text: 'Selecciona al menos un registro antes de continuar.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n }\n\n\n /**\n * Metodo para reiniciar tabla eliminando columna adherencia\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n\n deleteColumnAdherencia(): void {\n const indexConfigAudio = this.displayedColumnsStrategy.findIndex(column => column === 'adherencia');\n if (indexConfigAudio !== -1) {\n this.displayedColumnsStrategy.splice(indexConfigAudio, 1);\n }\n }\n /**\n * Metodo que se encarga de enviar la informacion apra aplciar la estrategia seleccionada.\n * Actualiza los registros con la información de adherencia calculada y actualiza el paginador.\n * @author Juan David Guerrero Vargas\n * @Update Yeison Sepulveda\n * @dateupdate 03-07-2024\n */\n\n applyStrategySelected(): void {\n this.deleteColumnAdherencia();\n\n if (this.selectedStrategy.size <= 0) {\n Swal.fire({\n title: 'No hay registros seleccionados',\n text: 'Por favor, seleccione al menos un registro para aplicar la estrategia.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n return;\n }\n\n const selectedStrategyId = this.strategyControl.value;\n if (!selectedStrategyId) {\n Swal.fire({\n title: 'Estrategia no seleccionada',\n text: 'Por favor, seleccione una estrategia antes de continuar.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n return; // Detiene la ejecución del resto del código si no se ha seleccionado una estrategia\n }\n\n const selectedRecordingIds = Array.from(this.selectedStrategy.keys());\n\n Swal.fire({\n title: '¿Está seguro?',\n text: `Se aplicará la estrategia a ${this.selectedStrategy.size} registros.`,\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n\n this.startegyComplete = true;\n\n let strategyForms = {\n ids_cases: selectedRecordingIds,\n id_strategy: selectedStrategyId\n };\n\n // Actualiza el estado de adherencia a \"PENDIENTE\" para los registros seleccionados\n this.listRecordingsStrategys.forEach(record => {\n if (selectedRecordingIds.includes(record.id)) {\n record.status_strategy = 'PENDIENTE';\n }\n });\n\n this.strategyService.assignStrategyChat(strategyForms).subscribe(\n (response) => {\n\n this.strategyService.applyAdherenciaChats(strategyForms.ids_cases).subscribe(\n (adherenciaResponse: any[]) => {\n this.StrategyPaginator.firstPage();\n if (this.displayedColumnsStrategy.indexOf('adherencia') === -1) {\n this.displayedColumnsStrategy.push('adherencia');\n }\n const filteredRecordings = this.listRecordingsStrategys.filter(record => selectedRecordingIds.includes(record.id));\n adherenciaResponse.forEach((item) => {\n const item_id = item.id;\n const recordToUpdate = filteredRecordings.find(record => record.id === item_id);\n if (recordToUpdate) {\n // Asignar los valores de adherencia\n recordToUpdate.adherence_percentage = item.adherence_percentage;\n recordToUpdate.not_adherence_percentage = item.not_adherence_percentage;\n } else {\n console.log(`No se encontró el caso: ${item_id}`);\n }\n });\n this.EstadoAdherencia();\n\n this.listRecordingsStrategys = filteredRecordings;\n\n this.configPaginatorStrategy.length = this.listRecordingsStrategys.length;\n\n // Nuevo MatTableDataSource para evitar problemas de paginado\n this.dataSourceStrategy = new MatTableDataSource(this.paginateStaticTable(this.listRecordingsStrategys, this.configPaginatorStrategy));\n this.dataSourceStrategy.sort = this.sortStrategy;\n\n },\n (adherenciaError: any) => {\n console.error(\"Error al calcular la adherencia:\", adherenciaError.error);\n }\n );\n },\n (error: any) => {\n console.error(\"Error al asignar la estrategia:\", error);\n }\n );\n\n\n }\n });\n }\n\n /**\n * Método para abrir el modal de resultados de adherencia\n * @author Yeison Sepulveda\n * @createdate 2024-04-30\n */\n AdherenciaModal(id: any): void {\n const recording = this.listRecordingsStrategys.find(record => record.id === id);\n if (recording && recording.adherencia) {\n const dialogRef = this.dialog.open(AdherenciaChatModalComponent, {\n width: '800px',\n data: { id: id }\n });\n }\n }\n\n /**\n * Validar el estado de los análisis por pagina\n * @author Yeison Sepulveda\n * @createdate 2024-03-07\n * @param paginaActual pagina actual para validar los estados por pagina\n */\n async EstadoAdherencia() {\n if (this.abortController) {\n this.abortController.abort();\n }\n\n this.abortController = new AbortController();\n const signal = this.abortController.signal;\n\n try {\n // Filtra los registros que no están COMPLETADOS ni en ERROR\n let registrosPendientes = this.dataSourceStrategy.data.filter(ffll =>\n ffll?.status_strategy !== 'COMPLETADO' && ffll?.status_strategy !== 'ERROR'\n );\n\n this.selectionRecordings.clear();\n\n while (registrosPendientes.length > 0 && this.isActive) {\n if (signal.aborted) {\n console.log('Proceso cancelado');\n return;\n }\n\n const idsCasos = registrosPendientes.map(record => record.id);\n const body = { ids_case: idsCasos };\n\n const response: any = await this.chatService.chatAdherenciaState(body).toPromise();\n\n if (response.data) {\n const estados = {};\n response.data.forEach(item => {\n estados[item.id] = item.status.toUpperCase();\n });\n\n this.dataSourceStrategy.data.forEach(record => {\n if (estados[record.id]) {\n record.status_strategy = estados[record.id];\n\n if (record.status_strategy === 'COMPLETADO') {\n const adherencia = `${record.adherence_percentage} / ${record.not_adherence_percentage}`;\n record.adherencia = adherencia;\n record.status_strategy = 'COMPLETADO';\n } else if (record.status_strategy === 'PENDIENTE') {\n record.adherencia = 'PENDIENTE';\n record.status_strategy = 'PENDIENTE';\n }\n }\n });\n }\n\n // Actualiza la lista de registros pendientes después de la consulta\n registrosPendientes = this.dataSourceStrategy.data.filter(ffll =>\n ffll.status_strategy !== 'COMPLETADO' && ffll.status_strategy !== 'ERROR'\n );\n\n // Si no hay más registros pendientes, salir del bucle\n if (registrosPendientes.length === 0) {\n console.log('No hay más registros pendientes, deteniendo el proceso.');\n break;\n }\n\n // Espera 30 segundos antes de la próxima consulta\n await new Promise(resolve => setTimeout(resolve, 30000));\n }\n\n this.isAllComplete = true;\n } catch (error) {\n console.error('Error al obtener estados de registros pendientes:', error.message);\n }\n }\n\n\n\n}\n","\n \n \n Consulta\n
\n
\n

Consulta de chats

\n
\n
\n
\n

En esta sección, podrás buscar y encontrar registros de los chats por carga disponibles.

\n
\n
\n\n
\n
\n\n
\n \n Carga\n \n \n {{ type.file }}\n \n \n Selecciona una opción\n \n
\n\n
\n \n Nº Caso \n \n \n
\n\n
\n \n Nombre del agente\n \n \n
\n\n
\n \n
\n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ tHeadersRecordings[column] }} {{ element[column] }} \n \n \n \n {{ tHeadersRecordings[column] }} \n \n
No existe información relacionada
\n\n \n \n
\n
\n
\n
\n \n
\n
\n
\n \n\n\n \n \n Análisis\n
\n
\n

Resultados de análisis

\n
\n
\n
\n

En esta sección, podrás visualizar los resultados de los análisis de las conversaciones.

\n
\n\n
\n \n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n
{{ tHeadersRecordings[column] }} {{ element[column] }} \n \n \n \n \n {{ tHeadersRecordings[column] }} \n \n {{ tHeadersRecordings[column] }} \n \n Pendiente\n \n \n \n \n \n \n \n \n \n \n
No existe información relacionada
\n\n \n \n\n
\n
\n
\n
\n \n
\n
\n\n
\n \n \n \n Aplicar estrategia\n
\n
\n

Aplicar estrategias

\n
\n
\n
\n

En esta sección, podrás seleccionar las conversaciones que fueron analizados y aplicar o crear una estrategia para estas.

\n
\n
\n
\n
\n \n Estrategias\n \n \n {{ strategy.strategy_name }}\n \n \n La estrategia aplicar es requerida\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
{{ tHeadersRecordings[column] }} {{ element[column] }} \n \n \n \n \n {{ tHeadersRecordings[column] }} \n \n {{ tHeadersRecordings[column] }} \n \n Pendiente\n \n \n \n \n \n \n \n \n \n {{ tHeadersRecordings[column] }} \n \n Pendiente\n \n \n \n {{ element[column] }}\n \n
No existe información relacionada
\n \n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n \n\n
\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { CampaignService } from '../../../services/rest/campaign.service';\nimport { GroupsService } from '../../../services/rest/groups.service';\nimport { startWith, map } from 'rxjs/operators';\nimport { DatePipe } from '@angular/common';\nimport { ScheduleTypesService } from '../../../services/rest/schedule-types.service';\nimport { ConfigService } from '../../../services/rest/config.service';\nimport { Configs } from '../../class/configs';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ScheduleType } from '../../class/schedule-type';\nimport { ConfigSchedule } from '../../class/config-schedule';\nimport { SchedulesService } from '../../../services/rest/schedules.service';\nimport { DestroyComponentService } from '../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { UsersService } from '../../../services/rest/users.service';\nimport { DateAdapter } from '@angular/material/core';\nimport * as moment from 'moment';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { AuthService } from '../../../../../core/services/rest/auth.service';\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\n\n@Component({\n selector: 'app-config-schedules',\n templateUrl: './config-schedules.component.html',\n styleUrls: [ './config-schedules.component.sass' ]\n})\nexport class ConfigSchedulesComponent implements OnInit {\n\n @ViewChild(MatAutocompleteTrigger, { read: MatAutocompleteTrigger }) inputAutoCompleteScCreate: MatAutocompleteTrigger;\n\n filterForm: FormGroup;\n campaigns: any;\n groups: any;\n rangeDates: any = [];\n filteredOptionsCampaigns: Observable;\n filteredOptionsGroups: Observable;\n filteredOptionsRanges: Observable;\n configGrid = new Configs();\n botonesCarga = false;\n Consultados = false;\n archivoSeleccionado = false;\n private to: any;\n private from: any;\n public rangeDateInit: string;\n public rangeDateEnd: string;\n\n public file: any; //archivo\n\n displayedColumns: string[] = [ 'Tipo', 'Observaciones', 'Cantidad' ];\n dataSource = new MatTableDataSource();\n\n constructor(\n private campaignService: CampaignService,\n private destroyService: DestroyComponentService,\n private groupService: GroupsService,\n private scheduleTypeService: ScheduleTypesService,\n private configService: ConfigService,\n private datePipe: DatePipe,\n private scheduleService: SchedulesService,\n private alertsService: AlertsService,\n private authService: AuthService,\n private userService: UsersService,\n private adapter: DateAdapter,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n }\n\n get error(): any {\n return this.filterForm.controls;\n }\n\n\n ngOnInit(): void {\n this.adapter.setLocale('co');\n this.formControl();\n this.getWeekRanges();\n this.consultarGrupos();\n this.campaignService.getCampaigns().subscribe((resp) => {\n this.campaigns = resp.data;\n this.setEdit();\n });\n }\n\n /**\n * Almacena las fechas en la seleccion de una de ellas\n * @param e event con valor\n * @author Andres Buitrago\n */\n onChange(e): void {\n const index = this.rangeDates.findIndex(resp => resp.id === e.option.value);\n this.rangeDateInit = this.rangeDates[index].from ?? null;\n this.rangeDateEnd = this.rangeDates[index].to ?? null;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que setea los valores al momento de editar\n */\n setEdit(): void {\n if (this.data.type === 'editar') {\n this.filterForm.controls.campaigns.setValue(this.data.rol.name);\n }\n }\n\n /**\n * @author Jose Silva\n * @createdate 2021-02-09\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void {\n\n this.filterForm = new FormGroup({\n rangeDate: new FormControl('', [ this.autocompleteObjectValidator(), Validators.required ]),\n groups: new FormControl('', [ this.autocompleteObjectValidator(), Validators.required ]),\n upload: new FormControl('')\n });\n }\n\n /**\n * @author Jose Silva\n * @createdate 2021-02-09\n * Metodo que valida las funciones del autocompetable\n */\n autocompleteObjectValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (typeof control.value === 'string') {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n };\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterCampaigns(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.campaigns.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterGroups(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.groups.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterRanges(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.rangeDates.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFnCampaigns(id: number): string {\n if (!id) {\n return '';\n }\n let index = this.campaigns.findIndex(resp => resp.id === id);\n return this.campaigns[index].name;\n }\n\n /**\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n * @author Daniel Martinez\n * @createdate 2021-02-04\n */\n displayFnGroups(id: number): string {\n if (!id) {\n return '';\n }\n let index = this.groups.findIndex(resp => resp.id === id);\n return this.groups[index].name;\n }\n\n /**\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n * @author Daniel Martinez\n * @createdate 2021-02-04\n */\n displayFnRanges(id: any): string {\n if (!id) {\n return '';\n }\n const index = this.rangeDates.findIndex(resp => resp.id === id);\n return this.rangeDates[index].name;\n }\n\n /**\n * Metodo encargado de realizar la consulta de grupos por campaña seleccionada\n * @author Jose silva\n */\n public consultarGrupos(): void {\n this.dataSource = new MatTableDataSource();\n this.filterForm.patchValue({\n groups: ''\n });\n\n this.groupService.getAllGroups().subscribe((response) => {\n this.groups = response.data;\n this.filteredOptionsGroups = this.filterForm.get('groups').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(x => x ? this._filterGroups(x) : this.groups.slice())\n );\n });\n }\n\n /**\n * Generacion de semanas\n * @author Daniel Dominguez \n */\n public getWeekRanges() {\n this.filterForm.patchValue({\n rangeDate: ''\n });\n const to = moment().format('YYYY-MM-DD');\n const numWeeks = 52;\n this.scheduleService.getWeeksRangesForScheduleFilters({ to, numWeeks })\n .subscribe(resp => {\n this.rangeDates = resp.data;\n this.filteredOptionsRanges = this.filterForm.get('rangeDate').valueChanges.pipe(\n startWith(''),\n map(value => {\n return typeof value === 'string' ? value : value.name;\n }),\n map(x => {\n return x ? this._filterRanges(x) : this.rangeDates.slice();\n })\n );\n setTimeout(() => {\n this.inputAutoCompleteScCreate.openPanel();\n }, 700);\n });\n }\n\n /**\n * Metodo encargado de realizar la consulta de configuracion semanal\n * @author Jose silva\n */\n public findConfigs(): void {\n this.Consultados = true;\n this.configGrid = new Configs();\n //Data de los filtros\n let data = {\n rangeDate: this.datePipe.transform(this.rangeDateInit, 'yyyy-MM-dd'),\n groups: this.filterForm.value.groups\n };\n //Creacion de array de tipos\n let dbTypes = Array();\n //Consulto los tipos\n this.scheduleTypeService.getScheduleTypes().subscribe((types) => {\n //Asigno la respuesta a los tipos\n dbTypes = types.data;\n console.log(dbTypes);\n //Comnulto los filtros\n this.configService.getConfigByDateGroup(data).subscribe((res) => {\n if (res.data) {\n this.botonesCarga = true;\n let config_schedule = Array();\n this.configGrid.date_start = res.data.date_start;\n this.configGrid.date_end = res.data.date_end;\n this.configGrid.name = res.data.name;\n this.configGrid.group_id = res.data.group_id;\n this.configGrid.id = res.data.id;\n dbTypes.forEach(type => {\n console.log(type);\n let newConfigSchedule = new ConfigSchedule();\n let existConfigSchedule = res.data.config_schedule.filter(x => x.schedule_type_id == type.id);\n console.log(existConfigSchedule);\n if (existConfigSchedule.length > 0) {\n newConfigSchedule.id = existConfigSchedule[0].id;\n newConfigSchedule.schedule_type_id = existConfigSchedule[0].schedule_type_id;\n newConfigSchedule.config_id = res.data.id;\n newConfigSchedule.name = type.name;\n newConfigSchedule.key = type.key;\n newConfigSchedule.quantity = existConfigSchedule[0].quantity;\n newConfigSchedule.editable = type.extra.editable ?? 0;\n newConfigSchedule.open_dial = type.open_dial ?? 0;\n config_schedule.push(newConfigSchedule);\n } else {\n newConfigSchedule.schedule_type_id = type.id;\n newConfigSchedule.config_id = res.data.id;\n newConfigSchedule.name = type.name;\n newConfigSchedule.key = type.key;\n newConfigSchedule.quantity = type.extra.quantity;\n newConfigSchedule.editable = type.extra.editable ?? 0;\n newConfigSchedule.open_dial = type.open_dial ?? 0;\n config_schedule.push(newConfigSchedule);\n }\n\n });\n this.configGrid.config_schedule = config_schedule;\n } else {\n this.botonesCarga = false;\n // configuracion predeterminados de un cargue de mallas horarias / MH-68 (Horarios)\n this.configGrid.date_start = this.rangeDateInit;\n this.configGrid.date_end = this.rangeDateEnd;\n this.configGrid.name = 'Semana del ' + this.rangeDateInit + ' al ' + this.rangeDateEnd;\n this.configGrid.group_id = this.filterForm.value.groups;\n dbTypes.forEach(type => {\n let newConfigSchedule = new ConfigSchedule();\n newConfigSchedule.schedule_type_id = type.id;\n newConfigSchedule.name = type.name;\n newConfigSchedule.key = type.key;\n newConfigSchedule.quantity = type.extra.quantity ?? 1;\n newConfigSchedule.editable = type.extra.editable ?? 0;\n newConfigSchedule.open_dial = type.open_dial ?? 0;\n this.configGrid.config_schedule.push(newConfigSchedule);\n });\n }\n this.dataSource.data = this.configGrid.config_schedule;\n });\n });\n }\n\n /**\n * Metodo encargado de realizar la actualizacion de la cantidad del tipo de horario\n * @author Jose vicente silva\n */\n public updateValue(event, row): void {\n this.configGrid.config_schedule.filter(x => x.schedule_type_id == row.schedule_type_id)[0].quantity = event.target.value;\n }\n\n /**\n * Metodo encargado de realizar el guardado o actualizacion de una config semanal de horarios\n * @author Jose vicente silva\n */\n public saveConfig(): void {\n if (this.configGrid.id !== undefined) {\n this.configService.patchConfigs(this.configGrid).subscribe(res => {\n\n this.alertsService.alertSuccess('Guardado', res.data);\n\n });\n } else {\n this.configService.postConfigs(this.configGrid).subscribe(res => {\n this.botonesCarga = true;\n\n this.configGrid.id = res.id;\n this.alertsService.alertSuccess('Guardado', res.data);\n\n });\n }\n }\n\n\n /**\n * Metodo encargado de subir el archivo para realizar el cargue de horarios\n * @author Andres Buitrago\n */\n cargarArchivoBase(e): void {\n this.file = e.target.files[0];\n const validExt = [ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-excel' ];\n if (validExt.indexOf(this.file.type) === -1) {\n this.alertsService.alertError('Error', 'La extensión del archivo no es valida, solo se permiten archivos excel');\n return;\n }\n\n const confirm = this.alertsService.alertConfirm('¿Esta seguro que desea guardar el archivo?');\n confirm.then(res => {\n if (res.isConfirmed) {\n const currentDate = moment().format('YYYY-MM-DD');\n const formData = new FormData();\n formData.append('upload', this.file);\n formData.append('groupId', this.filterForm.value.groups);\n formData.append('toCreate', '1');\n formData.append('startWeek', moment(this.rangeDateInit).format('YYYY-MM-DD'));\n formData.append('endWeek', moment(this.rangeDateInit).isoWeekday(7).format('YYYY-MM-DD'));\n\n this.scheduleService.updateScheduleSelected(formData)\n .subscribe(resp => {\n e.srcElement.value = null;\n if (resp.data.possibleErrors.length === 0) {\n this.alertsService.alertSuccess('¡Archivo cargado!', `\n

Nota:

\n

\n Archivo subido por: ${ this.authService.getUser().rrhh.name ?? 'NA' }
\n Fecha: ${ currentDate }\n

\n `);\n } else {\n let buildMessages = '';\n for (const property in resp.data.possibleErrors) {\n if (resp.data.possibleErrors.hasOwnProperty(property)) {\n buildMessages += resp.data.possibleErrors[property];\n }\n }\n this.alertsService.alertWarning('Proceso realizado', `\n

Nota:

\n

\n Archivo subido por: ${ this.authService.getUser().rrhh.name ?? 'NA' }
\n Fecha: ${ currentDate }

\n Inconvenientes presentados:
${ buildMessages }\n

\n `);\n }\n }, error => {\n e.srcElement.value = null;\n this.alertsService.alertError('Error', 'Ocurrio un error al intentar actualizar masivamente');\n });\n }\n });\n }\n\n /**\n * Metodo encargado de generar el archivo para el cargue de horarios en base a filtro seleccionados\n * @author Andres Buitrago\n */\n descargarArchivoBase(): void {\n const date =\n this.scheduleService.getScheduleFileToEdit({\n groupId: this.filterForm.value.groups,\n startWeek: moment(this.rangeDateInit).format('YYYY-MM-DD'),\n endWeek: moment(this.rangeDateInit).isoWeekday(7).format('YYYY-MM-DD'),\n toCreate: true\n }).subscribe(resp => importedSaveAs(resp, 'cargue_horarios.xlsx'));\n }\n\n /**\n * Metodo encargado de omitir caracteres especiales\n * @param event\n * @author Daniel martinez\n */\n omitSpecialChar(event): any {\n let k;\n k = event.charCode;\n return ((k > 255 && k < 255));\n }\n\n /**\n * Metodo destroy -> ciclo de vida del componente\n * @author Jose vicente silva\n */\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n\n}\n","

\n {{ data.title }}\n \n

\n\n
\n \n
\n \n Semana:\n \n \n \n {{ range.name }}\n \n \n Campo es\n requerido\n Opción no válida\n \n\n\n\n \n Grupo:\n \n \n \n {{ group.name }}\n \n \n Campo es requerido\n Opción no válida\n \n\n
\n \n Buscar\n \n\n\n
\n
\n
\n
\n \n\n
\n
\n \n\n
\n
\n\n
\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
Tipo{{ row.name }}Observaciones{{ (row.open_dial == 0) ? 'Requiere configuración' : 'No requiere configuración' }}Cantidad\n \n \n \n \n {{ row.quantity }}\n \n\n
\n
\n
\n
\n\n \n \n Guardar\n \n \n \n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {TemplatesService} from '../../../services/templates.service';\nimport {MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport {MatSnackBar} from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-template-new',\n templateUrl: './template-new.component.html',\n styleUrls: ['./template-new.component.sass']\n})\nexport class TemplateNewComponent implements OnInit {\n\n selectedFile: File | null = null;\n contract_type_id: any;\n\n constructor(\n private templateService: TemplatesService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n public snackBar: MatSnackBar,\n ) { }\n\n ngOnInit(): void {\n this.contract_type_id = this.data.contract_type_id;\n }\n\n onFileChange(event: any) {\n this.selectedFile = event.target.files[0];\n }\n\n onSubmit() {\n if (this.selectedFile) {\n this.templateService.storeTemplate(this.selectedFile, this.contract_type_id).subscribe(\n response => {\n this.snackBar.open('Tu plantilla ha sido procesada satisfactoriamente, ' +\n 'te recomendamos usar el visualizador para corroborar como se empezaran a generar ' +\n 'los contratos a partir de este momento', 'cerrar', {\n horizontalPosition: 'center',\n verticalPosition: 'top',\n panelClass: ['green-snackbar'],\n duration: 20000,\n });\n console.log('Archivo enviado con éxito:', response);\n },\n error => {\n this.snackBar.open('El documento cargado no ha podido ser procesado correctamente' +\n ' por favor revisa el documento he intenta de nuevo, si persiste la inconsistencia por favor ' +\n 'comunícate con soporte', '', {\n horizontalPosition: 'center',\n verticalPosition: 'top',\n panelClass: ['red-snackbar'],\n duration: 20000,\n });\n console.error('Error al enviar el archivo:', error);\n }\n );\n }\n this.dialogRef.close();\n }\n\n onCancel() {\n this.dialogRef.close();\n }\n}\n","
\n

Cargar nueva versión

\n

Recuerda que una vez cargada la plantilla esta quedará activa para generar contratos,\n en caso que quieras regresar a una versión anterior puedes usar el historial

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

\n
\n \n \n
\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { ResourcesService } from '../../../services/resources.service';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { ResourcesCreateComponent } from '../resources-create/resources-create.component';\nimport { ResourcesRulesComponent } from '../resources-rules/resources-rules.component';\nimport { ResourcesTypesComponent } from '../resources-types/resources-types.component';\n\n\n@Component({\n selector: 'app-resources-main',\n templateUrl: './resources-main.component.html',\n styleUrls: ['./resources-main.component.sass']\n})\nexport class ResourcesMainComponent implements OnInit {\n\n displayedColumns = ['actions', 'name', 'type'];\n resourceList = [];\n dataSource: any;\n currentPage = 1;\n length = 0;\n pageSize = 0;\n typeStatus: any = '';\n\n constructor(public resourcesService: ResourcesService, private dialog: MatDialog,\n public router: Router, public auth: AuthService, private alertsService: AlertsService) { }\n\n ngOnInit(): void {\n this.getResources();\n }\n getResources() {\n this.resourcesService.getResources('resources', {}).subscribe(res => {\n this.length = res.total;\n this.pageSize = res.per_page;\n this.resourceList = res;\n this.dataSource = new MatTableDataSource(res);\n });\n }\n\n createResource() {\n this.dialog.open( ResourcesCreateComponent, {\n width: '350px',\n data: {action: 'Crear'}\n }).afterClosed().subscribe(res => {\n this.getResources();\n });\n }\n\n\n editResource(row) {\n this.dialog.open( ResourcesCreateComponent, {\n width: '350px',\n data: {action: 'Editar', row}\n }).afterClosed().subscribe(res => {\n if (res) {\n this.getResources();\n }\n });\n }\n\n removeResource(id) {\n this.alertsService.alertConfirm('¿Deseas eliminar este recurso?').then((result) => {\n if (result.isConfirmed) {\n this.resourcesService.removeResources(id).subscribe((res: any) => {\n this.alertsService.alertSuccess('Eliminado', res);\n this.getResources();\n });\n }\n });\n }\n\n createResourceType() {\n this.dialog.open( ResourcesTypesComponent, {\n width: '500px',\n data: {action: 'Crear'}\n }).afterClosed().subscribe(res => {\n if (res) {\n this.getResources();\n }\n });\n }\n\n createResourceRules(id) {\n this.dialog.open( ResourcesRulesComponent, {\n width: '500px',\n data: {action: 'Crear', id}\n }).afterClosed().subscribe(res => {\n if (res) {\n this.getResources();\n }\n });\n }\n\n getPaginatorData(e) {\n this.currentPage = e.pageIndex + 1;\n this.getResources();\n }\n\n}\n","
\n

Recursos

\n
\n \n \n \n
\n
\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
Acciones \n \n \n \n Nombre {{element.name}} Tipo {{element.type.name}}
No hay reservas disponibles
\n \n \n \n
\n
","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'status'\n})\nexport class StatusPipe implements PipeTransform {\n\n transform(value: unknown, ...args: unknown[]): unknown {\n let object = results.find(e=>{return e.key === Number(value)})\n return object? object.name : 'N/A';\n }\n\n}\nconst results=[{key:1, name: 'Pendiente'}, {key:2, name: 'Aprobado'}, {key:3, name: 'Rechazado'}]\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MailService } from '../../../services/rest/mail.service';\n\n@Component({\n selector: 'app-view-mail',\n templateUrl: './view-mail.component.html',\n styleUrls: ['./view-mail.component.sass']\n})\nexport class ViewMailComponent implements OnInit {\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public mailService: MailService) { }\n\n ngOnInit(): void {\n const data = new FormData();\n if (this.data.menu === 'sent') {\n data.append ( 'emailId', this.data.data.emailId);\n } else if (this.data.menu === 'queue' || this.data.menu === 'historic' || this.data.menu === 'search'){\n data.append ( 'emailId', this.data.data.id);\n }\n this.mailService.postObtenerCorreo(data).subscribe((respo) => {\n if (!this.data.data.cuerpo){\n this.data.data.cuerpo = respo[0].cuerpo\n }\n })\n }\n\n}\n","
\n \n \n \n \n

Para: {{data.data.para}}

\n

Asunto: {{data.data.asunto}}

\n \n \n
\n
\n
\n \n
\n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { EmailService } from '../../services/email.service';\nimport { TrayService } from '../../services/tray.service';\nimport { MatSelectChange } from '@angular/material/select';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\nimport { Location } from '@angular/common';\n\n@Component({\n selector: 'app-assign-folder-user',\n templateUrl: './assign-folder-user.component.html',\n styleUrls: ['./assign-folder-user.component.css']\n})\nexport class AssignFolderUserComponent implements OnInit {\n adviserSelected: number = null;\n emailConfigSelected: number = null;\n advisersToRolManagerEmail: any[] = [];\n baseFirstList: any[] = [];\n baseSecondList: any[] = [];\n firstList: any[] = [];\n secondList: any[] = [];\n emailsConfig: any[] = [];\n\n constructor(\n private alertService: AlertsService,\n private emailService: EmailService,\n private trayService: TrayService,\n private matSnackBar: MatSnackBar,\n private authService: AuthService,\n private location: Location\n ) { }\n\n ngOnInit(): void {\n this.getEmailsConfigByRol();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-01-24\n * Metodo que filtra las listas a traves de una cadena de texto.\n * @param $event Evento emitido por el componente hijo. \n */\n runFilterList($event: any): void {\n if ($event.name === 'FIRST') {\n if ($event.value !== '') this.firstList = this.baseFirstList.filter(item => item.name.toLowerCase().includes($event.value.toLowerCase()));\n else this.firstList = this.baseFirstList;\n } else {\n if ($event.value !== '') this.secondList = this.baseSecondList.filter(item => item.name.toLowerCase().includes($event.value.toLowerCase()));\n else this.secondList = this.baseSecondList;\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-24\n * Metodo que trae las configuraciones de las listas del componente hijo.\n * @param $event Evento emitido por el componente hijo. \n */\n saveConfig($event: any): void {\n const dataAssignTrays = {\n id_rrhh: this.adviserSelected,\n data: $event.secondList.map((item: any) => {\n return { id_bandeja: item.id }\n }),\n type: 2,\n id_email_config: this.emailConfigSelected\n };\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.trayService.assignTraysForUser(dataAssignTrays).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.cancelProcess();\n });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-24\n * Metodo que emite la cancelacion del proceso. \n */\n cancelProcess(): void {\n this.location.back();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-24\n * Metodo que setea los items entre las listas. \n * @param $event Evento emitido por el componente hijo. \n */\n updateList($event: any): void {\n if ($event.name === 'FIRST') {\n $event.list.forEach((itemList: any) => {\n this.secondList.push(itemList);\n this.firstList = this.firstList.filter(item => itemList.id !== item.id);\n this.baseFirstList = this.baseFirstList.filter(item => itemList.id !== item.id);\n });\n } else {\n $event.list.forEach((itemList: any) => {\n this.firstList.push(itemList);\n this.secondList = this.secondList.filter(item => itemList.id !== item.id);\n this.baseSecondList = this.baseSecondList.filter(item => itemList.id !== item.id);\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-24\n * Metodo que trae las carpetas ya asignadas del usuario seleccionado en el select.\n * @param $event Evento emitido por el select del formulario. \n */\n onChangeSelectedAdviser($event: MatSelectChange): void {\n this.trayService.getTraysByUser($event.value, 2, this.emailConfigSelected).subscribe(resByUser => {\n this.baseSecondList = resByUser.data.map((item: any) => { return { id: item.id_bandeja, name: item.name } });\n this.secondList = this.baseSecondList;\n this.trayService.getTrays(null, '', false, this.emailConfigSelected, 2).subscribe(resAllTrays => {\n this.baseFirstList = resAllTrays.data;\n this.baseSecondList.forEach(itemSecondList => {\n this.baseFirstList = this.baseFirstList.filter(itemFirstList => itemSecondList.id !== itemFirstList.id);\n });\n this.firstList = this.baseFirstList;\n });\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-24\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-24\n * Metodo que trae los agentes asociados a una cuenta de correo seleccionado. \n * @param $event Evento emitido por el campo. \n */\n onChangeSelectAccountEmail($event: MatSelectChange): void {\n this.emailConfigSelected = $event.value;\n this.adviserSelected = null;\n this.emailService.getConfigEmailByUser(null, this.emailConfigSelected, 'false').subscribe(res => {\n this.advisersToRolManagerEmail = res.data;\n });\n }\n}","
\n
\n \n Regresar\n
\n
\n
\n Asignación de carpetas\n
\n
\n

\n En este espacio podrás asignar las carpetas a sus respectivos asesores, no olvides,\n
\"El respeto y la empatía son clave\".\n

\n
\n
\n
\n
\n \n Cuenta de correo\n \n {{ item.name\n }}\n \n \n
\n
\n \n Asesores\n \n {{ item.name_user_asignado }}\n \n \n
\n
\n \n \n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { CrudService } from 'src/app/shared/basic-crud-page-service/crud.service';\nimport { Paginator } from 'src/app/shared/basic-table/type';\nimport { environment } from 'src/environments/environment';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\nconst { GESTIONADOR_CORREOS } = environment;\n\n@Component({\n selector: 'app-view-emails-state',\n templateUrl: './view-emails-state.component.html',\n styleUrls: ['./view-emails-state.component.css']\n})\nexport class ViewEmailsStateComponent implements OnInit {\n dataTable: any[] = [];\n configPaginator: Paginator = { length: 0, pageIndex: 0, pageSize: 5 };\n messageLoading: string = 'No existe información relacionada';\n\n constructor(\n private crudService: CrudService,\n private alertService: AlertsService,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n ngOnInit(): void {\n this.getEmailsByStateSelected();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-10-30\n * Metodo que consulta los correos por estado seleccionado. \n */\n getEmailsByStateSelected(): void {\n this.dataTable = [];\n this.messageLoading = 'Actualizando información...';\n this.crudService.getData({\n url: `${GESTIONADOR_CORREOS}dashboard/table_estados_detail`,\n filters: {\n emailConfig: this.data.emailConfig,\n month: this.data.month,\n year: this.data.year,\n state: this.data.state,\n },\n paginator: this.configPaginator\n }).subscribe(res => {\n this.dataTable = res.data.data;\n this.configPaginator.length = res.data.total;\n this.messageLoading = this.dataTable.length === 0 && 'No existe información relacionada'; \n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-30\n * Metodo ejecuta la alerta para mostrar mas información. \n * @param $event Evento emitido por el componente hijo. \n */\n onClickButtonTableMoreInfo($event: any): void {\n this.alertService.alertSuccess(\n 'Más información',\n `\n
\n
Asunto: ${$event.element.asunto}
\n
Bandeja: ${$event.element.bandeja}
\n
De: ${$event.element.de}
\n
Para: ${$event.element.para}
\n
Fecha: ${$event.element.fecha_Hora}
\n
Fecha cierre: ${$event.element.fecha_cierre ? $event.element.fecha_cierre : 'N/R'}
\n
Diferencia: ${$event.element.diferencia}
\n
Estado: ${$event.element.estado}
\n
\n `,\n { timer: null, icon: 'info' }\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-30\n * Metodo que actualiza el estado de la paginación.\n * @param $event Evento emitido por el componente hijo.\n */\n onChangePage($event: Paginator): void {\n this.configPaginator = $event;\n this.getEmailsByStateSelected();\n }\n}","
\n
Listado de correos
\n \n \n \n
","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\n\nconst REPORTS_URL = environment.REPORTS_URL;\nconst REPORTSS_URL = environment.REPORTSS_URL;\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportsReportService {\n\n constructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-03-04\n * Servicio que lista todos los reportes\n * @param reportKey key de powerbi a visualizar\n */\n getReports(): Observable {\n return this.http.get(`${REPORTS_URL}reports`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-03-04\n * Servicio que lista todos los reportes\n * @param reportKey key de powerbi a visualizar\n */\n getReportsByUser(rrhh_id): Observable {\n return this.http.get(`${REPORTS_URL}report/user/${rrhh_id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-25\n * Servicio que lista todos los groupes del aplicativo ciu\n * @param reportKey key de powerbi a visualizar\n */\n getReport(reportKey: string): Observable {\n return this.http.get(`${REPORTSS_URL}report/tokens?key=${reportKey}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-03-07\n * Servicio que actualiza o crea nuevos permisos de reortes\n * @param form formulario de data a actualizar\n */\n saveOrUpdateReport(form: string): Observable {\n return this.http.post(`${REPORTS_URL}report/user/save`, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Subscription } from 'rxjs';\nimport { ControlService } from 'src/app/modules/calidad/services/control.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport Swal from 'sweetalert2';\nimport { AgregarAgenteComponent } from '../agregar-agente/agregar-agente.component';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-tabla-grupo',\n templateUrl: './tabla-grupo.component.html',\n styleUrls: ['./tabla-grupo.component.sass']\n})\nexport class TablaGrupoComponent implements OnInit, OnDestroy {\n private uuid = 'a42cd65c-9309-11ee-b9d1-0242ac120003';\n public config: any;\n\n @Input() idGrupo;\n dataSource = new MatTableDataSource();\n selection = new SelectionModel(true, []);\n displayedColumns:string[] = ['acciones','id_agente','nombre_agente','numero_documento'];\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions = [5,10,25,50,100];\n @ViewChild(MatPaginator) paginator:MatPaginator;\n\n //Filtros\n filtroNombre:string = '';\n filtroCedula:string = '';\n\n //Observable para los cambios de la tabla\n subscription:Subscription;\n\n constructor(\n private dialog:MatDialog,\n private controlService:ControlService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.getAsesoresGrupo(this.page,this.pageSize);\n this.subscription = this.controlService.refresh$.subscribe(()=>{\n this.getAsesoresGrupo(this.page,this.pageSize);\n this.selection.clear();\n });\n }\n\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n\n pageEvent(event:any){\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getAsesoresGrupo(this.page,this.pageSize);\n }\n\n addAgent(){\n const agenteRef = this.dialog.open(AgregarAgenteComponent,{\n width: '732px',\n disableClose: true,\n data:{\n idGrupo: this.idGrupo,\n agentes: this.dataSource.data,\n }\n });\n }\n\n getAsesoresGrupo(page,pageSize){\n const params = {\n nombre: '',\n cedula: '',\n idGrupo: this.idGrupo,\n numeroReg: pageSize,\n page\n }\n\n if (this.filtroNombre != '') {\n params.nombre = this.filtroNombre;\n }\n\n if (this.filtroCedula != '' && this.filtroCedula != null) {\n params.cedula = this.filtroCedula;\n }\n this.controlService.getAsesoresGrupo(params).subscribe((resp:any)=>{\n this.dataSource.data = resp.data;\n this.length = resp.total;\n })\n }\n\n filtro(){\n this.paginator.firstPage();\n this.getAsesoresGrupo(this.page,this.pageSize);\n }\n\n /** Whether the number of selected elements matches the total number of rows. */\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n /** Selects all rows if they are not all selected; otherwise clear selection. */\n masterToggle() {\n if (this.isAllSelected()) {\n this.selection.clear();\n return;\n }\n\n this.selection.select(...this.dataSource.data);\n }\n\n /** The label for the checkbox on the passed row */\n checkboxLabel(row?: any): string {\n if (!row) {\n return `${this.isAllSelected() ? 'deselect' : 'select'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.position + 1}`;\n }\n\n deleteAsesores(){\n Swal.fire({\n position:'center',\n width:'866px',\n icon: 'warning' ,\n title: '¿Desea eliminar los asesores seleccionados?',\n text: '¿Deseas eliminar permanentemente los agentes seleccionados? Recuerda que esta acción será definitiva y no se podrá deshacer.',\n showCancelButton:true,\n reverseButtons:true,\n confirmButtonText:'Eliminar',\n cancelButtonText:'Cancelar',\n }).then(result=>{\n if (result.isConfirmed) {\n const data = {\n asesores: this.selection.selected.map(seleccion=>{\n return {id:seleccion.usuario_id}\n }),\n idGrupo: this.idGrupo,\n }\n this.controlService.deleteAsesorGrupo(data).subscribe((resp:any)=>{\n })\n }\n\n })\n }\n\n}\n","
\n
\n
\n \n {{config.labels.agentName}}\n \n \n \n \n {{config.labels.agentID}}\n \n \n \n
\n
\n \n \n
\n
\n
\n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n
\n \n \n \n \n \n {{config.labels.agentID}}{{ element.id }}{{config.labels.agentName}}{{ element.nombre_usuario }}{{config.labels.documentNumber}}{{ element.cedula_usuario }}
{{config.labels.noRecords}}
\n\n \n
\n
\n","import { Injectable } from \"@angular/core\";\nimport { IMqttMessage, MqttConnectionState, MqttService } from 'ngx-mqtt';\nimport { Observable, Subscription, of } from \"rxjs\";\nimport { MQTT_SERVICE_OPTIONS } from \"./config/mqtt.config\";\nimport { QoS } from 'mqtt-packet'\nimport { environment } from 'src/environments/environment';\nimport { map } from \"rxjs/operators\";\nimport { NotificacitonMqtt } from \"./interfaces/mqtt.response.interface\";\nimport { AuthService } from \"src/app/core/services/rest/auth.service\";\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MqttSoulService {\n\n /**\n * QoS = Quality of Service\n */\n \n /**\n * 0 = Maximo una vez, se entrega el mensaje maximo una vez o no se entrega (Se peude dar perdida de informacion si el cliente esta desconectado o el servidor no logra dar conexcion)\n * 1 = El mensaje se entrega solo 1 vez, El mensaje Siempre se entrega como minimo una vez encaso de no tener conexcion se queda en cola hasta que se de como recibido\n * 2 = El mesaje siempre se envia y se entrega, Envio de mensje mas seguro pero mas lento\n */\n private qoS:QoS = 1\n\n private mqttConnectionSub!: Subscription;\n private subs:Subscription[]=[];\n private chanelName:string = \"/notification/\"\n private chanelLeads:String= \"notification-lead\"\n\n private stateConnection;\n\n constructor(\n private ngxMqttService: MqttService,\n private authService: AuthService,\n\n ){\n if(this.stateConnection !== 1 && this.stateConnection !== 2 ){\n this.connectMqtt()\n }\n \n }\n\n /**\n * Metodo que se encarga de asignar el Qos por el cual se emitiran las notificaciones MQTT\n * @param qos:QoS {QoS} 0|1|2 tipo de QoS a enviar\n */\n set setQoS(qos:QoS){\n this.qoS = qos\n }\n\n /**\n * Metodo que permite cambiar el canal por defecto al cual se va a conectar\n */\n set setChanelName(chanelName:string){\n this.chanelName = chanelName\n }\n\n set setChanelLeads(chanelLeads:string){\n this.chanelLeads = chanelLeads\n }\n\n /**\n * Metodo que se encarga de estabalcer conexcion con el servidor Mqtt\n * @author Juan David Guerrero Vargas\n * @returns {Observable} Observable Estado dela conexion\n */\n private connectMqtt(){\n try {\n if (this.mqttConnectionSub && !this.mqttConnectionSub.closed) {\n this.mqttConnectionSub.unsubscribe();\n if(environment.production == false){\n console.log(\"Desconectado\");\n }\n return;\n }\n\n this.ngxMqttService.connect(MQTT_SERVICE_OPTIONS)\n this.mqttConnectionSub = this.ngxMqttService.state.subscribe(\n (mqttState:MqttConnectionState)=>{\n switch (mqttState) {\n case MqttConnectionState.CLOSED:\n if(environment.production == false){\n console.log(\"Estado Mqtt: Conexion Cerrada, reintentando...\");\n }\n this.stateConnection = 0\n break;\n case MqttConnectionState.CONNECTING:\n if(environment.production == false){\n console.log(\"Estado Mqtt: Conectando...\");\n }\n this.stateConnection = 1\n break;\n case MqttConnectionState.CONNECTED:\n if(environment.production == false){\n console.log(\"Estado Mqtt: Conectado\");\n }\n this.stateConnection = 2\n break;\n }\n }\n );\n this.subs.push(this.mqttConnectionSub) \n } catch (error) {\n console.error(\"Error en conexion Servidor notificaciones\", error);\n }\n \n }\n\n /**\n * Metodo que se encarga de obtener cual sera el canal a escuchar del servidor MQTT\n * @author Juan David Guerrero Vargas\n * @param channelName:string {string} Canal a escuchar el servidor Mqtt\n * @returns {Observable} Observable \n */\n public getChannel(channelName:string): Observable{\n return this.ngxMqttService.observe(channelName)\n }\n\n /**\n * Metodo que se encarga de obtener la subscripcion de mensajes del MQTT\n * @author Juan David Guerrero Vargas\n * @param chanelName:string {string} i del canar del usuario a consultar o nombre en especifico del canal\n * @returns {Observable} Mensaje emitido por MQTT\n */\n public getSubcriptionChannel():Observable{\n return this.getChannel(`${this.chanelName}${this.authService.getUser().rrhh_id}` )\n .pipe(\n map( (message:IMqttMessage) => message.payload ? new TextDecoder('utf-8').decode(message.payload) : \"\" ),\n map( (msg:string) => msg ? JSON.parse(msg) as NotificacitonMqtt : null ) ,\n ) \n }\n\n /**\n * Metodo que se encarga de obtener las notificaciones Leads\n * @author Juan David Guerrero Vargas\n * @returns {Observable} Observable\n */\n public getChannelNotificacionsLeads():Observable{\n return this.getChannel(`${this.chanelLeads}` )\n .pipe(\n map( (message:IMqttMessage) => message.payload ? new TextDecoder('utf-8').decode(message.payload) : \"\" ),\n map( (msg:string) => msg ? JSON.parse(msg) as NotificacitonMqtt : null ) ,\n ) \n }\n\n\n /**\n * Metodo que se encarga de enviar un mensaje a un canla en especifico del servidor Mqtt\n * @author Juan David Guerrero Vargas\n * @param channelName:string {string}\n * @param message:any {any}\n */\n public sendMessage(channelName:string, message:any):void{\n this.ngxMqttService.unsafePublish(`${channelName}`, `${message}`,{qos:this.qoS, retain:true})\n }\n\n /**\n * Metodo que se encarga de agregar la subcripcion del canal par asu eliminacion\n * @author Juan David Guerrero Vargas\n * @param newSub:Subscription {Subscription} subscripcion aosicaida al canal\n */\n public addSubscriptions(newSub:Subscription):void{\n this.subs.push(newSub)\n }\n\n /**\n * Metodo que se encarga de eliminar las subscriciones \n * @author Juan David Guerrero Vargas\n * @returns {Boolean} Boolean true en casod e eliminacion False en caso de error en limpieza\n */\n public deleteSubscriptions():boolean{\n try {\n if(this.subs.length > 0){\n this.subs.forEach((subcrip)=> subcrip.unsubscribe());\n }\n return true;\n } catch (error) {\n return false;\n }\n }\n\n}","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport * as moment from 'moment';\n\nconst { GESTIONADOR_CORREOS_PYTHON } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TeamsService {\n\n constructor(private httpClient: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-03-04\n * Metodo que retorna los errores generados por HTTP. \n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-04\n * Metodo que retorna los eventos de calendario de una cuenta de correo. \n * @param idEmailAccount Cuenta de correo seleccionada.\n * @param dateStart Fecha inicial dentro del calendario.\n * @param dateEnd Fecha final de calendario. \n */\n getCalendarByEmailAccount(idEmailAccount: number, dateStart: string, dateEnd: string): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS_PYTHON}Calendar/list_event/${idEmailAccount}?start=${dateStart}&end=${dateEnd}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-04\n * Metodo que retorna la informacion de un evento seleccionado. \n * @param idEmailAccount Cuenta de correo seleccionada.\n * @param idEvent Id del evento. \n */\n getEvent(idEmailAccount: number, idEvent: string): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS_PYTHON}Calendar/show/${idEmailAccount}?event=${idEvent}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-04\n * Metodo que guarda o actualiza un evento en el sistema. \n * @param data Información del formulario.\n * @param typeManager Tipo de gestion que se va a realizar. \n */\n saveOrUpdateEvent(data: any, typeManager: string = 'save'): Observable {\n const formatData = this.generateInfoToSaveOrUpdate(typeManager, data);\n const url = typeManager === 'save' ? `${GESTIONADOR_CORREOS_PYTHON}Calendar/create_event` : `${GESTIONADOR_CORREOS_PYTHON}Calendar/update_event`;\n return this.httpClient.post(url, formatData).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-04\n * Metodo que elimina un evento del sistema. \n * @param idEmailAccount Cuenta de correo seleccionada.\n * @param idEvent Id del evento.\n */\n deleteEvent(idEmailAccount: number, idEvent: string): Observable {\n return this.httpClient.delete(`${GESTIONADOR_CORREOS_PYTHON}Calendar/delete_event/${idEmailAccount}?event=${idEvent}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-04\n * Metodo que formatea la informacion del formulario para su respectivo envio. \n * @param typeManager Tipo de gestion a realizar.\n * @param dataForm Informacion proveniente del formulario.\n */\n generateInfoToSaveOrUpdate(typeManager: string = 'save', dataForm: any): any {\n const dataFormDates = {\n dateStart: moment(dataForm.dateStart).format('YYYY-MM-DD'),\n dateEnd: moment(dataForm.dateEnd).format('YYYY-MM-DD'),\n timeStart: moment(dataForm.timeStart, 'HH:mm').format('HH:mm:ss'),\n timeEnd: moment(dataForm.timeEnd, 'HH:mm').format('HH:mm:ss'),\n };\n const data = {\n id_email: dataForm.emailAccount,\n subject: dataForm.title,\n location: 'Teams',\n is_all_day: false,\n is_online: dataForm.linkByTeams,\n start: moment(`${dataFormDates.dateStart} ${dataFormDates.timeStart}`).format('YYYY-MM-DD HH:mm:ss'),\n end: moment(`${dataFormDates.dateEnd} ${dataFormDates.timeEnd}`).format('YYYY-MM-DD HH:mm:ss'),\n description: dataForm.description,\n attendees: dataForm.participants.map((item: any) => item.name).join(),\n event: false,\n recurrence_interval: dataForm.repeatEach,\n recurrence_end: dataForm.limitDate !== '' ? moment(dataForm.limitDate).format('YYYY-MM-DD') : '',\n recurrence_type: null,\n recurrence_month: null,\n recurrence_days_of_week: null,\n typeOptionDayMonth: dataForm.typeOptionDayMonth,\n recurrence_day_of_month: null\n };\n if (dataForm.typeOfRecurrence === 'Ninguna') {\n data.recurrence_type = false;\n data.recurrence_month = false;\n data.recurrence_day_of_month = false;\n data.recurrence_days_of_week = '';\n } else if (dataForm.typeOfRecurrence === 'Diario') {\n data.recurrence_type = 'day';\n data.recurrence_month = false;\n data.recurrence_day_of_month = false;\n data.recurrence_days_of_week = '';\n } else if (dataForm.typeOfRecurrence === 'Semanal') {\n data.recurrence_type = 'week';\n data.recurrence_month = false;\n data.recurrence_day_of_month = false;\n data.recurrence_days_of_week = dataForm.days.join()\n } else {\n if (data.typeOptionDayMonth === 'Día del mes') {\n data.recurrence_type = 'month';\n data.recurrence_month = true;\n data.recurrence_day_of_month = dataForm.recurrenceDaysInMonth;\n data.recurrence_days_of_week = '';\n } else {\n data.recurrence_type = 'month';\n data.recurrence_month = true;\n data.recurrence_day_of_month = false;\n data.recurrence_days_of_week = dataForm.days.join();\n }\n }\n if (typeManager === 'update') data.event = dataForm.id;\n return data;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-14\n * Metodo que acepta o rechaza un evento. \n * @param typeManager Tipo de gestion a realizar.\n * @param idEmailAccount Cuenta de correo seleccionada.\n * @param data Informacion adicional para la peticion. \n */\n acceptOrDeclineEventMeeting(typeManager: string, idEmailAccount: number, data: any): Observable {\n const url = typeManager === 'Aceptar Meeting' ? `${GESTIONADOR_CORREOS_PYTHON}Calendar/decline_accept_event/${idEmailAccount}/accept` : `${GESTIONADOR_CORREOS_PYTHON}Calendar/decline_accept_event/${idEmailAccount}/decline`;\n return this.httpClient.put(url, data).pipe(\n catchError(this.handleError)\n );\n }\n}","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { SchedulesModule } from '../modules/schedules/schedules.module';\nimport { PhoneComponent } from '../shared/phone/phone.component';\n\nconst routes: Routes = [\n {\n path: '',\n loadChildren: () =>\n import('../modules/ciu/ciu.module').then((m) => m.CiuModule),\n },\n {\n path: 'bpms',\n loadChildren: () =>\n import('../modules/bpms/bpms.module').then((m) => m.BpmsModule),\n },\n {\n path: 'ciu',\n loadChildren: () =>\n import('../modules/ciu/ciu.module').then((m) => m.CiuModule),\n },\n {\n path: 'compras',\n loadChildren: () =>\n import('../modules/compras/compras.module').then((m) => m.ComprasModule),\n },\n {\n path: 'crm',\n loadChildren: () =>\n import('../modules/crm/crm.module').then((m) => m.CrmModule),\n },\n {\n path: 'crm-axa-colpatria',\n loadChildren: () =>\n import('../modules/crm-axa-colpatria/crm-axa-colpatria.module').then(\n (m) => m.CrmAxaColpatriaModule\n ),\n },\n {\n path: 'nomina',\n loadChildren: () =>\n import('../modules/nomina/nomina.module').then((m) => m.NominaModule),\n },\n {\n path: 'rrhh',\n loadChildren: () =>\n import('../modules/rrhh/rrhh.module').then((m) => m.RrhhModule),\n },\n {\n path: 'cartera',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-wom',\n loadChildren: () =>\n import('../modules/cartera-wom/cartera-wom.module').then(\n (m) => m.CarteraWomModule\n ),\n },\n {\n path: 'cartera-air-e',\n loadChildren: () =>\n import('../modules/cartera-air-e/cartera-air-e.module').then(\n (m) => m.CarteraAireModule\n ),\n },\n {\n path: 'cartera-aaa',\n loadChildren: () =>\n import('../modules/cartera-aaa/cartera-aaa.module').then(\n (m) => m.CarteraAaaModule\n ),\n },\n {\n path: 'livechat',\n loadChildren: () =>\n import('../modules/livechat/livechat.module').then(\n (m) => m.LivechatModule\n ),\n },\n {\n path: 'juridica',\n loadChildren: () =>\n import('../modules/juridica/juridica.module').then(\n (m) => m.JuridicaModule\n ),\n },\n {\n path: 'portal',\n loadChildren: () =>\n import('../modules/portal/portal.module').then((m) => m.PortalModule),\n },\n {\n path: 'inventarios',\n loadChildren: () =>\n import('../modules/inventarios/inventarios.module').then(\n (m) => m.InventariosModule\n ),\n },\n {\n path: 'calidad',\n loadChildren: () =>\n import('../modules/calidad/calidad.module').then((m) => m.CalidadModule),\n },\n {\n path: 'coaching',\n loadChildren: () =>\n import('../modules/coaching/coaching.module').then(\n (m) => m.CoachingModule\n ),\n },\n {\n path: 'reservas',\n loadChildren: () =>\n import('../modules/reservas/reservas.module').then(\n (m) => m.ReservasModule\n ),\n },\n {\n path: 'agendamientos',\n loadChildren: () =>\n import('../modules/schedules/schedules.module').then(\n (m) => m.SchedulesModule\n ),\n },\n {\n path: 'modular_ds',\n loadChildren: () =>\n import('../modules/modular-ds/modular-ds.module').then(\n (m) => m.ModularDsModule\n ),\n },\n {\n path: 'voicebot',\n loadChildren: () =>\n import('../modules/voicebot/voicebot.module').then(\n (m) => m.VoicebotModule\n ),\n },\n {\n path: 'soul_bi',\n loadChildren: () =>\n import('../modules/soul_bi/soul_bi.module').then((m) => m.SoulBiModule),\n },\n {\n path: 'reportes',\n loadChildren: () =>\n import('../modules/reports/reports.module').then((m) => m.ReportsModule),\n },\n {\n path: 'ojt',\n loadChildren: () =>\n import('../modules/ojt/ojt.module').then((m) => m.OjtModule),\n },\n {\n path: 'sable',\n loadChildren: () =>\n import('../modules/sable/sable.module').then((m) => m.SableModule),\n },\n {\n path: 'auditoria',\n loadChildren: () =>\n import('../modules/auditoria/auditoria.module').then(\n (m) => m.AuditoriaModule\n ),\n },\n {\n path: 'estandares',\n loadChildren: () =>\n import('../modules/standards/standards.module').then(\n (m) => m.StandardsModule\n ),\n },\n {\n path: 'crm-cial',\n loadChildren: () =>\n import('../modules/crm-cial/crm-cial.module').then(\n (m) => m.CrmCialModule\n ),\n },\n {\n path: 'rpa',\n loadChildren: () =>\n import('../modules/gestion-rpa/gestion-rpa.module').then(\n (m) => m.GestionRpaModule\n ),\n },\n {\n path: 'crm2',\n loadChildren: () =>\n import('../modules/crm_v2/crm.module').then((m) => m.CrmModule2),\n },\n {\n path: 'gestionador-correos',\n loadChildren: () =>\n import('../modules/email-manager/email-manager.module').then(\n (m) => m.EmailManagerModule\n ),\n },\n {\n path: 'pqrs_soul',\n loadChildren: () =>\n import('../modules/pqrs-soul/pqrs-soul.module').then(\n (m) => m.PqrsSoulModule\n ),\n },\n {\n path: 'encuestas',\n loadChildren: () =>\n import('../modules/encuestas/encuestas.module').then(\n (m) => m.EncuestasModule\n ),\n },\n {\n path: 'cartera-popular-2023',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-falabella-2020',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-falabella-2021',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-serfinanza-2023',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-propia-tuya-comercial-agosto-2022',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-propia-tuya-comercial-junio-2022',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-serfinanza-bogota',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-propia-tuya-comercial-2021',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-propia-tuya-judicializada-2022',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-propia-banco-popular-2021',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-propia-banco-popular-2020',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-propia-tuya-judicializada-2021',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-natura',\n loadChildren: () =>\n import('../modules/cartera-natura/cartera-natura.module').then(\n (m) => m.CarteraNaturaModule\n ),\n },\n {\n path: 'cartera-entre-amigos',\n loadChildren: () =>\n import(\n '../modules/cartera-entre-amigos/cartera-entre-amigos.module'\n ).then((m) => m.CarteraEntreAmigosModule),\n },\n {\n path: 'crm_nsdp',\n loadChildren: () =>\n import('../modules/crm_NSDP/crm.module').then((m) => m.CrmModuleNSDP),\n },\n {\n path: 'cartera-movistar',\n loadChildren: () =>\n import('../modules/cartera-movistar/cartera-movistar.module').then(\n (m) => m.CarteraMovistarModule\n ),\n },\n {\n path: 'cartera-directv',\n loadChildren: () =>\n import('../modules/cartera-directv/cartera-directv.module').then(\n (m) => m.CarteraDirectvModule\n ),\n },\n {\n path: 'tuya_demo',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-movistar-premium',\n loadChildren: () =>\n import(\n '../modules/cartera-movistar-premium/cartera-movistar-premium.module'\n ).then((m) => m.CarteraMovistarPremiumModule),\n },\n {\n path: 'cartera-propia-banco-falabella-2024',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'speech-analytics',\n loadChildren: () =>\n import('../modules/speech-analytics/speech-analytics.module').then(\n (m) => m.SpeechAnalyticsModule\n ),\n },\n {\n path: 'banco-bogota-2024',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'site-mapping',\n loadChildren: () =>\n import('../modules/site-mapping/site-mapping.module').then(\n (m) => m.SiteMappingModule\n ),\n\n },\n {\n path: 'cartera-serfinanza-2024',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then((m) => m.CarteraModule),\n },\n {\n path: 'cartera-directv-cobranza',\n loadChildren: () =>\n import('../modules/cartera-directv-cobranza/cartera-directv-cobranza.module').then(\n (m) => m.CarteraDirectvCobranzaModule\n ),\n },\n {\n path: 'cartera-fidupopular',\n loadChildren: () =>\n import('../modules/cartera-fidupopular/cartera-fidupopular.module').then(\n (m) => m.CarteraFidupopularModule\n ),\n },\n {\n path: 'allinone-chat',\n loadChildren: () =>\n import('../modules/allinone-chat/allinone-chat.module').then(\n (m) => m.AllinoneChatModule\n )\n },\n {\n path: 'banco-nu',\n loadChildren: () =>\n import('../modules/cartera/cartera.module').then(\n (m) => m.CarteraModule\n )\n },\n {\n path: 'phone',\n component: PhoneComponent\n },\n {\n path: 'soul-phone',\n loadChildren: () =>\n import('../modules/soul-phone-admin/soul-phone-admin.module').then(\n (m) => m.SoulPhoneAdminModule\n )\n },\n {\n path: 'meetings',\n loadChildren: () =>\n import('../modules/meetings/meetings.module').then(\n (m) => m.MeetingsModule\n ),\n },\n {\n path: 'managment-chat', \n loadChildren: () => \n import('../modules/managment-chat-soul/managment-chat-soul.module').then(\n (m) => m.ManagmentChatSoulModule\n )\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class MiosRoutingModule { }\n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nconst HEALTH_URL = environment.HEALTH_URL;\n@Injectable({\n providedIn: 'root'\n})\nexport class HealthService {\n\n constructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /*getBooking(isPage: number,size: number, page: number){\n return this.http.get(`${HEALTH_URL}campaigns/?paginate=${isPage}&n=${size}&page=${page}` )\n }\n postBooking(direction, form){\n return this.http.post(`${HEALTH_URL}${direction}`, form )\n }\n putBooking(direction, form){\n return this.http.put(`${HEALTH_URL}${direction}`, form )\n }*/\n\n getResources(direction, entries?) {\n const params = new HttpParams({ fromObject: entries });\n return this.http.get(`${HEALTH_URL}${direction}`, { params });\n }\n\n postResources(direction, form) {\n return this.http.post(`${HEALTH_URL}${direction}`, form);\n }\n putResources(direction, form) {\n return this.http.put(`${HEALTH_URL}${direction}`, form);\n }\n deleteResource(direction, id) {\n return this.http.delete(`${HEALTH_URL}${direction}/${id}`);\n }\n\n getTipicacion(id) {\n return this.http.get(`${HEALTH_URL}tipificationByAction/${id}`);\n }\n\n postReport(obj) {\n return this.http.post(`${HEALTH_URL}schedule/download`, obj, { responseType: 'blob' as 'json' });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-28\n * Servicio para busqueda de campaña de agendamientos\n * @param {id} number\n * @returns json\n */\n getCampaign(id: number): Observable {\n return this.http.get(`${HEALTH_URL}campaign/${id}`)\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-28\n * Servicio para busqueda de citas del cliente\n * @param {client_id} number\n * @param {page} number\n * @param {per_page} number\n * @returns json\n */\n getClientAppoinments( client_id,campaign_id, page, per_page){\n const httpOptions = {\n params: new HttpParams()\n .set('client_id', client_id || '')\n .set('campaign_id', campaign_id || '')\n .set('page', page || '')\n .set('per_page', per_page || 5)\n };\n return this.http.get(`${HEALTH_URL}client_appointments`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-28\n * Servicio para busqueda de citas del cliente\n * @param {id_schedule} number\n * @returns json\n */\n getHistoryById(id_schedule){\n const httpOptions = {\n params: new HttpParams()\n .set('id_schedule', id_schedule || '')\n };\n return this.http.get(`${HEALTH_URL}history/dating_history`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-02\n * Servicio para busqueda de tab de agendadas, confirmadas y canceladas\n * @param {filters} json\n * @returns json\n */\n getAgenda(filters){\n const httpOptions = {\n params: new HttpParams()\n .set('doctor_id', filters.doctor_id || '')\n .set('procedure_id', filters.procedure_id || '')\n .set('number_id', filters.number_id || '')\n .set('tap', filters.tap || '')\n .set('medical_center_id', filters.medical_center_id || '')\n .set('speciality_id', filters.speciality_id || '')\n .set('consulting_room_id', filters.consulting_room_id || '')\n .set('date_start', filters.date_start || '')\n .set('date_end', filters.date_end || '')\n .set('reason_id', filters.reason_id || '')\n .set('page', filters.page || '')\n .set('per_page', filters.per_page || 5)\n };\n return this.http.get(`${HEALTH_URL}schedules/medical_states`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-02\n * Servicio para busqueda de listado de especialidades\n * @returns json\n */\n getEspeciality(){\n return this.http.get(`${HEALTH_URL}speciality-service`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-02\n * Servicio para busqueda de listado de examenes\n * @returns json\n */\n getExams(){\n return this.http.get(`${HEALTH_URL}procedure`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-02\n * Servicio para busqueda de listado de salas\n * @returns json\n */\n getRooms(){\n return this.http.get(`${HEALTH_URL}consulting-room`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-05\n * Servicio para busqueda de listado de doctores\n * @returns json\n */\n getDoctors(){\n return this.http.get(`${HEALTH_URL}doctor`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-05\n * Servicio para busqueda de listado de tipificaciones de cancelación\n * @returns json\n */\n getTipifications(){\n return this.http.get(`${HEALTH_URL}tipification/cancel`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-09\n * Servicio para busqueda de listado de doctores por filtros\n * @param {filters} json\n * @returns json\n */\n getDoctorsBy(filters){\n const httpOptions = {\n params: new HttpParams()\n .set('doctor_id', filters.doctor_id || '')\n .set('medical_center_id', filters.medical_center_id || '')\n .set('speciality', filters.speciality || '')\n .set('number_id', filters.number_id || '')\n .set('name', filters.name || '')\n .set('procedure', filters.procedure || '')\n .set('page', filters.page || '')\n .set('per_page', filters.per_page || 5)\n };\n return this.http.get(`${HEALTH_URL}admin/manageDoctors`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-12\n * Servicio para crear un doctor\n * @param {body} json\n * @returns json\n */\n postDoctor(body){\n return this.http.post(`${HEALTH_URL}doctor`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-12\n * Servicio para busqueda de listado de procedimientos por filtros\n * @param {filters} json\n * @returns json\n */\n getProceduresBy(filters){\n const httpOptions = {\n params: new HttpParams()\n .set('duration', filters.duration || '')\n .set('procedure_id', filters.procedure_id || '')\n .set('medical_center_id', filters.medical_center_id || '')\n .set('speciality_id', filters.speciality_id || '')\n .set('page', filters.page || '')\n .set('per_page', filters.per_page || 5)\n };\n return this.http.get(`${HEALTH_URL}admin/manageProcedures`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-12\n * Servicio para crear un examen\n * @param {body} json\n * @returns json\n */\n postExam(body){\n return this.http.post(`${HEALTH_URL}procedure`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-12\n * Servicio para editar un examen\n * @param {body} json\n * @returns json\n */\n putExam(body){\n return this.http.post(`${HEALTH_URL}admin/updateProcedure`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-12\n * Servicio para busacar doctor por id\n * @param {id} number\n * @returns json\n */\n getDoctorById(id){\n return this.http.get(`${HEALTH_URL}doctor/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-13\n * Servicio para editar un doctor\n * @param {body} json\n * @returns json\n */\n putDoctor(body){\n return this.http.put(`${HEALTH_URL}doctor`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-13\n * Servicio para busqueda especialidades por doctor o campaña\n * @param {filters} json\n * @returns json\n */\n getSpecialityBy(filters){\n const httpOptions = {\n params: new HttpParams()\n .set('campaign_id', filters.campaign_id || '')\n .set('doctor_id', filters.doctor_id || '')\n };\n return this.http.get(`${HEALTH_URL}specialties/config`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Lina Hueso\n * @createdate 2022-12-02\n * Servicio para busqueda de especialidad por centro medico\n * @param {campaign_id} number\n * @returns json\n */\n getEspecialityByCampaign(campaign_id){\n return this.http.get(`${HEALTH_URL}speciality-service/campaign/${campaign_id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-12\n * Servicio para la asignación de especialidades y examenes del doctor\n * @param {body} json\n * @returns json\n */\n postDoctorEspecialities(body){\n return this.http.post(`${HEALTH_URL}admin/saveSpecialtyExam`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-12-12\n * Servicio para busqueda de listado de procedimientos por filtros\n * @param {filters} json\n * @returns json\n */\n getScheduleDoctor(filters){\n const httpOptions = {\n params: new HttpParams()\n .set('doctor_id', filters.doctor_id || '')\n .set('medical_center_id', filters.medical_center_id || '')\n .set('procedure_id', filters.procedure_id || '')\n .set('speciality_id', filters.speciality_id || '')\n .set('date_start', filters.date_start || '')\n .set('date_end', filters.date_end || '')\n .set('page', filters.page || '')\n .set('per_page', filters.per_page || 5)\n };\n return this.http.get(`${HEALTH_URL}seeSchedulesDoctor`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Lina Hueso\n * @createdate 2022-12-15\n * Servicio para buscar las especialidades asigandas del doctor con su procedimiento y clinica\n * @param {doctor_id} number\n * @returns json\n */\n getAssignedSpecialties(doctor_id){\n const httpOptions = {\n params: new HttpParams()\n .set('doctor_id', doctor_id || '')\n };\n return this.http.get(`${HEALTH_URL}admin/assignedSpecialties`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Lina Hueso\n * @createdate 2022-12-15\n * Servicio para buscar las especialidades asigandas del doctor con su procedimiento y clinica\n * @param {doctor_id} number\n * @param {medical_center_id} number\n * @param {speciality_id} number\n * @param {flag} string\n * @returns json\n */\n getAssignedSpecialtiesByCampaing(doctor_id,medical_center_id,speciality_id,flag){\n const httpOptions = {\n params: new HttpParams()\n .set('doctor_id', doctor_id || '')\n .set('medical_center_id', medical_center_id || '')\n .set('speciality_id', speciality_id || '')\n .set('flag', flag || '')\n\n };\n return this.http.get(`${HEALTH_URL}admin/assignedSpecialtiesByCampaing`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Lina Hueso\n * @createdate 2022-12-15\n * Servicio para buscar el doctor de acuerdo a la campaña\n * @param {medical_center_id} number\n * @returns json\n */\n doctorByCampaign(campaign){\n return this.http.get(`${HEALTH_URL}doctor/campaign/${campaign}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Lina Hueso\n * @createdate 2022-12-02\n * Servicio para busqueda de examen por especialidad\n * @param {speciality_id} number\n * @returns json\n */\n getProcedureBySpeciality(speciality_id){\n return this.http.get(`${HEALTH_URL}procedure/speciality/${speciality_id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2023-03-14\n * Servicio para eliminar horario del doctor\n * @param {id} number\n * @returns json\n */\n deleteDoctorSchedule(body){\n return this.http.post(`${HEALTH_URL}doctor-schedule/confirmed/delete`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\nimport { throwError, Observable } from 'rxjs';\nimport { buffer, catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst COMPRAS_URL = environment.COMPRAS_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrdenesService {\n\n constructor(private http: HttpClient,\n private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Jair Armando Celis Torrado\n * @createdate 2021-09-03\n * Servicio que lista todos las ordenes\n */\n getOrders(): Observable{\n return this.http.get(`${COMPRAS_URL}purchaseOrder/?paginate=0`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Consulta listado deordenes correspondiente\n * @param isPage\n * @param size pagina\n * @param page\n * @param nit nit de proveedor\n * @param states arreglo de estados\n * @param fecha fecha de creación\n * @param remission si traer remision o no\n * @returns\n */\n\n getOrdersPaginate(isPage : number,\n size : number,\n page : number,\n nit : string,\n states : number[],\n fecha : string,\n filterPurchaseOrderId: number = null,\n company : number = null,\n remission : boolean = false,\n razon: string,\n proveedor: any = null\n ): Observable{\n const data = {\n paginate : isPage,\n n : size,\n page : page,\n nit : nit,\n states : states,\n fecha : fecha,\n filterPurchaseOrderId,\n company,\n razon : razon,\n proveedor: proveedor\n }\n return this.http.post(`${COMPRAS_URL}purchaseOrder/filter${remission == true ? '?remission=true' : ''}` , data );\n }\n\n\n\n\n /**\n * @author Jair Armando Celis Torrado\n * @createdate 2021-09-03\n * Servicio que descarga en excel todas las ordenes\n */\n downloadOrders( params ): Observable{\n params[\"fecha_fin\"].setHours(23);\n return this.http.post(`${COMPRAS_URL}file/order-export`, params, {responseType: 'blob' as 'json'})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n saveOrder(ordenCompra: any): Observable{\n return this.http.post(`${COMPRAS_URL}purchaseOrder/`, ordenCompra)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n updateOrder(ordenCompra: any, idorder: any): Observable{\n return this.http.put(`${COMPRAS_URL}purchaseOrder/${idorder}`, ordenCompra)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n updateState(state: any, id:number): Observable{\n return this.http.put(`${COMPRAS_URL}purchaseOrder/update-state/${id}`, state)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n updateStateFrag(state: any, id:number): Observable{\n return this.http.put(`${COMPRAS_URL}purchaseOrderFrag/update-state/${id}`, state)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n saveOrderFrag(ordenCompra: any): Observable{\n return this.http.post(`${COMPRAS_URL}purchaseOrderFrag/`, ordenCompra)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n getOrderItems( idOrder:Number): Observable{\n return this.http.get(`${COMPRAS_URL}purchaseOrderItem/${idOrder}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-03-04\n * Servicio que lista las remisiones de una orden de compra\n */\n getRemission(idOrder:Number, idOrderFrag:Number): Observable{\n return this.http.get(`${COMPRAS_URL}purchaseOrder/remission/${idOrder}${idOrderFrag ? `/${idOrderFrag}` : '' }`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-03-04\n * Servicio que lista las remisiones de una orden de compra\n */\n updateRemission(remission:any, idOrderRemission:Number): Observable{\n return this.http.put(`${COMPRAS_URL}purchaseOrder/remission/${idOrderRemission}`, remission)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-03-04\n * Servicio que lista las remisiones de una orden de compra\n */\n updateRemissionItems(remissionItems:any): Observable{\n return this.http.post(`${COMPRAS_URL}purchaseOrder/remission/update-items`, remissionItems)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-03-04\n * Servicio que descarga pdf de la remisión\n */\n downloadOrderRemission(purchaseOrderId: number): Observable{\n return this.http.post(`${COMPRAS_URL}purchaseOrder/remission/download/${purchaseOrderId}`, null ,{observe: 'response', responseType: 'blob' as 'json'})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n downloadOrderRemissionFrag(purcharseOrderId: number,FragId: number): Observable{\n return this.http.post(`${COMPRAS_URL}purchaseOrder/remission/download/${purcharseOrderId}/${FragId}`, null ,{observe: 'response', responseType: 'blob' as 'json'})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * @author Jair Armando Celis Torrado\n * @createdate 2021-09-14\n * Servicio filtro de ordenes por fecha\n */\n searchOrdersByDate(params): Observable {\n return this.http.post(`${COMPRAS_URL}purchaseOrderByDate`, params )\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jair Armando Celis Torrado\n * @createdate 2021-09-15\n * Servicio que lista todos los estados existentes para las ordenes\n */\n getOrdersStates(): Observable {\n return this.http.get(`${COMPRAS_URL}purchaseOrderStates`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-18\n * Servicio que lista todos los estados existentes para las remisiones\n */\n getRemissionStates(): Observable {\n return this.http.get(`${COMPRAS_URL}purchaseOrder/remission/states`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jair Armando Celis Torrado\n * @createdate 2021-09-15\n * Servicio filtro de ordenes por estado\n */\n searchOrdersByState(params): Observable {\n return this.http.post(`${COMPRAS_URL}purchaseOrderByState`, params )\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jair Armando Celis Torrado\n * @createdate 2021-09-15\n * Servicio filtro de ordenes por NIT\n */\n searchOrdersByNIT(params): Observable {\n return this.http.post(`${COMPRAS_URL}purchaseOrderByNIT`, params )\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @method procesarObservacion Metodo que procesa la peticion apra Observaciones de cancelacion\n * @author Juan David Guerrero Vargas\n * @createdate 17/03/2022\n * @param id_pruchase_order:string Id de la orden de compra\n * @param observacion:string | null Observacion de cancelacion registrada\n * @param method:string Metodo (GET - POST) para peticion\n * @returns Observable para subcribe a la peticion de Observaciones\n */\n procesarObservacion(id_pruchase_order:string, observacion:string|null, method:string){\n\n switch (method) {\n case 'post':\n return this.http.post(`${COMPRAS_URL}purchaseOrder/${id_pruchase_order}/cancel`, {\n observation:observacion\n })\n .pipe(\n catchError(this.handleError)\n );\n\n break;\n case 'get':\n return this.http.get(`${COMPRAS_URL}purchaseOrder/${id_pruchase_order}/cancel/observation`)\n .pipe(\n catchError(this.handleError)\n );\n break;\n\n\n }\n\n }\n\n\n\n\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { CampaignsGuard } from 'src/app/core/guards/campaigns.guard.crm.v2';\nimport { ScheduleGuard } from 'src/app/core/guards/schedule.guard.crm.v2';\nimport { CrmComponent } from './crm.component';\nimport { GroupsGuard } from '../../core/guards/groups.guard.crm.v2';\nimport { FormsGuard } from '../../core/guards/forms.guard.crm.v2';\n\n\nconst routes: Routes = [\n\n { path: '', component: CrmComponent},\n // { path: '', redirectTo: 'forms', pathMatch: 'full'},\n { path: 'campaigns', loadChildren: () => import('./modules/campaigns/campaigns.module').then(m => m.CampaignsModule), canActivate: [ScheduleGuard, CampaignsGuard]},\n { path: 'groups', loadChildren: () => import('./modules/groups/groups.module').then(m => m.GroupsModule), canActivate: [ScheduleGuard, GroupsGuard]},\n { path: 'forms', loadChildren: () => import('./modules/forms/forms.module').then(m => m.FormsModule), canActivate: [ScheduleGuard,FormsGuard]},\n { path: 'trays', loadChildren: () => import('./modules/trays/trays.module').then(m => m.TraysModule)},\n { path: 'reports', loadChildren: () => import('./modules/reports/reports.module').then(m => m.ReportsModule)},\n { path: 'templates', loadChildren: () => import('./modules/templates/templates.module').then(m => m.TemplatesModule)},\n { path: 'outbound-manager', loadChildren: () => import('./modules/outbound-manager/outbound-manager.module').then(m => m.OutboundManagerModule)},\n { path: 'circuits', loadChildren: () => import('./modules/circuits/circuits.module').then(m => m.CircuitsModule)},\n { path: 'reports-form', loadChildren: () => import('./modules/reports-form/report-form.module').then(m => m.ReportsFormModule)},\n\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class CrmRoutingModule { }\n","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Subscription } from 'rxjs';\nimport { MatrizService } from 'src/app/modules/auditoria/services/matriz.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\n\n@Component({\n selector: 'app-analistas-auditoria',\n templateUrl: './analistas-auditoria.component.html',\n styleUrls: ['./analistas-auditoria.component.sass']\n})\nexport class AnalistasAuditoriaComponent implements OnInit, OnDestroy {\n\n\n analistas = [];\n supervisores = [];\n seleccion = [];\n listAnalistas = [];\n listSupervisores = [];\n listEliminated = [];\n selectable = false;\n removable = false;\n showEdit:boolean = false;\n btns:boolean = false;\n input:boolean = false;\n subscription:Subscription;\n filtroCedula:string = '';\n titulo:string = '';\n constructor(\n private matrizService:MatrizService,\n public analistaRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n ) { }\n\n ngOnInit(): void {\n this.tipoListas();\n this.subscription = this.matrizService.refresh$.subscribe(()=>{\n this.showAsignados();\n this.edit();\n });\n }\n\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n\n tipoListas(){\n if (this.datos.type == 'analista') {\n this.getListAnalistas();\n this.getAnalistasById();\n this.validEdit();\n this.titulo = \"Analistas de auditoria asignados\";\n }else if (this.datos.type == 'super') {\n this.titulo = \"Asignar supervisor\";\n this.getListSupervisores();\n this.getSupervisoresById();\n this.validEdit();\n }\n }\n\n getListAnalistas(){\n const params = {\n idMatriz: this.datos.id_matriz,\n cedula:'',\n }\n if (this.filtroCedula != '') {\n params.cedula = this.filtroCedula;\n }\n this.matrizService.getListAnalistas(params).subscribe((resp:any)=>{\n if (this.filtroCedula != '') {\n this.listAnalistas = [];\n this.listAnalistas.push(resp)\n }else{\n this.listAnalistas = resp;\n }\n });\n }\n \n getAnalistasById(){\n this.matrizService.getAnalistaById(this.datos.id_matriz).subscribe((resp:any)=>{\n this.analistas = resp;\n });\n }\n\n getListSupervisores(){\n const params = {\n idMatriz: this.datos.idMatriz,\n cedula: ''\n }\n if (this.filtroCedula != '') {\n params.cedula = this.filtroCedula;\n }\n this.matrizService.showSupervisores(params).subscribe((resp:any)=>{\n if (this.filtroCedula != '') {\n this.listSupervisores = [resp];\n }else{\n this.listSupervisores = resp;\n }\n });\n }\n\n getSupervisoresById(){\n this.matrizService.getSupervisorByMatriz(this.datos.idMatriz).subscribe((resp:any)=>{\n this.supervisores = resp;\n })\n }\n\n validEdit(){\n if (this.analistas.length == 0 || this.supervisores.length == 0) {\n this.showEdit = false;\n this.btns = false;\n this.input = true;\n }else {\n this.input = false;\n this.showEdit = true;\n }\n }\n\n edit(){\n this.btns = !this.btns;\n this.input = !this.input;\n this.showEdit = !this.showEdit;\n this.selectable = !this.selectable;\n this.removable = !this.removable;\n this.analistas.forEach(analista => {\n this.listAnalistas.forEach((element,index) => {\n if (analista.id_usuario == element.id) {\n this.listAnalistas.splice(index,1);\n }\n });\n });\n this.supervisores.forEach(supervisor => {\n this.listSupervisores.forEach((element,index) => {\n if (supervisor.id_usuario == element.id) {\n this.listSupervisores.splice(index,1);\n }\n });\n });\n this.listEliminated = [];\n }\n\n asignarAnalistas(){\n let mensaje:string = '';\n this.seleccion = this.seleccion.map(item =>{\n return {analista_id: item.id,nombre_analista: item.nombre, cedula: item.cedula}\n });\n const data = {\n idMatriz : null,\n data: this.seleccion,\n }\n if (this.datos.type == 'super') {\n mensaje = 'Se han asignado los supervisores correctamente.';\n data.idMatriz = this.datos.idMatriz;\n }else{\n mensaje = 'Se han asignado los analistas correctamente.';\n data.idMatriz = this.datos.id_matriz;\n }\n if (data.data.length == 0) { \n this.listEliminated.forEach(analista => {\n this.matrizService.eliminateAnalista(analista.id_usuario,data.idMatriz).subscribe((resp:any)=>{\n Tools.swalSuccess('¡Excelente!','Se han guardado los cambios correctamente.');\n this.analistaRef.close();\n });\n });\n }else{\n this.matrizService.asignarAnalistas(data).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n this.listEliminated.forEach(analista => {\n this.matrizService.eliminateAnalista(analista.id_usuario,data.idMatriz).subscribe(()=>{});\n });\n Tools.swalSuccess('¡Excelente!',mensaje);\n this.seleccion = [];\n this.analistaRef.close();\n }\n });\n }\n }\n\n removeAnalista(analista){\n this.listEliminated.push(analista);\n this.listAnalistas.push(this.listEliminated.map(item =>{\n return {id: item.id_analista,nombre: item.nombre_analista}\n }))\n const index = this.analistas.indexOf(analista);\n if (index >=0) {\n this.analistas.splice(index,1);\n }\n }\n\n removesupervisor(supervisor){\n this.listEliminated.push(supervisor);\n this.listEliminated.map(supervisor=>{\n return {id: supervisor.id_usuario,nombre: supervisor.nombre,cedula: ''}\n });\n const index = this.supervisores.indexOf(supervisor);\n if (index >=0) {\n this.supervisores.splice(index,1);\n }\n }\n\n filtrar(){\n if (this.datos.type == 'super') {\n this.getListSupervisores();\n }else{\n this.getListAnalistas();\n }\n }\n\n showAsignados(){\n if (this.datos.type == 'super') {\n this.getSupervisoresById();\n }else{\n this.getAnalistasById();\n }\n }\n\n}\n","\n
\n
\n

{{titulo}}

\n \n
\n \n

\n ¡Oops! Parece que aún no hay analistas de calidad asignados, busca al analista que deseas asignar a esta matriz.\n

\n
\n \n Analistas de calidad\n \n {{analista.nombre}}\n \n \n \n Supervisor\n \n {{supervisor.nombre}}\n \n \n \n Cédula\n \n \n \n \n
\n
\n \n \n {{analista.nombre}}\n \n \n \n \n \n {{supervisor.nombre}}\n \n \n \n
\n\n
\n \n \n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { ArchivosService } from 'src/app/modules/compras/services/rest/archivos.service';\nimport { CompaniaService } from 'src/app/modules/compras/services/rest/compania.service';\nimport { SolicitudesService } from 'src/app/modules/compras/services/rest/solicitudes.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport Swal from 'sweetalert2';\nimport { AprobarSolcitudComponent } from '../aprobar-solcitud/aprobar-solcitud.component';\nimport { ProcesarSolicitudComponent } from '../procesar-solicitud/procesar-solicitud.component';\n\n@Component({\n selector: 'app-procesar-solicitud-control',\n templateUrl: './procesar-solicitud-control.component.html',\n styleUrls: ['./procesar-solicitud-control.component.sass']\n})\nexport class ProcesarSolicitudControlComponent implements OnInit {\n\n solicitudesForm : FormGroup;\n itemsSolciitud : any = [];\n archivosPorSolicitud : any;\n archivo : any;\n aprobada : boolean;\n archivosCargados : any[] = [];\n registrosPorCargar : any[] = new Array(3);\n sinAdjuntos : boolean = true;\n file : any;\n viewSolciitud = false;\n myFiles : string [] = [];\n filteredOptionsCompania: Observable;\n compania:any;\n\n constructor(private solicitudService: SolicitudesService,\n private archivoService : ArchivosService,\n private destroyService : DestroyComponentService,\n private form : FormBuilder,\n private alertsService : AlertsService,\n private athService : AuthService,\n @Inject(MAT_DIALOG_DATA) public data : any,\n private dialogRef : MatDialogRef< ProcesarSolicitudComponent >,\n public dialog: MatDialog,\n private companiaService:CompaniaService,\n ) { }\n\n ngOnInit(): void {\n this.archivosCargados = [];\n this.itemsSolciitud = this.data.solicitud.request_items;\n\n\n this.formControl();\n if (this.data.solicitud.request_state_id == '4' ||\n this.data.solicitud.request_state_id == '6'\n ){\n\n this.aprobada=true;\n }\n\n if (this.data.type === 'editar' || this.data.type === 'ver' ) {\n this.solicitudesForm.controls.estado.setValue( parseInt(this.data.solicitud.request_state_id) );\n\n\n this.solicitudesForm.controls.observacion.setValue(this.data.solicitud.request_observation ? this.data.solicitud.request_observation[0].observation : \"\");\n this.archivoService.getArchivosSolicitud(this.data.solicitud.id)\n .subscribe(resp => {\n resp.data.forEach((element, idx) => {\n this.registrosPorCargar[idx] = element;\n let control;\n if( idx ==0 )\n {\n control = this.solicitudesForm.get(\"cot1_txt\");\n }\n else if( idx == 1 )\n {\n control = this.solicitudesForm.get(\"cot2_txt\");\n\n }\n else if( idx == 2 )\n {\n control = this.solicitudesForm.get(\"cot3_txt\");\n }\n control.setValue( this.registrosPorCargar[idx].name );\n });\n\n\n this.sinAdjuntos = this.checkFiles();\n\n });\n }\n\n\n this.companiaService.getCompany().subscribe(comp=>{\n this.compania = comp.data;\n if(this.data.type ==='editar' || this.data.type ==='Procesar'){\n this.solicitudesForm.controls.companias.setValue(Number(this.data.solicitud.company_id));\n }\n\n this.filteredOptionsCompania = this.solicitudesForm.get('companias').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(companias => companias ? this._filterCompany(companias) : this.compania.slice())\n );\n });\n\n if (this.data.type === 'ver') {\n this.viewSolciitud = true;\n }\n\n\n }\n\n private editasolicitud(estado ){\n //this.uploadFiles();\n\n this.modificarSolicitud(estado);\n }\n\n saveSolicitud(solicitudesForm) {\n if( solicitudesForm.value.estado == 8 ){\n Swal.fire({\n title : '¿Estás seguro?',\n text : \"¿Deseas devolver la solicitud?, cambiará a estado devuelta, recuerda esto será definitivo y no se podrá deshacer.\",\n showCancelButton : true,\n cancelButtonText : \"Cancelar\",\n icon : 'warning',\n confirmButtonText : 'Aceptar',\n }).then((result) => {\n if (result.isConfirmed) {\n this.editasolicitud(null);\n }\n\n })\n }\n else{\n this.editasolicitud(null)\n }\n\n\n\n\n\n }\n\n sendSolicitud() {\n Swal.fire({\n title : '¿Estás seguro?',\n text : \"¿Deseas enviar la soliciud?, Cambiará de estado a disponible, recuerda que esto será definitivo y no se podrá deshacer\",\n showCancelButton : true,\n cancelButtonText : \"Cancelar\",\n icon : 'warning',\n confirmButtonText : 'Aceptar',\n }).then((result) => {\n if (result.isConfirmed) {\n //this.saveSolicitud(this.solicitudesForm);\n\n\n const estado = {\n state: this.solicitudesForm.value.estado,\n company : this.solicitudesForm.value.companias\n };\n\n //if (this.registrosPorCargar.length > 0) {\n this.editasolicitud(null);\n this.dialogRef.close();\n //} else {\n // this.alertsService.alertError('¡Oops!', 'Debe añadir al menos una cotización' );\n //}\n\n }\n })\n\n\n\n }\n\n private modificarSolicitud(estado) {\n if( estado == null){\n estado = {\n state: this.solicitudesForm.value.estado,\n company : this.solicitudesForm.value.companias\n }\n }\n const observacion = new FormData();\n observacion.append('observacion', this.solicitudesForm.value.observacion);\n observacion.append('idSolicitud', this.data.solicitud.id);\n observacion.append('type', \"control\");\n this.solicitudService.updateSolicitudEstado(estado, this.data.solicitud.id ).subscribe(resp => {\n this.solicitudService.saveObservacion(observacion)\n .subscribe( resp => {\n this.dialogRef.close();\n this.alertsService.alertSuccess('Guardado', 'La solicitud fue guardada y esta en proceso');\n return true;\n });\n });\n }\n\n get error(): any { return this.solicitudesForm.controls; }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void {\n const stateId = parseInt(this.data.solicitud.request_state_id);\n\n this.solicitudesForm = new FormGroup({\n cotizacion : new FormControl(''),\n estado : new FormControl(\"\", [ Validators.required ]),\n companias : new FormControl('', [this.autocompleteObjectValidator(), Validators.required]),\n observacion : new FormControl('', [Validators.required]),\n cot1_txt : new FormControl(''),\n cot2_txt : new FormControl(''),\n cot3_txt : new FormControl(''),\n\n\n });\n\n }\n\n cambioEstado(event) {\n if (event == 2 ) {\n this.aprobada = true;\n\n } else {\n this.aprobada = false;\n }\n }\n\n downloadFile(e: any) {\n const archivo = {\n path: e.path\n };\n\n this.archivoService.downloadOrder(archivo).subscribe( (data) => {\n const a = document.createElement('a');\n const file = new Blob([data], {type: e.fileContentType});\n a.href = URL.createObjectURL(file);\n a.download = e.name;\n a.click();\n });\n }\n\n getFileDetails (e) {\n for (var i = 0; i < e.target.files.length; i++) {\n this.registrosPorCargar.push(e.target.files[i]);\n }\n\n }\n\n /**\n * Agrega un archivo al arreglo de archivos\n * @param e\n * @param index\n */\n setFile(e,index:number ){\n this.registrosPorCargar[index] = e.target.files[0];\n this.sinAdjuntos = this.checkFiles();\n let control;\n if( index ==0 )\n {\n control = this.solicitudesForm.get(\"cot1_txt\");\n }\n else if( index == 1 )\n {\n control = this.solicitudesForm.get(\"cot2_txt\");\n\n }\n else if( index == 2 )\n {\n control = this.solicitudesForm.get(\"cot3_txt\");\n }\n control.setValue( this.registrosPorCargar[index].name );\n\n\n }\n\n removeFileDetails(file, i) {\n let control;\n if (file.id) {\n this.archivoService.eliminarArchivo(file.id).subscribe(resp => {\n this.registrosPorCargar[i] = null;\n this.sinAdjuntos = this.checkFiles();\n //this.registrosPorCargar.splice(i, 1);\n });\n } else {\n this.registrosPorCargar[i] = null;\n this.sinAdjuntos = this.checkFiles();\n //this.registrosPorCargar.splice(i, 1);\n }\n\n if( i ==0 )\n {\n control = this.solicitudesForm.get(\"cot1_txt\");\n }\n else if( i == 1 )\n {\n control = this.solicitudesForm.get(\"cot2_txt\");\n\n }\n else if( i == 2 )\n {\n control = this.solicitudesForm.get(\"cot3_txt\");\n }\n control.setValue( \"\" );\n }\n\n uploadFiles () {\n this.registrosPorCargar.forEach((registro) => {\n if (registro && !registro.id)\n {\n let formData = new FormData();\n formData.append('archivoCarga', registro);\n formData.append('type', 'cotizacion');\n formData.append('idSolicitud', this.data.solicitud.id);\n this.archivoService.postCargarArchivos(formData).subscribe((resp) => {\n const data = {\n id: resp.data.id,\n path: resp.data.path,\n name: resp.data.name,\n content_type: resp.data.contentType\n };\n this.archivosCargados.push(data);\n });\n }\n });\n }\n\n handleFileInput(event) {\n this.file = event.target.files[0];\n const formData = new FormData();\n formData.append('archivoCarga', this.file);\n formData.append('type','cotizacion')\n this.archivoService.postCargarArchivos(formData).subscribe((resp) => {\n const data = {\n id: 0,\n path: resp.data.path,\n name: resp.data.name,\n content_type: resp.data.contentType\n };\n this.archivosCargados.push(data);\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n\n editSolicitud(){\n this.dialog.open(AprobarSolcitudComponent , {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Detalles solicitud',\n solicitud:this.data.solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n this.dialogRef.close();\n }\n\n\n /**\n * Verifica si hay cotizaciones cargadas\n * @returns\n */\n private checkFiles(): boolean {\n let isEmpty = true;\n\n this.registrosPorCargar.forEach(element => {\n if( element !== null ){\n isEmpty = false;\n }\n });\n return isEmpty;\n }\n\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterCompany(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.compania.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n\n displayFnCompania(id: number): string{\n if (!id) { return ''; }\n let index = this.compania.findIndex(resp => resp.id === id);\n return this.compania[index].name;\n\n }\n\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * Metodo que valida las funciones del autocompetable\n */\n autocompleteObjectValidator(): ValidatorFn {\n return (control: AbstractControl ): { [key: string]: any } | null => {\n if (typeof control.value === 'string') {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n };\n }\n\n\n}\n","
\n
\n \n
\n\n
\n\n \n

\n {{ data.title }}\n\n \n \n \n

\n
\n
\n
\n \n
\n
\n\n Estado actual\n

{{data.solicitud.request_state.name}}

\n
\n
\n
\n
\n
\n\n Fecha de creación\n

{{data.solicitud.created_at|date:'yyyy-MM-dd': 'UTC'}}

\n
\n
\n\n Nombre del solicitante\n

{{data.solicitud.created_by}}

\n
\n
\n\n Tipo de adquisición\n

{{data.solicitud.product_type.name}}

\n
\n
\n
\n
\n\n Categoría\n

{{data.solicitud.category.name}}

\n
\n\n\n \n Empresa\n \n \n \n {{comp.name}}\n \n \n ¡Advertencia! Este campo es requerido\n Campaña no reconocida. Haga click en una de las opciones de autocompletar\n \n\n
\n\n Nombre campaña\n

{{data.solicitud.project}}

\n
\n
\n
\n
\n\n Título solicitud\n

{{data.solicitud.title}}

\n
\n\n
\n\n
\n
\n\n Descripción solicitud\n

{{data.solicitud.description}}

\n
\n\n
\n\n
\n
\n\n Por los siguientes ítems\n\n
\n
\n\n Cantidad\n\n
\n
\n
\n
\n\n\n

{{item.detail}}

\n
\n
\n\n\n

{{item.quantity}}

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

\n Validación Almacén\n

\n
\n\n \n Estado\n \n Disponible\n No disponible\n \n ¡Advertencia! Este campo es requerido\n \n\n
\n \n Observación\n \n ¡Advertencia! Este campo es obligatorio\n \n
\n\n

\n {{ (data.solicitud.request_observation) ? data.solicitud.request_observation[0].observation : \"\" }}\n

\n\n\n
\n Cancelar\n\n \n
\n
\n\n\n\n\n
\n
\n","import { UsersService } from 'src/app/modules/ciu/services/rest/users.service';\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Inject } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { Subscription } from 'rxjs';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport Swal from 'sweetalert2';\n\n\n@Component({\n selector: 'app-forgot-user',\n templateUrl: './forgot-user.component.html',\n styleUrls: ['./forgot-user.component.sass']\n})\nexport class ForgotUserComponent implements OnInit, OnDestroy {\n public passForm: FormGroup;\n public subscription : Subscription;\n public documentList : any;\n public selectedValue: string;\n\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private authService : AuthService,\n private dialogRef:MatDialogRef,\n private userService : UsersService,\n private destroyService: DestroyComponentService,\n ) { }\n\n ngOnInit(): void {\n this.formControl();\n this.getDocumentList();\n }\n\nget error(): any { return this.passForm.controls; }\n\n/**\n * @author Carlos Nieto\n * @createdate 2021-12-07\n * Metodo que crea el formGroup con cada campo y su respectiva validacion\n */\n formControl(): void{\n this.passForm = new FormGroup({\n id_type_id: new FormControl('', [Validators.required]),\n id_number: new FormControl('', [Validators.required,Validators.pattern('^([0-9])*$'),Validators.maxLength(15), Validators.minLength(5)])\n });\n}\n\n/**\n * @author Carlos Nieto\n * @createdate 2022-02-14\n * Metodo que crea lista los tipos de documentos\n */\n getDocumentList(): void{\n this.userService.getIdTypes().subscribe(\n response => {\n this.documentList = response;\n }\n );\n}\n\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-07\n * @param passForm Formulario diligenciado con el campo id_number y id_type_id\n * Metodo que envia el formulario al servicio\n */\n sendEmail(passForm): void{\n this.subscription = this.authService.SendEmailWithUserName(passForm.value).subscribe(\n response => {\n if (response.data.response === 'OK') {\n Swal.fire({\n html: `Por favor revisa tu correo ${response.data.mail}`,\n icon: 'success',\n title : 'Enviado',\n confirmButtonText: 'Aceptar'\n });\n this.dialogRef.close();\n }\n }\n );\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n this.destroyService.destroyComponent();\n }\n\n}\n","\n
\n
\n \n
\n
\n
\n \n

{{data.title}}

\n

Selecciona e ingresa tu número de documento y te enviaremos a tu correo registrado el nombre de tu usario.\n

\n
\n \n Tipo de documento\n \n \n {{documentType.name}}\n \n \n ¡Advertencia! Este campo es requerido\n \n\n \n Ingresa tu número de documento\n \n ¡Advertencia! Este campo solo acepta números\n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 5 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 15 caracteres\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Subject, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\n\nconst calidad_url = environment.CALIDAD_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ControlService {\n private _refresh$ = new Subject();\n\n constructor(\n private http:HttpClient,\n ) { }\n\n get refresh$(){\n return this._refresh$;\n }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n getSupervisores(){\n return this.http.get(`${calidad_url}getSupervisores`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n createGroup(data){\n return this.http.post(`${calidad_url}crearGrupo`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getGroups(params){\n return this.http.get(`${calidad_url}getGrupos`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getGrupoById(id){\n return this.http.get(`${calidad_url}getGrupoId/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n updateGroupById(data){\n return this.http.post(`${calidad_url}updateGrupo`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n deleteGrupoById(id){\n return this.http.post(`${calidad_url}deleteGrupo/${id}`,{})\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getAsesores(params){\n return this.http.get(`${calidad_url}showAsesores`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getConsecutivo(data){\n return this.http.post(`${calidad_url}getConsecutivo`,data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n addAsesor(data){\n return this.http.post(`${calidad_url}asignarAsesor`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getAsesoresGrupo(params){\n return this.http.post(`${calidad_url}getAsesoresGrupo`,{},{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n deleteAsesorGrupo(data){\n return this.http.post(`${calidad_url}deleteAsesorGrupo`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nconst CIU_URL = environment.CIU_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Servicio que lista los reportes\n */\n getReports(): Observable{\n return this.http.get(`${CIU_URL}reports/all`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Servicio que guarda un report en su respectiva tabla\n * @param report a guardarse\n */\n saveReport(report: any): Observable{\n return this.http.post(`${CIU_URL}reports/insert`, report)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Servicio que actualiza un report en su respectiva tabla\n * @param report a guardarse\n */\n updateReport(report: any): Observable{\n return this.http.put(`${CIU_URL}reports/update`, report)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Servicio que borra un report en su respectiva tabla\n * @param id a eliminar\n */\n deleteReport(id: any): Observable{\n return this.http.delete(`${CIU_URL}reports/delete/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n@Component({\n selector: 'app-coaching',\n templateUrl: './coaching-app.component.html',\n styleUrls: ['./coaching-app.component.sass']\n})\nexport class CoachingAppComponent implements OnInit {\n public userName : any;\n constructor(\n public dialog: MatDialog, \n private authService : AuthService\n ) { }\n\n ngOnInit(): void {\n this.userName = this.authService.decryptToken();\n }\n\n onBoardingCoach(){\n\n }\n\n}\n","
\n\n
\n
\n

\n
\n
\n

Coaching

\n
\n

¡Bienvenid@
{{userName.rrhh.name | titlecase}}!

\n
\n
\n

\n Este es el módulo de Coaching donde podrás gestionar los acompañamientos a los agentes y validar su progreso.\n

\n
\n
\n
\n \n
\n
\n
\n\n
\n \"\"\n
\n
\n
","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\nimport Swal from 'sweetalert2';\nimport { MatDialog, MatDialogModule } from '@angular/material/dialog';\nimport { StrategyModalComponent } from '../strategy-modal/strategy-modal.component';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { StrategyServersService } from '../../../services/strategy.service';\nimport { interval, Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-strategy-menu',\n templateUrl: './strategy-menu.component.html',\n styleUrls: ['./strategy-menu.component.sass']\n})\nexport class StrategyMenuComponent implements OnInit, OnDestroy {\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n configPaginator: any = { length: 0, pageSize: 5, pageIndex: 1 };\n pagesizeOptions: number[] = [5, 10, 20, 50, 100]\n\n keysColumnsTable: string[] = [];\n displayedColumns: string[] = ['actions', 'state', 'id', 'date', 'user_id', 'strategy_name', 'channelNames'];\n\n listChannel: any; //listado canales\n dataSource = new MatTableDataSource();\n @ViewChild(MatSort) sort: MatSort;\n\n //firltro estrategia\n textInputFilter: string = '';\n filter: string = '';\n private pollingSubscription: Subscription;\n\n ngOnInit(): void {\n this.ListChannel();\n this.getStrategy();\n this.keysColumnsTable = this.configColumnsTable.map((item: any) => item.key);\n\n // Polling para ejecutar getStrategy cada minuto\n this.startPolling();\n }\n\n ngOnDestroy(): void {\n //destruir la suscripcion polling cuando el componente se destruya\n this.stopPolling();\n }\n\n constructor(\n private dialog:MatDialog,\n private strategyService: StrategyServersService\n ) { }\n\n /**\n * Método para iniciar el polling de datos.\n * @author Yeison Sepulveda\n * @createdate 2024-08-01\n * @returns {void}\n */\n\n startPolling(): void {\n this.pollingSubscription = interval(59000).subscribe(() => {\n this.getStrategy();\n });\n }\n\n /**\n * Método para detener el polling de datos.\n * @author Yeison Sepulveda\n * @createdate 2024-08-01\n * @returns {void}\n */\n\n stopPolling(): void {\n if (this.pollingSubscription) {\n this.pollingSubscription.unsubscribe();\n }\n }\n\n /**\n * Método que pagina la informacion de la tabla.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * @param $event Evento emitido por el paginador.\n */\n changePage($event: PageEvent): void {\n this.configPaginator.pageSize = $event.pageSize;\n this.configPaginator.pageIndex = $event.pageIndex + 1;\n this.getStrategy();\n }\n\n /**\n * Configuración para visualizar la informacion en la tabla\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n\n configColumnsTable: any[] = [\n { key: 'actions', name: 'Acciones' },\n { key: 'state', name: 'Estado' },\n { key: 'id', name: 'Id' },\n { key: 'date', name: 'Fecha creación' },\n { key: 'user_name', name: 'Usuario SOUL' },\n { key: 'strategy_name', name: 'Nombre estrategia' },\n { key: 'channelNames', name: 'Canal' },\n ];\n\n /**\n * Método lista las estartegias creadas\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n\n getStrategy(): void {\n this.strategyService.paginateStrategies(this.filter, this.configPaginator).subscribe(res => {\n // Mapea los IDs de los canales a los nombres\n res.data.data.forEach(strategy => {\n const channelIds = JSON.parse(strategy.channel);\n strategy.channelNames = channelIds.map(id => {\n const channel = this.listChannel.find(c => c.id === id);\n return channel ? channel.name : id;\n }).join(', '); // Convierte el array de nombres en un string separado por comas\n });\n\n // Asigna los datos mapeados a la fuente de datos\n this.dataSource.data = res.data.data;\n this.dataSource.sort = this.sort;\n this.configPaginator.length = res.data.total;\n });\n}\n\n /**\n * Metodo para cargar la lista de estartegias\n * @createdate 2024-04-08\n * @author Yeison Sepulveda\n */\n ListChannel(): void {\n this.strategyService.listChannel().subscribe(\n (response) => {\n this.listChannel = response.data;\n },\n (error) => {\n console.error('Error al cargar:', error);\n }\n );\n }\n\n /**\n * Método para modal editar\n * @author Yeison Sepulveda\n * @param {number} id - El ID de la estrategia\n * @createdate 2024-02-15\n */\n\n editStrategy(id: number): void {\n this.stopPolling();\n const dialogRef = this.dialog.open(StrategyModalComponent, {\n width: '50%',\n maxHeight: '95vh',\n data: { id: id, modo: 'editar' }\n });\n dialogRef.afterClosed().subscribe(result => {\n this.getStrategy();\n this.startPolling();\n });\n }\n\n /**\n * Metodo para abrir modal y crear la estrategia\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n\n createdStrategy(): void{\n this.stopPolling();\n const dialogRef = this.dialog.open(StrategyModalComponent, {\n width: '50%',\n maxHeight: '95vh',\n data: { modo: 'crear' }\n });\n dialogRef.afterClosed().subscribe(result => {\n this.getStrategy();\n this.startPolling();\n });\n }\n\n /**\n * Abrir modal de estrategia\n * @author Yeison Sepulveda\n * @param {number} id - El ID de la estrategia\n * @createdate 2024-04-08\n */\n\n viewModal(id: number): void {\n this.stopPolling();\n const dialogRef = this.dialog.open(StrategyModalComponent, {\n width: '50%',\n maxHeight: '95vh',\n data: { id: id, modo: 'visualizar' }\n });\n dialogRef.afterClosed().subscribe(result => {\n this.getStrategy();\n this.startPolling();\n });\n }\n\n /**\n * Método eliminar registro\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * @param {number} id - El ID de la estrategia a eliminar.\n * @returns {void}\n */\n\n deleteStrategy(id: number): void {\n Swal.fire({\n title: '¿Estás seguro?',\n text: '¿Estás seguro de eliminar la estrategia seleccionada?',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.strategyService.desactiveStrategy({ id: id }).subscribe(\n response => {\n this.getStrategy();\n Swal.fire({\n title: '¡Excelente!',\n text: 'Se ha eliminado la estrategia',\n icon: 'success',\n timer: 3000,\n showConfirmButton: false\n });\n },\n error => {\n console.error('Error al desactivar la estrategia', error);\n }\n );\n }\n });\n }\n\n /**\n * Metodo que filtra los datos de la tabla.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * @param {string} value - El valor ingresado en el campo de búsqueda.\n * @returns {void}\n */\n\n onSearchClick(value: string): void {\n this.filter = value;\n this.configPaginator.pageIndex= 0;\n this.paginator.firstPage();\n this.getStrategy();\n }\n\n /**\n * Metodo paraobtener el color correspondiente al estado de uso de la estrategia\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param {boolean} state - El estado de actividad representado por un número (0 o 1).\n * @returns {string} - El color correspondiente al estado de actividad\n */\n\n getColor(state: number): string {\n switch (state) {\n case 0:\n return '#F25A1B';\n case 1:\n return '#1BF26C';\n default:\n return 'gray';\n }\n }\n\n /**\n * Metodo cambiar de estado el toggle\n * @author Yeison Sepulevda\n * @createdate 2024-02-15\n */\n toggleStateChanged(element: any): void {\n let confirmationMessage = '';\n if (!element.active) {\n confirmationMessage = '¿Estás seguro de deshabilitar la estrategia?';\n } else {\n confirmationMessage = '¿Estás seguro de habilitar la estrategia?';\n }\n\n Swal.fire({\n title: '¿Estás seguro?',\n icon: 'warning',\n text: confirmationMessage,\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.changeState(element);\n } else {\n element.active = !element.active;\n }\n });\n }\n\n /**\n * Metodo actualizar el estado de la campaña\n * @author Yeison Sepulevda\n * @createdate 2024-02-15\n *\n */\n changeState(element: any): void {\n const formdata = { id: element.id };\n this.strategyService.desactiveStrategy(formdata).subscribe(\n (resp) => {\n let confirmationMessage = resp.data.message;\n Swal.fire({\n icon: 'success',\n title: '¡Excelente!',\n text: confirmationMessage,\n timer: 3000,\n showConfirmButton: false,\n willClose: () => {\n this.getStrategy();\n }\n });\n },\n (error) => {\n console.error('Error al cambiar de estado', error.message)\n Swal.fire({\n icon: 'error',\n title: 'No se pudo cambiar el estado',\n text: error.message,\n confirmButtonText: 'Aceptar',\n confirmButtonColor: '#2CABBC',\n }).then(() => {\n this.getStrategy();\n });\n });\n }\n\n}\n","
\n
\n
\n Gestión de estrategias\n
\n
\n

\n Este es el módulo de gestión de estrategias, aquí podrás crear, editar y eliminar las estrategias \n
y sus respectivas etiquetas. No olvides, “El respeto y empatía son clave”.\n

\n
\n
\n\n
\n
\n \n Buscar\n \n \n \n
\n
\n
\n \n
\n
\n\n
\n
\n
\n
\n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n
{{ column.name }} {{ element[column.key] }} {{ column.name }} \n \n \n \n \n {{ column.name }} \n
\n
\n
\n
No existe información relacionada
\n \n \n \n
\n \n
\n
\n
\n
\n\n\n\n","import { Component, HostListener, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AdminServersService } from 'src/app/modules/speech-analytics/services/admin-servers.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-edit-connection',\n templateUrl: './edit-connection.component.html',\n styleUrls: ['./edit-connection.component.sass']\n})\nexport class EditConnectionComponent implements OnInit {\n\n editConnectionForm: FormGroup;\n dataSource: any;\n hide: boolean = true;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n private form: FormBuilder,\n private adminServersService: AdminServersService,\n private alertService: AlertsService,\n ) {}\n\n ngOnInit(): void {\n this.formControl();\n this.viewServer(this.data);\n }\n\n /**\n * Método donde se establecen las validaciones del formulario y adviarte antes de refrescar\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @method unloadNotification\n * @param {Event} $event - El evento `beforeunload` del navegador.\n * @returns {void}\n */\n\n @HostListener('window:beforeunload', ['$event'])\n unloadNotification($event: any) {\n if (this.editConnectionForm.dirty) {\n $event.returnValue = true;\n }\n }\n\n /**\n * Metodo donde se establecen las validaciones del formulario\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n\n formControl(): void {\n this.editConnectionForm = this.form.group({\n id: ['', Validators.required],\n name: new FormControl('', [Validators.required, Validators.minLength(3), Validators.maxLength(100)]),\n server_host: new FormControl('', [Validators.required,Validators.minLength(5), Validators.maxLength(16)]),\n port: new FormControl('', [Validators.required, Validators.pattern(/^[0-9]+$/),Validators.minLength(1), Validators.maxLength(5)]),\n type_connection: new FormControl('', [Validators.required, Validators.minLength(5), Validators.maxLength(10)]),\n database_name: new FormControl('', [Validators.required, Validators.minLength(5), Validators.maxLength(100)]),\n view: new FormControl('', [Validators.required, Validators.minLength(5), Validators.maxLength(100)]),\n user: new FormControl('', [Validators.required, Validators.minLength(5), Validators.maxLength(100)]),\n password: new FormControl('', [Validators.required,Validators.minLength(5), Validators.maxLength(100)]),\n web_server: new FormControl('', [Validators.minLength(1)]),\n });\n }\n\n /**\n * Metodo para enviar la informacion\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n viewServer(server: any): void {\n this.adminServersService.showServer(server.id).subscribe(res => {\n this.dataSource = res.data;\n this.editConnectionForm.patchValue({\n id: res.data.id,\n name: res.data.name,\n server_host: res.data.server_host,\n port: res.data.port,\n type_connection: res.data.type_connection,\n database_name: res.data.database_name,\n view: res.data.view,\n user: res.data.user,\n password: res.data.password,\n web_server: res.data.web_server,\n });\n });\n }\n\n /**\n * Metodo que se encarga de omitir algunos caracteres en el campo de contraseña\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * @param event valor a evaluar\n * @returns boolean\n */\n omitSpecialChar(event): any {\n let k;\n k = event.charCode;\n return ((k > 32 && k < 126));\n }\n\n\n /**\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * Metodo que guarda o actualiza un servidor.\n */\n saveServe() {\n if (this.editConnectionForm.valid) {\n Swal.fire({\n title: '¿Está seguro?',\n text: '¿En verdad deseas continuar con la gestión?',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.adminServersService.UpdateServer(this.editConnectionForm.value).subscribe(\n res => {\n Swal.fire({\n title: 'Se ha actualizado el registro',\n text: res.data,\n icon: 'success',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC'\n }).then((result) => {\n if (result.isConfirmed) {\n this.dialogRef.close();\n }\n });\n },\n error => {\n console.error('Ha ocurrido un error al editar la conexión', error.message);\n Swal.fire({\n icon: 'error',\n title: 'Ha ocurrido un error al editar la conexión.',\n text: error.message,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: 'Aceptar',\n });\n }\n );\n }\n });\n } else {\n this.editConnectionForm.markAllAsTouched();\n }\n }\n\n /**\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * Metodo alerta cancelar gestion\n */\n cancelSave(): void {\n Swal.fire({\n title: '¿Estás seguro?',\n text: 'Si cancelas el proceso, perderás toda la información no guardada.',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.editConnectionForm.reset();\n this.dialogRef.close();\n }\n });\n }\n}\n","\n\n
\n
\n
Editar conexión
\n \n\n
\n \n Nombre\n \n Nombre es requerido\n Mínimo 3 caracteres\n Máximo 100 caracteres\n \n
\n\n
\n \n Servidor\n \n Servidor es requerido\n Mínimo 5 caracteres\n Máximo 16 caracteres\n \n
\n\n
\n \n Puerto\n \n Puerto es requerido\n Debe ser tipo numérico\n Debe contener mínimo un caracteres\n Debe contener máximo 5 caracteres\n \n
\n\n
\n \n Tipo de conexión\n \n Tipo de conexión es requerido\n Mínimo 5 caracteres\n Máximo 10 caracteres\n \n
\n\n
\n \n Base de datos\n \n Base de datos es requerida\n Mínimo 5 caracteres\n Máximo 100 caracteres\n \n
\n\n
\n \n Nombre de la vista\n \n Vista de la base datos es requerida\n Mínimo 5 caracteres\n Máximo 100 caracteres\n \n
\n\n
\n \n Conexión web IP\n \n Mínimo 5 caracteres\n \n
\n\n
\n \n Usuario\n \n Usuario es requerido\n Mínimo 5 caracteres\n Máximo 100 caracteres\n \n
\n\n
\n \n Contraseña\n \n \n {{hide ? 'visibility' : 'visibility_off'}}\n \n Contraseña es requerida\n Mínimo 5 caracteres\n Máximo 100 caracteres\n \n
\n
\n\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n","import { Component, OnInit, Inject, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { EscalationService } from '../../../services/rest/escalation.service';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport Swal from 'sweetalert2';\nimport { FormsRequestService } from '../../../services/rest/forms-request.service';\nimport html2canvas from \"html2canvas\";\nimport { jsPDF } from \"jspdf\";\nimport { ViewPlantillasComponent } from '../view-plantillas/view-plantillas.component';\n\n@Component({\n selector: 'app-view-escalation',\n templateUrl: './view-escalation.component.html',\n styleUrls: ['./view-escalation.component.sass']\n})\nexport class ViewEscalationComponent implements OnInit {\n\n formEscalamiento = new FormGroup({\n bodyHtml: new FormControl('Mensaje html', [])\n });\n estado: any;\n user: any;\n area: any;\n userDependence: any;\n resendDependence: any;\n otherEmailDependence: any;\n filteredOptionsUser: Observable;\n rol: string;\n sectionForm: any;\n pintarCrm1: boolean = false;\n pintarCrm2: boolean = false;\n userJson: any;\n isNewClient = false;\n adjuntosPqrs: any[] = [];\n length;\n pageSize = 5;\n page = 1;\n form = null;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n escalation: any = null;\n externalEmailContacts = [];\n displayedColumns: string[] = ['updated_at', 'observacion_user', 'observacion_estado', 'observacion'];\n dataSource = new MatTableDataSource();\n escalationTemp = null;\n customerSection = null;\n htmlTemplate = [];\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public escalationService: EscalationService,\n private authService: AuthService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n public dialogRef: MatDialogRef,\n private formsRequestService: FormsRequestService,\n private dialog: MatDialog,\n public dialogRefViewPlantillas: MatDialogRef) { }\n\n ngOnInit(): void {\n let user = this.authService.getUser();\n user.roles.forEach(rol => {\n let name = rol.split('::');\n if (name[0] === 'pqrs') {\n this.rol = name[1];\n }\n });\n\n this.getHistory(this.pageSize, this.page);\n this.escalationService.getEstado().subscribe((responseEsta) => {\n this.estado = responseEsta;\n });\n this.obtenerAdjuntos();\n this.getEscalation();\n }\n\n getEscalation() {\n this.escalationService.getEscalation(this.data.id).subscribe(res => {\n this.escalationTemp = res.pqrs[0];\n this.escalation = res.pqrs[0];\n this.externalEmailContacts = res.external_email_contacts;\n this.resendDependence = [{ label: \"Reenviar\", idField: 5, options: this.externalEmailContacts.concat({ id: 9999999, name: 'Otro' }), activators: [{ id: 1, name: 'Sí' }] }];\n this.otherEmailDependence = [{ label: \"Correo de destino\", idField: 6, options: [], activators: [{ id: 9999999, name: 'Otro' }] }];\n\n\n if (this.escalation.form_id != undefined && this.escalation.form_id != null && this.escalation.form_id != 0) {\n let $getForm: Observable;\n\n //Si se tiene la propiedad crm_service es por que se puede determinar que dynamicform debe renderizar la PQRS\n if (this.escalation.hasOwnProperty('crm_service') == true) {\n\n if (String(this.escalation.crm_service) == \"1\") {// En caso de Ser CRM V1\n $getForm = this.formsRequestService.getData(`searchform/${this.escalation.form_id}`)\n } else if (String(this.escalation.crm_service) == \"2\") {//En caso de ser CRM V2\n if (this.escalation['preguntas'] !== undefined && this.escalation['preguntas'] !== null && this.escalation?.preguntas['sections'] !== undefined) {\n this.escalation?.preguntas?.sections.map((section: any, indexS: number) => {\n section.fields.map((field: any, indexF: number) => {\n if (field.value !== undefined && field.value !== null && field.value !== \"\") {\n field['newValue'] = field.value\n }\n })\n });\n }\n\n\n $getForm = this.formsRequestService.getDataCrmTwo(`searchform/${this.escalation.form_id}`)\n }\n } else {//Si no se determina usa por defecto el antiguo\n $getForm = this.formsRequestService.getData(`searchform/${this.escalation.form_id}`)\n }\n\n $getForm.subscribe(form => {\n this.form = form\n if (this.escalation.hasOwnProperty('crm_service') == true && String(this.escalation.crm_service) == \"2\") {\n this.form['section'] = this.form['sections']\n }\n\n if (this.rol != 'solucionador') {\n let section = this.form.section;\n section.pop();\n this.form.section = section;\n }\n this.escalationService.getAreaAndUsers(this.escalation.form_id, this.form.campaign_id).subscribe((respo) => {\n this.escalationService.getEmailsByExit().subscribe((dataEmails) => {\n if (respo['areas'] !== undefined && Array.isArray(respo['areas'])) {\n this.area = respo.areas;\n } else {\n this.area = []\n }\n\n this.userDependence = [];\n this.userJson = [{ name: '', id: null }];\n this.area.forEach(element => {\n this.userJson = this.userJson.concat(element.users);\n this.userDependence.push({ label: \"Reasignar\", idField: 2, options: [{ name: '', id: null }].concat(element.users), activators: [{ id: element.id, name: element.name }] });\n });\n this.htmlTemplate = dataEmails.emailTemplates;\n if (this.escalation.is_anonimous == 1) {\n this.customerSection = this.escalation.preguntas.sections.shift();\n this.form.section.shift();\n }\n if (this.escalation['preguntas'] == undefined || this.escalation['preguntas'] == null || this.escalation['preguntas'] == \"\") {\n this.isNewClient = true;\n this.escalation.preguntas = { sections: this.form.section }\n }\n\n this.creationForm();\n })\n });\n });\n }\n\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-17\n * Creacion del json de la seccion del formulario requerida obligatoriamente para cada campaña\n */\n creationForm(): void {\n\n if (this.escalation.hasOwnProperty('crm_service') == true) {\n this.sectionForm = this.getSectionDefault(String(this.escalation['crm_service']));\n } else {\n this.sectionForm = this.getSectionDefault('1');\n }\n\n if (this.escalation.preguntas) {\n if (this.escalation.preguntas.hasOwnProperty('sections') == false || this.escalation.preguntas['sections'] == undefined) {\n this.escalation.preguntas['sections'] = []\n }\n this.escalation.preguntas.sections.push(this.sectionForm);\n }\n else {\n this.escalation[\"preguntas\"] = { sections: [this.sectionForm] };\n }\n\n\n if (this.escalation.hasOwnProperty('crm_service') == true) {\n if (String(this.escalation.crm_service) == \"1\") {\n this.pintarCrm1 = true;\n this.pintarCrm2 = false\n } else if (String(this.escalation.crm_service) == \"2\") {\n this.pintarCrm1 = false;\n this.pintarCrm2 = true\n }\n } else {\n this.pintarCrm1 = true;\n this.pintarCrm2 = false\n }\n\n }\n\n /**\n * Metodo que retorna la estructura del section por defecto segun el tipo de formularion CRM ( 1- 2)\n * @param type:string {string} tipo de CRM\n * @returns any {any} Objeto por Defecto\n */\n getSectionDefault(type: string): any {\n if (type == \"1\") {\n return {\n \"id\": null,\n \"fields\": [\n {\n \"id\": 1,\n \"see\": true,\n \"dependencies\": [],\n \"key\": \"estado\",\n \"cols\": 1,\n \"type\": \"options\",\n \"label\": \"Estado\",\n \"preloaded\": false,\n \"value\": this.escalation.estado_id,\n \"options\": this.estado,\n \"required\": false,\n \"isSon\": true,\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n 'administrador'\n ],\n \"maxLength\": 20,\n \"minLength\": 2,\n \"controlType\": \"dropdown\"\n },\n {\n \"id\": 2,\n \"see\": true,\n \"dependencies\": [],\n \"key\": \"reasignar\",\n \"cols\": 1,\n \"type\": \"options\",\n \"label\": \"Reasignar\",\n \"preloaded\": false,\n \"value\": 1,\n \"options\": this.area,\n \"required\": false,\n \"isSon\": true,\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n 'administrador'\n ],\n \"maxLength\": 20,\n \"minLength\": 2,\n \"controlType\": \"dropdown\"\n },\n {\n \"id\": 3,\n \"see\": true,\n \"dependencies\": this.userDependence,\n \"key\": \"responsable\",\n \"cols\": 2,\n \"type\": \"options\",\n \"label\": \"Responsable\",\n \"preloaded\": false,\n \"value\": this.escalation.p_q_r_s_solucionador.id,\n \"options\": this.userJson,\n \"required\": false,\n \"isSon\": true,\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n 'administrador'\n ],\n \"maxLength\": 20,\n \"minLength\": 2,\n \"controlType\": \"dropdown\"\n },\n {\n \"id\": 5,\n \"see\": true,\n \"dependencies\": [],\n \"key\": \"reenviar\",\n \"cols\": 1,\n \"type\": \"others\",\n \"label\": \"Reenviar\",\n \"preloaded\": false,\n \"value\": 2,\n \"options\": [{ id: 2, name: 'No' }, { id: 1, name: 'Sí' }],\n \"required\": false,\n \"isSon\": true,\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n 'administrador'\n ],\n \"maxLength\": 20,\n \"minLength\": 2,\n \"controlType\": \"radiobutton\"\n },\n {\n \"id\": 6,\n \"see\": true,\n \"dependencies\": this.resendDependence,\n \"key\": \"correo_reenvio\",\n \"cols\": 2,\n \"type\": \"options\",\n \"label\": \"Correo de destino\",\n \"preloaded\": false,\n \"value\": null,\n \"options\": this.externalEmailContacts.concat({ id: 9999999, name: 'Otro' }),\n \"required\": false,\n \"isSon\": true,\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n 'administrador'\n ],\n \"maxLength\": 100,\n \"minLength\": 2,\n \"controlType\": \"dropdown\"\n },\n {\n \"id\": 7,\n \"see\": true,\n \"dependencies\": this.otherEmailDependence,\n \"key\": \"correo_reenvio_otro\",\n \"cols\": 1,\n \"type\": \"text\",\n \"label\": \"Ingrese un correo\",\n \"preloaded\": false,\n \"value\": null,\n \"options\": [],\n \"required\": false,\n \"isSon\": true,\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n 'administrador'\n ],\n \"maxLength\": 100,\n \"minLength\": 2,\n \"controlType\": \"textbox\"\n },\n {\n \"id\": 4,\n \"see\": true,\n \"dependencies\": [],\n \"key\": \"respuestaCliente\",\n \"cols\": 4,\n \"type\": \"text\",\n \"label\": \"Observaciones\",\n \"preloaded\": false,\n \"value\": this.escalation.observacion,\n \"options\": [],\n \"required\": false,\n \"isSon\": true,\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n 'administrador'\n ],\n \"maxLength\": 2000,\n \"minLength\": 2,\n \"controlType\": \"textarea\"\n }\n ],\n \"name_section\": \"Gestión Escalamientos\",\n \"type_section\": 1\n };\n }\n\n if (type == \"2\") {\n return {\n \"name_section\": \"Gestión Escalamientos\",\n \"type_section\": 2,\n \"see\": true,\n \"fields\": [\n {\n \"id\": 1,\n \"type\": \"options\",\n \"see\": true,\n \"key\": \"estado\",\n \"controlType\": \"dropdown\",\n \"label\": \"Estado\",\n \"value\": this.escalation.estado_id,\n \"required\": true,\n \"canAdd\": false,\n \"options\": this.estado,\n \"minLength\": 1,\n \"maxLength\": 100,\n \"inReport\": true,\n \"isClientInfo\": false,\n \"disabled\": false,\n \"cols\": 1,\n \"preloaded\": false,\n \"isSon\": false,\n \"dependencies\": [],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"tooltip\": {\n \"have\": false,\n \"content\": \"\"\n },\n \"isTypificated\": false,\n \"isChargeableOption\": false,\n \"indDefaultValue\": false,\n \"isCalculated\": false,\n \"defaultCommentValue\": null,\n \"contentValueDefault\": false,\n \"contentTooltip\": [],\n \"calculatedFields\": [],\n \"typeArithmeticOperation\": \"\",\n \"fileOptions\": false\n },\n {\n \"id\": 2,\n \"type\": \"options\",\n \"see\": true,\n \"key\": \"reasignar\",\n \"controlType\": \"dropdown\",\n \"label\": \"Reasignar\",\n \"value\": 1,\n \"required\": false,\n \"canAdd\": false,\n \"options\": this.area,\n \"minLength\": 1,\n \"maxLength\": 100,\n \"inReport\": true,\n \"isClientInfo\": false,\n \"disabled\": false,\n \"cols\": 1,\n \"preloaded\": false,\n \"isSon\": false,\n \"dependencies\": [],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"tooltip\": {\n \"have\": false,\n \"content\": \"\"\n },\n \"isTypificated\": false,\n \"isChargeableOption\": false,\n \"indDefaultValue\": false,\n \"isCalculated\": false,\n \"defaultCommentValue\": null,\n \"contentValueDefault\": false,\n \"contentTooltip\": [],\n \"calculatedFields\": [],\n \"typeArithmeticOperation\": \"\",\n \"fileOptions\": false\n },\n {\n \"id\": 3,\n \"type\": \"options\",\n \"see\": true,\n \"key\": \"responsable\",\n \"controlType\": \"dropdown\",\n \"label\": \"Responsable\",\n \"value\": this.escalation.p_q_r_s_solucionador.id,\n \"required\": false,\n \"canAdd\": false,\n \"options\": this.userJson,\n \"minLength\": 1,\n \"maxLength\": 100,\n \"inReport\": true,\n \"isClientInfo\": false,\n \"disabled\": false,\n \"cols\": 1,\n \"preloaded\": false,\n \"isSon\": true,\n \"dependencies\": this.userDependence,\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"tooltip\": {\n \"have\": false,\n \"content\": \"\"\n },\n \"isTypificated\": false,\n \"isChargeableOption\": false,\n \"indDefaultValue\": false,\n \"isCalculated\": false,\n \"defaultCommentValue\": null,\n \"contentValueDefault\": false,\n \"contentTooltip\": [],\n \"calculatedFields\": [],\n \"typeArithmeticOperation\": \"\",\n \"fileOptions\": false\n },\n {\n \"id\": 5,\n \"type\": \"others\",\n \"see\": true,\n \"key\": \"reenviar\",\n \"controlType\": \"radiobutton\",\n \"label\": \"Reenviar\",\n \"value\": 2,\n \"disabled\": false,\n \"required\": true,\n \"canAdd\": false,\n \"options\": [\n {\n \"id\": 2,\n \"name\": \"No\"\n },\n {\n \"id\": 1,\n \"name\": \"Sì\",\n \"stateDisabled\": false,\n \"isDefaultOption\": false\n }\n ],\n \"minLength\": 1,\n \"maxLength\": 100,\n \"inReport\": true,\n \"isClientInfo\": false,\n \"preloaded\": false,\n \"isSon\": false,\n \"dependencies\": [],\n \"cols\": \"1\",\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"tooltip\": {\n \"have\": false,\n \"content\": \"\"\n },\n \"isTypificated\": false,\n \"isChargeableOption\": false,\n \"indDefaultValue\": false,\n \"isCalculated\": false,\n \"defaultCommentValue\": null,\n \"contentValueDefault\": false,\n \"contentTooltip\": [],\n \"calculatedFields\": [],\n \"typeArithmeticOperation\": \"\",\n \"fileOptions\": false\n },\n {\n \"id\": 6,\n \"type\": \"options\",\n \"see\": true,\n \"key\": \"correo_reenvio\",\n \"controlType\": \"dropdown\",\n \"label\": \"Correo de destino\",\n \"value\": null,\n \"required\": false,\n \"canAdd\": false,\n \"options\": this.externalEmailContacts.concat({ id: 9999999, name: 'Otro' }),\n \"minLength\": 1,\n \"maxLength\": 100,\n \"inReport\": true,\n \"isClientInfo\": false,\n \"disabled\": false,\n \"cols\": 1,\n \"preloaded\": false,\n \"isSon\": true,\n \"dependencies\": this.resendDependence,\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"tooltip\": {\n \"have\": false,\n \"content\": \"\"\n },\n \"isTypificated\": false,\n \"isChargeableOption\": false,\n \"indDefaultValue\": false,\n \"isCalculated\": false,\n \"defaultCommentValue\": null,\n \"contentValueDefault\": false,\n \"contentTooltip\": [],\n \"calculatedFields\": [],\n \"typeArithmeticOperation\": \"\",\n \"fileOptions\": false\n },\n {\n \"id\": 7,\n \"type\": \"text\",\n \"see\": true,\n \"key\": \"correo_reenvio_otro\",\n \"controlType\": \"textbox\",\n \"label\": \"Ingrese un correo\",\n \"value\": null,\n \"disabled\": false,\n \"required\": false,\n \"canAdd\": false,\n \"options\": [],\n \"minLength\": 1,\n \"maxLength\": 50,\n \"inReport\": true,\n \"isClientInfo\": false,\n \"preloaded\": false,\n \"isSon\": true,\n \"dependencies\": this.otherEmailDependence,\n \"cols\": 1,\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"tooltip\": {\n \"have\": false,\n \"content\": \"\"\n },\n \"isTypificated\": false,\n \"isChargeableOption\": false,\n \"indDefaultValue\": false,\n \"isCalculated\": false,\n \"defaultCommentValue\": null,\n \"contentValueDefault\": false,\n \"contentTooltip\": [],\n \"calculatedFields\": [],\n \"typeArithmeticOperation\": \"\",\n \"fileOptions\": false\n },\n {\n \"id\": 4,\n \"type\": \"text\",\n \"see\": true,\n \"key\": \"respuestaCliente\",\n \"controlType\": \"textarea\",\n \"label\": \"Observaciones\",\n \"value\": this.escalation.observacion,\n \"disabled\": false,\n \"required\": false,\n \"canAdd\": false,\n \"options\": [],\n \"minLength\": 2,\n \"maxLength\": 2000,\n \"cols\": \"4\",\n \"inReport\": true,\n \"isClientInfo\": false,\n \"preloaded\": false,\n \"isSon\": false,\n \"dependencies\": [],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"tooltip\": {\n \"have\": false,\n \"content\": \"\"\n },\n \"isTypificated\": false,\n \"isChargeableOption\": false,\n \"indDefaultValue\": false,\n \"isCalculated\": false,\n \"defaultCommentValue\": null,\n \"contentValueDefault\": false,\n \"contentTooltip\": [],\n \"calculatedFields\": [],\n \"typeArithmeticOperation\": \"\",\n \"fileOptions\": false\n }\n ],\n \"collapse\": 0,\n \"duplicate\": 0\n\n }\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-17\n * Metodo que trae el historico de las pqrs\n * @param size tamaño de los datos a traer\n * @param page pagina a traer\n */\n getHistory(size: number, page: number): void {\n this.escalationService.getHistory(this.data.id, size, page).subscribe((respGrid) => {\n this.dataSource.data = respGrid.data;\n this.dataSource.sort = this.sort;\n this.length = respGrid.total;\n this.pageSize = respGrid.per_page;\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-17\n * Metodo que envia el formulario ya editado\n * @param event evento que trae desde el componente del formulario dinamico\n */\n sendForm(event: any, type: string): void {\n let form: FormData;\n switch (type) {\n case 'crm':\n\n form = this.createFormDataToSaveFormCrm(event, 'typification');\n\n break;\n case 'crm2':\n form = this.createFormDataToSaveFormCrm2(event, 'typification');\n break;\n\n default:\n form = this.createFormDataToSaveFormCrm(event, 'typification');\n break;\n }\n this.escalation.preguntas.sections.forEach((element, index) => {\n element.fields.forEach((elementInt) => {\n for (const key in event.answer[index]) {\n if (key === elementInt.key) {\n elementInt.value = event.answer[index][key];\n }\n }\n });\n });\n\n if (this.rol == 'solucionador') {\n let urlPqrs = \"\"\n let $obsEscalation: Observable = new Observable();\n if (this.escalation['crm_service'] !== undefined && String(this.escalation['crm_service']) == String(2)) {\n urlPqrs = \"formanswer/saveinfo\"\n $obsEscalation = this.formsRequestService.postFormCrm2(urlPqrs, form)\n } else {\n urlPqrs = this.escalation.form_answer_id ? `formanswer/update/${this.escalation.form_answer_id}` : 'formanswer/saveinfo';\n $obsEscalation = this.formsRequestService.postForm(urlPqrs, form)\n }\n\n $obsEscalation.subscribe(res => {\n if (urlPqrs === 'formanswer/saveinfo') {\n this.escalation.form_answer_id = res.data.formAsnwerId;\n }\n const sectionFormEscalamientos = event.sections.filter(section => section.name_section == 'Gestión Escalamientos');\n const fieldEstado = sectionFormEscalamientos[0].fields.find(field => field.key === 'estado');\n const nameEstado = fieldEstado.options.find(option => option.id === fieldEstado.value);\n if (nameEstado.name === 'Cerrado') {\n const dialogPlantillas = this.dialog.open(ViewPlantillasComponent, {\n data: {\n id: this.data.id,\n escalamiento: this.escalation,\n plantillas: this.htmlTemplate\n },\n autoFocus: false\n });\n dialogPlantillas.afterClosed().subscribe(() => {\n this.dialogRef.close();\n });\n } else {\n if (event.answer[(event.answer.length - 1)].reenviar === 1) {\n this.alertsService.alertWarning('¿Estás seguro?', 'Ten en cuenta que una vez reenviado el correo, el estado del escalamiento se cerrará')\n .then(res => {\n if (res.isConfirmed) {\n const editForm = new FormData();\n editForm.append('solucionador_id', this.escalation.solucionador_id);\n editForm.append('estado_id', this.escalation.estado_id);\n editForm.append('preguntas', JSON.stringify(this.escalation.preguntas));\n editForm.append('form_answer_id', this.escalation.form_answer_id);\n this.escalationService.postFormEscalation(editForm, this.data.id).subscribe((respo) => {\n if (respo.length !== 0) {\n this.alertsService.alertSuccess('Editado', 'La pqrs fue editada correctamente');\n this.dialogRef.close();\n }\n });\n }\n })\n } else {\n const editForm = new FormData();\n editForm.append('solucionador_id', this.escalation.solucionador_id);\n editForm.append('estado_id', this.escalation.estado_id);\n editForm.append('preguntas', JSON.stringify(this.escalation.preguntas));\n editForm.append('form_answer_id', this.escalation.form_answer_id);\n this.escalationService.postFormEscalation(editForm, this.data.id).subscribe((respo) => {\n if (respo.length !== 0) {\n this.alertsService.alertSuccess('Editado', 'La pqrs fue editada correctamente');\n this.dialogRef.close();\n }\n });\n }\n }\n });\n } else {\n const sectionFormEscalamientos = event.sections.filter(section => section.name_section === 'Gestión Escalamientos');\n const fieldEstado = sectionFormEscalamientos[0].fields.find(field => field.key === 'estado');\n const nameEstado = fieldEstado.options.find(option => option.id === fieldEstado.value);\n if (nameEstado.name === 'Cerrado') {\n const dialogPlantillas = this.dialog.open(ViewPlantillasComponent, {\n data: {\n id: this.data.id,\n escalamiento: this.escalation,\n plantillas: this.htmlTemplate\n },\n autoFocus: false\n });\n dialogPlantillas.afterClosed().subscribe(() => {\n this.dialogRef.close();\n });\n } else {\n if (event.answer[0].reenviar === 1) {\n this.alertsService.alertWarning('¿Estás seguro?', 'Ten en cuenta que una vez reenviado el correo, el estado del escalamiento se cerrará')\n .then(res => {\n if (res.isConfirmed) {\n const editForm = new FormData();\n editForm.append('solucionador_id', this.escalation.solucionador_id);\n editForm.append('estado_id', this.escalation.estado_id);\n editForm.append('preguntas', JSON.stringify(this.escalation.preguntas));\n editForm.append('form_answer_id', this.escalation.form_answer_id);\n this.escalationService.postFormEscalation(editForm, this.data.id).subscribe((respo) => {\n if (respo.length !== 0) {\n this.alertsService.alertSuccess('Editado', 'La pqrs fue editada correctamente');\n this.dialogRef.close();\n }\n });\n }\n })\n } else {\n const editForm = new FormData();\n editForm.append('solucionador_id', this.escalation.solucionador_id);\n editForm.append('estado_id', this.escalation.estado_id);\n editForm.append('preguntas', JSON.stringify(this.escalation.preguntas));\n editForm.append('form_answer_id', this.escalation.form_answer_id);\n this.escalationService.postFormEscalation(editForm, this.data.id).subscribe((respo) => {\n if (respo.length !== 0) {\n this.alertsService.alertSuccess('Editado', 'La pqrs fue editada correctamente');\n this.dialogRef.close();\n }\n });\n }\n }\n }\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que se encarga del paginador al momento de cambiar de pagina\n * @param event evento que trae la pagina a listar\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getHistory(this.pageSize, this.page);\n }\n\n ngOnDestroy(): void {\n this.escalation?.preguntas?.sections.pop();\n this.pintarCrm1 = false;\n this.pintarCrm2 = false;\n this.destroyService.destroyComponent();\n }\n\n guardarAdjunto(e) {\n let adjunto = e.target.files[0];\n let formData = new FormData();\n formData.append('adjunto', adjunto);\n formData.append('pqrs_id', this.data.id);\n formData.append('nombre_adjunto', adjunto.name);\n this.escalationService.savePqrsAttachment(formData).subscribe((resp) => {\n this.obtenerAdjuntos();\n }, error => {\n Swal.fire('!Atención¡', \"Ha ocurrido un error al intentar guardar el adjunto\", \"error\");\n });\n\n }\n\n obtenerAdjuntos() {\n this.escalationService.getPqrsAttachments(this.data.id).subscribe((resp) => {\n this.adjuntosPqrs = resp.adjuntos;\n });\n }\n\n eliminarAdjunto(adjunto_id: any, ruta: any) {\n this.escalationService.deletePqrsAttachment({ id: adjunto_id, url: ruta }).subscribe((resp) => {\n this.obtenerAdjuntos();\n }, error => {\n Swal.fire('!Atención¡', \"Ha ocurrido un error al intentar eliminar el adjunto\", \"error\");\n });\n }\n\n descargarAdjunto(route: any, nombre: any) {\n this.escalationService.downloadEmailAttachment({ url: route }).subscribe(resp => {\n importedSaveAs(resp, nombre);\n },\n error => {\n Swal.fire('!Atención¡', \"Ha ocurrido un error al intentar descargar el adjunto\", \"error\");\n });\n }\n\n /**\n * @author Edwin Sanchez\n * @author Fabian Duran\n * @createdate 2021-06-21\n * @updatedate 2021-06-22\n * Metodo que imprime toda la informacion del escalamiento en un PDF. \n * Por favor cuando se estabilice el modulo de CRM eliminar las lineas 635, 636 y 655. \n */\n printMail() {\n const data = document.getElementById('mail-scalation');\n const divChildrenData = document.getElementById('form_escalation');\n const tempDeleteChildren = data.removeChild(divChildrenData);\n html2canvas(data).then((canvas: any) => {\n const PAGE_MARGIN = 10\n const imgWidth = 208;\n const pageHeight = 295;\n const imgHeight = (canvas.height * imgWidth) / canvas.width;\n let heightLeft = imgHeight;\n let position = 0;\n heightLeft -= pageHeight;\n const doc = new jsPDF('p', 'mm', 'a4', true);\n doc.addImage(canvas, 'PNG', 0, position, imgWidth - 15, imgHeight - 15, '', 'FAST');\n while (heightLeft >= 0) {\n position = heightLeft - imgHeight;\n doc.addPage();\n doc.addImage(canvas, 'PNG', 0, position, imgWidth, imgHeight, '', 'FAST');\n heightLeft -= pageHeight;\n }\n doc.save('Escalamiento.pdf');\n });\n data.appendChild(tempDeleteChildren);\n }\n\n /**\n* Metodo que se encarga de crear el FormData para la tipificacion o edicion de registros\n* @author juan David Guerrero Vargas \n* @param dataForm:any {any} Informacion del EventoSubmit guardado del formulario\n* @param typeCreate:string {string} Tipo de creacion apra el FormData\n* @returns FormData {FormData} FormData con la información a registrar\n*/\n createFormDataToSaveFormCrm2(dataForm: any, typeCreate: string): FormData {\n\n try {\n /** Variable de control donde se recolectara la informaicon por separado para su funcion especifica **/\n let listIdFiles: string[] = [] //Arreglo donde se envia los Id delos campos tipo file apra relacionar los archivos\n let listclientNewInfo: any[] = []//Arreglo de objetos { 1123154:value} id:valor para identificar las respuestas del formulario\n let listPreload: any[] = [] // Arreglo de Fields que marcan como preload(precargados)\n let formAnswerIndexData: any = {} //Objeto Id:value {1354156:value} donde se almaceanan todas las respuestas de todos los campos del formulario sin importar las secciones\n let formAnswerData2: any = {} //Objeto que indexa lo valores tipificados en un unico objeto de respuestas\n let listReports: any = {} // Objeto unico de Id:value {1325645:value} done van el id y valor de todos los campos marcados para reporteria\n let isAnonymous: string = \"0\"; //Variable que valdia si dentro del formulario hay algun campo que indique que el formulario se manjara de forma anonima\n let listTypificated: any = {} //Objeto unico id:value {112358:value} con todos los campos que se marquen para tipificacion\n let listSelect = {}; //Variable que se encarga de almacenar un objeto unico de clave valor para todos los selectores tipificados\n\n let sections = dataForm.sections\n let demarche = {};\n sections.forEach((section: any, index: number) => {\n if (Array.isArray(section.fields)) {\n section.fields.forEach((field: any, indexField: number) => {\n if ((typeCreate == \"typification\" || typeCreate == \"editFromTrays\") && dataForm.hasOwnProperty('answer') == true) {\n for (const key in dataForm.answer[index]) {\n if (key === field.key && field.seeSons === true) {\n field.value = dataForm.answer[index][key];\n }\n }\n }\n if (field.id === this.form.client_unique[0].id) {\n if (section.required === false) {\n if ((field.value === '' || field.value === null) && field.type === 'text') {\n field.value = 'sin-identificador';\n }\n if ((field.value === '' || field.value === null) && field.type === 'number') {\n field.value = 999999999;\n }\n if ((field.value === '' || field.value === null) && field.type === 'email') {\n field.value = 'sin-identificador@mysoul.com';\n }\n }\n }\n\n //En caso de que sea vacio se asigna el valor False\n if (field.isClientInfo) {\n let modelClientInfo = {}\n modelClientInfo[field.id] = field.value\n listclientNewInfo.push(modelClientInfo)\n } else {\n field.isClientInfo = false\n }\n\n switch (field.controlType) {\n case 'currency':\n //remplazamos la (,) de los valores tipo mondea por espacio en blanco\n field.value = field.value.replaceAll(/,/ig, '')\n break;\n case 'multiselect':\n if (!Array.isArray(field.value)) {\n field.value = [field.value]\n }\n break;\n case 'file':\n if (field.value != '') {\n field['storage_path'] = \"@@\" + field.id + \"@@\";\n listIdFiles.push(field.id)\n }\n if (field.storage_path != \"\") {\n field['storage_path'] = \"@@\" + field.id + \"@@\"\n }\n break;\n }\n\n //Si el field tiene algun valor y es de precarga lo agregamos al array de valores precargados\n if (field.value && (field.preloaded !== undefined && field.preloaded !== null && field.preloaded !== '')) {\n listPreload.push(field)\n }\n\n //Si el campo tiene algun valor Tipoficado Su valor se indexa en el formAnwerIndexData\n if (field.value !== undefined && field.value !== null && field.value !== '') {\n formAnswerIndexData = this.getObjectWithValues(formAnswerIndexData, field, { formAnswerIndexData: true })\n }//Fin recolexcion formAnswerIndexData\n\n //Si se marca el campo como entrada para reprte se almacena en su objeto clave valor como identificador\n if (field.hasOwnProperty('inReport') == true && field.inReport !== undefined && field.inReport == true) {\n listReports = this.getObjectWithValues(listReports, field)\n }\n\n //En caso de ser marcado como Tipificar este se almacenara en el objeto Clave Valor apra su indexacion\n if (field.hasOwnProperty('isTypificated') == true && field.isTypificated !== undefined && field.isTypificated == true) {\n listTypificated = this.getObjectWithValues(listReports, field, { typificated: true })\n }\n\n //Si algun campo tiene como nombre anonimo se asumira que el formulario cuenta con un apartado de anonimato porlo que se envia 1 como true\n if (field.key.includes('anonimo') && field.value == '1') {\n isAnonymous = \"1\"\n }\n\n if (field.type == \"options\") {\n let tempOptionObject = {};\n field.options.forEach(option => {\n tempOptionObject[option.id] = option.name\n });\n formAnswerData2[field.id] = tempOptionObject\n }\n\n //Pasamos los valores enviados para la tipififacion dentro del clien_unique envez de enviarle solo el Id con @@\n if (field.client_unique !== undefined && field.client_unique == true) {\n if (this.form['client_unique'] !== undefined) {\n this.form['client_unique'].forEach(unique => {\n if (unique.id == field.id) {\n unique.value = field.value\n }\n });\n }\n }\n\n //Recogemos los labels de los selectores en el formulario\n if (field.options.length > 0) {\n //Si el valor es un array es un Multiselect\n if (Array.isArray(field.value)) {\n listSelect[field.id] = []\n field.value.forEach(option => {\n listSelect[field.id].push(option);\n });\n } else {\n if (field.value && field.value != \"\") {\n\n }\n listSelect[field.id] = [field.value]\n }\n }\n //La validacion y limpieza de esta opcion siempre se debe hacer a lo ultimo de la iteracion\n //Ya que las opciones cargas desde un enpoint no se registraran dentro del formulario pero si se usaran para determinar los valores de algunas variables de control en la cabecera del metodo\n if (field.hasOwnProperty('isChargeableOption') == true && field.isChargeableOption && field.isChargeableOption == true) {\n field.options = []\n }\n\n });\n }\n });\n\n //Se carga la informacion a guardar entro de nustro Objeto padre\n demarche['sections'] = sections;\n demarche['formAnswerIndexData'] = JSON.stringify(formAnswerIndexData)\n demarche['reporting_fields'] = JSON.stringify(listReports)\n demarche['typified_fields'] = JSON.stringify(listTypificated)\n demarche['attachmentsList'] = JSON.stringify(listIdFiles)\n demarche['clientInfo'] = JSON.stringify(listclientNewInfo)\n demarche['preloaded'] = JSON.stringify(listPreload)\n demarche['indexData'] = JSON.stringify(formAnswerData2)\n demarche['listSelect'] = JSON.stringify(listSelect)\n\n const formData = new FormData();\n\n\n formData.append('form_id', String(this.form.id));\n if (this.escalation.is_anonimous === 1) {\n sections.unshift(this.customerSection);\n formData.append('sections', JSON.stringify(sections));\n } else {\n formData.append('sections', JSON.stringify(sections));\n }\n formData.append('client_unique', JSON.stringify(this.form['client_unique']));\n formData.append('chronometer', \"\");\n formData.append('listSelect', demarche['listSelect']);\n formData.append('formAnswerIndexData', demarche['formAnswerIndexData']);\n formData.append('reporting_fields', demarche['reporting_fields']);\n formData.append('attachmentsList', demarche['attachmentsList']);\n formData.append('clientInfo', demarche['clientInfo']);\n formData.append('preloaded', demarche['preloaded']);\n formData.append('typified_fields', demarche['typified_fields']);\n formData.append('isAnonymous', isAnonymous);\n formData.append('indexData', demarche['indexData']);\n\n dataForm.files.forEach((element) => {\n formData.append(element.id, element.file);\n });\n\n return formData;\n\n } catch (error) {\n throw new Error(error);\n }\n }\n\n /**\n * Metodo que se encarga de crear cargar a los objetos los valores seleccionados segun el criterio\n * @author Juan David Guerrero Vargas\n * @param objectToModify:any {any} Objeto a modificar Agregar/Eliminar propiedades\n * @param field:any {any} campo del cual se obtendran las opciones y sus nombres\n * @param config?:any {any} variable de configuracion { typificated:false, formAnswerIndexData:false } permite enviar parametros para modificar el compotamiento de creacion del objeto \n * \n */\n getObjectWithValues(objectToModify: any, field: any, config?: any): any {\n if (field.options.length > 0 && field.controlType == 'multiselect') {\n if (Array.isArray(field.value) && field.value.filter(filtered => (filtered && filtered != \"\")).length > 0) {\n let labels = \"\"\n field.value.forEach(valueSelect => {\n let optionFinded = field.options.filter(filterd => filterd.id == valueSelect)\n if (optionFinded) {\n labels += optionFinded[0].name + \",\"\n }\n });\n objectToModify[field.id] = labels\n }\n } else if (field.options.length > 0) {\n let optionSelected = field.options.filter(filterd => filterd.id == field.value)\n if (optionSelected && optionSelected.length > 0) {\n objectToModify[field.id] = optionSelected[0].name\n }\n }\n\n if (field.options.length <= 0) {\n if ((config && config.hasOwnProperty('typificated') == true && config.typificated == true)) {\n objectToModify[field.id] = field.value\n }\n\n if ((config && config.hasOwnProperty('formAnswerIndexData') == true && config.formAnswerIndexData == true) && field.controlType == 'file') {\n if (field['storage_path']) {\n objectToModify[field.id] = field['storage_path']\n }\n } else {\n objectToModify[field.id] = field.value\n }\n\n if (!config && field.value && field.value !== \"\") {\n objectToModify[field.id] = field.value\n }\n }\n return objectToModify;\n }\n\n /**\n * Metodo que se encarga de registrar los datos apra CRM 1\n * @param dataForm:any {any} objeto con la respuesta de sections y formulario\n * @param typeCreate:string {string} tipo de cracion\n * @returns FormData {FormData}\n */\n createFormDataToSaveFormCrm(dataForm: any, typeCreate: string): FormData {\n const form = new FormData();\n form.append('form_id', String(this.form.id));\n form.append('client_unique', JSON.stringify(this.form['client_unique']));\n if (this.escalation.is_anonimous === 1) {\n dataForm.sections.unshift(this.customerSection);\n form.append('sections', JSON.stringify(dataForm.sections));\n } else {\n form.append('sections', JSON.stringify(dataForm.sections));\n }\n\n return form;\n }\n}","

{{data.title}}\n \n

\n\n
\n
\n
\n

Radicado #{{data.id}}

\n
\n
\n \n\n
\n
\n
\n
Asunto: {{escalation?.p_q_r_s_asunto?.name}}
\n
\n
Estado: {{escalation?.p_q_r_s_estado?.name}}
\n
\n
Es Anónimo: {{ escalation.is_anonimous === 1 ? 'Si' : 'No' }}
\n \n
\n
\n \n\n \n
\n \n\n \n
\n
\n
\n

Adjuntar archivos

\n
\n
\n {{item.nombre}} \n \n \n
\n
\n \n
\n \n
\n
\n

Historial de Modificaciones

\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Fecha Modificación {{row.updated_at | date:'shortDate'}} Usuario {{row.observacion_user?.name}} Estado {{row.observacion_estado?.name}} Observación {{row.observacion}}
No hay datos que coincidan con el filtro
\n\n \n \n
\n
\n
","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatAutocomplete } from '@angular/material/autocomplete';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-editar-matriz',\n templateUrl: './editar-matriz.component.html',\n styleUrls: ['./editar-matriz.component.sass']\n})\nexport class EditarMatrizComponent implements OnInit {\n private uuid = '6698c094-9157-11ee-b9d1-0242ac120002';\n public config: any;\n\n matrixForm:FormGroup;\n tiposMatrices = [];\n inteligencias = [];\n rangos = [];\n tipos_peso = [];\n campaigns = [];\n empresas = [];\n filteredOptionsCampaign: Observable;\n crm_id;\n @ViewChild('campaignAuto', { read: MatAutocomplete }) campaignAuto:MatAutocomplete;\n constructor(\n public matrizRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private fb:FormBuilder,\n private matrizService:MatrizService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.createForm();\n this.getMatrixById();\n this.getSelects();\n }\n\n\n\n createForm(){\n this.matrixForm = this.fb.group({\n nombre: [{value:'',disabled:true},[Validators.required]],\n tipo_matriz_id: [{value:'',disabled:true},Validators.required],\n rango_id: [{value:'',disabled:true},Validators.required],\n tipo_peso_id: [{value:'',disabled:true},Validators.required],\n campania_asociada: ['',Validators.required],\n crm_id: ['',Validators.required],\n aplicar_inteligenciaNegocio: ['',Validators.required],\n inteligenciaNegocio_id: ['',Validators.required],\n company_id: [{value:'',disabled:true},Validators.required],\n aplica_para_cp: ['', Validators.required],\n aplica_comentario:[0,Validators.required],\n comentario_obligatorio_para:['', Validators.required],\n tamano_comentario:['', Validators.required]\n })\n }\n\n getMatrixById(){\n this.matrizService.getMatrixById(this.datos.id_matriz).subscribe((resp:any)=>{\n this.matrixForm.get('nombre').setValue(resp[0].matriz.nombre);\n this.matrixForm.get('tipo_matriz_id').setValue(resp[0].matriz.tipo_matriz_id);\n this.matrixForm.get('crm_id').setValue(resp[0].matriz.crm_id);\n if (resp[0].matriz.rango) {\n this.matrixForm.get('rango_id').setValue(resp[0].matriz.rango_total_id);\n }else{\n this.matrixForm.get('rango_id').setValue('');\n }\n this.matrixForm.get('tipo_peso_id').setValue(resp[0].matriz.tipo_peso_id);\n this.matrixForm.get('campania_asociada').setValue(resp[0].matriz.asociacion_crm);\n this.matrixForm.get('aplicar_inteligenciaNegocio').setValue(resp[0].matriz.tiene_inteligenciaNegocio);\n this.matrixForm.get('inteligenciaNegocio_id').setValue(resp[0].matriz.inteligenciaNegocio_id);\n this.matrixForm.get('company_id').setValue(resp[0].matriz.company_id);\n this.matrixForm.get('aplica_para_cp').setValue(resp[0].matriz.aplica_para_cp);\n this.matrixForm.get('aplica_comentario').setValue(resp[0].matriz.comment_apply);\n let cadena: string = resp[0].matriz.comment_is_mandatory_for; // tu string\n const arrayDeStrings: string[] = cadena.split(\",\").map(item => item.trim());\n console.log( arrayDeStrings);\n this.matrixForm.get('comentario_obligatorio_para').setValue(arrayDeStrings);\n this.matrixForm.get('tamano_comentario').setValue(resp[0].matriz.comment_size);\n \n });\n }\n\n getSelects(){\n this.matrizService.getComapanies().subscribe((resp:any)=>{\n this.empresas = resp\n });\n\n this.matrizService.getTypeMatrix().subscribe((resp:any)=>{\n this.tiposMatrices = resp\n });\n\n this.matrizService.getIntelligence().subscribe((resp:any)=>{\n this.inteligencias = resp;\n });\n\n this.matrizService.getRange().subscribe((resp:any)=>{\n this.rangos = resp;\n })\n\n this.matrizService.getWeight().subscribe((resp:any)=>{\n resp.forEach(tipo => {\n if (tipo.nombre === \"Peso en Items\") {\n tipo.nombre = 'Peso en Ítems';\n }\n });\n this.tipos_peso = resp;\n })\n\n this.matrizService.getCampaings().subscribe((resp:any)=>{\n this.campaigns = resp.data;\n });\n\n }\n\n private _filterCampaign(name: any): any[] {\n const filterValueCampaign = name.toLowerCase();\n return this.campaigns.filter(option => option.name.toLowerCase().includes(filterValueCampaign));\n }\n\n displayFnCampaign(campaign: any): string{\n return campaign && campaign.name ? campaign.name : '';\n }\n\n changeSelect(){\n\n if (this.matrixForm.get('campania_asociada').value == 1) {\n this.matrixForm.get('crm_id').enable();\n }else{\n this.matrixForm.get('crm_id').disable();\n this.matrixForm.get('crm_id').setValue(null);\n }\n\n if (this.matrixForm.get('aplicar_inteligenciaNegocio').value == 0) {\n this.matrixForm.get('inteligenciaNegocio_id').disable();\n this.matrixForm.get('inteligenciaNegocio_id').setValue(null);\n }else{\n this.matrixForm.get('inteligenciaNegocio_id').enable();\n }\n if (this.matrixForm.get('aplica_comentario').value == 0) {\n this.matrixForm.get('comentario_obligatorio_para').disable();\n this.matrixForm.get('tamano_comentario').disable();\n }else{\n this.matrixForm.get('comentario_obligatorio_para').enable();\n this.matrixForm.get('tamano_comentario').enable();\n }\n }\n\n update(){\n if (this.matrixForm.get('tipo_matriz_id').value == 1) {\n this.matrixForm.get('rango_id').disable();\n this.matrixForm.get('tipo_peso_id').disable();\n }else{\n this.matrixForm.get('rango_id').enable();\n this.matrixForm.get('tipo_peso_id').enable();\n }\n\n if (this.matrixForm.get('campania_asociada').value == 1) {\n this.matrixForm.get('crm_id').enable();\n }else{\n this.matrixForm.get('crm_id').disable();\n }\n\n if (this.matrixForm.get('aplicar_inteligenciaNegocio').value == false) {\n this.matrixForm.get('inteligenciaNegocio_id').disable();\n }else{\n this.matrixForm.get('inteligenciaNegocio_id').enable();\n }\n if (this.matrixForm.invalid) {\n return\n }\n this.matrixForm.addControl('grupo',new FormControl(1))\n this.matrixForm.enable();\n this.matrizService.updateMatrix(this.datos.id_matriz,this.matrixForm.value).subscribe((resp:any)=>{\n this.matrixForm.disable();\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess(this.config.modal.title, this.config.modal.text);\n this.matrizRef.close();\n }\n });\n }\n\n}\n","\n
\n

{{config.labels.editMatrix}}

\n \n
\n \n {{config.labels.matrixName}}\n \n \n \n {{config.labels.company}} \n \n {{emp.name}}\n \n \n \n {{config.labels.matrixType}}\n \n {{tipo.nombre}}\n \n \n \n {{config.labels.weightRange}}\n \n {{rango.nombre}}\n \n \n \n {{config.labels.moduleOrItems}}\n \n {{peso.nombre}}\n \n \n \n {{config.labels.associatedCampaign}}\n \n {{config.labels.yes}}\n {{config.labels.no}}\n \n \n \n {{config.labels.selectCRM}}\n \n {{campaign.name}}\n \n \n \n {{config.labels.applyBusinessIntelligence}}\n \n {{config.labels.yes}}\n {{config.labels.no}}\n \n \n \n {{config.labels.selectIntelligence}}\n \n {{inteligencia.name}}\n \n \n \n {{config.labels.applyForCP}}\n \n {{config.labels.yes}}\n {{config.labels.no}}\n \n {{config.errors.required}}\n \n \n \n {{config.labels.comment_apply}}\n \n {{config.labels.yes}}\n {{config.labels.no}} \n \n {{config.errors.selectOption}}\n \n \n {{config.labels.comment_is_mandatory_for}}\n \n {{config.labels.yes}}\n {{config.labels.no}}\n {{config.labels.na}}\n {{config.labels.cp}}\n \n {{config.errors.selectOption}}\n \n \n {{config.labels.comment_size}}\n \n {{config.errors.required}}\n \n
\n \n
\n \n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { SPEECH_URL } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HistoryService {\n constructor(private httpClient: HttpClient) { }\n\n /**\n * Metodo que retorna los errores generados por HTTP.\n * @author Yeison Sepulveda\n * @createdate 2024-06-14\n * @param error Instancia del httpErrorResponse.\n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Metodo ue obtiene la lista de campañas disponibles haciendo una solicitud HTTP GET.\n * @author Yeison Sepulveda\n * @createdate 2024-06-14\n */\n getCampaigns(): Observable {\n return this.httpClient.get(`${SPEECH_URL}campaigns/list_campaigns`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Traer la data del historial paginado\n * @author Yeison Sepulveda\n * @createdate 2024-06-14\n * @param filters filtro\n * @param paginator configuración de paginación (pageSize y pageIndex).\n */\n searchDataPaginate(filter: any, paginator: any): Observable {\n const body = { filter, per_page: paginator.pageSize, page: paginator.pageIndex };\n return this.httpClient.post(`${SPEECH_URL}paginate_analytics`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Traer listado de informacion de los analisis sin segmentar paginados\n * @author Yeison Sepulveda\n * @createdate 2024-06-14\n * @param filters filtro\n * @param paginator configuración de paginación (pageSize y pageIndex).\n */\n localSearchDataPaginate(filter: any, paginator: any): Observable {\n const body = { filter, per_page: paginator.pageSize, page: paginator.pageIndex };\n return this.httpClient.post(`${SPEECH_URL}paginate_analytics_local`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Traer listado de informacion de los analisis de chat paginados\n * @author Yeison Sepulveda\n * @createdate 2024-11-05\n * @param filters filtro\n * @param paginator configuración de paginación (pageSize y pageIndex).\n */\n ChatSearchPaginate(filter: any, paginator: any): Observable {\n const body = { filter, per_page: paginator.pageSize, page: paginator.pageIndex };\n return this.httpClient.post(`${SPEECH_URL}chatCases/paginate_historical_chats`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que lista las campañas asociadas a un usuario seleccionado para historico.\n * @author Fabian Duran\n * @createdate 2024-04-23\n * @param userId Usuario seleccionado en la lista.\n * @modifiedBy Yeison Sepulveda\n * @modifyDate 03-01-2025\n */\n getassociatedCampaignsHistoy(userIds: number[]): Observable {\n const body = { rrhh_ids: userIds }\n return this.httpClient.post(`${SPEECH_URL}campaigns/associatedCampaigns_history`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormControl, Validators, FormGroup, FormBuilder } from '@angular/forms';\nimport { MailService } from '../../../services/rest/mail.service';\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\n\n@Component({\n selector: 'app-manage-email',\n templateUrl: './manage-email.component.html',\n styleUrls: ['./manage-email.component.sass']\n})\nexport class ManageEmailComponent implements OnInit {\n\n mailForm: FormGroup;\n archivosCargados: any[] = [];\n file: any;\n gestionar: boolean = false;\n email: any;\n\n // tslint:disable-next-line: member-ordering\n public editorConfig: AngularEditorConfig = {\n editable: true,\n spellcheck: true,\n height: '5%',\n minHeight: '0',\n maxHeight: '20%',\n minWidth: '0',\n enableToolbar: true,\n showToolbar: true,\n placeholder: 'Enter text here...',\n defaultParagraphSeparator: '',\n defaultFontName: '',\n defaultFontSize: '',\n fonts: [\n { class: 'arial', name: 'Arial' },\n { class: 'times-new-roman', name: 'Times New Roman' },\n { class: 'calibri', name: 'Calibri' },\n { class: 'comic-sans-ms', name: 'Comic Sans MS' }\n ],\n customClasses: [\n {\n name: 'quote',\n class: 'quote',\n },\n {\n name: 'redText',\n class: 'redText'\n },\n {\n name: 'titleText',\n class: 'titleText',\n tag: 'h1',\n },\n ],\n sanitize: true,\n toolbarPosition: 'top',\n toolbarHiddenButtons: [\n ['bold', 'italic'],\n ['fontSize']\n ]\n };\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private form: FormBuilder,\n public mailService: MailService,\n private alertsService: AlertsService,\n public dialog: MatDialogRef) { }\n\n ngOnInit(): void {\n\n this.formControl();\n\n const data = new FormData();\n\n data.append ( 'emailId', this.data.data.emailId);\n\n this.mailService.postObtenerCorreo(data).subscribe((respo) => {\n this.email = respo[0].email_adjuntos;\n if (!this.data.data.email.cuerpo){\n this.data.data.email.cuerpo = respo[0].cuerpo\n }\n this.mailForm.patchValue({\n para: respo[0].de,\n respuesta: respo[0].cuenta_email.firma[0] ?\n '


' + respo[0].cuenta_email.firma[0].firmaHtml + '


' + respo[0].cuerpo :\n '


' + respo[0].cuerpo\n });\n });\n }\n\n formControl(): void {\n this.mailForm = this.form.group({\n para: new FormControl('', [Validators.required, Validators.email]),\n cc: new FormControl('', [Validators.email]),\n cco: new FormControl('', [Validators.email]),\n respuesta: new FormControl('', []),\n });\n }\n\n get error(): any { return this.mailForm.controls; }\n\n gestionarBoton(): void {\n this.gestionar = !this.gestionar;\n }\n\n CargarArchivo(event): void {\n this.file = event.target.files[0];\n const formData = new FormData();\n formData.append('archivoCarga', this.file);\n\n this.mailService.postCargarArchivos(formData).subscribe((resp) => {\n this.archivosCargados.push({\n path: resp.data.path,\n name: resp.data.name\n });\n });\n }\n\n resposeEmail(mailForm): void {\n\n const newMail = new FormData();\n\n newMail.append( 'emailId' , this.data.data.emailId );\n newMail.append( 'cuentaEmailId' , this.data.data.email.cuentaEmailId );\n newMail.append( 'emailHtml' , mailForm.value.respuesta );\n newMail.append( 'adjuntos' , JSON.stringify(this.archivosCargados) );\n newMail.append( 'para' , mailForm.value.para );\n newMail.append( 'cc' , mailForm.value.cc );\n newMail.append( 'cco' , mailForm.value.cco );\n\n this.mailService.postresponderCorreo(newMail).subscribe((resp) => {\n this.alertsService.alertSuccess('Enviado', resp.data);\n this.dialog.close();\n });\n }\n\n descargarArchivo(archivo: any): void {\n\n const data = new FormData();\n\n data.append( 'url', archivo.url);\n data.append( 'name', archivo.nombre);\n\n this.mailService.download(data).subscribe((resp: any) => {\n importedSaveAs(resp, archivo.nombre);\n });\n\n }\n\n}\n","
\n \n \n \n \n

De: {{data.data.email.de}}

\n

Para: {{data.data.email.para}}

\n

Asunto: {{data.data.email.asunto}}

\n

Fecha: {{data.data.email.fechaHora}}

\n \n \n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n \n \n
\n \n \n Para: \n \n ¡Advertencia! Este campo es requerido\n Debe ingresar un correo valido\n \n \n \n cc: \n \n Debe ingresar un correo valido\n \n \n \n cco: \n \n Debe ingresar un correo valido\n \n \n \n
    \n
    \n
  • {{item.name}}
  • \n
    \n \n
\n \n \n \n
\n \n
\n \n
\n \n
\n \n
\n \n
\n \n \n
\n \n
\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'days'\n})\nexport class DaysPipe implements PipeTransform {\n\n transform(value: unknown, ...args: unknown[]): unknown {\n let object = results.find(e=>{return e.key === String(value)})\n return object? object.name : 'N/A';\n }\n\n}\nconst results=[\n {key:'Monday', name: 'Lun.'},\n {key:'Tuesday', name: 'Mar.'},\n {key:'Wednesday', name: 'Mier.'},\n {key:'Wednesday', name: 'Mier.'},\n {key:'Thursday', name: 'Jue.'},\n {key:'Friday', name: 'Vie.'},\n {key:'Saturday', name: 'Sab.'},\n {key:'Sunday', name: 'Dom.'},\n]\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { CommentsService } from '../../../services/comments.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-candidate-comment-edit',\n templateUrl: './candidate-comment-edit.component.html',\n styleUrls: ['./candidate-comment-edit.component.sass']\n})\nexport class CandidateCommentEditComponent implements OnInit {\n\n formComment:FormGroup;\n\n constructor(private commentService: CommentsService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private fb: FormBuilder,\n private dialogRef: MatDialogRef,\n private alert:AlertsService) {\n this.createForm();\n }\n\n ngOnInit(): void {\n this.formComment.patchValue(this.data.comment);\n }\n\n createForm(){\n this.formComment = this.fb.group({\n comment:['',Validators.required]\n });\n }\n updateComment(){\n if(this.formComment.valid){\n this.alert.alertConfirm('¿Estas seguro que deaseas editar el comentario anterior?').then(e => {\n if(e.isConfirmed){\n this.commentService.editComment(this.data.comment.id,this.formComment.value).subscribe( resp => {\n this.alert.alertSuccess('¡Actualizado!','Comentario editado con éxito');\n this.dialogRef.close(resp);\n } )\n }\n })\n }\n }\n\n}\n","\n

Editar comentario

\n\n\n
\n \n \n Comentario\n \n \n\n \n
\n
\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: null\n})\nexport class ChatRestService {\n private chatUrl = environment.CHAT_SOUL;\n private rrhhUrl = environment.RRHH_URL\n private nominaUrl = environment.NOMINA_URL\n\n\n constructor(\n private http:HttpClient\n ) { }\n\n /**\n * Metodo que se encarga de obtener el historico de chat con un usuario\n * @author Juan David Guerrero Vargas\n * @param idUserHistory:number {number} Id del historico de chat de un usuario\n * @return {Observable} Observable\n */\n getHistoryChat(idUserHistory:number, type:string):Observable{\n return this.http.get(`${this.chatUrl}message/get-history`,{ params: { id: String(idUserHistory), type:type} })\n }\n\n /**\n * Metodo que se encarga de enviar mensajes de chat\n * @author Juan David Guerrero Vargas\n * @param message:any Contenido del mensaje a enviar\n * @returns :Observable\n */\n sendMessage(message:any):Observable{\n return this.http.post(`${this.chatUrl}message/send`,message);\n }\n\n /**\n * Metodo que se encarga de consultar la lista de contactos por segun la campaña del usurio\n * @author Juan David Guerrero Vargas\n * @param campaign_id:string {string} ide de la campaña\n * @returns {Observable} Observable con respuesta REST\n */\n getListContact():Observable{\n return this.http.get(`${this.chatUrl}users/chats`);\n }\n /**\n * Metodo que se encarga marcar un mensaje como leido\n * @param idMesage:String {string}\n * @returns\n */\n markAllMessageRead(idUser:string , typeChat:string):Observable{\n return this.http.post(`${this.chatUrl}message/markAllMessagesAsRead`,{id_sender:idUser, type:typeChat });\n }\n\n /**\n * Metodo que se encarga de obtener el listado de grupos asociados al suuario en session\n * @return {Observable} Observable\n */\n getGroupsUser():Observable{\n return this.http.get(`${this.chatUrl}group/get`);\n }\n\n /**\n * Metodo que se encarga de crear neuvos grupos\n * @param newGroup:any {name:string, participants:number[]}\n * @returns {Observable} Observable\n */\n createNewGroup(newGroup:any):Observable{\n return this.http.post(`${this.chatUrl}group/create`,newGroup);\n }\n\n /**\n * Metodo que se encarga de obtener el listado de participantes de un grupo\n * @author Juan David Guerrero Vargas\n * @param idGroup:any {any} id del grupo a consultar\n */\n getParticipants(idGroup:any):Observable{\n return this.http.get(`${this.chatUrl}group/get-participants-for-group`,{ params: { id: String(idGroup)} });\n }\n\n /**\n * Método que retorna la lista de campañas\n * @author Juan Carlos Alonso\n * @createdate 05-06-2024\n * @returns {Observable} Observable\n */\n getCampaigns():Observable{\n return this.http.get(`${this.nominaUrl}campaigns/list`);\n }\n\n /**\n * Método que retorna la lista de usuarios por campañas\n * @author Juan Carlos Alonso\n * @createdate 05-06-2024\n * @param campaigns Arreglo de ids de campañas\n * @returns {Observable} Observable\n */\n getCampaignsUsers(campaigns:any):Observable{\n return this.http.post(`${this.chatUrl}users/search/by/campaigns`, campaigns)\n }\n\n /**\n * Método que obtiene un usuario por documento y tipo de documento\n * @author Juan Carlos Alonso\n * @createdate 05-06-2024\n * @param document_type tipo de documento\n * @param document número de documento\n * @returns {Observable} Observable\n */\n getUserByDocument(document_type:string,document:string):Observable{\n return this.http.post(`${this.chatUrl}users/search/by/document`, {document: document, type_doc: document_type})\n }\n\n /**\n * Método que obtiene la lista de tipos de documento\n * @author Juan Carlos Alonso\n * @createdate 05-06-2024\n * @returns {Observable} Observable\n */\n getDocumentTypes():Observable{\n return this.http.get(`${this.rrhhUrl}idtypes`)\n }\n\n /**\n * Método que envía y actualiza un grupo\n * @author Juan Carlos Alonso\n * @createdate 05-06-2024\n * @group grupo con sus participantes\n * @returns {Observable} Observable\n */\n updateGroup(group:any):Observable{\n return this.http.put(`${this.chatUrl}group/update`,group);\n }\n\n /**\n * Método que obtiene un grupo y sus participates por id\n * @author Juan Carlos Alonso\n * @createdate 05-06-2024\n * @param id id del grupo\n * @returns {Observable} Observable\n */\n getGroupById(id:number, with_owner:boolean){\n return this.http.get(`${this.chatUrl}group/getGroupById?id=${id}&with_owner=${with_owner}`)\n }\n\n /**\n * Metodo que se encarga de obtener el listado de tipos de documento\n * @author Juan David Guerrero Vargas\n * @returns {Observable} Observable\n */\n getIdTypesdocuments(){\n return this.http.get(`${this.rrhhUrl}idtypes`);\n }\n\n /**\n * Metodo que se encarga de obtener los usuarios por tipo de docuemtno y documento\n * @author Juan David Guerrero Vargas\n * @param searchValue:any {document:string, type_doc:string}\n * @returns {Observable} Observable\n */\n getUsersBydocumentAndType(searchValue:any):Observable{\n return this.http.post(`${this.chatUrl}users/search/by/document`,searchValue);\n }\n\n /**\n * Metodo que se encarga de obtener un lsitado de usuarios por nombre\n * @author Juan David Guerrero Vargas\n * @param name:string {name} nombre a buscar\n * @returns {Observable} Observable\n */\n getUserByName(name:string):Observable{\n return this.http.get(`${this.chatUrl}users`,{ params: { name: name} });\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport * as moment from 'moment';\nimport { AuditoriaService } from 'src/app/modules/auditoria/services/auditoria.service';\nimport { InteligenciaService } from 'src/app/modules/auditoria/services/inteligencia.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\n\n@Component({\n selector: 'app-form-inteligencia',\n templateUrl: './form-inteligencia.component.html',\n styleUrls: ['./form-inteligencia.component.sass']\n})\nexport class FormInteligenciaComponent implements OnInit {\n\n preguntas = [];\n inteligenciaForm:FormGroup;\n constructor(\n public inteligenciaRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private inteligenciaService:InteligenciaService,\n private fb:FormBuilder,\n private auditoriaService:AuditoriaService\n ) { }\n\n ngOnInit(): void {\n this.createForm();\n this.getInteligenciaById();\n }\n\n createForm(){\n this.inteligenciaForm = this.fb.group({\n preguntas_activas: this.fb.array([])\n })\n }\n\n getInteligenciaById(){\n const inteligenciaQuestions = this.inteligenciaForm.controls['preguntas_activas'];\n this.inteligenciaService.getFormById(this.datos.inteligencia_id).subscribe((resp:any)=>{\n this.preguntas = resp.preguntas_acivas;\n this.preguntas.forEach(pregunta => {\n let opciones = [];\n let escalas = [];\n let is_required = pregunta.pregunta.requerida;\n let validador;\n let validador_otra;\n if (pregunta.pregunta.opciones_respuesta_form_pregunta_activos) {\n opciones = pregunta.pregunta.opciones_respuesta_form_pregunta_activos;\n }\n if (pregunta.pregunta.escala) {\n escalas = pregunta.pregunta.escala;\n }\n if (is_required == 1) {\n validador = ['',Validators.required];\n validador_otra = ['',Validators.required];\n }else{\n validador = '';\n validador_otra = '';\n }\n inteligenciaQuestions.push(this.fb.group({\n id:pregunta.business_intelligence_question_id,\n name:pregunta.pregunta.question,\n respuesta_usuario: validador,\n respuesta_usuario_otra: {value:'',disabled:true},\n tipo_pregunta_id: pregunta.pregunta.tipo_pregunta.id,\n tipo_pregunta: pregunta.pregunta.tipo_pregunta.key,\n opciones: this.fb.array(opciones),\n escalas: this.fb.array(escalas),\n }))\n });\n })\n }\n\n get inteligenciaQuestions(){\n return this.inteligenciaForm.get('preguntas_activas') as FormArray;\n }\n\n selectMultiple(index:FormGroup){\n if (index.get('respuesta_usuario').value === 'otra') {\n index.get('respuesta_usuario_otra').enable();\n }else{\n index.get('respuesta_usuario_otra').disable();\n }\n }\n\n cambioFecha(pregunta:FormControl){\n pregunta.get('respuesta_usuario').setValue(moment(pregunta.get('respuesta_usuario').value).format('yyyy-MM-DD'));\n }\n\n sendRequest(){\n if (this.inteligenciaForm.invalid) {\n return\n }\n const inteligenciaQuestions = this.inteligenciaForm.controls['preguntas_activas'];\n inteligenciaQuestions.controls.forEach(grupo => {\n if (grupo.get('respuesta_usuario').value != 'otra') {\n grupo.get('respuesta_usuario_otra').setValue(null);\n }\n grupo.get('respuesta_usuario_otra').enable();\n });\n this.inteligenciaForm.addControl('id_form',new FormControl(this.datos.inteligencia_id));\n Object.assign(this.datos,{formulario:[this.inteligenciaForm.value]});\n this.auditoriaService.createAuditoria(this.datos).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess('¡Excelente!','La matriz ha sido auditada con éxito');\n this.inteligenciaRef.close(resp.respuesta.codigo);\n }else if (resp.respuesta.codigo != 202) {\n Tools.swalError('¡Oops!','Lo sentimos, ha ocurrido un error inesperado y no fue posible auditar la matriz, por favor intenta nuevamente.');\n inteligenciaQuestions.controls.forEach(grupo => {\n grupo.get('respuesta_usuario_otra').disable();\n });\n }\n });\n }\n\n}\n","\n
\n

Inteligencia de Negocio

\n \n
\n
\n
\n

{{pregunta.get('name').value}}

\n
\n \n \n {{opcion.name}}\n \n \n Esta respuesta es obligatoria.\n \n \n ¿Cual?\n \n Esta respuesta es obligatoria.\n \n
\n
\n \n Respuesta\n \n Esta respuesta es obligatoria.\n \n
\n
\n \n \n {{escala}}\n \n Esta respuesta es obligatoria.\n \n
\n
\n \n Opciones\n \n \n {{opcion.name}}\n \n Esta respuesta es obligatoria.\n \n
\n
\n \n Fecha\n \n \n \n \n \n Esta respuesta es obligatoria.\n \n
\n
\n \n Hora\n \n Esta respuesta es obligatoria.\n \n
\n
\n
\n
\n
\n \n \n
\n
","import { createAction, props } from \"@ngrx/store\";\nimport { AcompañamientoModel } from \"../../core/interfaces/acompañamiento.interface\";\nimport { FiltroModel } from \"../../core/interfaces/filtros.interface\";\n\n/**\n * @author Cristian Gallo\n * @createdate 2021-12-10\n * Action que cargara la información para la tabla.\n*/\n\nexport const loadAcompañamientos = createAction(\n '[Acompañamiento] Load acompañamientos',\n props<{\n parametro?:string,\n fechaInicial?:string,\n fechaFinal?:string,\n indicador?:string,\n numeroReg?:number,\n estado?:string,\n tab?:number,\n page?:number,\n }>()\n);\n\nexport const loadedAcompañamientos = createAction(\n '[Acompañamientos] Loaded acompañamientos',\n props<{ acompañamientos:AcompañamientoModel }>()\n);","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { CategoryService } from '../../services/category.service';\n\n@Component({\n selector: 'app-category',\n templateUrl: './category.component.html',\n styleUrls: ['./category.component.css']\n})\nexport class CategoryComponent implements OnInit {\n formCategory: FormGroup = new FormGroup({\n id: new FormControl(null, []),\n name: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required, Validators.maxLength(30)]),\n color: new FormControl({ value: '#ff0000', disabled: this.data.viewOnly }, []),\n id_email_config: new FormControl({ value: '', disabled: this.data.viewOnly }, [Validators.required])\n });\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alertService: AlertsService,\n private matDialogRef: MatDialogRef,\n private matSnackBar: MatSnackBar,\n private categoryService: CategoryService,\n ) { }\n\n ngOnInit(): void {\n if (this.data.category) {\n this.formCategory.get('id').setValue(this.data.category.id);\n this.formCategory.get('name').setValue(this.data.category.name);\n this.formCategory.get('color').setValue(this.data.category.color);\n this.formCategory.get('id_email_config').setValue(this.data.category.id_email_config);\n }\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-05\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formCategory.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-05\n * Metodo que guarda o actualiza una categoria. \n */\n saveCategory(): void {\n if (this.formCategory.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.categoryService.storeCategory(this.formCategory.value).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: this.formCategory.value.id === null ? 'Se ha creado la categoría con éxito' : 'Se ha actualizado la categoría con éxito'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(res);\n });\n }\n });\n } else {\n this.formCategory.markAllAsTouched();\n }\n }\n}","
\n
\n \n
\n
\n
\n
\n {{ data.titleDialog }}\n
\n \n
\n
\n
\n \n Nombre de la categoría\n \n \n El campo es requerido\n Máximo 30 caracteres\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n Emails de configuración\n \n {{ item.name\n }}\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
","import { Component, HostListener, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { startWith, map } from 'rxjs/operators';\nimport { CampaignService } from '../../../../services/campaign.service';\nimport { Observable } from 'rxjs';\nimport Swal from 'sweetalert2';\nimport { AdminServersService } from 'src/app/modules/speech-analytics/services/admin-servers.service';\nimport { ViewService } from 'src/app/modules/speech-analytics/services/view.service';\nimport { ModelIAService } from 'src/app/modules/speech-analytics/services/model_ia.service';\n\n@Component({\n selector: 'app-create-campaign',\n templateUrl: './create-campaign.component.html',\n styleUrls: ['./create-campaign.component.sass']\n})\nexport class CreateCampaignComponent implements OnInit {\n\n createCampaignForm: FormGroup;\n filteredOptionsCampaign: Observable;\n campaigns: any;\n connections: any;\n fecha_llamada: any;\n modelsIA: any;\n modelsTranscriptionIAList: any;\n languageIAList: any;\n\n constructor(\n public dialogRef: MatDialogRef,\n private form: FormBuilder,\n private adminServersService: AdminServersService,\n private modelsIAService: ModelIAService,\n private campaignService: CampaignService,\n private viewservice: ViewService, ) { }\n\n ngOnInit(): void {\n this.formControl();\n this.getConexiones();\n this.getModelsIA();\n this.subscribeToCampaignSelection();\n }\n\n /**\n * Método donde se establecen las validaciones del formulario y adviarte antes de refrescar\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @method unloadNotification\n * @param {Event} $event - El evento `beforeunload` del navegador.\n * @returns {void}\n */\n\n @HostListener('window:beforeunload', ['$event'])\n unloadNotification($event: any) {\n if (this.createCampaignForm.dirty) {\n $event.returnValue = true;\n }\n }\n\n /**\n * Metodo donde se establecen las validaciones del formulario\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n */\n\n formControl(): void {\n this.createCampaignForm = this.form.group({\n campaign_name: new FormControl('', Validators.required),\n campaign: new FormControl('', [Validators.required, this.campaignValidator.bind(this)]),\n dead_time: new FormControl('', [Validators.required, Validators.pattern('^[0-9]+$')]),\n campaign_conexion: new FormControl('', Validators.required),\n model_ia_transcription: new FormControl('', Validators.required),\n language: new FormControl('', Validators.required),\n model_ia_analysis_feelings: new FormControl('', Validators.required),\n delimit_date: new FormControl('')\n });\n }\n\n /**\n * Metodo validar rango de fecha para desabilotar input fecha 2 meses\n * @author Yeison sepulveda\n * @createdate 14/03/2024\n * @returns void {void}\n */\n dateFilter = (date: Date | null): boolean => {\n if (!date) {\n return false;\n }\n const today = new Date();\n return date <= today;\n }\n\n /**\n * Metodo para traer todas las campañas\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n */\n\n getCampaign(id_server: number): void {\n this.viewservice.getCampaigns(id_server).subscribe((resp) => {\n this.campaigns = resp.data;\n\n this.filteredOptionsCampaign = this.createCampaignForm.get('campaign')!.valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : this.displayFnCampaign(value)),\n map(name => name ? this._filterCampaign(name) : this.campaigns.slice())\n );\n });\n }\n\n /**\n * Metodo para obtener la data de lso selctores segun el tipo de llamada\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n */\n CampaignChange():void{\n if(this.createCampaignForm.get(\"campaign_conexion\").value !== null && this.createCampaignForm.get(\"campaign_conexion\").value !== \"\" ){\n const connection_id = this.createCampaignForm.get(\"campaign_conexion\").value;\n this.getCampaign(connection_id);\n }\n }\n\n /**\n * Metodo para obtener fecha llamada segun la selccion de la campaña\n * @author Yeison Sepulveda\n * @createdate 2024-08-30\n */\n subscribeToCampaignSelection(): void {\n this.createCampaignForm.get('campaign')!.valueChanges.subscribe(campaignId => {\n const selectedCampaign = this.campaigns.find(c => c.campaign_id === campaignId);\n if (selectedCampaign) {\n this.fecha_llamada = selectedCampaign.fecha_llamada;\n }\n });\n }\n\n /**\n * Metodo obtener el listado de las conexiones activas para selector\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n */\n\n getConexiones(): void {\n this.adminServersService.filterServe().subscribe(\n result => {\n this.connections = result.data;\n },\n error => {\n Swal.fire({\n icon: 'error',\n title: 'Error',\n text: error.error.error,\n timer: 2000,\n }).then((result) => {\n if (result.dismiss === Swal.DismissReason.timer) {\n this.dialogRef.close();\n }\n });\n }\n );\n }\n\n /**\n * Metodo obtener el listado de los modelos de intreligencia artificial activos\n * @author Yeison Sepulveda\n * @createdate 2024-10-21\n */\n\n getModelsIA(): void {\n this.modelsIAService.listModels().subscribe(\n result => {\n this.modelsIA = result.data;\n },\n error => {\n Swal.fire({\n icon: 'error',\n title: 'Opps.. Ha ocurido un error',\n text: error.message,\n timer: 2000,\n }).then((result) => {\n if (result.dismiss === Swal.DismissReason.timer) {\n this.dialogRef.close();\n }\n });\n }\n );\n\n this.modelsIAService.modelsTranscriptionList().subscribe(\n result => {\n this.modelsTranscriptionIAList = result.data;\n },\n error => {\n Swal.fire({\n icon: 'error',\n title: 'Opps.. Ha ocurido un error',\n text: error.message,\n timer: 2000,\n }).then((result) => {\n if (result.dismiss === Swal.DismissReason.timer) {\n this.dialogRef.close();\n }\n });\n }\n );\n\n this.modelsIAService.lenguageList().subscribe(\n result => {\n this.languageIAList = result.data;\n },\n error => {\n Swal.fire({\n icon: 'error',\n title: 'Opps.. Ha ocurido un error',\n text: error.message,\n timer: 2000,\n }).then((result) => {\n if (result.dismiss === Swal.DismissReason.timer) {\n this.dialogRef.close();\n }\n });\n }\n );\n }\n\n /**\n * Metodo que devuelve el nombre al momento de seleccionar una opcion\n * @author Daniel Martinez\n * @createdate 2021-02-04\n */\n displayFnCampaign(campaign_id: number): string {\n if (!campaign_id || !this.campaigns) {\n return '';\n }\n const campaign = this.campaigns.find(c => c.campaign_id === campaign_id);\n return campaign ? campaign.campaign_name : '';\n }\n\n /**\n * Filtra por nombre de rol, se usa para el autocompletable\n * @author Yeison Sepulveda\n * @createdate 2024-08-30\n * @param value valor a filtrar\n */\n private _filterCampaign(name: string): any[] {\n const filterValue = name.toLowerCase();\n return this.campaigns.filter(option => option.campaign_name.toLowerCase().includes(filterValue));\n }\n\n /**\n * Metodo que guarda o actualiza un servidor.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n sendDataCampaign() {\n if (this.createCampaignForm.valid) {\n Swal.fire({\n icon: 'warning',\n title: '¿Está seguro?',\n text: '¿De continuar con la gestión?',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n const dataToSend = {\n name: this.createCampaignForm.value.campaign_name,\n campaign_id: this.createCampaignForm.value.campaign,\n dead_time: this.createCampaignForm.value.dead_time,\n connection_id: this.createCampaignForm.value.campaign_conexion,\n model_ia_transcription: this.createCampaignForm.value.model_ia_transcription,\n model_ia_analysis_feelings: this.createCampaignForm.value.model_ia_analysis_feelings,\n language: this.createCampaignForm.value.language,\n delimit_date: this.createCampaignForm.value.delimit_date\n };\n this.campaignService.createCampaign(dataToSend).subscribe(\n res => {\n Swal.fire({\n icon: 'success',\n title: '¡Excelente!',\n text: 'Se ha registrado una nueva campaña',\n confirmButtonText: 'Continuar',\n confirmButtonColor: '#2CABBC',\n }).then((result) => {\n if (result.isConfirmed) {\n this.dialogRef.close();\n }\n });\n },\n error => {\n console.error('Error al crear la campaña', error.message);\n }\n );\n }\n });\n } else {\n this.createCampaignForm.markAllAsTouched();\n }\n }\n\n /**\n * Metodo alarta al momento de cancelar proceso\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n cancelSave(): void {\n if (this.createCampaignForm.dirty) {\n Swal.fire({\n title: '¿Estás seguro?',\n icon: 'warning',\n text: '¿En verdad deseas cancelar la gestión?',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.createCampaignForm.reset();\n this.dialogRef.close();\n }\n });\n }else {\n this.dialogRef.close();\n }\n }\n\n /**\n * Validador personalizado para el campo 'campaign'.\n * @author Yeison Sepulveda\n * @createdate 2024-07-19\n * @param formGroup El grupo de formularios que contiene el campo 'campaign'.\n * @returns objeto con el error 'invalidCampaign' si el valor es inválido, o null si es válido.\n */\n campaignValidator(control: FormControl): { [key: string]: boolean } | null {\n if (!this.campaigns) {\n return null;\n }\n const isValid = this.campaigns.some(c => c.campaign_id === control.value);\n return isValid ? null : { invalidCampaign: true };\n }\n}\n","\n\n
\n
\n
Crear campaña
\n \n\n
\n \n Nombre de la campaña\n \n \n Nombre de la campaña es requerido\n \n \n
\n\n
\n \n Conexión\n \n {{ item.name }}\n \n \n Seleccione una conexión\n \n \n
\n\n
\n \n Campaña\n \n \n \n {{ option.campaign_name }}\n \n \n \n Seleccione una campaña\n \n \n Campaña no válida\n \n \n \n Fecha del último registro de grabaciones: {{ fecha_llamada || 'No disponible' }}\n \n \n
\n\n
\n \n Modelo para la transcripción\n \n {{ item.name }}\n \n \n Seleccione el modelo de la Inteligencia Artificial a utilizar.\n \n \n
\n\n
\n \n Modelo para análisis de sentimientos\n \n {{ item.name }}\n \n \n Seleccione el modelo de sentientos de la Inteligencia Artificial a utilizar.\n \n \n
\n\n
\n \n Idioma modelo de la IA\n \n {{ item.name_language }} - {{ item.description }}\n \n \n Seleccione un idioma o lenguaje de la campaña.\n \n \n
\n\n
\n \n Tiempo muerto (segundos)\n \n Seleccione una opción\n \n
\n\n
\n \n Fecha\n \n \n \n \n
\n
\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { debounceTime } from 'rxjs/operators';\nimport { CampaignsService } from '../../../../../nomina/services/rest/campaigns.service';\nimport { JuridicaService } from '../../../../services/juridica.service';\nimport { CandidatesService } from '../../../../../rrhh/services/candidates.service';\nimport { PermitResponseBossComponent } from '../permit-response-boss/permit-response-boss.component';\nimport { PermitViewBossComponent } from '../permit-view-boss/permit-view-boss.component';\n\n@Component({\n selector: 'app-permit-list-boss',\n templateUrl: './permit-list-boss.component.html',\n styleUrls: [ './permit-list-boss.component.sass' ]\n})\nexport class PermitListBossComponent implements OnInit {\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n length;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [ 5, 10, 25, 100 ];\n\n displayedColumns: string[] = [ 'acciones', 'fecha', 'nombre', 'numero', 'estado' ];\n dataSource = new MatTableDataSource();\n\n reportForm: FormGroup;\n\n stateControl = new FormControl();\n typeDocument = new FormControl(1);\n\n document: any;\n startDate: any = '';\n endDate: any;\n idCampaing: any;\n documents: any = [];\n idTypeDoc: any;\n states: any = [ { id: 4, name: 'Todos' }, { id: 0, name: 'En revisión' }, { id: 1, name: 'Aprobado' }, { id: 2, name: 'Rechazado' } ];\n idState: any = 4;\n\n public documentControl = new FormControl();\n\n constructor(public dialog: MatDialog,\n private service: CampaignsService,\n private permit: JuridicaService,\n private users: CandidatesService\n ) {\n\n }\n\n ngOnInit(): void {\n this.reportForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n // get document types\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n\n // when state filter change\n this.stateControl.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idState = resp;\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n // documento\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n // when documentType change\n this.typeDocument.valueChanges.subscribe(resp => {\n this.idTypeDoc = resp;\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n // get permits\n this.permit.getPermitsForBoss(this.idState).subscribe(resp => {\n this.dataSource = resp.data.data;\n this.length = resp.data.total;\n });\n\n // debounce document\n this.documentControl.valueChanges.pipe(debounceTime(1000)).subscribe(resp => {\n this.document = resp;\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Metodo de paginación\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getPermits(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Modal de respuests de permiso\n */\n viewToPermissionResponse(element): void {\n const dialogNewgroup = this.dialog.open(PermitResponseBossComponent, {\n width: '70%',\n disableClose: true,\n data: {\n type: 'gestionar',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Modal de visualizar justificación\n */\n viewPermissionDetail(element): void {\n const dialogNewgroup = this.dialog.open(PermitViewBossComponent, {\n width: '70%',\n disableClose: true,\n data: {\n type: 'detalle',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getPermits(this.idState, this.pageSize, this.page);\n });\n\n }\n\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e) {\n this.resetPaginator(1);\n this.document = e;\n this.getPermits(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-22\n * Metodo para capturar el rango de fechas a filtrar\n */\n dateRangeChange() {\n this.resetPaginator(1);\n const date1: Date = this.reportForm.controls.start.value;\n const date2: Date = this.reportForm.controls.end.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n this.getPermits(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-23\n * Metodo para filtrar los permisos\n */\n getPermits(type, pageSi, page) {\n if (this.document != null || this.idCampaing != null || page != null || pageSi != null || this.startDate != null && this.endDate != null) {\n this.permit.getPermitsForBoss(type, this.idTypeDoc, this.document, this.idCampaing, this.startDate, this.endDate, pageSi, page).subscribe(resp => {\n this.dataSource = resp.data.data;\n this.length = resp.data.total;\n });\n }\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-24\n * Metodo de descarga de reporte de permisos\n */\n downloadReport() {\n this.permit.getReportPermissionsForBoss(this.idState, this.idTypeDoc, this.document, this.idCampaing, this.startDate, this.endDate).subscribe(resp => {\n importedSaveAs(resp, 'reporte_permisos.xlsx');\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose resetea el paginador\n */\n resetPaginator(numPaginator): void {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n }\n\n}\n","
\n
\n

Permisos

\n

En este espacio podrás revisar y/o gestionar las novedades de
permisos de\n los trabajadores, no olvides,\"El respeto y la empatía son clave\"

\n
\n\n\n \n Estado\n \n \n {{item?.name}}\n \n \n \n\n \n Fecha\n \n \n \n \n \n \n \n\n \n Identificación\n \n \n {{item.key}}\n \n \n\n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n\n \n \n\n \n \n \n\n
\n \n \n Fecha {{element.novelty_date_start | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}} Campaña{{element.campaignName}} Estado {{element.stateName}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n\n
\n\n\n
\n","import { PurchaseOrderItem } from './orden-items';\nexport class OrdenCompra {\n constructor() {\n this.PurchaseOrderItem = Array();\n }\n idPurchase : number =0;\n observations : string;\n sub_total : number;\n discount : number;\n iva : number;\n calculated_iva : number;\n total : number;\n value_in_letters : string;\n delivery_date : Date;\n warranty : string;\n pay : string;\n payment_condition : number;\n payment_deb : number;\n payment_percent : number;\n credit_condition : string;\n pay_value : string;\n policy : string;\n request_id : number;\n proveedor_nit : number;\n company_id : number;\n PurchaseOrderItem : PurchaseOrderItem[];\n ciudad : string;\n direccion : string;\n observacionCondiciones : string;\n\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse,\n HttpParams\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport * as moment from 'moment';\n\nconst { GESTIONADOR_CORREOS } = environment;\nconst { GESTIONADOR_CORREOS_PYTHON } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EmailSupportService {\n\n constructor(private httpClient: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-05-23\n * Metodo que retorna los errores generados por HTTP. \n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-05-23\n * Metodo que retorna los logs de errores registrados en las gestiones de las cuentas de correo. \n * @param paginator Configuracion del paginador.\n * @param idEmailConfig Cuenta de correo seleccionada.\n * @param dateIn Fecha inicial.\n * @param dateEnd Fecha final.\n */\n getLogsErrorsEmails({ paginator, idEmailConfig = null, dateIn = null, dateEnd = null, subject = null, from = null }): Observable {\n let queryParams = new HttpParams()\n .append('page', paginator.pageIndex + 1)\n .append('perPage', paginator.pageSize);\n if (idEmailConfig) queryParams = queryParams.append('id_email_config', idEmailConfig);\n if (dateIn) queryParams = queryParams.append('date_in', moment(dateIn).format('YYYY/MM/DD'));\n if (dateEnd) queryParams = queryParams.append('date_end', moment(dateEnd).format('YYYY/MM/DD'));\n if (subject) queryParams = queryParams.append('asunto', subject);\n if (from) queryParams = queryParams.append('de', from);\n return this.httpClient.get(`${GESTIONADOR_CORREOS}logsemail/showall`, { params: queryParams }).pipe(\n map((res) => {\n const formatData = {\n data: res.data.data.map((item: any) => {\n const formatItem = { \n ...item, \n fecha_correo: moment(item.fecha_correo).format('YYYY/MM/DD - HH:mm'),\n state: item.state === 0 ? 2 : 1 \n };\n delete formatItem.state;\n return formatItem;\n }),\n total: res.data.total\n };\n return formatData;\n }),\n catchError(error => this.handleError(error))\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-05-27\n * Metodo que consulta los correos de las distintas cuentas registradas. \n * @param email_config_id Cuenta de correo seleccionada.\n * @param subject Nombre del asunto del correo.\n * @param date_start Fecha inicial del rango.\n * @param date_end Fecha final del rango.\n */\n searchEmailExternal({ email_config_id, subject = null, date_start, date_end, time_start = null, time_end = null, from = null, uid = null }): Observable {\n const formData = new FormData();\n formData.append('email_config_id', email_config_id);\n formData.append('date_start', moment(date_start).format('YYYY-MM-DD'));\n formData.append('date_end', moment(date_end).format('YYYY-MM-DD'));\n if (subject) formData.append('subject', subject);\n if (from) formData.append('from', from);\n if (uid) formData.append('uid', uid);\n if (time_start) formData.append('time_start', time_start);\n if (time_end) formData.append('time_end', time_end);\n return this.httpClient.post(`${GESTIONADOR_CORREOS_PYTHON}EmailSearch/getEmail`, formData).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-05-27\n * Metodo que agrega el correo externo a las bases de datos internas. \n * @param email_config_id Cuenta de correo seleccionada.\n * @param uid Id unico del correo.\n */\n addEmailExternalAccount({ email_config_id, uid }): Observable {\n return this.httpClient.post(`${GESTIONADOR_CORREOS}email/downloademail`, { email_config_id, uid }).pipe(\n catchError(this.handleError)\n );\n }\n}","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { LeftNavService } from '../services/rest/left-nav.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GroupsGuard implements CanActivate {\n \n constructor(private leftNavService: LeftNavService, private router: Router) {}\n\n async canActivate(): Promise {\n\n if (await this.verifyRol() as boolean) {\n return true;\n } else {\n this.router.navigate(['/mios/crm2']);\n return false;\n }\n\n }\n\n public async verifyRol(): Promise {\n\n let band = false;\n const vari = await this.leftNavService.getLeftMenu('crm2').toPromise();\n\n for (let element of vari.data) {\n\n if ( element.name === 'Grupos') {\n band = true;\n break;\n }\n }\n\n return band;\n }\n \n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { AuditoriaService } from 'src/app/modules/auditoria/services/auditoria.service';\nimport * as moment from 'moment';\n\n@Component({\n selector: 'app-crud-tipificacion',\n templateUrl: './crud-tipificacion.component.html',\n styleUrls: ['./crud-tipificacion.component.sass']\n})\nexport class CrudTipificacionComponent implements OnInit {\n dataSource = [];\n FrmFormulario: FormGroup;\n length = null;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n displayedColumns: string[] = ['accion', 'id', 'adviser', 'form_name', 'management_date'];\n formsCrm: any[] = [];\n\n constructor(\n private alertsService: AlertsService,\n private fb: FormBuilder,\n private AuditoriaService: AuditoriaService,\n ) { }\n\n ngOnInit(): void {\n this.createForm();\n this.getForms();\n }\n\n /**\n * @author Fabio Garcia Alvarez\n * @createdate 2022-02-04\n * Metodo que emite cambios de la paginacion en la tabla\n * @param event Evento emitido por el paginador\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.listar(this.FrmFormulario.get('id_formulario').value, this.pageSize, this.page, this.FrmFormulario.get('idRegistro').value, this.FrmFormulario.get('status').value, this.FrmFormulario.get('crm').value);\n }\n /**\n * @author Fabio Garcia Alvarez\n * @createdate 2022-02-04\n * Metodo que crea el formulario para los filtros\n */\n createForm() {\n this.FrmFormulario = this.fb.group({\n id_formulario: ['', Validators.required],\n fechaInicial: ['', Validators.required],\n fechaFinal: ['', Validators.required],\n idRegistro: [''],\n status: [1],\n crm: [1]\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2022-02-04\n * Metodo que llama a la funcion get_tipificaciones\n */\n get_tipificaciones() {\n this.page = 1;\n this.listar(this.FrmFormulario.get('id_formulario').value, this.pageSize, this.page, this.FrmFormulario.get('idRegistro').value, this.FrmFormulario.get('status').value, this.FrmFormulario.get('crm').value);\n }\n /**\n * @author Fabian Duran\n * @createdate 2022-02-04\n * Metodo lista las tipificaciones del formulario CRM de ETB\n */\n listar(formid: number, pageSize: number, page: number, id_registro: number, status: number, crmVersion: number): void {\n if (this.FrmFormulario.invalid === true) this.FrmFormulario.markAllAsTouched();\n else {\n const fi = moment(this.FrmFormulario.get('fechaInicial').value).format('yyyy-MM-DD');\n const ff = moment(this.FrmFormulario.get('fechaFinal').value).format('yyyy-MM-DD');\n this.AuditoriaService.listarCrmV2(formid, pageSize, page, id_registro, fi, ff, status, crmVersion).subscribe((resp: any) => {\n this.dataSource = resp.data;\n this.length = resp.total;\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2022-02-04\n * Metodo que confirma la eliminacion de una tificacion\n * @param id Id del registro a eliminar\n * @param status Tipo de gestion a realizar\n */\n ConfirmEliminar(id: number, status: number) {\n const messageAlert = status === 0 ? `¿En verdad deseas eliminar el registro?
ID del registro: ${id}` : `¿En verdad deseas restaurar el registro?
ID del registro: ${id}`;\n this.alertsService.alertWarning('¿Estás Seguro?', messageAlert).then(confirm => {\n if (confirm.isConfirmed) this.eliminarTipificacion(id, status, this.FrmFormulario.get('crm').value);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2022-02-04\n * Metodo que elimina una tificacion\n * @param id a eliminar.\n * @param status Tipo de gestion a realizar.\n * @param crmVersion Version de crm a gestionar.\n */\n eliminarTipificacion(id: number, status: number, crmVersion: number): void { \n this.AuditoriaService.eliminarCrmV2(id, status, crmVersion).subscribe((resp: any) => {\n this.alertsService.alertSuccess(`${status === 0 ? 'Eliminado' : 'Restaurado'}`, `${status === 0 ? 'Dato eliminado exitosamente' : 'Dato restaurado exitosamente'}`);\n this.listar(this.FrmFormulario.get('id_formulario').value, this.pageSize, this.page, this.FrmFormulario.get('idRegistro').value, this.FrmFormulario.get('status').value, this.FrmFormulario.get('crm').value);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-01-11\n * Metodo que lista los formularios de CRM\n */\n getForms(): void {\n this.AuditoriaService.listFormsCrm(this.FrmFormulario.get('crm').value).subscribe((res: any) => {\n this.formsCrm = res;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-04-05\n * Metodo que actualiza el estado del formulario cuando se cambia version de CRM\n */\n onChangeSelectCrmVersion(): void {\n const fields = ['id_formulario', 'fechaInicial', 'fechaFinal', 'idRegistro'];\n fields.forEach(field => {\n this.FrmFormulario.get(field).reset();\n });\n this.dataSource = [];\n this.getForms();\n }\n}","
\n
\n

Eliminación de registros

\n

En este espacio podrás eliminar los registros de las
encuestas, no olvides, “El respeto y empatía son\n clave”.

\n
\n
\n
\n \n Versión CRM\n \n CRM V1\n CRM V2\n \n \n \n Estados\n \n Inactivos\n Activos\n \n Por favor seleccione una\n opción.\n \n \n Rango de Fecha\n \n \n \n \n \n \n \n \n Por favor seleccione un rango de\n fecha.\n \n \n Nombre del formulario\n \n {{item.name_form}}\n \n Por favor seleccione una\n opción.\n \n \n Id registro\n \n \n \n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Acciones\n \n \n Id Registro {{row.id}} Asesor que gestiono {{row.adviser}} Nombre del formulario {{row.form_name}} Fecha - Hora {{row.management_date}}
No hay datos
\n \n \n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSelectChange } from '@angular/material/select';\nimport { Store } from '@ngrx/store';\nimport * as moment from 'moment';\nimport { Observable } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport { CoachingService } from 'src/app/modules/coaching/services/coaching.service';\nimport { CoachingState } from 'src/app/modules/coaching/state/coaching.state';\nimport { listCampañas, listProcesos } from 'src/app/modules/coaching/state/selectors/selects.selector';\nimport Swal from 'sweetalert2';\nimport { listIndicadores, listCuartiles, listCausas } from '../../../../state/selectors/selects.selector';\n\n@Component({\n\tselector: 'app-nuevo-coaching',\n\ttemplateUrl: './nuevo-coaching.component.html',\n\tstyleUrls: ['./nuevo-coaching.component.sass']\n})\nexport class NuevoCoachingComponent implements OnInit {\n\n\tcoachingForm: FormGroup;\n\tindicadores$: Observable = new Observable();\n\tprocesos$: Observable = new Observable();\n\tcampaigns$: Observable = new Observable();\n\tcuartiles$: Observable = new Observable();\n\tcausas$: Observable = new Observable();\n\tidCoachee;\n\tstartDate = new Date();\n\tendDate = moment(this.startDate).add(30, 'd').format();\n\tcampaignJefe: boolean = false;\n\thiddenByProcess:boolean=true;\n\n\tconstructor(\n\t\tprivate coachingRef: MatDialogRef,\n\t\t@Inject(MAT_DIALOG_DATA) public datos: any,\n\t\tprivate fb: FormBuilder,\n\t\tprivate coachingService: CoachingService,\n\t\tprivate store: Store,\n\t\tprivate authService: AuthService\n\t) { }\n\n\tngOnInit(): void {\n\t\tthis.getFilterParam();\n\t\tthis.createForm();\n\t\tthis.getSelects();\n\t}\n\n\tcreateForm() {\n\t\tthis.coachingForm = this.fb.group({\n\t\t\tindicador: ['', [Validators.required]],\n\t\t\ttipo_proceso: ['', [Validators.required]],\n\t\t\tcedula_coachee: ['', [Validators.required]],\n\t\t\tnombre_coachee: [{ value: '', disabled: true }, [Validators.required]],\n\t\t\tcampaing: ['', [Validators.required]],\n\t\t\tindicador_inicial: ['', [Validators.required]],\n\t\t\tcuartil_inicial: ['', [Validators.required]],\n\t\t\tproximo_seguimiento: ['', [Validators.required]],\n\t\t\tobjetivo_kpi: ['', [Validators.required]],\n\t\t\tcausa_raiz: ['', [Validators.required]],\n\t\t\tconclusion_sesion: ['', [Validators.required]],\n\t\t});\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-10\n\t* Metodo enviar y guardar el nuevo acompañamiento.\n\t*/\n\n\tsaveCoaching() {\n\t\tthis.coachingForm.get('nombre_coachee').enable();\n\t\tthis.coachingForm.get('proximo_seguimiento').setValue(moment(this.coachingForm.get('proximo_seguimiento').value).format('yyyy-MM-DD'));\n\t\tObject.assign(this.coachingForm.value, {\n\t\t\tidCoachee: this.idCoachee,\n\t\t\truta: `/mios/coaching/solicitud/`,\n\t\t\tmensaje: `Se te ha realizado un nuevo acompañamiento con ID-`\n\t\t});\n\t\tthis.coachingService.crearCoachee(this.coachingForm.value).subscribe((resp: any) => {\n\t\t\tif (resp.respuesta.codigo == 202) {\n\t\t\t\tSwal.fire({\n\t\t\t\t\ticon: 'success',\n\t\t\t\t\ttitle: '¡Excelente!',\n\t\t\t\t\thtml: `

El coaching se ha creado con exito.

ID Coaching ${resp.respuesta.id}

`,\n\t\t\t\t\tshowConfirmButton: false,\n\t\t\t\t\ttimer: 4500\n\t\t\t\t})\n\t\t\t\tthis.coachingRef.close();\n\t\t\t} else {\n\t\t\t\tthis.coachingForm.get('nombre_coachee').disable();\n\t\t\t\tTools.swalError('¡Oops!', 'Lo sentimos, ha ocurrido un error inesperado y no fue posible crear el acompañamiento, por favor intenta nuevamente.');\n\t\t\t}\n\t\t}, (err) => {\n\t\t\tthis.coachingForm.get('nombre_coachee').disable();\n\t\t\tTools.swalError('¡Oops!', 'Lo sentimos, ha ocurrido un error inesperado y no fue posible crear el acompañamiento, por favor intenta nuevamente.');\n\t\t}\n\t\t);\n\t}\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-10\n\t* Metodo para cargar la información de los selects.\n\t*/\n\tgetSelects() {\n\t\tthis.indicadores$ = this.store.select(listIndicadores);\n\t\tthis.procesos$ = this.store.select(listProcesos);\n\t\tthis.cuartiles$ = this.store.select(listCuartiles);\n\t\tthis.causas$ = this.store.select(listCausas);\n\t\tthis.campaigns$ = this.store.select(listCampañas);\n\t\t\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-10\n\t* Metodo para llamar y cargar la información del asesor.\n\t*/\n\n\tgetAsesor() {\n\t\tconst params = {\n\t\t\tcedula: this.coachingForm.get('cedula_coachee').value\n\t\t}\n\t\tthis.coachingService.getAsesor(params).subscribe((resp: any) => {\n\t\t\tthis.idCoachee = resp[0].id;\n\t\t\tthis.coachingForm.get('nombre_coachee').setValue(resp[0].nombre)\n\t\t\tthis.coachingForm.get('cedula_coachee').setErrors(null);\n\t\t}, () => {\n\t\t\tthis.coachingForm.get('nombre_coachee').setValue('');\n\t\t\tthis.coachingForm.get('cedula_coachee').setErrors({ no_resultado: true });\n\t\t}\n\t\t);\n\t}\n\n\n\tgetFilterParam() {\n\t\tthis.authService.getUser().roles.forEach(rol => {\n\t\t\tif (rol == 'coaching::jefe' || rol == 'coaching::gerente') {\n\t\t\t\tthis.campaignJefe = true;\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Metodo que oculta determinados campos del formulario de nuevo aocmpañamiento\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 07/06/2022 \n\t * @param event:MatSelectChange Output de MatSelect cambio de estado en el selector de tipo de proceso\n\t * @return void \n\t */\n\tchangeTypeProcess(event:MatSelectChange):void{\n\t\tlet inputsEnableDisabled :string[]=[\n\t\t\t'proximo_seguimiento',\n\t\t\t'objetivo_kpi',\n\t\t\t'causa_raiz'\n\t\t];\n\n\t\tlet selection:any;\n\t\tthis.procesos$.subscribe(\n\t\t\tprocess => {\n\t\t\t\tselection = process.filter( process => process.id === event.value )[0];\n\t\t\t\tinputsEnableDisabled.forEach(itera =>{\n\t\t\t\t\tif(selection.nombre && selection.nombre.toLowerCase().includes('felicitacio')){\t\n\t\t\t\t\t\tthis.coachingForm.controls[itera].setValue('');\n\t\t\t\t\t\tthis.coachingForm.controls[itera].disable();\n\t\t\t\t\t\tthis.hiddenByProcess = false;\t\t\t\t\t\t\n\t\t\t\t\t}else{\n\t\t\t\t\t\tthis.coachingForm.controls[itera].enable();\n\t\t\t\t\t\tthis.hiddenByProcess = true;\t\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t);\n\t\t\n\n\t\t\n\t}\n\n}\n","
\n

Nuevo acompañamiento\n \n

\n
\n \n
\n
\n
\n \n Indicador\n \n \n {{indicador.nombre}}\n \n Por favor seleccione una opción.\n \n \n Tipo de proceso\n \n {{proceso.nombre}}\n \n \n Por favor seleccione una opción.\n \n
\n
\n \n Cédula coachee\n \n Por favor ingrese un número\n de documento.\n Por favor intente con\n otro número de documento.\n \n\n \n Nombre coachee\n \n \n \n \n Campaña\n \n \n {{campaign.name |\n uppercase}}\n \n \n {{campaign.name |\n uppercase }}\n \n \n Por favor seleccione una opción.\n \n \n\n
\n \n
\n \n Nombre coachee\n \n \n
\n \n
\n \n Campaña\n \n \n {{campaign.name |\n uppercase}}\n \n \n {{campaign.name |\n uppercase }}\n \n \n Por favor seleccione una opción.\n \n\n \n Indicador inicial\n \n Por favor ingrese un indicador.\n \n
\n \n
\n \n Indicador inicial\n \n Por favor ingrese un indicador.\n \n\n \n Cuartil inicial\n \n {{cuartil.nombre}}\n \n \n Por favor seleccione una opción.\n \n
\n \n
\n \n Cuartil inicial\n \n {{cuartil.nombre}}\n \n \n Por favor seleccione una opción.\n \n \n Próximo seguimiento\n \n \n \n \n \n Por favor ingrese una fecha.\n \n
\n
\n \n Objetivo KPI\n \n Por favor seleccione una opción.\n \n \n Causa raíz\n \n {{causa.nombre}}\n \n Por favor seleccione una opción.\n \n
\n
\n \n Conclusiones de la sesión\n \n Por favor ingrese una conclusión.\n \n
\n
\n \n \n
\n
\n
","export const secondSection=[\n {\n id: 105,\n type: 'date',\n key: 'expedition_date_id',\n controlType: 'datepicker',\n label: 'Fecha expedición doc.',\n value: '',\n disabled: true,\n required: true,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n cols:1,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n },\n {\n id: 106,\n type: 'text',\n key: 'city_document_id',\n controlType: 'textbox',\n label: 'Ciudad exped. doc.',\n value: '',\n disabled: true,\n required: true,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n {\n id: 107,\n type: 'options',\n key: 'gender',\n controlType: 'dropdown',\n label: 'Género',\n value: '',\n required: false,\n canAdd: false,\n options:[ {id:'Femenino', name:'Femenino'},\n {id:'Masculino', name:'Masculino'}, \n ],\n minLength: 1,\n maxLength: 20,\n inReport: true,\n preloaded: false,\n isFather: true,\n dependencies:[],\n disabled:false,\n cols:1,\n },\n {\n id: 108,\n type: 'options',\n key: 'military_situation',\n controlType: 'dropdown',\n label: 'Situación Militar definida',\n value: '',\n required: false,\n canAdd: false,\n options:[ {id:'Si', name:'Si'},\n {id:'No', name:'No'}\n ],\n minLength:1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: true,\n dependencies:[{idField:107, name:'Masculino'}],\n disabled:false,\n cols:1,\n },\n {\n id: 109,\n type: 'options',\n key: 'notebook_class',\n controlType: 'dropdown',\n label: 'Libreta clase',\n value: '',\n disabled: false,\n required: false,\n canAdd: false,\n options:[\n {id:'Primera categoría', name:'Primera categoría'},\n {id:'Segunda categoría', name:'Segunda categoría'},\n ],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[{idField:108, name:'Si'}],\n cols:1,\n },\n {\n id: 110,\n type: 'number',\n key: 'notebook_number',\n controlType: 'textbox',\n label: 'Número de Libreta',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[{idField:108, name:'Si'}],\n cols:1,\n },\n {\n id: 111,\n type: 'text',\n key: 'military_district_number',\n controlType: 'textbox',\n label: 'Distrito Militar',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[{idField:108, name:'Si'}],\n cols:1,\n },\n \n {\n id: 112,\n type: 'number',\n key: 'children_number',\n controlType: 'textbox',\n label: 'Número de hijos',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n {\n id: 113,\n type: 'options',\n key: 'rh',\n controlType: 'dropdown',\n label: 'RH',\n value: '',\n disabled: true,\n required: false,\n canAdd: false,\n options:[\n {id:'Positivo', name:'Positivo'},\n {id:'Negativo', name:'Negativo'}, \n ],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n {\n id: 114,\n type: 'options',\n key: 'blood_type',\n controlType: 'dropdown',\n label: 'Tipo de sangre',\n value: '',\n disabled: true,\n required: true,\n canAdd: false,\n options:[\n {id:'A', name:'A'},\n {id:'B', name:'B'}, \n {id:'O', name:'O'},\n {id:'AB', name:'AB'}, \n ],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n \n {\n id: 115,\n type: 'text',\n key: 'nationality',\n controlType: 'textbox',\n label: 'Nacionalidad',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n {\n id: 116,\n type: 'text',\n key: 'neighborhood',\n controlType: 'textbox',\n label: 'Barrio',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n {\n id: 117,\n type: 'text',\n key: 'hobbie',\n controlType: 'textbox',\n label: 'Hobbie',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 100,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n {\n id: 118,\n type: 'number',\n key: 'pants_size',\n controlType: 'textbox',\n label: 'Talla de pantalón',\n value: '',\n disabled: false,\n required: false,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n {\n id: 119,\n type: 'text',\n key: 'shirt_size',\n controlType: 'textbox',\n label: 'Talla de camisa',\n value: '',\n required: false,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n disabled:false,\n cols:1,\n },\n {\n id: 120,\n type: 'number',\n key: 'shoe_size',\n controlType: 'textbox',\n label: 'Talla de zapatos',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n {\n id: 121,\n type: 'text',\n key: 'eps',\n controlType: 'textbox',\n label: 'EPS',\n value: '',\n required: false,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n disabled:true,\n cols:1,\n },\n {\n id: 122,\n type: 'text',\n key: 'afc',\n controlType: 'textbox',\n label: 'AFC',\n value: '',\n disabled: true,\n required: false,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n {\n id: 123,\n type: 'text',\n key: 'arp',\n controlType: 'textbox',\n label: 'ARP',\n value: '',\n disabled: true,\n required: false,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n {\n id: 124,\n type: 'options',\n key: 'vehicle',\n controlType: 'dropdown',\n label: 'Tiene vehículo',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options:[\n {id:'Si', name:'Si'},\n {id:'No', name:'No'}, \n ],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: true,\n dependencies:[],\n cols:1,\n },\n {\n id: 125,\n type: 'options',\n key: 'vehicle_type',\n controlType: 'dropdown',\n label: 'Tipo de vehículo',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options:[\n {id:'Automovil', name:'Automovil'},\n {id:'Motocicleta', name:'Motocicleta'}, \n ],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[{idField:124, name:'Si'}],\n cols:1,\n },\n {\n id: 126,\n type: 'text',\n key: 'licence_number',\n controlType: 'textbox',\n label: 'Número de licencia',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[{idField:124, name:'Si'}],\n cols:1,\n },\n {\n id: 127,\n type: 'options',\n key: 'licence_type',\n controlType: 'dropdown',\n label: 'Tipo de licencia',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options:[\n {id:'A2', name:'A2'},\n {id:'B1', name:'B1'},\n {id:'B2', name:'B2'},\n {id:'B3', name:'B3'},\n {id:'C1', name:'C1'},\n {id:'C2', name:'C2'},\n {id:'C3', name:'C3'},\n ],\n minLength: 1,\n maxLength: 50,\n cols:1,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[{idField:124, name:'Si'}],\n \n },\n {\n id: 128,\n type: 'text',\n key: 'place_of_birth',\n controlType: 'textbox',\n label: 'Lugar de nacimiento',\n value: '',\n disabled: true,\n required: true,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n {\n id: 129,\n type: 'text',\n key: 'city_of_residence',\n controlType: 'textbox',\n label: 'Ciudad de residencia',\n value: '',\n disabled: false,\n required: false,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n {\n id: 130,\n type: 'text',\n key: 'emergency_contact',\n controlType: 'textbox',\n label: 'Contacto de emergencia',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n {\n id: 131,\n type: 'number',\n key: 'emergency_number',\n controlType: 'textbox',\n label: 'Número contacto emerg.',\n value: '',\n disabled: false,\n required: false,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n {\n id: 132,\n type: 'options',\n key: 'social_group',\n controlType: 'dropdown',\n label: '¿Pertenece a algún grupo?',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options:[\n {id:1, name:'Ninguno'},\n {id:2, name:'Mujer cabeza de hogar'},\n {id:3, name:'Hombre cabeza de hogar'},\n {id:2, name:'Comunidad LGBTI+Q'},\n {id:1, name:'Victima del conflicto armado'},\n {id:2, name:'Afrodecendiente'}, \n {id:2, name:'Indigena'}, \n ],\n minLength: 1,\n maxLength: 50,\n inReport: true,\n preloaded: false,\n isFather: false,\n dependencies:[],\n cols:1,\n },\n ]\nexport const civilStates = [\n {id: 1, name: 'Soltera(o)'},\n {\n id: 2,\n name: 'Casada(o)'\n },\n {\n id: 3,\n name: 'Unión libre'\n },\n {\n id: 4,\n name: 'Separada(o)'\n },\n {\n id: 5,\n name: 'Divorciada(o)'\n },\n {\n id: 6,\n name: 'Religiosa(o)'\n },\n {\n id: 7,\n name: 'No definida(o)'\n },\n {\n id: 8,\n name: 'Viuda(o)'\n },\n {\n id: 9,\n name: 'Indifernte'\n }\n ];\nexport const education={\n currently_studying: null,\n education_level: null,\n finish_date: null,\n id: new Date().getTime(),\n institution: null,\n obtained_title: null,\n periods_completed: null,\n study_city: null,\n}\n\nexport const jobs_references={\n id: new Date().getTime(),\n company_name: null,\n company_phone: null,\n position_hired: null,\n company_city: null,\n boss_name: null,\n boss_phone: null,\n boss_position: null,\n boss_mobile_phone: null,\n current_job: null,\n start_date: null,\n end_date: null,\n earned_salary: null,\n retirement_reason: null,\n functions_achievements: null\n}\n\nexport const personal_references={\n id: new Date().getTime(),\n first_name:null,\n last_name:null,\n occupation:null,\n relationship: null,\n mobile_phone: null,\n city:null,\n}","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { AuditoriaService } from '../../../../services/auditoria.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DialogEliminacionComponent } from '../dialog-eliminacion/dialog-eliminacion.component';\nimport Swal from 'sweetalert2';\nimport { Subscription } from 'rxjs';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-tabla-eliminacion',\n templateUrl: './tabla-eliminacion.component.html',\n styleUrls: ['./tabla-eliminacion.component.sass']\n})\nexport class TablaEliminacionComponent implements OnInit, OnDestroy {\n private uuid = '8f87d0e0-92d3-11ee-b9d1-0242ac120005';\n public config: any;\n\n dataSource = [];\n displayedColumns: string[] = ['acciones', 'id', 'fecha_creacion', 'hora_creacion', 'nombre_auditor'];\n\n filtroId = '';\n\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions = [5, 10, 25, 50, 100];\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n // Observable para los cambios de la tabla\n subscription: Subscription;\n\n constructor(\n private auditoriaService: AuditoriaService,\n private dialog: MatDialog,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.cargarTabla(this.page, this.pageSize);\n this.subscription = this.auditoriaService.refresh$.subscribe(() => {\n this.cargarTabla(this.page, this.pageSize);\n });\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n /**\n * @author Cristian Gallo\n * @createdate 2022-03-02\n * Metodo que se encarga de cargar la tabla.\n */\n cargarTabla(page, pageSize) {\n const params = {\n page: page,\n numeroReg: pageSize,\n id: ''\n };\n if (this.filtroId != '' && this.filtroId != null) {\n params.id = this.filtroId;\n }\n this.auditoriaService.getAllAuditorias(params).subscribe((resp: any) => {\n this.dataSource = resp.data;\n this.length = resp.total;\n this.pageSize = resp.per_page;\n });\n }\n\n filtro() {\n this.cargarTabla(this.page, this.pageSize);\n }\n\n pageEvent(event: any) {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.cargarTabla(this.page, this.pageSize);\n }\n\n /**\n * @author Cristian Gallo\n * @createdate 2022-03-02\n * Metodo que se encarga de abrir el dialog para eliminar la auditoría.\n */\n eliminarAuditoria(auditoria) {\n Swal.fire({\n icon: 'warning',\n title: this.config.modal.title,\n html: '

' + this.config.modal.text1 + '

' +\n '

' + this.config.modal.text2 + '

',\n showCancelButton: true,\n cancelButtonText: this.config.modal.cancel,\n confirmButtonText: this.config.modal.accept,\n reverseButtons: true,\n width: '810px',\n padding: '2em 7em'\n }).then(result => {\n if (result.isConfirmed) {\n const eliminarRef = this.dialog.open(DialogEliminacionComponent, {\n disableClose: true,\n width: '820px',\n data: auditoria\n });\n }\n });\n }\n\n}\n","
\n
\n \n {{ config.labels.searchById }}\n \n \n
\n
\n \n\n \n \n
\n
\n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n
\n \n {{ config.labels.idColumn }} {{ element.id}} {{ config.labels.creationDateColumn }} {{ element.created_at | date:'dd/MM/yyyy' }} {{ config.labels.creationTimeColumn }} {{ element.created_at | date:'mediumTime' }} {{ config.labels.auditorNameColumn }} {{ element.nombreAuditor }}
{{ config.labels.noRecords }}
\n\n\n \n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { SPEECH_URL } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ResultService {\n constructor(private httpClient: HttpClient) { }\n\n /**\n * Metodo que retorna los errores generados por HTTP. \n * @author Yeison Sepulveda\n * @createdate 2024-02-19\n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Metodo que retorna los resultados del analisis\n * @author Yeison Sepulveda\n * @createdate 2024-02-19\n */\n showAnalyticsResults(id: number): Observable {\n return this.httpClient.get(`${SPEECH_URL}result/${id}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Actualizar/ editar una transcripcion de los resultados de analisis\n * @author Yeison Sepulveda\n * @createdate 2024-06-19\n * @param request\n */\n\n updateTranscription(request: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}result/update_transcript`, request).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que retorna los resultados de sentiemientos massivo\n * @author Yeison Sepulveda\n * @createdate 2024-02-19\n */\n massiveAnalyticsResults(request: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}result/result_masive`, request).pipe(\n catchError(this.handleError)\n );\n }\n}","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nconst CIU_URL = environment.CRM_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CrmService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Sebastián Daza\n * @createdate 2022-03-03\n * Consulta para los formularios de CRM que tenga campos de tipo 'agendamiento'\n */\n getFormsCRM(): Observable{\n return this.http.get(`${CIU_URL}sectionCrmAgenda`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\nconst PROVEEDOR_URL = environment.PROVEEDOR_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProveedoresService {\n\n rol:any;\n user:any;\n headers;\n headersFile;\n constructor(private http:HttpClient, private authService: AuthService) {\n this.leerStorage();\n }\n\n /**\n * @author Cristian Gallo \n * @purpose Servicio que lista todos los proveedores\n */\n getProveedores( page:number,params:any ):Observable {\n\n return this.http.post(`${PROVEEDOR_URL}proveedores?page=${page}`,params,this.headers);\n }\n\n getProveedorId(id:number){\n return this.http.get(`${PROVEEDOR_URL}internalShow/${id}`,this.headers);\n }\n\n getTipoIdentificacion(){\n return this.http.get(`${PROVEEDOR_URL}tipoIdentificacion`,this.headers);\n }\n\n getTipoPersona(){\n return this.http.get(`${PROVEEDOR_URL}tipoPersona`,this.headers);\n }\n\n getRetenedor(){\n return this.http.get(`${PROVEEDOR_URL}retenedor`,this.headers);\n }\n\n getTipoCuenta(){\n return this.http.get(`${PROVEEDOR_URL}tipoCuenta`,this.headers);\n }\n\n getRegimen(){\n return this.http.get(`${PROVEEDOR_URL}regimen`,this.headers);\n }\n\n saveProveedor(data:any){\n return this.http.post(`${PROVEEDOR_URL}interno/proveedor`,data,this.headers);\n }\n\n updateProveedor(id:number,data:any){\n return this.http.put(`${PROVEEDOR_URL}updateInterno/${id}`,data,this.headers);\n }\n\n descargaDoc(link : string){\n return this.http.get(`${link}`,this.headersFile);\n }\n\n descargaGestion(data: any){\n return this.http.post(`${PROVEEDOR_URL}descargaProveedores`, data, this.headersFile);\n }\n\n\n\n leerStorage(){\n this.user = this.authService.getToken();\n this.headers = new HttpHeaders ({\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'Authorization' : 'Bearer '+this.user\n });\n this.headersFile = {\n responseType: \"blob\",\n headers: new HttpHeaders({\n 'X-Requested-With': 'XMLHttpRequest',\n 'Authorization' : 'Bearer '+this.user\n })\n };\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { MatDialog } from '@angular/material/dialog';\nimport { FormContactGroupComponent } from '../../components/form-contact-group/form-contact-group.component';\nimport { ContactGroupService } from '../../services/contact-group.service';\nimport { FormControl, Validators } from '@angular/forms';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { EmailService } from '../../services/email.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\nimport { MatSelectChange } from '@angular/material/select';\n\n@Component({\n selector: 'app-contact-group-main',\n templateUrl: './contact-group-main.component.html',\n styleUrls: ['./contact-group-main.component.css']\n})\nexport class ContactGroupMainComponent implements OnInit {\n dataContactGroup: any[] = [];\n configPaginator: any = { length: 0, pageIndex: 0, pageSize: 5 };\n filter: FormControl = new FormControl('', [Validators.maxLength(30)]);\n emailsConfig: any[] = [];\n filterSelect: number = 0;\n\n constructor(\n private location: Location,\n private matDialog: MatDialog,\n private contactGroupService: ContactGroupService,\n private authService: AuthService,\n private emailService: EmailService\n ) { }\n\n ngOnInit(): void {\n this.getEmailsConfigByRol();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que devuelve la pagina anteriormente visitada. \n */\n backToPreviousPage(): void {\n this.location.back();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que setea el valor del atributo filter.\n * @param $event Evento emitido por el campo de texto. \n */\n onChangeFilter($event: any): void {\n if (this.filter.valid) {\n this.configPaginator.pageIndex = 0;\n this.getContactGroup();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que abre la modal para crear un grupo de contacto.\n */\n onClickNewContactGroup(): void {\n this.matDialog.open(FormContactGroupComponent, {\n width: '80%',\n autoFocus: false,\n data: {\n title: 'Crear grupo de contacto',\n contactGroup: null,\n btnText: 'Crear',\n onlyShow: false,\n emailsConfig: this.emailsConfig\n }\n }).afterClosed().subscribe(res => {\n if (res) this.getContactGroup();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que trae los grupos de contacto registrados en el sistema. \n */\n getContactGroup(): void {\n if (this.filterSelect !== 0) {\n this.contactGroupService.getContactGroups(this.configPaginator, this.filter.value, true, this.filterSelect).subscribe(res => {\n this.dataContactGroup = res.data.data;\n this.configPaginator.length = res.data.total;\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que setea el valor del atributo configPaginator. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangePaginator($event: any) {\n this.configPaginator = $event;\n this.getContactGroup();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que emite el cambio del filtro sobre el select.\n * @param $event Evento emitido por el paginador. \n */\n onChangeSelectFilter($event: MatSelectChange): void {\n this.filterSelect = $event.value;\n this.getContactGroup();\n }\n}","
\n
\n \n Regresar\n
\n
\n
\n Gestión de grupos de contactos\n
\n
\n

\n En este espacio podrás ver y gestionar los grupos que
tienes creados\n

\n
\n
\n
\n
\n \n Cuenta de correo\n \n {{ item.name\n }}\n \n \n
\n
\n \n Nombre del grupo\n \n \n \n Máximo 30 caracteres\n \n \n
\n
\n \n
\n
\n
\n \n
\n
","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\n\nconst CIU_URL = environment.CIU_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GraphService {\n\n rol: any;\n user: any;\n headers;\n headersFile;\n constructor(private http: HttpClient, private authService: AuthService) {\n this.leerStorage();\n }\n\n getInfo() {\n return this.http.post(`${CIU_URL}schedule/adherencia`, this.headers)\n }\n\n leerStorage() {\n this.user = this.authService.getToken();\n this.headers = new HttpHeaders({\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'Authorization': 'Bearer ' + this.user\n });\n }\n\n\n /**\n * @author Javier Castañeda \n * @purpose Servicio obtener rango de fechas en la semana actual\n */\n getcurrentDatesInTheWeek() {\n return this.http.get(`${CIU_URL}schedule/getCurrentConfigWeek`, this.headers)\n }\n\n /**\n * @author Javier Castañeda \n * @purpose Servicio obtener rango de fechas en la semana actual\n */\n getgraphBars() {\n return this.http.get(`${CIU_URL}schedule/getGraphBars`, this.headers)\n }\n \n\n getCalculosSchedule(date) {\n return this.http.get(`${CIU_URL}schedule/getCalculos/${date}`, this.headers)\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'boolean'\n})\nexport class BooleanPipe implements PipeTransform {\n\n transform(value: unknown): boolean {\n if (value == 1) {\n return true\n }else if (value == 0) {\n return false;\n }\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-matrices',\n templateUrl: './matrices.component.html',\n styleUrls: ['./matrices.component.sass']\n})\nexport class MatricesComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n\n
\n \n

Matrices

\n
\n

Aquí podrás modificar o crear una nueva matriz de calidad. No

\n

olvides, “El respeto y empatía son clave”.

\n
\n\n \n\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoginComponent } from './login/login.component';\nimport { MaterialModule } from '../shared/material/material.module';\nimport { BlockCopyPasteDirective } from './block-copy-paste.directive';\nimport { ChangePasswordComponent } from './change-password/change-password.component';\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\nimport { ForgotChangePasswordComponent } from './forgot-change-password/forgot-change-password.component';\nimport { DobbleAuthComponent } from './dobble-auth/dobble-auth.component';\nimport { ForgotUserComponent } from './forgot-user/forgot-user.component';\nimport { DocumentSignatureDialogComponent } from './document-signature-dialog/document-signature-dialog.component';\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\nimport { SignaturePadModule } from 'angular2-signaturepad';\nimport { SecurityQuestionsComponent } from './security-questions/security-questions.component';\n\n@NgModule({\n declarations: [\n LoginComponent,\n BlockCopyPasteDirective,\n ChangePasswordComponent,\n ForgotPasswordComponent,\n ForgotChangePasswordComponent,\n DobbleAuthComponent,\n ForgotUserComponent,\n DocumentSignatureDialogComponent,\n SecurityQuestionsComponent\n ],\n imports: [\n CommonModule,\n MaterialModule,\n PdfViewerModule,\n SignaturePadModule\n ],\n exports: [\n LoginComponent\n ]\n})\nexport class AuthModule { }\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { saveAs as importedSaveAs } from \"file-saver\";\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-files-view',\n templateUrl: './files-view.component.html',\n styleUrls: ['./files-view.component.sass']\n})\nexport class FilesViewComponent implements OnInit {\n fileSrc:any\n viewer:boolean \n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private sanitizer: DomSanitizer) { }\n\n ngOnInit(): void {\n let typeFile = []\n typeFile= this.data.file.type.split('/');\n switch (typeFile[0]) {\n case 'application':\n this.fileSrc = this.data.url\n this.viewer = true\n \n break;\n case 'image':\n this.fileSrc = this.data.file;\n this.viewer = false\n break;\n }\n }\n\n download(){\n importedSaveAs(this.data.file, this.data.name);\n }\n\n}\n\n\n","\n \n \n
\n \n
\n \n \n
\n
\n \"\n
\n\n
\n \n
\n
\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CrmCialRoutingModule } from './crm-cial-routing.module';\nimport { ClientesComponent } from './modules/clientes/clientes.component';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { ClientesCrearComponent } from './modules/clientes-crear/clientes-crear.component';\nimport { ClienteConsultaComponent } from './modules/cliente-consulta/cliente-consulta.component';\n\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { CcomercialCreateComponent } from './modules/ccomercial-create/ccomercial-create.component';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport { ClientesProcesoComponent } from './modules/clientes/clientes-proceso/clientes-proceso.component';\nimport { ClientesSeguimientoComponent } from './modules/clientes/clientes-seguimiento/clientes-seguimiento.component';\nimport { CreopComponent } from './modules/creop/creop.component';\n// import { OportunidadNuevaComponent } from './modules/cliente-consulta/oportunidad-nueva/oportunidad-nueva.component';\n\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { HistorialnComponent } from './modules/historialn/historialn.component';\nimport { ByStepComponent } from './modules/notes/by-step/by-step.component';\nimport { UpdateNotesComponent } from './modules/notes/update-notes/update-notes.component';\nimport { NotasComponent } from './modules/creop/notas/notas.component';\n\n\n\n@NgModule({\n declarations: [\n ClientesComponent,\n ClientesCrearComponent,\n ClienteConsultaComponent,\n CcomercialCreateComponent,\n ClientesProcesoComponent,\n ClientesSeguimientoComponent,\n CreopComponent,\n HistorialnComponent,\n ByStepComponent,\n UpdateNotesComponent,\n NotasComponent\n ],\n imports: [\n CommonModule,\n CrmCialRoutingModule,\n MaterialModule,\n MatTooltipModule,\n SharedModule,\n MatFormFieldModule,\n FlexLayoutModule\n ]\n})\n\nexport class CrmCialModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport Swal from 'sweetalert2';\nimport { NoveltiesService } from '../nomina/services/novelties.service';\n\n@Component({\n selector: 'app-juridica',\n templateUrl: './juridica.component.html',\n styleUrls: ['./juridica.component.sass']\n})\nexport class JuridicaComponent implements OnInit {\n public durationInSeconds = 10;\n nameUser = '';\n constructor(private snackBar: MatSnackBar,\n private noveltiesService: NoveltiesService,\n private authService: AuthService) { }\n\n ngOnInit() {\n const user = this.authService.getUser();\n this.nameUser = user.rrhh.name;\n // Mensaje sin asignación de horarios\n /*if (user.schedule_start == null) {\n let str = 'Nombre: ' + user.rrhh.name + '\\n' +\n 'número de idenficación: ' + user.rrhh.ID_number + '\\n' +\n 'Campaña: ' + user.rrhh.campaign;\n Swal.fire({\n icon: 'error',\n title: 'Sin asignación de horarios',\n html: '
' + str + '
',\n confirmButtonText: `Enviar notificación`,\n confirmButtonColor: '#2CABBC',\n allowOutsideClick: false,\n allowEscapeKey: false\n }).then((result) => {\n if (result.isConfirmed) {\n this.noveltiesService.sendEmail().subscribe(resp => {\n this.snackBar.open(resp.data, 'cerrar', {\n horizontalPosition: 'center',\n verticalPosition: 'top',\n duration: this.durationInSeconds * 1000,\n });\n }, error => {\n this.snackBar.open('No fue posible enviar la solicitud para cargue de mallas', 'cerrar', {\n horizontalPosition: 'center',\n verticalPosition: 'top',\n duration: this.durationInSeconds * 1000,\n });\n });\n }\n });\n }*/\n\n\n }\n\n}\n","\n\n
\n
\n

Jurídico

\n

¡Bienvenid@
{{nameUser}}!

\n

Este es el módulo de Jurídico, aquí podrás
hacer todas las\n gestiones respecto a los
procesos de contratación.

\n \n
\n\n
\n \"Ilustración_Juridico\"\n
\n\n
\n\n\n
\n

Noticias

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

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

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

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

\n
\n \n \n \n \n
\n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MailService } from '../../../services/rest/mail.service';\n\n@Component({\n selector: 'app-view-mail',\n templateUrl: './view-mail.component.html',\n styleUrls: ['./view-mail.component.sass']\n})\nexport class ViewMailComponent implements OnInit {\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public mailService: MailService) { }\n\n ngOnInit(): void {\n const data = new FormData();\n if (this.data.menu === 'sent') {\n data.append ( 'emailId', this.data.data.emailId);\n } else if (this.data.menu === 'queue' || this.data.menu === 'historic' || this.data.menu === 'search'){\n data.append ( 'emailId', this.data.data.id);\n }\n this.mailService.postObtenerCorreo(data).subscribe((respo) => {\n if (!this.data.data.cuerpo){\n this.data.data.cuerpo = respo[0].cuerpo\n }\n })\n }\n\n}\n","
\n \n \n \n \n

Para: {{data.data.para}}

\n

Asunto: {{data.data.asunto}}

\n \n \n
\n
\n
\n \n
\n \n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Button, ConfigTable, Paginator, SelectType } from './type';\nimport { PageEvent } from '@angular/material/paginator';\nimport { MatSelectChange } from '@angular/material/select';\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\n\n@Component({\n selector: 'app-basic-crud-page',\n templateUrl: './basic-crud-page.component.html',\n styleUrls: ['./basic-crud-page.component.css']\n})\nexport class BasicCrudPageComponent implements OnInit {\n keysColumnsTable: string[] = [];\n buttonsOptions: Button[] = [{ class: 'fi-rr-edit', action: 'edit' }];\n textFilterModel: string = null;\n textFilterModel2: string = null;\n textFilterModel3: string = null;\n textFilterModel4: string = null;\n textFilterModel5: string = null;\n selectFilterModel: number = null;\n selectOptionalFilterModel: number = null;\n dateFilter: Date = null;\n dateFilterStart: Date = null;\n dateFilterEnd: Date = null;\n isVisibleExtraFilters: boolean = false;\n\n @Input() showExtraFilters = false;\n @Input() filterOptionsModel4: SelectType[] = [];\n @Input() filterOptionsModel5: SelectType[] = [];\n\n @Input() titlePage: string = '';\n @Input() descriptionPage: string = '';\n @Input() textInputFilter: string = '';\n @Input() textInputFilter2: string = '';\n @Input() textInputFilter3: string = '';\n @Input() textInputFilter4: string = '';\n @Input() textInputFilter5: string = '';\n @Input() textButtonPage: string = '';\n @Input() dataTable: any[] = [];\n @Input() configColumnsTable: ConfigTable[] = [];\n @Input() configPaginator: Paginator = null;\n @Input() textSelectFilter: string = '';\n @Input() selectList: any[] = [];\n @Input() showAditionalButtonTable: boolean = false;\n @Input() textOptionalSelectFilter: string = '';\n @Input() optionalSelectList: any[] = [];\n @Input() customizeButtonsTable: Button[] = [];\n @Input() showAditionalButton: boolean = false;\n @Input() textAditionalButton: string = '';\n @Input() showAditionalButtonTwo: boolean = false;\n @Input() textAditionalButtonTwo: string = '';\n @Input() showTooltipTable: boolean = false;\n @Input() showFilterText: boolean = true;\n @Input() showFilterText2: boolean = false;\n @Input() showFilterText3: boolean = false;\n @Input() showFilterDate: boolean = false;\n @Input() filterRangeDate: boolean = false;\n @Input() showClearFilters: boolean = false;\n @Input() FilterDateMaxNow: Date = null;\n @Output() changeFilter: EventEmitter = new EventEmitter();\n @Output() changeFilter2: EventEmitter = new EventEmitter();\n @Output() changeFilter3: EventEmitter = new EventEmitter();\n @Output() changeFilter4: EventEmitter = new EventEmitter();\n @Output() changeFilter5: EventEmitter = new EventEmitter();\n @Output() showDialogFormCreate: EventEmitter = new EventEmitter();\n @Output() showDialogFormUpdate: EventEmitter = new EventEmitter();\n @Output() changeState: EventEmitter = new EventEmitter();\n @Output() updatePaginator: EventEmitter = new EventEmitter();\n @Output() changeFilterSelect: EventEmitter = new EventEmitter();\n @Output() sendAditionalInfo: EventEmitter = new EventEmitter();\n @Output() changeFilterOptionalSelect: EventEmitter = new EventEmitter();\n @Output() onRowSelected: EventEmitter = new EventEmitter();\n @Output() onClickAditionalButton: EventEmitter = new EventEmitter();\n @Output() onClickAditionalButtonTwo: EventEmitter = new EventEmitter();\n @Output() onClickCustomizeButtonsTable: EventEmitter = new EventEmitter();\n @Output() onChangeDateFilter: EventEmitter = new EventEmitter();\n @Output() onChangeRangeDateFilter: EventEmitter<{ start: Date, end: Date }> = new EventEmitter<{ start: Date, end: Date }>();\n\n constructor(private location: Location) { }\n\n ngOnInit(): void {\n this.keysColumnsTable = this.configColumnsTable.map(item => item.key);\n if (this.showAditionalButtonTable) this.buttonsOptions.push({ class: 'fi-rr-layers', action: 'other-action' });\n if (this.customizeButtonsTable.length > 0) this.buttonsOptions = this.customizeButtonsTable;\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-15\n * Metodo que redirecciona a la pagina anterior visitada.\n */\n backToPreviousPage(): void {\n this.location.back();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-17\n * Metodo que envia el valor del filtro al componente padre.\n * @param $event Evento emitido por el campo de texto.\n */\n onChangeFilter($event: any): void {\n this.changeFilter.emit($event.target.value);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-17\n * Metodo que envia el valor del filtro al componente padre.\n * @param $event Evento emitido por el campo de texto.\n */\n onChangeFilter2($event: any): void {\n this.changeFilter2.emit($event.target.value);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-17\n * Metodo que envia el valor del filtro al componente padre.\n * @param $event Evento emitido por el campo de texto.\n */\n onChangeFilter3($event: any): void {\n this.changeFilter3.emit($event.target.value);\n }\n /**\n * @author Sergio Cortés\n * @createdate 2025-01-21\n * Metodo que envia el valor del filtro al componente padre.\n * @param $event Evento emitido por el campo de texto.\n */\n onChangeFilter4($event: any): void {\n this.changeFilter4.emit($event.value);\n }\n /**\n * @author Sergio Cortés\n * @createdate 2025-01-21\n * Metodo que envia el valor del filtro al componente padre.\n * @param $event Evento emitido por el campo de texto.\n */\n onChangeFilter5($event: any): void {\n this.changeFilter5.emit($event.value);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que emite el click del boton para crear un registro.\n */\n onClickButtonAdd(): void {\n this.showDialogFormCreate.emit();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que emite el click del boton para actualizar un registro.\n * @param item Elemento seleccionado de la tabla.\n */\n onClickButtonUpdate(item: any): void {\n this.showDialogFormUpdate.emit(item);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que emite el cambio sobre la configuracion de la paginacion.\n * @param $event Evento emitido por el paginador.\n */\n onChangePage($event: PageEvent): void {\n this.updatePaginator.emit($event);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que emite el cambio del filtro sobre el select.\n * @param $event Evento emitido por el select.\n */\n onChangeSelectFilter($event: MatSelectChange): void {\n this.changeFilterSelect.emit($event.value);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-01\n * Metodo que emite el click del boton adicional de la tabla para el envio de informacion.\n * @param item Item seleccionado en la tabla.\n */\n onClickAditionalButtonTable(item: any): void {\n this.sendAditionalInfo.emit(item);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-01-23\n * Metodo que emite el cambio del filtro opcional sobre el select.\n * @param $event Evento emitido por el select.\n */\n onChangeOptionalSelectFilter($event: MatSelectChange): void {\n this.changeFilterOptionalSelect.emit($event.value);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-06\n * Metodo que recibe el elemento seleccionado de la tabla.\n * @param $event Evento emitido por el componente hijo.\n */\n onClickButtonTable($event: any): void {\n if ($event.action === 'edit') this.onClickButtonUpdate($event.element);\n else if ($event.action === 'other-action') this.onClickAditionalButtonTable($event.element);\n else this.onClickCustomizeButtonsTable.emit($event);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-06\n * Metodo que emite el cambio de estado de un registro.\n * @param $event Valor emitido por el componente hijo.\n */\n onClickChangeState($event: any): void {\n this.changeState.emit({ state: $event.state, item: $event.element });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-31\n * Metodo que limpia los filtros.\n */\n onClickClearFilters(): void {\n this.textFilterModel = null;\n this.textFilterModel2 = null;\n this.textFilterModel3 = null;\n this.textFilterModel4 = null;\n this.textFilterModel5 = null;\n this.selectFilterModel = null;\n this.selectOptionalFilterModel = null;\n this.dateFilter = null;\n this.dateFilterStart = null;\n this.dateFilterEnd = null;\n this.onClickAditionalButton.emit();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-12-04\n * Metodo que emite el cambio de fecha inicial dentro del rango de fechas.\n * @param $event Evento emitido por el campo.\n */\n onDateInitChange($event: MatDatepickerInputEvent): void {\n this.onChangeRangeDateFilter.emit({ start: this.dateFilterStart, end: this.dateFilterEnd });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-12-04\n * Metodo que emite el cambio de fecha final dentro del rango de fechas.\n * @param $event Evento emitido por el campo.\n */\n onDateEndChange($event: MatDatepickerInputEvent): void {\n this.onChangeRangeDateFilter.emit({ start: this.dateFilterStart, end: this.dateFilterEnd });\n }\n /**\n * @author Sergio Cortés\n * @createdate 2025-21-01\n * Metodo que activa o descativa los filtros adicional que se añadieron.\n * @param $event Evento emitido por el campo.\n */\n toggleFiltersVisibility(): void {\n this.isVisibleExtraFilters = !this.isVisibleExtraFilters;\n this.textFilterModel4 = null;\n this.textFilterModel5 = null;\n }\n}\n","
\n
\n \n Regresar\n
\n
\n
\n {{ titlePage }}\n
\n
\n

{{ descriptionPage }}

\n
\n
\n
\n
\n \n Seleccione una fecha\n \n \n \n \n
\n
\n \n Rango de fechas\n \n \n \n \n \n \n \n
\n
0\" class=\"col-md-3\">\n \n {{ textSelectFilter }}\n \n {{ item.name\n }}\n \n \n
\n
0\">\n \n {{ textOptionalSelectFilter }}\n \n {{ item.name\n }}\n \n \n
\n
\n \n {{ textInputFilter }}\n \n \n \n
\n
\n \n {{ textInputFilter2 }}\n \n \n \n
\n
\n \n {{ textInputFilter3 }}\n \n \n \n
\n
\n \n
\n\n \n
\n \n
\n\n \n \n
\n \n {{ textInputFilter4 }}\n \n {{ filter.label }}\n \n \n
\n\n
\n \n {{ textInputFilter5 }}\n \n {{ filter.label }}\n \n \n
\n
\n\n\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n 0\" [columnsTable]=\"configColumnsTable\"\n [buttonsOptions]=\"buttonsOptions\" [dataTables]=\"dataTable\" [configPaginator]=\"configPaginator\"\n [showTooltipTable]=\"showTooltipTable\" (eventEmitButton)=\"onClickButtonTable($event)\"\n (eventEmitSlider)=\"onClickChangeState($event)\" (updatePaginator)=\"onChangePage($event)\"\n (eventEmitCheck)=\"onRowSelected.emit($event)\">\n \n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpErrorResponse, HttpClient } from '@angular/common/http';\nimport { throwError, Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { catchError } from 'rxjs/operators';\n\nconst CRM_URL = environment.CRM_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TemplatesService {\n\n constructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n getTemplate(id: any, size: any, page: any, busqueda: any): Observable{\n return this.http.get(`${CRM_URL}template/show/${id}?n=${size}&page=${page}&fetch=${busqueda}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n obtenerTemplate(data: FormData): Observable{\n return this.http.post(`${CRM_URL}template/buildTemplate`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n buildTemplateHtml(data: FormData): Observable{\n return this.http.post(`${CRM_URL}template/buildTemplateHtml`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","// import { CodeEditorModule } from '@ngstack/code-editor';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { JwtModule } from '@auth0/angular-jwt';\nimport { AppRoutingModule } from './app-routing.module';\n\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MiosModule } from './mios/mios.module';\n\nimport { AuthModule } from './auth/auth.module';\nimport { BpmsModule } from './modules/bpms/bpms.module';\nimport { SableModule } from './modules/sable/sable.module';\nimport { CiuModule } from './modules/ciu/ciu.module';\nimport { ComprasModule } from './modules/compras/compras.module';\nimport { CrmModule } from './modules/crm/crm.module';\nimport { CrmModule2 } from './modules/crm_v2/crm.module';\nimport { NominaModule } from './modules/nomina/nomina.module';\nimport { RrhhModule } from './modules/rrhh/rrhh.module';\nimport { LivechatModule } from './modules/livechat/livechat.module';\nimport { JuridicaModule } from './modules/juridica/juridica.module';\nimport { CarteraWomModule } from './modules/cartera-wom/cartera-wom.module';\n\n// Importacion componentes angular material\nimport { MaterialModule } from './shared/material/material.module';\nimport { NgxSpinnerModule } from 'ngx-spinner';\nimport { ErrorInterceptor } from './core/services/interceptor/error.interceptor';\nimport { LoaderInterceptor } from './core/services/interceptor/loader.interceptor';\nimport { SharedModule } from './shared/shared.module';\nimport { InterceptorInterceptor } from 'src/app/core/services/interceptor/interceptor.interceptor';\nimport { CalidadModule } from './modules/calidad/calidad.module';\n\nimport { AuditoriaModule } from './modules/auditoria/auditoria.module';\n\nimport { ReservasModule } from './modules/reservas/reservas.module';\nimport { CoachingModule } from './modules/coaching/coaching.module';\nimport { StoreModule } from '@ngrx/store';\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\nimport { EffectsModule } from '@ngrx/effects';\nimport { SchedulesModule } from './modules/schedules/schedules.module';\nimport {PopoverModule} from \"ngx-smart-popover\";\nimport { ReportsModule } from './modules/reports/reports.module';\nimport { SoulBiModule } from './modules/soul_bi/soul_bi.module';\nimport { CrmCialModule } from './modules/crm-cial/crm-cial.module';\nimport { SpeechAnalyticsModule } from './modules/speech-analytics/speech-analytics.module';\nimport { MqttSoulModule } from './shared/mqtt/mqtt.module';\nimport { MeetingsModule } from './modules/meetings/meetings.module';\n\n\n@NgModule({\n declarations: [\n AppComponent\n ],\n imports: [\n BrowserModule,\n PopoverModule,\n AppRoutingModule,\n BrowserAnimationsModule,\n MaterialModule,\n MiosModule,\n AuthModule,\n BpmsModule,\n SableModule,\n CiuModule,\n ComprasModule,\n CrmModule,\n CrmModule2,\n NominaModule,\n RrhhModule,\n LivechatModule,\n CalidadModule,\n AuditoriaModule,\n CoachingModule,\n NgxSpinnerModule,\n HttpClientModule,\n SharedModule,\n JuridicaModule,\n ReservasModule,\n ReportsModule,\n SoulBiModule,\n CarteraWomModule,\n SpeechAnalyticsModule,\n JwtModule.forRoot({\n config: {\n tokenGetter: null,\n allowedDomains: [],\n disallowedRoutes: [],\n },\n }),\n StoreModule.forRoot({}),\n StoreDevtoolsModule.instrument({name:'Test'}),\n EffectsModule.forRoot([]),\n // CodeEditorModule.forRoot()\n CrmCialModule,\n MqttSoulModule,\n MeetingsModule,\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ErrorInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: LoaderInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: InterceptorInterceptor,\n multi: true\n }\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { MatDialog } from '@angular/material/dialog';\nimport { SaveTemplateComponent } from '../save-template/save-template.component';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { TemplatesService } from '../../../services/rest/templates.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { switchMap } from 'rxjs/operators';\n\n\n@Component({\n selector: 'app-admin-template',\n templateUrl: './admin-template.component.html',\n styleUrls: ['./admin-template.component.sass']\n})\nexport class AdminTemplateComponent implements OnInit {\n\n displayedColumnsTemplate: string[] = ['accion', 'estado', 'fechaCreacion', 'nombrePlantilla', 'camposPlantilla'];\n dataSourceTemplate = new MatTableDataSource();\n @ViewChild(MatSort, { static: true }) sortTemplate: MatSort;\n lengthTemplate;\n pageSizeTemplate = 5;\n pageTemplate = 1;\n pageSizeOptionsTemplate: number[] = [5, 10, 25, 100];\n idForm: any;\n\n constructor(private location: Location,\n private templatesService: TemplatesService,\n public dialog: MatDialog,\n public route: ActivatedRoute) { }\n\n ngOnInit(): void {\n\n this.idForm = this.route.snapshot.queryParamMap.get('id');\n\n this.getTemplate(this.pageSizeTemplate, this.pageTemplate, '');\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-09-05\n * Metodo que abre el modal de crear un nuevo template\n */\n backRoute() {\n this.location.back();\n }\n\n pageEventTemplate(event: any): void {\n this.pageSizeTemplate = event.pageSize;\n this.pageTemplate = event.pageIndex + 1;\n this.getTemplate(this.pageSizeTemplate, this.pageTemplate, '');\n }\n\n getTemplate(size, page, busqueda) {\n\n this.templatesService.getTemplate(this.idForm, size, page, busqueda).subscribe(resp => {\n this.dataSourceTemplate.data = resp.data;\n this.dataSourceTemplate.sort = this.sortTemplate;\n this.lengthTemplate = resp.total;\n this.pageSizeTemplate = resp.per_page;\n });\n }\n\n newTem(): void {\n const dialogNewTem = this.dialog.open(SaveTemplateComponent, {\n width: '60%',\n height: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Plantilla',\n idForm: this.idForm\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewTem.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n\n }\n\n}","
\n
\n \n
\n
\n

Plantillas

\n

En este espacio podras personalizar
las plantillas a tu gusto

\n
\n
\n \n
\n \n \n Filtro de búsqueda\n \n \n \n\n
\n\n
\n \n
\n\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Acciones\n \n Estado {{row.state}} Fecha de creación {{row.created_at | date: 'dd/MM/yyyy'}} Nombre de la plantilla {{row.template_name}} Resumen de la plantilla {{item}}, \n
No hay datos que coincidan con el filtro
\n\n \n \n
\n
\n\n
\n","import { Injectable } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { ScheduleService } from 'src/app/core/services/rest/schedule.service';\n\n@Injectable({\n providedIn: \"root\"\n })\n export class sessionService{\n \n constructor(\n private _authService: AuthService,\n private _scheduleService: ScheduleService\n ) {}\n\n setItem( name: string, data: string){\n return sessionStorage.setItem(name, data)\n }\n\n getItem( name: string){\n return sessionStorage.getItem(name)\n }\n\n removeItem ( name: string ){\n return sessionStorage.removeItem(name)\n }\n\n clearSession () {\n return sessionStorage.clear()\n }\n\n getRoleUserLivechat() {\n let user = this._authService.getUser();\n let role:string = ''; \n if (user) {\n let roles:any[] = user.roles; \n if (roles && roles.length > 0) {\n roles.map((rol) => { \n switch (rol) {\n case 'livechat::admin':\n role = rol;\n return rol;\n case 'livechat::supervisor':\n role = rol;\n return rol;\n case 'livechat::asesor':\n role = rol;\n return rol;\n }\n });\n return role;\n }\n }\n } \n }","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CampaignsService {\n\n // servicio falso que replica el consumo de un servicio externo que alimenta a bpms y consulta\n constructor() { }\n\n campaings = campaings;\n\n getCampaings(){\n return this.campaings;\n }\n}\nconst campaings = [\n {\n id: 1,\n name: 'Recursos Humanos'\n },\n {\n id: 2,\n name: 'Nomina'\n },\n {\n id: 3,\n name: 'Administración'\n }\n];\n","import { Component, OnInit,Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { TestsService } from '../../../services/tests.service';\n\n@Component({\n selector: 'app-assessment-score',\n templateUrl: './assessment-score.component.html',\n styleUrls: ['./assessment-score.component.sass']\n})\nexport class AssessmentScoreComponent implements OnInit {\n test\n TabIndex=0\n userId:number\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private dialog: MatDialog, public alertService:AlertsService,\n public dialogRef: MatDialogRef,\n private testsService:TestsService,\n private auth:AuthService) { \n this.test = this.data.assessment.candidate_test.resources\n this.userId= this.auth.getUser().rrhh_id \n }\n\n ngOnInit(): void {\n\n console.log(this.data);\n }\n giveTest(score){\n \n this.alertService.alertConfirm('¿Desea evaluar a este candidato?').then( e => {\n if(e.isConfirmed){\n \n this.testsService.getAssessmentScore(this.data.assessment.candidate_test_id,score).subscribe(res=>{\n this.TabIndex = this.test.length - 1\n this.alertService.alertSuccess('¡Evaluado!','El candidato ha sido evaluado exitosamente');\n this.test=res\n })\n \n }\n })\n\n }\n saveTest(score){\n this.testsService.updateAssessmentSection(this.data.assessment.candidate_test_id, score)\n .subscribe(res=>{\n this.alertService.alertConfirm('Guardado. ¿Desea evaluar el resultado actual?').then( e => {\n if(e.isConfirmed){\n this.giveTest(score)\n \n }\n \n })\n })\n \n }\n}\n","\n

Assessment

\n
\n\n \n
\n 0 && item.user_creator_id == userId\" [label]=\"item.from\">\n
\n \n \n \n \n \n \n \n \n \n \n
CompetenciasCalificación
{{competence.name}}\n \n Calificación\n \n 0. No se evidencia la competencia.\n 1. Se evidencia parcialmente la competencia.\n 2. Se evidencia una competencia desarrollada.\n \n \n
\n
\n \n \n
\n \n
\n
\n \n
\n

Calificaciones por área

\n

Área de selección {{test[0].evaluation}}%

\n

Área de operación {{test[1].evaluation}}%

\n

Área de formación {{test[2].evaluation}}%

\n
\n \n
\n \n
\n","import { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\nconst NOMINA_URL = environment.NOMINA_URL;\nconst RRHH_URL = environment.RRHH_URL;\nconst JURIDICA_URL = environment.JURIDICA_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class JuridicaService {\n\n constructor(private http: HttpClient, private AuthService: AuthService) {\n }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener los permisos\n */\n getPermits(id) {\n const httpOptions = {\n params: new HttpParams().set('state', id)\n };\n return this.http.get(`${NOMINA_URL}permissions/getPermissions`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener los permisos por filtro\n */\n getPermitsBy(state?: any, idTipDoc?: any, document?: any, campaign_id?: any, novelty_date1?: any, novelty_date2?: any, perPage: any = 5, Page?: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', state)\n .set('document', document || '')\n .set('documentType', idTipDoc || 1)\n .set('campaign_id', campaign_id || '')\n .set('novelty_date1', novelty_date1 || '')\n .set('novelty_date2', novelty_date2 || '')\n .set('bossView', '0')\n .set('perPage', perPage)\n .set('page', Page || 1)\n };\n return this.http.get(`${NOMINA_URL}permissions/getPermissions`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andres Buitrago\n * @purpose Servicio para obtener los permisos por filtro\n */\n getPermitsForBoss(state?: any, idTipDoc?: any, document?: any, campaign_id?: any, novelty_date1?: any, novelty_date2?: any, perPage: any = 5, page?: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', state)\n .set('document', document || '')\n .set('documentType', idTipDoc || '')\n .set('campaign_id', campaign_id || '')\n .set('novelty_date1', novelty_date1 || '')\n .set('novelty_date2', novelty_date2 || '')\n .set('perPage', perPage)\n .set('bossView', '1')\n .set('page', page || 1)\n };\n return this.http.get(`${NOMINA_URL}permissions/getPermissions`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio obtiene la información de un permiso\n */\n getInfoByPermitId(id: any) {\n return this.http.get(`${NOMINA_URL}permissions/getPermit/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para aprobar o rechazar un permiso\n */\n changeStatus(id: any, body: any) {\n return this.http.put(`${NOMINA_URL}permissions/managementPermit/${id}`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andres Buitrago\n * @purpose Servicio para marcar como remunerado un permiso\n */\n changePermissionType(id: any, body: any) {\n return this.http.put(`${NOMINA_URL}permissions/managementType/${id}`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para descarga de reporte de permisos\n */\n getReport(state?: any, idTipDoc?: any, document?: any, campaign_id?: any, novelty_date1?: any, novelty_date2?: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', state)\n .set('document', document || '')\n .set('documentType', idTipDoc || '')\n .set('campaign_id', campaign_id || '')\n .set('bossView', '0')\n .set('novelty_date1', novelty_date1 || '')\n .set('novelty_date2', novelty_date2 || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${NOMINA_URL}permissions/permissionsReport`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andres Buitrago\n * @purpose Servicio para descarga de reporte de permisos para el jefe\n */\n getReportPermissionsForBoss(state?: any, idTipDoc?: any, document?: any, campaign_id?: any, novelty_date1?: any, novelty_date2?: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', state)\n .set('document', document || '')\n .set('documentType', idTipDoc || '')\n .set('campaign_id', campaign_id || '')\n .set('bossView', '1')\n .set('novelty_date1', novelty_date1 || '')\n .set('novelty_date2', novelty_date2 || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${NOMINA_URL}permissions/permissionsReport`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener los usuarios de una campaña\n */\n getUserByCampaign(idCampaign: number): Observable {\n\n return this.http.get(`${RRHH_URL}users/campaign/${idCampaign}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Fabio Garcia Alvarez\n * @purpose Servicio para obtener los usuarios por documento del jefe.\n */\n getUserByCampaignBoss(idCampaign: number, documentBoss: number): Observable {\n\n return this.http.get(`${NOMINA_URL}usersByCampaign?documentType=1&documentBoss=${documentBoss}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para la creación de una suspensión\n */\n newDisciplinaryProcess(data: any): Observable {\n return this.http.post(`${JURIDICA_URL}newDisciplinaryProcess`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener listado de suspensiónes\n */\n getSuspensions(): Observable {\n return this.http.get(`${JURIDICA_URL}getSuspensions`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener listado de procesos disciplinarios\n */\n getDisciplinaryProcessBy(idTipDoc?: any, document?: any, initialDate?: any, endDate?: any, perPage: any = 5, page?: any, state?: string): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('document', document || '')\n .set('documentType', idTipDoc || '')\n .set('initialDate', initialDate || '')\n .set('endDate', endDate || '')\n .set('state', state || '')\n .set('perPage', perPage)\n .set('page', page || 1)\n };\n return this.http.get(`${JURIDICA_URL}getDisciplinaryProcesses`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener listado de suspensiónes\n */\n getSuspensionsBy(idTipDoc?: any, document?: any, initialDate?: any, endDate?: any, perPage: any = 5, page?: any, state?: string): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('document', document || '')\n .set('documentType', idTipDoc || '')\n .set('initialDate', initialDate || '')\n .set('endDate', endDate || '')\n .set('state', state || '')\n .set('perPage', perPage)\n .set('page', page || 1)\n };\n return this.http.get(`${JURIDICA_URL}getSuspensions`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para la creación de recordatorio de funciones\n */\n createReminder(data: any): Observable {\n return this.http.post(`${JURIDICA_URL}reminders/store`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener listado de suspensiónes\n */\n getReminder(): Observable {\n return this.http.get(`${JURIDICA_URL}reminders/all`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener listado de recordatorios\n */\n getReminderBy(idTipDoc?: any, document?: any, initial_date?: any, end_date?: any, perPage: any = 5, Page?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('document', document || '')\n .set('documentType', idTipDoc || '')\n .set('startDate', initial_date || '')\n .set('endDate', end_date || '')\n .set('perPage', perPage)\n .set('page', Page || 1)\n };\n return this.http.get(`${JURIDICA_URL}reminders/all`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener un reporte de recordatorios\n */\n getReminderReport(idTipDoc?: any, document?: any, initial_date?: any, end_date?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('document', document || '')\n .set('documentType', idTipDoc || '')\n .set('startDate', initial_date || '')\n .set('endDate', end_date || '')\n .set('toExport', '1'),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${JURIDICA_URL}reminders/all`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Servicio para obtener los procesos disciplinarios\n * @author Daniel Dominguez \n */\n disciplinaryProcessReport(idTipDoc?: any, document?: any, initialDate?: any, endDate?: any, state?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('document', document || '')\n .set('documentType', idTipDoc || '')\n .set('initialDate', initialDate || '')\n .set('endDate', endDate || '')\n .set('state', state || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${JURIDICA_URL}disciplinaryProcessReport`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener un reporte de suspension\n */\n getSuspensionReport(idTipDoc?: any, document?: any, initialDate?: any, endDate?: any, state?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('document', document || '')\n .set('documentType', idTipDoc || '')\n .set('initialDate', initialDate || '')\n .set('endDate', endDate || '')\n .set('state', state || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${JURIDICA_URL}suspensionsReport`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Servicio para obtener informacion de un proceso discinario\n * @param susId ID del proceso\n * @author Andres Buitrago\n */\n getProcessDisciplinaryInfo(susId: number): Observable {\n return this.http.get(`${JURIDICA_URL}disciplinaryProcess/${susId}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Servicio para obtener informacion de suspension\n * @param susId ID de la suspension\n * @author Andres Buitrago\n */\n getSuspensionInfo(susId: number): Observable {\n return this.http.get(`${JURIDICA_URL}suspensions/${susId}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Servicio para obtener los tipos de acta\n * @author Daniel Dominguez \n */\n getCertificatesInfo(): Observable {\n return this.http.get(`${JURIDICA_URL}discharges-certificate`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * Servicio para obtener listado de casos de acta de descargo\n * @author Daniel Dominguez \n */\n getCertificatesList(): Observable {\n return this.http.get(`${JURIDICA_URL}myDischargeCertificates`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener listado de casos de acta de descargo por filtro\n */\n getCertificateBy(state?: any, acta?: any, initial_date?: any, end_date?: any, perPage: any = 5, Page?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('state', state || '')\n .set('acta', acta || '')\n .set('startDate', initial_date || '')\n .set('endDate', end_date || '')\n .set('perPage', perPage)\n .set('page', Page || 1)\n };\n return this.http.get(`${JURIDICA_URL}myDischargeCertificates`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para reporte de casos de acta de descargo por filtro\n */\n getCertificateReport(state?: any, acta?: any, initial_date?: any, end_date?: any, perPage: any = 5, Page?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('state', state || '')\n .set('acta', acta || '')\n .set('startDate', initial_date || '')\n .set('endDate', end_date || '')\n .set('perPage', perPage)\n .set('page', Page || 1),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${JURIDICA_URL}myDischargeCertificatesReport`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener informacion de acta de descarga por id\n */\n getCertificateById(id) {\n return this.http.get(`${JURIDICA_URL}myDischargeCertificates/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para respuesta de acta de descargo\n */\n certificateResponse(data) {\n return this.http.post(`${JURIDICA_URL}myDischargeCertificates`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener casos pendientes\n */\n getPendingCases() {\n return this.http.get(`${JURIDICA_URL}casesPendingDecision`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener casos pendientes\n */\n getPendingCasesBy(doctype?: any, document?: any, acta?: any, initial_date?: any, end_date?: any, campaing?: any, perPage: any = 5, Page?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('documentType', doctype)\n .set('document', document || '')\n .set('dischargeCertificate', acta || '')\n .set('initialDate', initial_date || '')\n .set('endDate', end_date || '')\n .set('campaign', campaing)\n .set('perPage', perPage)\n .set('page', Page || 1)\n };\n return this.http.get(`${JURIDICA_URL}casesPendingDecision`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener reporte de casos pendientes\n */\n getPendingCasesReport(doctype?: any, document?: any, acta?: any, initial_date?: any, end_date?: any, campaing?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('documentType', doctype)\n .set('document', document || '')\n .set('dischargeCertificate', acta || '')\n .set('initialDate', initial_date || '')\n .set('endDate', end_date || '')\n .set('campaign', campaing),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${JURIDICA_URL}casePendingDecision/report`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener informacion de caso pendiente por decisión por id\n */\n getPendingCasesById(id) {\n return this.http.get(`${JURIDICA_URL}casePendingDecision/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para respuesta de caso pendiente de decisión\n */\n PendingCasesResponse(id: any, data) {\n return this.http.post(`${JURIDICA_URL}managePendingCase/${id}`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener casos pendientes\n */\n getFinishedCasesBy(doctype?: any, document?: any, state?: any, worker?: any, initial_date?: any, end_date?: any, campaing?: any, perPage: any = 5, Page?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('states', state || '')\n .set('initialDate', initial_date || '')\n .set('endDate', end_date || '')\n .set('documentType', doctype)\n .set('document', document || '')\n .set('worker', worker || '')\n .set('campaign', campaing)\n .set('perPage', perPage)\n .set('page', Page || 1)\n };\n return this.http.get(`${JURIDICA_URL}closedProcesses/all`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener casos terminados\n */\n getFinishedCases() {\n\n return this.http.get(`${JURIDICA_URL}closedProcesses/all`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener casos terminados por filtros\n */\n getReportFinishedCases(doctype?: any, document?: any, state?: any, worker?: any, initial_date?: any, end_date?: any, campaing?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('states', state || '')\n .set('initialDate', initial_date || '')\n .set('endDate', end_date || '')\n .set('documentType', doctype)\n .set('document', document || '')\n .set('worker', worker || '')\n .set('campaign', campaing || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${JURIDICA_URL}closedProcesses/report`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener casos terminados por id\n */\n getFinishedCasesById(id) {\n return this.http.get(`${JURIDICA_URL}closedProcess/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener los usuarios que han tenido procesos\n */\n getUsersWithProcess() {\n return this.http.get(`${JURIDICA_URL}closedProcess/users`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener los tipos de recordatorio\n */\n getReminderTypes() {\n return this.http.get(`${JURIDICA_URL}parameters/reminderTypes`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener los subtipos de un recordatorio\n */\n getReminderSubTypes(id) {\n return this.http.get(`${JURIDICA_URL}parameters/reminderTypes/${id}/subTypes`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andres Buitrago\n * @purpose Servicio para obtener los recordatorios que no tiene proceso disciplinario\n */\n getReminderWithoutDisciplinaryProcessByWorker(id) {\n return this.http.get(`${JURIDICA_URL}worker/${id}/remindersWithoutDisciplinaryProcess`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener recordatorio por id\n */\n getReminderById(id) {\n return this.http.get(`${JURIDICA_URL}reminders/${id}/show`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n createDisciplinaryProcess(id: any, data: any) {\n return this.http.post(`${JURIDICA_URL}/suspension/management/${id}`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Fabian Duran \n * @createdate 2024-01-04\n * Metodo que trae los usuarios asociados a una campaña.\n * @param idCampaign Id de la campaña \n */\n getUserByCampaignV2(idCampaign: number): Observable {\n return this.http.get(`${RRHH_URL}users/campaignv2/${idCampaign}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n}","import { Component, OnInit, Inject } from '@angular/core';\nimport { ToWords } from '../../../../../../core/to-words/to-words';\nimport { FormGroup, FormArray, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { OrdenesService } from '../../../../services/rest/ordenes.service';\nimport { DestroyComponentService } from '../../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ProveedoresService } from '../../../../../portal/services/proveedores.service';\nimport { OrdenCompra } from '../../../Class/orden-compras';\nimport { MatStepper } from '@angular/material/stepper';\n\n\n@Component({\n selector: 'app-orden-compra-edit',\n templateUrl: './orden-compra-edit.component.html',\n styleUrls: ['./orden-compra-edit.component.sass']\n})\nexport class OrdenCompraEditComponent implements OnInit {\n\n firstFormGroup: FormGroup;\n secondFormGroup: FormGroup;\n isEditable = true;\n toWords = new ToWords();\n valorFinal=0;\n valorIva =0;\n itemsOrder:any[]=[];\n proveedor: any;\n\n constructor(\n private formBuilder : FormBuilder,\n private form : FormBuilder,\n private proveedorService : ProveedoresService,\n private ordenService : OrdenesService,\n private destroyService : DestroyComponentService,\n private alertsService : AlertsService,\n public ordenesService : OrdenesService,\n private dialogRef : MatDialogRef< OrdenCompraEditComponent >,\n @Inject(MAT_DIALOG_DATA) public data : any\n ) { }\n\n ngOnInit(): void {\n const proveedor={\n nit:this.data.ordenCompra.provider.nit\n }\n this.proveedorService.getProveedores(1,proveedor).subscribe((prov)=>{\n if (prov.data.length>0) {\n this.proveedor = prov.data[0];\n\n } else {\n this.proveedor= \"No se ha encontrado proveedor.\"\n }\n });\n this.crearFromulario();\n this.setEdit();\n }\n\n crearFromulario(){\n this.firstFormGroup = this.formBuilder.group({\n\n items: this.form.array([])\n });\n this.secondFormGroup = this.formBuilder.group({\n observations : new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n sub_total : new FormControl('', [Validators.required, Validators.maxLength(100), Validators.minLength(3)]),\n discount : new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n iva : new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n total : new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n value_in_letters : new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n delivery_date : new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n pay : new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n payment_condition : new FormControl('', [Validators.required]),\n payment_deb : new FormControl(''),\n credit_condition : new FormControl(''),\n pay_value : new FormControl({value:'', disabled:true},[]),\n warranty : new FormControl('', [Validators.required]),\n policy : new FormControl('', [Validators.required]),\n });\n }\n\n get error(): any { return this.secondFormGroup.controls; }\n get errorItem():any{ return this.firstFormGroup.controls}\n\n get items(): FormArray {\n return this.firstFormGroup.get('items') as FormArray;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que estable las validaciones del formarray dentro del formulario\n */\n newItems(): void{\n const newItems = this.form.group({\n id:new FormControl('',[]),\n description: new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n specs: new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n unit: new FormControl('', [Validators.required, Validators.maxLength(5), Validators.minLength(1)]),\n unit_value: new FormControl('', [Validators.required, Validators.maxLength(5), Validators.minLength(1)]),\n selectIva:new FormControl('', [Validators.required]),\n valorIva: new FormControl({value:'', disabled:true},[]),\n total_value: new FormControl('', [Validators.required, Validators.maxLength(5), Validators.minLength(1)]),\n });\n this.items.push(newItems);\n }\n\n setEdit(){\n this.ordenService.getOrderItems(this.data.ordenCompra.id).subscribe((resp)=>{\n this.itemsOrder=resp.data;\n\n this.secondFormGroup.controls.pay.setValue(this.data.ordenCompra.pay);\n this.secondFormGroup.controls.payment_condition.setValue(this.data.ordenCompra.payment_condition);\n this.secondFormGroup.controls.payment_deb.setValue(this.data.ordenCompra.payment_deb);\n this.secondFormGroup.controls.credit_condition.setValue(this.data.ordenCompra.credit_condition);\n this.secondFormGroup.controls.pay_value.setValue(this.data.ordenCompra.pay_value);\n this.secondFormGroup.controls.warranty.setValue(this.data.ordenCompra.warranty);\n this.secondFormGroup.controls.policy.setValue(this.data.ordenCompra.policy);\n this.secondFormGroup.controls.observations.setValue(this.data.ordenCompra.observations);\n this.secondFormGroup.controls.sub_total.setValue(this.data.ordenCompra.sub_total);\n this.secondFormGroup.controls.discount.setValue(this.data.ordenCompra.discount);\n this.secondFormGroup.controls.iva.setValue(this.data.ordenCompra.iva);\n this.secondFormGroup.controls.total.setValue(this.data.ordenCompra.total);\n this.secondFormGroup.controls.value_in_letters.setValue(this.data.ordenCompra.value_in_letters);\n this.secondFormGroup.controls.delivery_date.setValue(this.data.ordenCompra.delivery_date);\n this.itemsOrder.forEach((element, index) => {\n this.newItems();\n this.items.controls[index].get('id').setValue(element.id);\n this.items.controls[index].get('specs').setValue(element.specs);\n this.items.controls[index].get('description').setValue(element.description);\n this.items.controls[index].get('unit').setValue(element.unit);\n this.items.controls[index].get('unit_value').setValue(element.unit_value);\n this.items.controls[index].get('valorIva').setValue(element.iva);\n this.items.controls[index].get('total_value').setValue(element.total_value);\n\n });\n\n });\n }\n /**\n * validar la existencia de al menos un item al avance.\n */\n validarItems(){\n if (this.items.length===0) {\n this.newItems();\n }\n }\n\n saveOrder(){\n const orden = new OrdenCompra();\n orden.idPurchase = this.data.ordenCompra.id;\n orden.observations = this.secondFormGroup.value.observations;\n orden.sub_total = this.secondFormGroup.value.sub_total;\n orden.discount = this.secondFormGroup.value.discount;\n orden.iva = this.secondFormGroup.value.iva;\n orden.calculated_iva = this.valorIva;\n orden.total = this.secondFormGroup.value.total;\n orden.value_in_letters = this.secondFormGroup.value.value_in_letters;\n orden.delivery_date = this.secondFormGroup.value.delivery_date;\n orden.warranty = this.secondFormGroup.value.warranty;\n orden.pay = this.secondFormGroup.value.pay;\n orden.payment_deb = this.secondFormGroup.value.payment_deb;\n orden.payment_condition = this.secondFormGroup.value.payment_condition;\n orden.credit_condition = this.secondFormGroup.value.credit_condition;\n orden.pay_value = (this.secondFormGroup.value.pay_value==undefined ? '':this.secondFormGroup.value.pay_value);\n orden.policy = this.secondFormGroup.value.policy;\n orden.request_id = this.data.ordenCompra.request_id;\n orden.proveedor_nit = this.proveedor.nit;\n orden.company_id = this.data.ordenCompra.company.id;\n orden.PurchaseOrderItem = this.firstFormGroup.value.items;\n\n this.ordenService.updateOrder(orden,this.data.ordenCompra.id).subscribe(resp=>{\n this.alertsService.alertSuccess('Guardado', resp.data);\n });\n }\n\n calcularValorTotal(indice){\n let cantidad = this.firstFormGroup.value.items[indice].unit;\n let valor=this.firstFormGroup.value.items[indice].unit_value;\n\n let valorTotal = (cantidad == undefined ? 0 :cantidad)* (valor == undefined ? 0:valor);\n\n this.firstFormGroup.controls.items[\"controls\"][indice].controls.total_value.setValue(valorTotal);\n\n\n }\n\n cambioEstado(event, index){\n\n\n if (event === 100){\n this.firstFormGroup.controls.items[\"controls\"][0].controls.valorIva.enable();\n } else {\n this.firstFormGroup.controls.items[\"controls\"][0].controls.valorIva.disable();\n }\n\n }\n\n cambioPagoValue(event){\n if (event === 'Abono'|| event === 'Anticipo' || event === 'Credito'){\n this.secondFormGroup.controls.pay_value.enable();\n } else {\n this.secondFormGroup.controls.pay_value.disable();\n }\n }\n\n calcularValores(){\n let valorTotal=0;\n this.valorIva=0;\n\n this.firstFormGroup.get('items').value.forEach((element, index) => {\n valorTotal+=element['total_value'];\n if(element['selectIva']===100){\n\n this.valorIva+=(element['total_value']*element['valorIva'])/100;\n }else {\n this.valorIva+=(element['total_value']*element['selectIva'])/100;\n }\n\n });\n this.valorFinal= valorTotal+this.valorIva;\n const valorfinalletras = this.toWords.convert( this.valorFinal);\n this.secondFormGroup.controls.sub_total.setValue(valorTotal);\n this.secondFormGroup.controls.discount.setValue(0);\n this.secondFormGroup.controls.iva.setValue(this.valorIva);\n this.secondFormGroup.controls.total.setValue( this.valorFinal);\n this.secondFormGroup.controls.value_in_letters.setValue(valorfinalletras);\n }\n\n\n\n calculardiscount(){\n const descuento= this.secondFormGroup.get('discount').value;\n const iva =this.secondFormGroup.get('iva').value;\n\n const valorFinal = this.valorFinal-descuento+iva;\n const valorfinalletras = this.toWords.convert(valorFinal);\n if (valorFinal> 0 ){\n this.secondFormGroup.controls.total.setValue(valorFinal);\n this.secondFormGroup.controls.value_in_letters.setValue(valorfinalletras);\n } else{\n this.alertsService.alertError('Error', 'No se puede aplicar un descuento superior al valor total')\n }\n }\n\n\n next(stepper: MatStepper){\n stepper.next();\n }\n\n editOrder () {\n const estado ={\n state:5\n }\n this.ordenesService.updateState(estado, this.data.ordenCompra.id ).subscribe((resp)=>{\n this.alertsService.alertSuccess('Orden Enviada',resp.data);\n this.dialogRef.close();\n },\n error => {\n this.alertsService.alertWarning('Atención',error.error.error);\n }\n );\n\n }\n\n}\n","
\n \n

\n Orden de compra\n \n

\n \n \n \n\n Datos generales\n
\n
\n Datos de la empresa\n
\n
\n
\n
\n\n
\n Empresa
\n {{data.ordenCompra.company.name}}\n
\n
\n Nit
\n {{data.ordenCompra.company.nit}}\n
\n
\n\n
\n
\n Documento controlado\n
\n
\n
\n\n
\n
\n Número orden compra
\n OC-{{data.ordenCompra.id}}\n
\n
\n Fecha Creación
\n {{data.ordenCompra.created_at|date:'yyyy-MM-dd'}}\n
\n
\n\n
\n
\n Datos del proveedor\n
\n
\n
\n
\n\n
\n Razón social
\n {{data.ordenCompra.provider.razon_social}}\n
\n
\n Nit
\n {{data.ordenCompra.provider.nit}}\n
\n
\n Dirección
\n {{data.ordenCompra.provider.direccion}}\n
\n
\n
\n
\n Celular
\n {{proveedor.user.celular}}\n
\n
\n Teléfono
\n {{proveedor.telefono_proveedor}}\n
\n
\n E-mail
\n {{proveedor.user.correo}}\n
\n
\n\n\n\n\n
\n \n
\n Detalle compra\n
\n

\n Por los siguientes ítems\n\n

\n\n
\n \n
\n\n \n Descripción\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 255 caracteres\n \n\n \n Especificación\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 255 caracteres\n \n\n\n\n \n Cantidad\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n \n Valor unitario\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n \n Iva\n \n 0%\n 5%\n 19%\n 30%\n 35%\n Otro\n \n ¡Advertencia! Este campo es requerido\n \n \n Otro IVA\n \n \n \n Valor Total\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n \n
\n\n \n \n
\n
\n
\n

{{item.name}}

\n
\n
\n \n
\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n
\n \n
\n Finalizar orden\n

Condiciones comerciales

\n
\n \n Observaciones\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 255 caracteres\n \n\n \n Sub-total\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 40 caracteres\n \n\n\n\n \n Descuento\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n\n \n Total IVA\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 40 caracteres\n \n\n\n\n \n Total\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n\n \n Valor en Letras\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n\n
\n\n \n Fecha de Entrega\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 40 caracteres\n \n\n\n\n \n Método de Pago\n \n {{item}} \n \n ¡Advertencia! Este campo es requerido\n \n\n\n \n Condición de Pago\n \n {{item}} \n \n ¡Advertencia! Este campo es requerido\n \n\n\n\n \n Valor {{secondFormGroup.get('payment_condition').value}} \n \n ¡Advertencia! Este campo es requerido\n \n\n\n\n \n Condición de crédito\n \n {{item}} \n \n ¡Advertencia! Este campo es requerido\n \n\n\n \n Garantía\n \n Si\n No\n\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Póliza\n \n Si\n No\n\n \n ¡Advertencia! Este campo es requerido\n \n\n\n
\n
\n
\n
\n
\n  \n  \n \n\n
\n
\n\n\n\n \n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormControl, Validators, FormGroup, FormBuilder } from '@angular/forms';\nimport { MailService } from '../../../services/rest/mail.service';\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\n\n@Component({\n selector: 'app-manage-email',\n templateUrl: './manage-email.component.html',\n styleUrls: ['./manage-email.component.sass']\n})\nexport class ManageEmailComponent implements OnInit {\n\n mailForm: FormGroup;\n archivosCargados: any[] = [];\n file: any;\n gestionar: boolean = false;\n email: any;\n\n // tslint:disable-next-line: member-ordering\n public editorConfig: AngularEditorConfig = {\n editable: true,\n spellcheck: true,\n height: '5%',\n minHeight: '0',\n maxHeight: '20%',\n minWidth: '0',\n enableToolbar: true,\n showToolbar: true,\n placeholder: 'Enter text here...',\n defaultParagraphSeparator: '',\n defaultFontName: '',\n defaultFontSize: '',\n fonts: [\n { class: 'arial', name: 'Arial' },\n { class: 'times-new-roman', name: 'Times New Roman' },\n { class: 'calibri', name: 'Calibri' },\n { class: 'comic-sans-ms', name: 'Comic Sans MS' }\n ],\n customClasses: [\n {\n name: 'quote',\n class: 'quote',\n },\n {\n name: 'redText',\n class: 'redText'\n },\n {\n name: 'titleText',\n class: 'titleText',\n tag: 'h1',\n },\n ],\n sanitize: true,\n toolbarPosition: 'top',\n toolbarHiddenButtons: [\n ['bold', 'italic'],\n ['fontSize']\n ]\n };\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private form: FormBuilder,\n public mailService: MailService,\n private alertsService: AlertsService,\n public dialog: MatDialogRef) { }\n\n ngOnInit(): void {\n\n this.formControl();\n\n const data = new FormData();\n\n data.append ( 'emailId', this.data.data.emailId);\n\n this.mailService.postObtenerCorreo(data).subscribe((respo) => {\n this.email = respo[0].email_adjuntos;\n if (!this.data.data.email.cuerpo){\n this.data.data.email.cuerpo = respo[0].cuerpo\n }\n this.mailForm.patchValue({\n para: respo[0].de,\n respuesta: respo[0].cuenta_email.firma[0] ?\n '


' + respo[0].cuenta_email.firma[0].firmaHtml + '


' + respo[0].cuerpo :\n '


' + respo[0].cuerpo\n });\n });\n }\n\n formControl(): void {\n this.mailForm = this.form.group({\n para: new FormControl('', [Validators.required, Validators.email]),\n cc: new FormControl('', [Validators.email]),\n cco: new FormControl('', [Validators.email]),\n respuesta: new FormControl('', []),\n });\n }\n\n get error(): any { return this.mailForm.controls; }\n\n gestionarBoton(): void {\n this.gestionar = !this.gestionar;\n }\n\n CargarArchivo(event): void {\n this.file = event.target.files[0];\n const formData = new FormData();\n formData.append('archivoCarga', this.file);\n\n this.mailService.postCargarArchivos(formData).subscribe((resp) => {\n this.archivosCargados.push({\n path: resp.data.path,\n name: resp.data.name\n });\n });\n }\n\n resposeEmail(mailForm): void {\n\n const newMail = new FormData();\n\n newMail.append( 'emailId' , this.data.data.emailId );\n newMail.append( 'cuentaEmailId' , this.data.data.email.cuentaEmailId );\n newMail.append( 'emailHtml' , mailForm.value.respuesta );\n newMail.append( 'adjuntos' , JSON.stringify(this.archivosCargados) );\n newMail.append( 'para' , mailForm.value.para );\n newMail.append( 'cc' , mailForm.value.cc );\n newMail.append( 'cco' , mailForm.value.cco );\n\n this.mailService.postresponderCorreo(newMail).subscribe((resp) => {\n this.alertsService.alertSuccess('Enviado', resp.data);\n this.dialog.close();\n });\n }\n\n descargarArchivo(archivo: any): void {\n\n const data = new FormData();\n\n data.append( 'url', archivo.url);\n data.append( 'name', archivo.nombre);\n\n this.mailService.download(data).subscribe((resp: any) => {\n importedSaveAs(resp, archivo.nombre);\n });\n\n }\n\n}\n","
\n \n \n \n \n

De: {{data.data.email.de}}

\n

Para: {{data.data.email.para}}

\n

Asunto: {{data.data.email.asunto}}

\n

Fecha: {{data.data.email.fechaHora}}

\n \n \n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n \n \n
\n \n \n Para: \n \n ¡Advertencia! Este campo es requerido\n Debe ingresar un correo valido\n \n \n \n cc: \n \n Debe ingresar un correo valido\n \n \n \n cco: \n \n Debe ingresar un correo valido\n \n \n \n
    \n
    \n
  • {{item.name}}
  • \n
    \n \n
\n \n \n \n
\n \n
\n \n
\n \n
\n \n
\n \n
\n \n \n
\n \n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport * as moment from 'moment';\nimport { JuridicaService } from 'src/app/modules/juridica/services/juridica.service';\nimport { SuspencionProcessService } from 'src/app/modules/juridica/services/suspencion-process.service';\n\n@Component({\n selector: 'app-suspension-boss-view',\n templateUrl: './suspension-boss-view.component.html',\n styleUrls: ['./suspension-boss-view.component.sass']\n})\nexport class SuspensionBossViewComponent implements OnInit {\n public dataInfo: any;\n public suspension: any;\n public startDate: string;\n public endDate: string;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private juridica: SuspencionProcessService, \n public dialogRef: MatDialogRef,\n public dialog: MatDialog) {\n }\n\n ngOnInit(): void {\n \n this.juridica.getSuspencionManagedById(this.data.data.idProcess).subscribe(resp => {\n this.dataInfo = resp.data;\n });\n\n }\n\n\n}\n","
\n\n

\n \n \n
\n \n

{{dataInfo?.worker}}

\n
{{ dataInfo?.document}}
\n
\n
\n

\n\n \n\n
\n","import { AngularEditorConfig } from '@kolkov/angular-editor';\n\nexport const EDITOR_CONFIG: AngularEditorConfig = {\n editable: true,\n spellcheck: true,\n height: '200px',\n minHeight: '',\n maxHeight: '',\n minWidth: '0',\n enableToolbar: true,\n showToolbar: true,\n placeholder: 'Escriba su mensaje aquí',\n defaultParagraphSeparator: '',\n defaultFontName: '',\n defaultFontSize: '',\n sanitize: false,\n fonts: [],\n customClasses: [\n {\n name: 'Arial',\n class: 'font-arial',\n },\n {\n name: 'Time-New-Roman',\n class: 'font-time-new-roman'\n },\n {\n name: 'Verdana',\n class: 'font-verdana'\n },\n {\n name: 'Calibri',\n class: 'font-calibri'\n },\n ],\n toolbarPosition: 'top',\n toolbarHiddenButtons: [['bold', 'italic', 'fontName'], ['fontSize', 'insertVideo', 'insertImage']],\n};","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Chart, registerables, ChartDataset } from 'chart.js';\nimport { MONTHS, OPTIONS } from '../../constantes/create-data-chart';\nimport { PageEvent } from '@angular/material/paginator';\nimport { EmailService } from '../../services/email.service';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatSelectChange } from '@angular/material/select';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\n\n@Component({\n selector: 'app-supervisor-page-main',\n templateUrl: './supervisor-page-main.component.html',\n styleUrls: ['./supervisor-page-main.component.css']\n})\nexport class SupervisorPageMainComponent implements OnInit {\n formReport: FormGroup = new FormGroup({\n emailAccount: new FormControl('', [Validators.required]),\n year: new FormControl('', [Validators.required]),\n months: new FormControl([], [Validators.required])\n });\n cardsReport: any[] = [\n { icon: 'fi-sr-envelope fs-1', value: 0, text: 'Correos', col: 'col-sm-4', styleText: { 'font-size': '24px' }, styleValue: { 'color': '#51B0CB', 'font-size': '32px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '64px' } },\n { icon: 'fi-rr-arrow-left fs-1', value: 0, text: 'Entrantes', col: 'col-sm-4', styleText: { 'font-size': '24px' }, styleValue: { 'color': '#51B0CB', 'font-size': '32px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '64px' } },\n { icon: 'fi-rr-arrow-right fs-1', value: 0, text: 'Salientes', col: 'col-sm-4', styleText: { 'font-size': '24px' }, styleValue: { 'color': '#51B0CB', 'font-size': '32px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '64px' } },\n { icon: 'fi-rr-time-quarter-to fs-1', value: 0, text: 'Pendientes', col: 'col-sm-4', styleText: { 'font-size': '16px' }, styleValue: { 'color': '#51B0CB', 'font-size': '24px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '32px' } },\n { icon: 'fi-sr-layers fs-1', value: 0, text: 'En gestión', col: 'col-sm-4', styleText: { 'font-size': '16px' }, styleValue: { 'color': '#51B0CB', 'font-size': '24px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '32px' } },\n { icon: 'fi-rr-check fs-1', value: 0, text: 'Cerrados', col: 'col-sm-4', styleText: { 'font-size': '16px' }, styleValue: { 'color': '#51B0CB', 'font-size': '24px', 'font-weight': '700' }, styleIcon: { 'color': '#51B0CB', 'font-size': '32px' } },\n ];\n ctx: any = null;\n canvas: HTMLCanvasElement = null;\n barChart: Chart = null;\n dataTable: any[] = [];\n configColumnsTable: any[] = [\n { name: 'Asesor', key: 'name' },\n { name: 'Pendientes', key: 'pendientes' },\n { name: 'En gestión', key: 'en_gestion' },\n { name: 'Cerrados', key: 'cerrados' },\n { name: 'Total', key: 'total' },\n { name: 'Por enviar', key: 'por_enviar' },\n { name: 'Enviados', key: 'enviados' },\n ];\n configPaginator: any = { length: 0, pageIndex: 0, pageSize: 5 };\n keysColumnsTable: string[] = [];\n emailsConfig: any[] = [];\n years: any[] = [];\n months: any[] = [];\n listToAdvisers: any[] = [];\n adviserSelected: string = '';\n\n constructor(\n private location: Location,\n private emailService: EmailService,\n private authService: AuthService,\n ) {\n Chart.register(...registerables);\n }\n\n ngOnInit(): void {\n this.getEmailsConfigByRol();\n this.drawBarChart();\n this.keysColumnsTable = this.configColumnsTable.map(item => item.key);\n this.getYears();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-08-24\n * Metodo que redirecciona a la pagina anterior visitada. \n */\n backToPreviousPage(): void {\n this.location.back();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-25\n * Metodo que se ejecuta al hacer click sobre el boton descargar reporte. \n */\n onClickDownloadReport(): void {\n if (this.formReport.valid) {\n const formatDataForm = { ...this.formReport.value, months: this.formReport.value.months.toString() };\n this.emailService.downloadExcelReport(formatDataForm).subscribe(res => {\n importedSaveAs(res, 'Reporte');\n });\n } else {\n this.formReport.markAllAsTouched();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-24\n * Metodo que pinta el grafico de barras. \n */\n drawBarChart(): void {\n this.canvas = document.getElementById('barChart');\n this.ctx = this.canvas.getContext('2d');\n this.barChart = new Chart(this.ctx, {\n type: 'bar',\n data: {\n labels: MONTHS,\n datasets: []\n },\n options: OPTIONS\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-25\n * Metodo que emite el cambio sobre la configuracion de la paginacion.\n * @param $event Evento emitido por el paginador. \n */\n onChangePage($event: PageEvent): void {\n this.configPaginator = $event;\n this.getTableReport();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-14\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formReport.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-14\n * Metodo que genera el reporte sobre la vista. \n */\n generateReport(): void {\n if (this.formReport.valid) {\n this.getGraphReport();\n this.getTableReport();\n } else {\n this.formReport.markAllAsTouched();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-18\n * Metodo que trae los años registrados en las gestiones de correo. . \n */\n getYears(): void {\n this.emailService.getYearsToReport().subscribe(res => {\n this.years = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-18\n * Metodo que trae los meses registrados en las gestiones de correo realizados en el año seleccionado.\n * @param $event Evento emitido por el campo select. \n */\n getMonths($event: MatSelectChange): void {\n this.emailService.getMonthsByYear($event.value).subscribe(res => {\n this.months = res.data.length > 0 ? res.data.sort((a: any, b: any) => {\n return a.id - b.id;\n }) : [];\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-19\n * Metodo que trae la informacion para generar el reporte en la grafica.\n */\n getGraphReport(): void {\n const formatDataForm = { ...this.formReport.value, months: this.formReport.value.months.toString() };\n this.emailService.getGraphReport(formatDataForm).subscribe(res => {\n this.cardsReport[0].value = res.data.correos;\n this.cardsReport[1].value = res.data.entradas;\n this.cardsReport[2].value = res.data.salientes;\n this.cardsReport[3].value = res.data.pendientes;\n this.cardsReport[4].value = res.data.en_gestion;\n this.cardsReport[5].value = res.data.cerrados;\n if (!Array.isArray(res.data.grafica)) {\n const labels = [];\n const datasetPendientes: ChartDataset = { label: 'Pendientes', backgroundColor: '#D14A4A', data: [] };\n const datasetEnGestion: ChartDataset = { label: 'En gestión', backgroundColor: '#D9A847', data: [] };\n const datasetCerrados: ChartDataset = { label: 'Cerrados', backgroundColor: '#60BF66', data: [] };\n for (const keyA in res.data.grafica) {\n labels.push(keyA);\n const objectMonth = res.data.grafica[keyA];\n for (const keyB in objectMonth) {\n if (keyB === 'Abierto') datasetPendientes.data.push(objectMonth[keyB]);\n if (keyB === 'En gestión') datasetEnGestion.data.push(objectMonth[keyB]);\n if (keyB === 'Cerrado') datasetCerrados.data.push(objectMonth[keyB]);\n }\n }\n this.barChart.data.labels = labels;\n this.barChart.data.datasets = [datasetPendientes, datasetEnGestion, datasetCerrados];\n this.barChart.update();\n this.emailService.getConfigEmailByUser(null, this.formReport.get('emailAccount').value, 'false').subscribe(res => {\n this.listToAdvisers = res.data;\n });\n } else {\n this.barChart.data.labels = MONTHS;\n this.barChart.data.datasets = [];\n this.barChart.update();\n this.listToAdvisers = [];\n this.dataTable = [];\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-19\n * Metodo que trae la informacion para generar el reporte sobre la tabla.\n */\n getTableReport(): void {\n const formatDataForm = { ...this.formReport.value, months: this.formReport.value.months.toString() };\n this.emailService.getTableReport(this.configPaginator, formatDataForm, this.adviserSelected).subscribe(res => {\n this.dataTable = res.data.data;\n this.configPaginator.length = res.data.total;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-19\n * Metodo que setea el filtro de asesor seleccionado.\n * @param $event Evento emitido por el select. \n */\n onChangeFilterAdviser($event: MatSelectChange): void {\n this.adviserSelected = $event.value;\n this.configPaginator.pageIndex = 0;\n this.getTableReport();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n}","
\n
\n \n Regresar\n
\n
\n
\n Reportes de correos\n
\n
\n

En este espacio podrás consultar y/o descargar los reportes de gestión.\n No
olvides, “El respeto y empatía son clave”.

\n
\n
\n
\n
\n
\n
\n \n Cuenta de correo\n \n {{ email.name\n }}\n \n \n El campo es requerido\n \n \n
\n
\n \n Año\n \n {{ item.year }}\n \n \n El campo es requerido\n \n \n
\n
\n \n Mes\n \n {{ item.nombre }}\n \n \n El campo es requerido\n \n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
{{ card.value }}
\n
{{ card.text }}
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n Asesor\n \n {{\n item.name_user_asignado }}\n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
{{ column.name }} {{ element[column.key] }}
No existe información relacionada
\n \n \n
\n
\n
","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'estado'\n})\nexport class EstadoPipe implements PipeTransform {\n\n transform(value: string): string {\n\n if (value == \"Abierto\") {\n value = 'Activo';\n }\n\n return value;\n }\n\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { TestsService } from '../../../services/tests.service';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Router, ActivatedRoute } from '@angular/router';\n@Component({\n selector: 'app-assesments-view',\n templateUrl: './assesments-view.component.html',\n styleUrls: ['./assesments-view.component.sass']\n})\nexport class AssesmentsViewComponent implements OnInit {\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort;\n displayedColumns: string[] = ['actions', 'name', 'creator', 'duration', 'end'];\n dataSource = new MatTableDataSource();\n\n length: number;\n pageSize: number;\n currentPage = 1;\n showRequests= false\n constructor(private testsService:TestsService, private router: Router,\n private activatedRoute:ActivatedRoute,) { }\n\n ngOnInit(): void {\n this.testsService.getRoomsAssessmets().subscribe((resp:any)=>{\n \n this.dataSource = new MatTableDataSource(resp.data);\n this.dataSource.sort = this.sort;\n this.showRequests= true\n this.length = resp.total;\n this.pageSize = resp.per_page;\n })\n }\n viewDetails(id) {\n this.router.navigate(['../assessment', id], {relativeTo: this.activatedRoute});\n\n }\n getPaginatorData(e){\n this.currentPage = e.pageIndex + 1;\n this.ngOnInit();\n }\n\n}\n","
\n

Salas de Assessments

\n

Bienvenido a las salas de Assessments, aquí podrás evaluar los candidatos por competecias.

\n

No tienes solicitudes disponibles

\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n
Acciones \n \n Nombre Sala {{row.name}} Duración (días) {{row.duration}} Creador {{row.creator}} Finalización {{row.end | date}}
No hay datos que coincidan
\n \n \n \n
\n \n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { CampaignsGuard } from 'src/app/core/guards/campaigns.guard';\nimport { ScheduleGuard } from 'src/app/core/guards/schedule.guard';\nimport { CrmComponent } from './crm.component';\nimport { GroupsGuard } from '../../core/guards/groups.guard';\nimport { FormsGuard } from '../../core/guards/forms.guard';\n\n\nconst routes: Routes = [\n\n { path: '', component: CrmComponent},\n // { path: '', redirectTo: 'forms', pathMatch: 'full'},\n { path: 'campaigns', loadChildren: () => import('./modules/campaigns/campaigns.module').then(m => m.CampaignsModule), canActivate: [ScheduleGuard, CampaignsGuard]},\n { path: 'groups', loadChildren: () => import('./modules/groups/groups.module').then(m => m.GroupsModule), canActivate: [ScheduleGuard, GroupsGuard]},\n { path: 'forms', loadChildren: () => import('./modules/forms/forms.module').then(m => m.FormsModule), canActivate: [ScheduleGuard,FormsGuard]},\n { path: 'trays', loadChildren: () => import('./modules/trays/trays.module').then(m => m.TraysModule)},\n { path: 'reports', loadChildren: () => import('./modules/reports/reports.module').then(m => m.ReportsModule)},\n { path: 'templates', loadChildren: () => import('./modules/templates/templates.module').then(m => m.TemplatesModule)},\n { path: 'outbound-manager', loadChildren: () => import('./modules/outbound-manager/outbound-manager.module').then(m => m.OutboundManagerModule)},\n { path: 'circuits', loadChildren: () => import('./modules/circuits/circuits.module').then(m => m.CircuitsModule)},\n { path: 'reports-form', loadChildren: () => import('./modules/reports-form/report-form.module').then(m => m.ReportsFormModule)},\n\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class CrmRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PositionsViewComponent, PositionsViewDialog } from './positions-view/positions-view.component';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { PositionCreateComponent } from './position-create/position-create.component';\nimport { CreateChargeComponent } from './create-charge/create-charge.component';\n\n\n\n@NgModule({\n declarations: [PositionsViewComponent, PositionCreateComponent, PositionsViewDialog, CreateChargeComponent],\n imports: [\n CommonModule,\n SharedModule,\n MaterialModule\n ]\n})\nexport class PositionsModule { }\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormArray } from '@angular/forms';\nimport { MatSelectChange } from '@angular/material/select';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { EDITOR_CONFIG } from 'src/app/shared/print-form-survey/mail-config-editor';\n\n@Component({\n selector: 'app-print-form-survey',\n templateUrl: './print-form-survey.component.html',\n styleUrls: ['./print-form-survey.component.css']\n})\n\nexport class PrintFormSurveyComponent implements OnInit, OnChanges {\n @Input() questions: any[] = [];\n @Input() textButtonSubmit: string = 'Guardar';\n @Input() ifFormFilter: boolean = false;\n @Input() alertTextConfirm = '¿De enviar las respuestas registradas?';\n @Input() showAlertToCancelButton: boolean = false;\n @Output() sendQuestions: EventEmitter = new EventEmitter();\n @Output() changeValueSelect: EventEmitter = new EventEmitter();\n @Output() sendIndexField: EventEmitter = new EventEmitter();\n @Output() onClickButtonCancel: EventEmitter = new EventEmitter();\n @Output() onClickButtonDeleteFormArray: EventEmitter = new EventEmitter();\n formSurvey: FormGroup = null;\n editorConfig = EDITOR_CONFIG;\n\n constructor(private alertService: AlertsService) { }\n\n ngOnInit(): void {\n const objectForm = {};\n this.questions.forEach((item: any) => {\n if (item.typeInput === 'date-range') {\n objectForm[item.range[0].key] = new FormControl(item.range[0].value, this.generateValidators(item.range[0].rules));\n objectForm[item.range[1].key] = new FormControl(item.range[1].value, this.generateValidators(item.range[1].rules));\n } else if (item.typeInput === 'array') {\n if (item.value.length === 0) {\n objectForm[item.key] = new FormArray([\n new FormGroup({\n text: new FormControl(null, [Validators.required])\n })\n ]);\n } else {\n const formArray = new FormArray(\n (item.value || []).map((val: any) =>\n new FormGroup({\n id: new FormControl(val.id, []),\n text: new FormControl(val.text, [Validators.required])\n })\n )\n );\n objectForm[item.key] = formArray;\n }\n }\n else {\n const validators = this.generateValidators(item.rules);\n objectForm[item.key] = new FormControl(item.value, validators);\n }\n });\n this.formSurvey = new FormGroup(objectForm);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.questions.forEach((item: any) => {\n const validators = this.generateValidators(item.rules);\n this.formSurvey?.get(item.key)?.setValidators(validators);\n this.formSurvey?.get(item.key)?.updateValueAndValidity();\n });\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-12\n * Metodo que añade reglas de validacion al formulario.\n * @param rules Json con las configuraciones de las validaciones. \n */\n generateValidators(rules: any): any[] {\n if (!rules) return [];\n const validators = [];\n for (const key in rules) {\n if (key === 'required') validators.push(Validators.required);\n if (key === 'minLength') validators.push(Validators.minLength(rules[key]));\n if (key === 'maxLength') validators.push(Validators.maxLength(rules[key]));\n if (key === 'email') validators.push(Validators.email);\n if (key === 'pattern') validators.push(Validators.pattern(rules[key]));\n if (key === 'min') validators.push(Validators.min(rules[key]));\n if (key === 'max') validators.push(Validators.max(rules[key]));\n }\n return validators;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-11\n * Metodo que envia las respuestas del formulario al componente padre. \n */\n submitForm(): void {\n if (this.formSurvey.valid) {\n if (!this.ifFormFilter) {\n this.alertService.alertWarning('¿Está seguro?', '¿De enviar las respuestas registradas?').then(isConfirm => {\n if (isConfirm.isConfirmed) this.sendQuestions.emit(this.formSurvey.value);\n });\n } else {\n this.sendQuestions.emit(this.formSurvey.value);\n }\n } else this.formSurvey.markAllAsTouched();\n\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-12\n * Metodo que emite la informacion del select, al seleccionar una opcion.\n * @param $event Evento emitido por el campo del formulario. \n * @param key Id unico del campo. \n */\n onChangeValueSelect($event: MatSelectChange, key: string): void {\n this.changeValueSelect.emit({ value: $event.value, key });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-22\n * Metodo que captura el indice de la lista de campos del formulario. \n * @param index Indice de la lista\n */\n onClickShowOrHidePassword(index: number): void {\n this.sendIndexField.emit(index);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-08-29\n * Metodo que retorna el form array de los campos dinamicos.\n * @param key Identificador del campo.\n */\n get options() {\n return (key: string) => this.formSurvey.get(key) as FormArray;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-08-29\n * Metodo que agrega un campo al form array.\n * @param key Identificador del campo.\n */\n addOption(key: string) {\n const formArray = this.options(key);\n formArray.push(new FormGroup({\n text: new FormControl(null, [Validators.required])\n }));\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-08-29\n * Metodo que elimina un campo del form array.\n * @param key Identificador del campo.\n * @param index Indice del campo seleccionado dentro del form array.\n */\n removeOption(key: string, index: number) {\n this.alertService.alertWarning('¿Está seguro?', '¿Está seguro de eliminar el elemento seleccionado?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n const fieldSelected = this.options(key).at(index) as FormGroup;\n const formArray = this.options(key);\n formArray.removeAt(index);\n this.onClickButtonDeleteFormArray.emit(fieldSelected);\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-09-10\n * Metodo que carga el archivo sobre el value del campo del formulario.\n * @param $event Evento generado por el campo del formulario.\n * @param key key del campo a modificar.\n */\n onFileChange($event: Event, key: string) {\n const input = $event.target as HTMLInputElement;\n if (input.files && input.files.length > 0) {\n const file = input.files[0];\n this.formSurvey.get(key)?.setValue(file);\n }\n }\n}","
\n
\n \n
\n \n {{ question.label }}\n \n \n \n {{ formSurvey?.get(question.key)?.value?.name }}\n \n \n \n {{ question.hide ? 'visibility' : 'visibility_off' }}\n \n \n \n El campo es requerido\n \n \n Mínimo de caracteres invalido\n \n \n Maximo de caracteres invalido\n \n \n Email invalido\n \n \n Cadena no válida\n \n \n \n \n {{ question.label }}\n \n {{ option.text }}\n \n \n \n El campo es requerido\n \n \n \n \n Fecha\n \n \n \n \n \n El campo es requerido\n \n \n \n \n Rango de fechas\n \n \n \n \n \n \n \n \n Fecha inicial requerida\n \n \n \n \n Fecha final requerida\n \n \n \n
\n \n
\n El campo es requerido\n
\n
\n
\n
\n
{{ question.title }}
\n
{{ question.description }}
\n
\n
\n
\n
\n
\n \n {{ question.label }} {{ i + 1 }}\n \n \n Este campo es requerido\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
","import { PermitViewComponent } from './pages/permit-view/permit-view.component';\nimport { PermitRoutingModule } from './permit-routing.module';\nimport { PermitListComponent } from './pages/permit-list/permit-list.component';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { PermitResponseComponent } from './pages/permit-response/permit-response.component';\nimport { PermitConsultantComponent } from './pages/permit-consultant/permit-consultant.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PermitRoutingModule,\n MaterialModule \n ],\n declarations: [PermitListComponent, PermitListComponent, PermitViewComponent, PermitResponseComponent,PermitConsultantComponent]\n})\nexport class PermitModule { }","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { JwtHelperService } from '@auth0/angular-jwt';\nimport { environment } from 'src/environments/environment';\nimport jwt_decode from 'jwt-decode';\n\nconst CIU_URL = environment.CIU_URL;\nconst RRHH_URL = environment.RRHH_URL;\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class AuthService {\n\n constructor(\n private http: HttpClient,\n private jwtHelper: JwtHelperService\n ) { }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Servicio que se consume en ciu para el logueo y obtencion del login\n * @param user formData con el usuario y el password del usuario\n */\n Authentification(user: FormData): Observable {\n return this.http.post(`${CIU_URL}auth/login`, user)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Servicio que obtiene los datos basicos del usuario del local storage\n */\n getUser(): any {\n return this.decryptToken();\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Servicio que verifica si el token esta valido o no\n */\n verifyTokent(): boolean {\n const token = JSON.parse(localStorage.getItem('user'));\n return !this.jwtHelper.isTokenExpired(token.access_token);\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-02\n * Servicio que refresca el token\n */\n refreshToken(): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: 'Bearer' + this.getToken(),\n }),\n };\n return this.http.post(`${CIU_URL}auth/refresh`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-26\n * Servicio que se consume en ciu para verificar la contraseña\n * @param user formData con el usuario y el password del usuario\n */\n passwordVerify(user: FormData): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n Authorization: 'Bearer' + this.getToken(),\n }),\n };\n\n return this.http.post(`${CIU_URL}auth/validatePassword`, user, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-26\n * Servicio que se consume en ciu para verificar la contraseña, este servicio no requiere un token\n * @param user formData con el usuario y el password del usuario\n */\n passwordVerifyLogin(user: FormData): Observable {\n\n return this.http.post(`${CIU_URL}auth/validatePasswordLogin`, user)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-01\n * Servicio que inhabilita el token y genera el logOut\n */\n logOut(): Observable {\n return this.http.get(`${CIU_URL}auth/logout`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-07-01\n * Servicio que devuelve el token jwt desencriptado para poder acceder a su informacion sin tener que usar el localStorage\n */\n decryptToken(): any {\n var token = this.getToken();\n if (token === null) {\n return null;\n } else {\n var decoded = jwt_decode(token);\n return decoded;\n }\n }\n\n getToken(): any {\n var token = JSON.parse(localStorage.getItem('user'));\n if (token === null) {\n return null;\n } else {\n return token.access_token;\n }\n }\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-10\n * Servicio valida el email, en caso de ser correcto envia un email al usuario con un link y un token\n * @param email formData con el email del usuario\n */\n validateEmail(email: FormData): Observable {\n return this.http.post(`${CIU_URL}auth/validateEmail`, email)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-14\n * Servicio valida el numero de documento,\n * en caso de ser correcto envia un email al usuario con su nombre de usuario\n * @param document formData con el email del usuario\n */\n SendEmailWithUserName(document: FormData): Observable {\n\n return this.http.post(`${CIU_URL}auth/rememberUser`, document)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-10\n * Servicio que permite cambiar la contraseña por medio de un token de aautorizcion enviado al correo\n * @param form formData con el email del usuario\n */\n changePasswordAuth(form: FormData): Observable {\n return this.http.post(`${CIU_URL}auth/validateTokenUpdatePassword`, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-16\n * Servicio que envia el correo con el codigo para el doble login\n * @param form formData con el rrhh_id y el correo del usuario que crea la solicitud\n */\n sendEmailToDobbleAuth(form): Observable {\n return this.http.post(`${CIU_URL}auth/sendEmailToDobbleAuth`, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-16\n * Servicio que envia el sms con el codigo para el doble login\n * @param form formData con el rrhh_id y el numero del usuario que crea la solicitud\n */\n sendSmsToDobbleAuth(form): Observable {\n return this.http.post(`${CIU_URL}auth/sendSmsToDobbleAuth`, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Juan Carlos Alonso\n * @createdate 29-05-2024\n * Servicio que retorna la lista de preguntas de seguridad\n */\n getSecurityQuestionsList() {\n return this.http.get(`${CIU_URL}SecurityQuestions`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 29-05-2024\n * Servicio que envía y almacena las preguntas de seguridad\n */\n saveSecurityQuestions(data: any) {\n return this.http.post(`${CIU_URL}SecurityQuestions/save`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-07-29\n * Metodo que verifica si el usuario tiene pendiente documentos por firmar.\n * @param document Documento del usuario.\n */\n verifyUserDescount(document: number): Observable {\n return this.http.get(`${RRHH_URL}descuentos/checkuser/${document}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-07-29\n * Metodo que obtiene el documento a firmar.\n * @param document Documento del usuario.\n */\n getDocumentToVerifyDescount(document: number): Observable {\n return this.http.get(`${RRHH_URL}descuentos/getdocument/${document}`, { responseType: 'blob' as 'json' })\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-07-29\n * Metodo que guarda la firma en el servidor.\n */\n saveSignatureDocument(formData: FormData): Observable {\n return this.http.post(`${RRHH_URL}descuentos/firmdocument`, formData)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'limitText'\n})\nexport class LimitTextPipe implements PipeTransform {\n\n transform(value: string, limit: number = 15, trail: string = '...'): string {\n if (!value) return '';\n return value.length > limit ? value.substring(0, limit) + trail : value;\n }\n}","import {Component, OnInit, ViewChild} from '@angular/core';\nimport {TemplatesService} from '../../../services/templates.service';\nimport {DatePipe} from '@angular/common';\nimport {ProfileService} from '../../../../ciu/services/rest/profile.service';\nimport {MatDialog} from '@angular/material/dialog';\nimport {map, mergeMap} from 'rxjs/operators';\nimport {forkJoin} from 'rxjs';\nimport {TemplatePreviewComponent} from '../template-preview/template-preview.component';\nimport {TemplateConfirmationComponent} from '../template-confirmation/template-confirmation.component';\nimport {AbstractControl, FormControl, ValidationErrors, Validators} from '@angular/forms';\nimport {MatPaginator} from '@angular/material/paginator';\nimport {CandidatesService} from '../../../services/candidates.service';\n\n@Component({\n selector: 'app-template-history',\n templateUrl: './template-history.component.html',\n styleUrls: ['./template-history.component.sass']\n})\nexport class TemplateHistoryComponent implements OnInit {\n\n templates: any;\n template: any;\n HistoryColumns: string[] = ['updated_at', 'name', 'version', 'responsable', 'status', 'actions'];\n HistorySource: any;\n\n // Paginate\n @ViewChild(MatPaginator) paginator: MatPaginator;\n page = 1;\n length = 0;\n pageSize = 5;\n pageSizeOptions: number[] = [5, 15, 25, 50, 100];\n\n // Filters\n contractType = new FormControl();\n contractTypes: any[] = [];\n contractTypeSelected: number;\n\n templateVersion = new FormControl('', [this.nonNegativeValidator]);\n templateVersionSelected: number;\n\n templateDate = new FormControl('', [this.futureDateValidator]);\n templateDateSelected: any;\n\n templateStatus = new FormControl();\n templateStatusSelected: string;\n\n constructor(\n private templateService: TemplatesService,\n private datePipe: DatePipe,\n private profileService: ProfileService,\n public dialog: MatDialog,\n public candidatesService: CandidatesService,\n ) { }\n\n ngOnInit(): void {\n this.getHistory();\n\n this.templateService.refreshTemplates$.subscribe(() => {\n this.getHistory();\n });\n\n // Getting contract types\n this.templateService.getTemplates().subscribe((response: any) => {\n this.contractTypes = response;\n });\n\n // Filters\n this.contractType.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.contractTypeSelected = resp;\n this.getHistory();\n });\n\n this.templateVersion.valueChanges.subscribe(resp => {\n if (this.templateVersion.valid) {\n this.resetPaginator();\n this.templateVersionSelected = resp;\n this.getHistory();\n }\n });\n\n this.templateDate.valueChanges.subscribe(resp => {\n if (this.templateDate.valid) {\n this.resetPaginator();\n this.templateDateSelected = this.formatDate(resp);\n this.getHistory();\n }\n });\n\n this.templateStatus.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.templateStatusSelected = resp;\n this.getHistory();\n });\n }\n\n getHistory() {\n const body = {\n perPage: this.pageSize || 5,\n page: this.page || 1,\n contract_type_id: this.contractTypeSelected,\n version: this.templateVersionSelected,\n created_at: this.templateDateSelected,\n status: this.templateStatusSelected,\n };\n\n this.templateService.getHistory(body)\n .pipe(\n map((resp: any) => {\n if (resp.data.length === 0) { this.HistorySource = null; }\n this.length = resp.total;\n return resp.data;\n }),\n mergeMap((data: any[]) => {\n const userIds: number[] = data.map(item => item.responsable_id);\n const uniqueUserIds = [...new Set(userIds)]; // Convertir a un conjunto y luego de nuevo a un array\n\n return this.templateService.getInfoRrhhIds(uniqueUserIds).pipe(\n map((response: any[]) => {\n const userMap = new Map();\n response.forEach(user => {\n userMap.set(user.rrhh_id, user.first_name + ' ' + user.last_name);\n });\n\n return data.map(item => {\n item.created_at = this.formatDate(item.created_at);\n item.updated_at = this.formatDate(item.updated_at);\n item.responsable = userMap.get(item.responsable_id);\n return item;\n });\n }),\n map((formattedData: any[]) => {\n const formattedUserIds = uniqueUserIds.join(','); // Convertir los IDs en una cadena separada por comas\n return { formattedData, formattedUserIds };\n })\n );\n })\n )\n .subscribe(({ formattedData, formattedUserIds }) => {\n // Ahora puedes usar formattedUserIds para la URL y formattedData para tus datos formateados\n this.HistorySource = formattedData;\n });\n }\n\n formatDate(dateStr: string): string {\n if (!dateStr) { return ''; }\n const date = new Date(dateStr);\n return this.datePipe.transform(date, 'dd/MM/yyyy') || '';\n }\n\n preview(contract_template_id: any) {\n this.templateService.showTemplate(contract_template_id).subscribe(resp => {\n this.template = resp;\n const filepath = this.templateService.server.replace('/api/', '') + '/storage/previews/' + this.template.pdf_url;\n\n const dialogRef = this.dialog.open(TemplatePreviewComponent, {\n width: '800px',\n data: {filepath: filepath},\n });\n });\n }\n\n onPageChange(event: any) {\n this.page = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n\n this.getHistory();\n }\n\n private applyFilter(param, filterValue: any) {\n\n }\n getStatusIconClass(status: number): string {\n return status === 1 ? 'green-icon' : 'red-icon' ;\n }\n\n upgrade(contract_template_id: any) {\n this.openConfirmationDialog(contract_template_id);\n }\n\n openConfirmationDialog(contract_template_id: any): void {\n const dialogRef = this.dialog.open(TemplateConfirmationComponent, {\n width: '400px',\n data: '¿Estás seguro de que deseas realizar la actualización?'\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.templateService.upgrade(contract_template_id).subscribe(resp => { this.ngOnInit(); });\n }\n });\n }\n\n resetPaginator(): void {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n if (this.paginator) {\n this.paginator.firstPage();\n }\n }\n\n resetFilters() {\n this.contractType.setValue(null);\n this.templateVersion.setValue(null);\n this.templateDate.setValue(null);\n this.templateStatus.setValue(null);\n\n this.contractTypeSelected = null;\n this.templateVersionSelected = null;\n this.templateDateSelected = null;\n this.templateStatusSelected = null;\n\n this.getHistory();\n }\n\n nonNegativeValidator(control) {\n if (control.value !== null && control.value !== '') {\n const value = Number(control.value);\n if (isNaN(value) || value < 0) {\n return { nonNegative: true };\n }\n }\n return null;\n }\n\n futureDateValidator(control: AbstractControl): ValidationErrors | null {\n const value = control.value;\n if (value === null || value === undefined) {\n return null; // No se aplica la validación si el campo está vacío\n }\n\n const selectedDate = new Date(value);\n const currentDate = new Date();\n\n if (selectedDate > currentDate) {\n return { futureDate: true }; // Indica que la validación ha fallado\n }\n\n return null; // La validación pasa\n }\n}\n","
\n
\n \n Tipos de contrato\n \n {{item?.name}}\n \n \n\n \n Versión\n \n Solo se permiten números sin signo.\n \n\n \n Fecha\n \n \n \n \n \n Solo se permiten fechas previas.\n \n\n \n Estado\n \n Inactivo \n Activo \n \n \n\n
\n \n
\n\n
\n
\n

No se encontraron resultados con los criterios definidos,\n inténtalo con otros criterios de búsqueda

\n
0\">\n
\n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n
Fecha {{element.created_at_formatted}} Nombre {{element.name}} Estado {{ element.status === 1 ? 'Activo' : 'Inactivo' }} Version {{element.version }} Responsable {{element.responsable}} Acciones \n \n \n
\n\n \n\n



\n
\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { SPEECH_URL } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AdminServersService {\n constructor(private httpClient: HttpClient) { }\n\n /**\n * Metodo que retorna los errores generados por HTTP. \n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Metodo que retorna las conexiones paginadas\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param filter filtros para la búsqueda.\n * @param paginator configuración de paginación (pageSize y pageIndex).\n */\n getServers(paginator: any, filter: string): Observable {\n return this.httpClient.get(`${SPEECH_URL}connection?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&filter=${filter}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo retorna la informacion de la conexion por id\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n */\n showServer(id: number): Observable {\n return this.httpClient.get(`${SPEECH_URL}connection/${id}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que crea o actualiza la conexion seleccionado. \n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param connection Informacion proveniente del servidor. \n */\n UpdateServer(connection: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}connection/${connection.id}`, connection).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que actualiza la data de la conexion\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param connection\n */\n CreaServer(connection: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}connection/`, connection).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo lista las conexiones que estan en estado de activo para selector\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n */\n filterServe(): Observable {\n return this.httpClient.get(`${SPEECH_URL}getConnection`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Habilitar/inhabilitar la conexion\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param connection_id Id del servidor seleccionado. \n */\n StateServer(connection_id: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}connectionState`, connection_id).pipe(\n catchError(this.handleError)\n );\n }\n}","import { Component, OnInit, ElementRef, ViewChild, NgZone, AfterViewInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ModalCreateRequestComponent } from './modal-create-request/modal-create-request.component';\nimport { RequestsService } from './../../services/requests.service';\nimport { ModalValidateComponent } from './modal-validate/modal-validate.component';\nimport { ModalDeleteComponent } from './modal-delete/modal-delete.component';\nimport { CampaignsService } from './../../services/campaigns.service';\nimport { ScrollDispatcher, CdkScrollable } from '@angular/cdk/scrolling';\n\n@Component({\n selector: 'app-requests',\n templateUrl: './requests.component.html',\n styleUrls: ['./requests.component.sass']\n})\nexport class RequestsComponent implements OnInit, AfterViewInit {\n\n @ViewChild('filterNam') filterNam: ElementRef;\n\n\n allCampains = [];\n allCampaignsToPipe = [];\n nextPageUrlCampaign = false;\n\n requestResponse: any;\n campaigns: any = [];\n\n stateId = '';\n allCampaigns: any = [];\n campaignId = null;\n campaign;\n\n currentPageCampaign = 1;\n filterName = '';\n\n campaignRequestState = null;\n\n toolbar = false;\n\n cdkScrolling;\n\n requestsStates = [];\n\n constructor(public dialog: MatDialog,\n private serviceBpms: RequestsService,\n private campaignService: CampaignsService,\n private scrollDispatcher: ScrollDispatcher,\n private zone: NgZone) { }\n\n ngOnInit(): void {\n\n this.allCampaignsToPipe = this.campaignService.getCampaings();\n\n this.serviceBpms.getAllCampaigns().subscribe( (resp: any) => {\n this.allCampaigns = resp;\n this.generalInquiries(true);\n this.serviceBpms.getRequestStates().subscribe(( resp: any) => {\n this.requestsStates = resp;\n });\n });\n }\n\n ngAfterViewInit(): void {\n this.scrollDispatcher.scrolled().subscribe((cdk: CdkScrollable) => {\n this.zone.run(() => {\n this.cdkScrolling = cdk;\n const scrollPosition = cdk.getElementRef().nativeElement.scrollTop;\n if (scrollPosition > 150) {\n this.toolbar = true;\n } else {\n this.toolbar = false;\n }\n });\n });\n }\n\n createRequest(): void {\n const dialogCrear = this.dialog.open(ModalCreateRequestComponent, {\n minWidth: '80%',\n minHeight: '400px'\n });\n\n dialogCrear.afterClosed().subscribe( (refreshRequests) => {\n \n if (refreshRequests) { this.generalInquiries(true); }\n });\n }\n\n /**\n *\n * @param campaign La campaña, es obligatorio\n * @param cleanCampaign Arg de tipo boolean que termine limpiar el array campaings\n * @param indexCampaign Indice del array campaing, usado cuando se esta paginando\n * @param nextPage Variable usada para la paginacion\n *\n * Este metodo sera usado unicamente con el paginador\n *\n */\n getRequestByCampaing(campaign, cleanCampaign?, indexCampaign?, nextPage?): void {\n\n let idx = indexCampaign - 1;\n // Pendiente por verificar si borrar clean campaing\n if (cleanCampaign) {\n this.campaigns = [];\n this.nextPageUrlCampaign = false;\n this.campaigns.push({\n campaign : campaign.name,\n id: campaign.id,\n requestStatus: 'Buscando solicitudes...',\n data: [],\n currentPage: null,\n prevPage: false,\n nextPage: false\n });\n idx = this.campaigns.length - 1;\n }\n const page = nextPage ? nextPage : 1;\n\n this.serviceBpms.getRequestsCampaign(campaign.id, page, this.stateId, this.filterName).subscribe(respuestaSolicitudes => {\n // IndexCampaign es cuando se quiere agregar mas solicitudes a una campaña (paginado)\n if (indexCampaign){\n this.campaigns[idx].data = [...this.campaigns[idx].data, ...respuestaSolicitudes.data];\n this.campaigns[idx].requestStatus = respuestaSolicitudes.data.length > 0 ? null : 'No hay solicitudes disponibles';\n this.campaigns[idx].currentPage = respuestaSolicitudes.current_page;\n this.campaigns[idx].prevPage = respuestaSolicitudes.prev_page_url ? true : false;\n this.campaigns[idx].nextPage = respuestaSolicitudes.next_page_url ? true : false;\n }else{\n this.campaigns[idx].data = respuestaSolicitudes.data;\n this.campaigns[idx].requestStatus = respuestaSolicitudes.data.length > 0 ? null : 'No hay solicitudes disponibles';\n this.campaigns[idx].currentPage = respuestaSolicitudes.current_page;\n this.campaigns[idx].prevPage = respuestaSolicitudes.prev_page_url ? true : false;\n this.campaigns[idx].nextPage = respuestaSolicitudes.next_page_url ? true : false;\n\n }\n });\n }\n\n /**\n *\n * @param campaignId ID de capaña\n * @param indexCampaign Indice del array campaings\n * Metodo usado para paginar las solicitudes de cada campaña\n *\n */\n paginatorRequests(campaign, indexCampaign): void {\n const nextPage = this.campaigns[indexCampaign].currentPage += 1;\n this.getRequestByCampaing(campaign, false, indexCampaign + 1, nextPage);\n }\n\n /**\n *\n * @param cleanCampign Argumento de tipo boolean usado para limpiar el array campaings\n * Metodo que sera ejecutado inicialmente o cuando se quieran ver todas las campañas\n *\n */\n generalInquiries(cleanCampaign?): void {\n if (cleanCampaign){\n this.currentPageCampaign = 1;\n this.campaigns = [];\n }\n this.campaignRequestState = 'Buscando campañas...';\n this.campaignId = null;\n this.serviceBpms.consultarCampaings(this.currentPageCampaign, this.stateId, this.filterName).subscribe( async respuestacampaigns => {\n this.nextPageUrlCampaign = respuestacampaigns.next_page_url ? true : false;\n for ( const campaing of respuestacampaigns.data) {\n this.campaigns.push({\n campaign : campaing.name,\n id : campaing.id,\n requestStatus: 'Buscando solicitudes...',\n data: [],\n currentPage: null,\n prevPage: false,\n nextPage: false\n });\n\n await new Promise ((resolve, reject) => {\n const lastIndex = this.campaigns.length - 1;\n this.campaignRequestState = null;\n this.serviceBpms.getRequestsCampaign(campaing.id, 1, this.stateId, this.filterName).subscribe(e => {\n this.campaigns[lastIndex].requestStatus = null;\n this.campaigns[lastIndex].data = e.data;\n this.campaigns[lastIndex].currentPage = e.current_page;\n this.campaigns[lastIndex].prevPage = e.prev_page_url ? true : false;\n this.campaigns[lastIndex].nextPage = e.next_page_url ? true : false;\n resolve(e);\n });\n });\n }\n if (respuestacampaigns.data.length === 0) { this.campaignRequestState = 'No tienes campañas disponibles'; }\n });\n }\n\n /**\n *\n * @param stateId Variable de id que es asignada a la variable global [this.stateId]\n * Metodo basicamente actualiza la variable global stateId y ejecuta el query consulta general\n * Este metodo retornada todas las solicitud con un estado Activo / Cancelado\n */\n filterByState(stateId): void {\n this.stateId = stateId;\n if (this.campaignId) {\n this.getRequestByCampaing(this.campaignId, true);\n } else {\n this.generalInquiries(true);\n }\n }\n\n/**\n *\n * @param campaingId Variable de tipo ID\n * Este metodo asigna el id de la campaña y ejecuta el metodo requestbyCampaing para actualizar unicamente solicitudes\n * de la campana seleccionada, en caso que campaingID sea empty entonces se asume que se quieren ver todas las campañas\n */\n\n filterByCampaing(campaign): void {\n if (!campaign){\n this.currentPageCampaign = 1;\n this.filterNam.nativeElement.value = '';\n this.filterName = '';\n this.generalInquiries(true);\n }else{\n this.campaign = campaign;\n this.getRequestByCampaing(campaign, true);\n }\n\n }\n\n modalValidate(request): void {\n const requestDetailDialog = this.dialog.open(ModalValidateComponent, {\n width: '80%',\n data: {item: request},\n disableClose: true\n });\n requestDetailDialog.afterClosed().subscribe((refreshRequests) => {\n if (refreshRequests) { this.generalInquiries(true); }\n });\n }\n\n deleteRequest(request): void {\n request.idEstadoSolicitud = 2;\n const deleteDialog = this.dialog.open(ModalDeleteComponent, {\n width: '558px',\n height: 'auto',\n position: {top: '10px'},\n data: {item: request},\n disableClose: true,\n panelClass: 'custom-dialog-container'\n });\n\n deleteDialog.afterClosed().subscribe(() => {\n this.generalInquiries(true);\n });\n\n }\n\n\n /**\n * Metodo que consulta mas campaña, tomando en cuenta que las campañas tambien estan paginadas\n * */\n\n moreCampaigns(): void {\n this.currentPageCampaign += 1;\n this.generalInquiries();\n }\n\n /**\n *\n * @param name Metodo que actualiza la variable global [filterName] y posteriormente ejectuta el metodo que retonar todas\n * las campañas\n */\n filterByName(name): void {\n this.filterName = name;\n if (this.campaignId) {\n this.getRequestByCampaing(this.campaignId, true);\n } else {\n this.generalInquiries(true);\n }\n }\n\n}\n","
\n \n\n
\n

Solicitudes

\n

Aquí puedes revisar las solicitudes que haz hecho a las diferentes dependencias y su estado.

\n
\n
\n
\n
\n \n Filtrar por Campaña\n \n Todas\n {{ row.name }} \n \n \n
\n\n
\n \n Filtrar por Estado\n \n Todos\n {{row.name}}\n \n \n
\n
\n
\n \n
\n
\n\n
\n

{{campaignRequestState}}

\n
\n

{{item.campaign }}

\n
\n

{{ item.requestStatus}}

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

{{request.position}}

\n
\n
\n
\n Consecutivo\n

{{request.consecutivo}}

\n
\n
\n Cantidad de solicitudes\n

{{request.personalRequest}}

\n
\n
\n Estado\n

{{request.state}}

\n
\n
\n \n
\n
\n {{request.applicant}}\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Subject, Observable, throwError } from 'rxjs';\n\nimport { catchError, tap } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst ENCUESTAS_INTERNAS = environment.ENCUESTAS_INTERNAS;\nconst NOMINA_URL = environment.NOMINA_URL;\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class SurveyService {\n\tprivate _refresh$ = new Subject();\n\tconstructor(\n\t\tprivate http: HttpClient,\n\t) { }\n\n\thandleError(error: HttpErrorResponse): any {\n\t\treturn throwError(error);\n\t}\n\n /**\n * Metodo que se encarga de retornar el listdo de Encuestas\n * @author Juan David Guerrero Vargas\n * @returns {Observable} Observable\n */\n getListSurvey(pageSize:number, page:number, ifFilter:boolean, searchModel:any):Observable{ \n \n let $requesTemp:Observable;\n if(ifFilter === true ){\n $requesTemp = this.http.post(`${ENCUESTAS_INTERNAS}surveys/list?per_page=${pageSize}&paginate=${page}`,searchModel)\n }else{\n $requesTemp = this.http.get(`${ENCUESTAS_INTERNAS}surveys/list?per_page=${pageSize}&paginate=${page}`)\n }\n return $requesTemp.pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que se erncarg de retornar el archivo de reporte\n * @author Juan David Guerrero Vargas\n * @param filters:any {any} filtros de fecha para el reporte\n * @returns {Observable} Observable \n */\n downLoadReport(filters:any, idSurvey:string|number):Observable{\n return this.http.post(`${ENCUESTAS_INTERNAS}surveys/report/${idSurvey}`,filters,{responseType: 'blob' as 'json'}).pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * Metodo que se encarga de obtener el detalle de la encuesta\n * @author Juan David Guerrero Vargas\n * @param idSurvey:number {number} ide de la encuesta a consultar\n * @returns {Observable} Observable \n */\n getSurvey(idSurvey:number):Observable{\n return this.http.get(`${ENCUESTAS_INTERNAS}surveys/show/${idSurvey}`).pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * Metodo que se encarga de guardar la configuracion de la encuesta\n * @author Juan David Guerrero Vargas\n * @param formData:FormData|any {FormData|any} formData con archivo de carga de usuario o Object JSON en caso contrario\n * @returns {Observable} Observable\n */\n saveCofigSurvey(formData:FormData|any):Observable{\n return this.http.post(`${ENCUESTAS_INTERNAS}surveys`, formData,{observe: 'response', responseType: 'blob' as 'json'}).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que se encarga de actualziar la configuracion de una encuesta\n * @author Juan David Guerrero Vargasç\n * @param idSurvey:number {number} id de la encuesta a actualziar\n * @param formData:FormData|any {FormData|any} formData con archivo de carga de usuario o Object JSON en caso contrario\n * @returns {Observable} Observable\n */\n updateCondigSurvey(idSurvey:number,formData:FormData|any):Observable{\n return this.http.post(`${ENCUESTAS_INTERNAS}surveys/${idSurvey}`, formData, { observe: 'response' , responseType: 'blob' as 'json'}).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que se encarga de actualziar el estdo de la encuesta\n * @author Juan David Guerrero Vargas\n * @param idSurvey:number {number} id de la encuesta a actualziar\n * @param state:number {number} stado a actualziar\n * @returns {Observable} Observable\n */\n updateSurveyState(idSurvey:number,state:number):Observable{\n return this.http.post(`${ENCUESTAS_INTERNAS}surveys/${idSurvey}/change/status`, {status:state }).pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * Metodo que se encarga de obtener las encuestas asigndas a un usuario\n * @author Juan David Guerrero Vargas\n * @author Juan David Guerrero Vargas\n * @returns {Observable} Observable \n */\n getSurveysUser():Observable{\n return this.http.get(`${ENCUESTAS_INTERNAS}users/surveys`).pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * Metodo que se encarga de registrar la respuesta de ls encuestas\n * @author Juan David Guerrero Vargas\n * @param idSurvey:number {number} id de la encuesta a registrar\n * @param formData:any {any} objeto json con las respuestas de la encuesta\n * @returns {Observable} Observable\n */\n saveAnswer(idSurvey:number,formData:any):Observable{\n return this.http.post(`${ENCUESTAS_INTERNAS}surveys/${idSurvey}/resolved/save`, formData).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que se encarga de obtener el listado de campañas\n * @author Juan David Guerrero Vargas\n * @returns {Observable} Observable\n */\n getCampaings():Observable{\n return this.http.get(`${NOMINA_URL}campaigns?paginate=0`);\n }\n\n /**\n * Metodo que se encarga de eliminar las encuestas\n * @author Juan David Guerrero Vargas\n * @param idSurvey:string {string} id de la encuesta a eliminar\n * @returns {Observable} Observable Observable para pbntencion de respuesta eliminacion\n */\n deleteSurveys(idSurvey:String):Observable{\n return this.http.delete(`${ENCUESTAS_INTERNAS}surveys/${idSurvey}`);\n }\n}\n","import { Component, OnInit, Inject, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormBuilder, FormControl, FormArray, Validators } from '@angular/forms';\nimport { validateArrayNotEmpty, validateIsEmails } from '../../constantes/custom-validations';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { MatChipInputEvent, MatChipList } from '@angular/material/chips';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { ContactGroupService } from '../../services/contact-group.service';\n\n@Component({\n selector: 'app-form-contact-group',\n templateUrl: './form-contact-group.component.html',\n styleUrls: ['./form-contact-group.component.css']\n})\nexport class FormContactGroupComponent implements OnInit {\n @ViewChild('chipListMails') chipListMails: MatChipList;\n formContactGroup: FormGroup = new FormGroup({\n id: new FormControl(null, []),\n name: new FormControl('', [Validators.required, Validators.maxLength(30)]),\n email_list: this.formBuilder.array([], [validateArrayNotEmpty, validateIsEmails]),\n id_email_config: new FormControl('', [Validators.required])\n });\n separatorKeysCodes: number[] = [ENTER, COMMA];\n typeManagementContactGroup: string = null;\n\n constructor(\n private matDialogRef: MatDialogRef,\n private formBuilder: FormBuilder,\n private alertService: AlertsService,\n private matSnackBar: MatSnackBar,\n private contactGroupService: ContactGroupService,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n ngOnInit(): void {\n if (this.data.contactGroup) {\n this.formContactGroup.get('id').setValue(this.data.contactGroup.id);\n this.formContactGroup.get('name').setValue(this.data.contactGroup.name);\n this.data.contactGroup.email_list.split(',').forEach((mail: string) => {\n const newFormGroup = this.formBuilder.group({ name: new FormControl(mail, [Validators.email]) });\n const arrayForm = this.formContactGroup.get('email_list') as FormArray;\n arrayForm.push(newFormGroup);\n });\n this.formContactGroup.get('email_list').statusChanges.subscribe(status => { this.chipListMails.errorState = status === 'INVALID'; });\n this.formContactGroup.get('id_email_config').setValue(this.data.contactGroup.id_email_config);\n if (this.data.onlyShow === true) {\n this.formContactGroup.get('name').disable();\n this.formContactGroup.get('id_email_config').disable();\n }\n }\n this.formContactGroup.get('email_list').statusChanges.subscribe(status => { this.chipListMails.errorState = status === 'INVALID'; });\n this.typeManagementContactGroup = this.data.contactGroup !== null ? 'editar' : 'crear';\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formContactGroup.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que agrega una cadena de texto a cada uno de los chip list.\n * @param event Manejador de eventos de los mat chip.\n */\n addMail($event: MatChipInputEvent): void {\n const input = $event.input;\n const value = ($event.value || '').trim();\n if (value && value !== '') {\n const newFormGroup = this.formBuilder.group({ name: new FormControl(value, [Validators.email]) });\n const arrayForm = this.formContactGroup.get('email_list') as FormArray;\n arrayForm.push(newFormGroup);\n if (input) input.value = '';\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que elimina una cadena de texto dentro un chip list.\n * @param index Cadena de texto seleccionada dentro del chip list. \n */\n removeMail(index: number): void {\n const arrayForm = this.formContactGroup.get('email_list') as FormArray;\n arrayForm.removeAt(index);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que almacena o actualiza un grupo de contactos. \n */\n onClickSubmitFormContactGroup(): void {\n if (this.formContactGroup.valid) {\n this.alertService.alertWarning('¿Estás seguro?', `¿En verdad deseas ${this.typeManagementContactGroup} un grupo de contacto?`).then(isConfirm => {\n if (isConfirm.isConfirmed) {\n const formValuesWithSplitMails = { ...this.formContactGroup.value, email_list: this.formContactGroup.value.email_list.map((mail: any) => mail.name).join() };\n this.contactGroupService.storeGroupContact(formValuesWithSplitMails).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: this.formContactGroup.value.id === null ? 'Se ha creado un nuevo grupo de contactos con éxito' : 'Se ha actualizado un grupo de contactos con éxito'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(res);\n });\n }\n });\n } else {\n this.formContactGroup.markAllAsTouched();\n }\n }\n}","
\n
\n \n
\n
\n
\n
{{ data.title }}
\n \n
\n
\n
\n \n Nombre del grupo\n \n \n El campo es requerido\n Máximo 30 caracteres\n \n \n
\n
\n
\n
\n \n \n \n {{ item.value.name }}\n cancel\n \n \n \n \n El campo es requerido\n Correo inválido\n \n \n
\n
\n
\n
\n \n Emails de configuración\n \n {{ item.name\n }}\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
","\nexport class Campaings{\n id: number;\n name: string;\n description: string;\n code: string;\n rrhh_id:number;\n creeated_by: number;\n state: number;\n created_at: Date;\n company_id: number;\n}\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AuthService } from '../../core/services/rest/auth.service';\nimport { StorageService } from '../../core/services/storage/storage.service';\nimport { DestroyComponentService } from '../../core/services/utils/destroy-component.service';\nimport { Router } from '@angular/router';\nimport Swal from 'sweetalert2';\nimport { ChangePasswordComponent } from 'src/app/auth/change-password/change-password.component';\nimport { ForgotPasswordComponent } from '../forgot-password/forgot-password.component';\nimport { DobbleAuthComponent } from '../dobble-auth/dobble-auth.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CoachingService } from 'src/app/modules/coaching/services/coaching.service';\nimport { ForgotUserComponent } from '../forgot-user/forgot-user.component';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { SurveyService } from 'src/app/modules/encuestas/services/suervey.service';\nimport { ModalSurveysUserComponent } from 'src/app/mios/modal-surveys-user/modal-surveys-user.component';\nimport { DialogStateService } from 'src/app/core/services/utils/DialogSurveysState.service';\nimport { SecurityQuestionsComponent } from '../security-questions/security-questions.component';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.sass']\n})\nexport class LoginComponent implements OnInit, OnDestroy {\n loginForm: FormGroup;\n hide: boolean = true;\n auth: boolean;\n anio: number;\n publicIP: any;\n fingerPrintEnvio: any;\n private readonly urlNextToLogin: string = '/mios/ciu'\n\n constructor(\n private authService: AuthService,\n private storageService: StorageService,\n private destroyService: DestroyComponentService,\n private router: Router,\n public dialog: MatDialog,\n private coachService: CoachingService,\n private alertsService: AlertsService,\n private surveyService: SurveyService,\n\n ) { }\n\n ngOnInit(): void {\n const alert = localStorage.getItem('alert');\n if (alert === 'true') {\n this.alertsService.alertSuccessWithoutButton('¡Excelente!', 'Se ha cerrado tu sesión de manera satisfactoria, recuerda que \\n puedes ingresar nuevamente al aplicativo en cualquier momento');\n localStorage.clear();\n }\n const endTurn = localStorage.getItem('endturn');\n if (endTurn === 'true') {\n this.alertsService.alertSuccessWithoutButton('¡Excelente!', 'Ha finalizado el turno de manera satisfactoria, ten en cuenta que \\n no podrás acceder al aplicativo nuevamente por el día de hoy. \\n \\n ' + '¡Que tengas un excelente resto de día! ');\n localStorage.clear();\n }\n this.anio = new Date().getFullYear();\n this.formControl();\n this.fingerPrint();\n }\n\n fingerPrint(): any {\n let sessionStorage = !!window.sessionStorage;\n let localStorage = !!window.localStorage;\n var fingerprint = (function (window, screen, navigator) {\n function checksum(str) {\n var hash = 5381,\n i = str.length;\n while (i--) hash = (hash * 33) ^ str.charCodeAt(i);\n return hash >>> 0;\n }\n\n function map(arr, fn) {\n var i = 0,\n len = arr.length,\n ret = [];\n while (i < len) {\n ret[i] = fn(arr[i++]);\n }\n return ret;\n }\n return checksum(\n [\n navigator.userAgent,\n navigator.geolocation.getCurrentPosition,\n [screen.height, screen.width, screen.colorDepth].join('x'),\n new Date().getTimezoneOffset(),\n sessionStorage,\n localStorage,\n map(navigator.plugins, function (plugin) {\n return [\n plugin.name,\n plugin.description,\n map(plugin, function (mime) {\n return [mime.type, mime.suffixes].join('~');\n }).join(',')\n ].join('::');\n }).join(';')\n ].join('###')\n );\n })(this, screen, navigator);\n this.fingerPrintEnvio = fingerprint;\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario del login\n */\n formControl(): void {\n this.loginForm = new FormGroup({\n user: new FormControl('', [Validators.required, Validators.maxLength(50), Validators.minLength(3)]),\n password: new FormControl('', [Validators.required, Validators.maxLength(15), Validators.minLength(5)])\n });\n }\n\n get error(): any {\n return this.loginForm.controls;\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que loguea al usuario y guarda sus datos en el local storage\n * @param loginForm formulario del login\n */\n async loginAuth(loginForm) {\n const user = new FormData();\n user.append('username', loginForm.value.user);\n user.append('password', loginForm.value.password);\n user.append('fingerprint', this.fingerPrintEnvio);\n localStorage.clear();\n\n //Consulta si el usuario tiene preguntas de seguridad asociadas\n\n this.authService.Authentification(user).subscribe(async (res) => {\n /** Metodo asyncrono que hace la doble validacion del usuario*/\n if (res.data.dob_auth === 1) {\n this.dobbleAuthModal(\n res.data.id,\n res.data.email,\n res.data.phone_number\n ).then(async (dialogDobbleAuth) => {\n await dialogDobbleAuth.afterClosed().subscribe(async (valid) => {\n if (valid === true) {\n this.dobbleAuthLogin(res, loginForm);\n } else {\n dialogDobbleAuth.close();\n Swal.fire({\n html: `Error al autenticar, vuelve a intentarlo`,\n icon: 'error',\n confirmButtonText: 'Aceptar',\n });\n }\n });\n });\n } else {\n /** Metodo syncrono que hace la validacion del usuario*/\n if (res.data.actualizar === true || res.data.reason == 'pass-update') {\n Swal.fire({\n html: `Por seguridad debes cambiar tu contraseña`,\n icon: 'warning',\n confirmButtonText: 'Aceptar',\n }).then((result) => {\n if (result.isConfirmed === true) {\n const dialogPassword = this.dialog.open(ChangePasswordComponent, {\n width: '100%',\n height: '80%',\n disableClose: true,\n data: {\n type: 'cambiar',\n title: 'Cambiar contraseña',\n userName: loginForm.value.user,\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogPassword.afterClosed().subscribe(() => {});\n }\n });\n /*}else if((res.data.actualizar === false || res.data.reason == '') && !res.data.security_questions){\n Swal.fire({\n \t\t\t\thtml: `Por seguridad debes crear tus preguntas de seguridad`,\n \t\t\t\ticon: 'warning',\n \t\t\t\tconfirmButtonText: 'Aceptar'\n \t\t\t}).then((result) => {\n if (result.isConfirmed === true) {\n const dialogSecurityQuestions = this.dialog.open(SecurityQuestionsComponent, {\n width: '60%',\n height: 'auto',\n disableClose: true,\n data: {\n type: 'cambiar',\n title: 'Preguntas de seguridad',\n userName: loginForm.value.user,\n password: loginForm.value.password\n },\n panelClass: 'custom-dialog-container'\n });\n\n dialogSecurityQuestions.afterClosed().subscribe(() => {});\n }\n })*/\n } else {\n this.storageService.setStorage('user', res.data);\n await this.getSurverysByUser();\n this.sendCoachNoti();\n\n this.router.navigate([this.urlNextToLogin]);\n }\n }\n });\n }\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-02\n * Metodo para la doble autenticacion por correo o por email\n * @param rrhh_id id de recursos humanos del usuario\n * @param email email de recursos humanos del usuario\n * @param phoneNumber phoneNumber de recursos humanos del usuario\n */\n async dobbleAuthModal(rrhh_id, email, phoneNumber) {\n const dialogDobbleAuth = this.dialog.open(DobbleAuthComponent, {\n width: '72vh',\n height: '80vh',\n disableClose: true,\n data: {\n type: 'Validar',\n title: 'Validar Acceso',\n user_id: rrhh_id,\n email: email,\n phoneNumber: phoneNumber\n },\n panelClass: 'custom-dialog-container'\n });\n\n return dialogDobbleAuth;\n }\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-02\n * Metodo para la doble autenticacion por correo o por email\n * @param res respuesta del auth del usuario\n * @param loginForm formulario\n */\n async dobbleAuthLogin(res, loginForm) {\n if (res.data.actualizar === true || res.data.reason == 'pass-update') {\n Swal.fire({\n html: `Por seguridad debes cambiar tu contraseña`,\n icon: 'warning',\n confirmButtonText: 'Aceptar'\n }).then((result) => {\n if (result.isConfirmed === true) {\n const dialogPassword = this.dialog.open(ChangePasswordComponent, {\n width: '100%',\n height: '80%',\n disableClose: true,\n data: {\n type: 'cambiar',\n title: 'Cambiar contraseña',\n userName: loginForm.value.user\n },\n panelClass: 'custom-dialog-container'\n });\n dialogPassword.afterClosed().subscribe(() => { });\n }\n });\n } else {\n this.storageService.setStorage('user', res.data);\n await this.getSurverysByUser();\n this.sendCoachNoti();\n this.router.navigate([this.urlNextToLogin]);\n }\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que evalua en tiempo real los caracteres ingresados en el input, no deja ingresar numeros ni espacios\n * @param event evento del keypress del input usuario\n */\n omitSpecialChar(event): any {\n let k;\n k = event.charCode;\n return k > 32 && k < 126;\n }\n /**\n * @author Cristian Gallo\n * @createdate 2022-01-26\n * Metodo que dispara el envio de notificaciones para coaching.\n */\n sendCoachNoti() {\n let roles = this.authService.getUser().roles;\n roles.forEach(rol => {\n if (rol == 'coaching::supervisor' || (rol == 'coaching::jefe' || rol == 'coaching::gerente')) {\n this.coachService.senNotificationSupervisor().subscribe(() => { });\n }\n });\n }\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-07\n * Metodo que abre el modal del componente de forgot-password\n */\n forgotPassword(): any {\n const forgotPassword = this.dialog.open(ForgotPasswordComponent, {\n width: '40%',\n height: '91%',\n data: {\n type: 'cambiar',\n title: '¿Tienes problemas para iniciar sesión?',\n },\n panelClass: 'custom-dialog-container'\n });\n\n forgotPassword.afterClosed().subscribe(() => {\n forgotPassword.close();\n });\n\n }\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-14\n * Metodo que abre el modal del componente de forgot-user\n */\n forgotUser(): any {\n const forgotPassword = this.dialog.open(ForgotUserComponent, {\n width: '40%',\n height: '85%',\n data: {\n type: 'cambiar',\n title: '¿Tienes problemas para iniciar sesión?',\n },\n panelClass: 'custom-dialog-container'\n });\n\n forgotPassword.afterClosed().subscribe(() => {\n forgotPassword.close();\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n async getSurverysByUser() {\n await this.surveyService.getSurveysUser().toPromise().then(\n (surveyResponse: any) => {\n if (surveyResponse?.surveys !== undefined && Array.isArray(surveyResponse.surveys) == true && surveyResponse.surveys.length > 0) {\n let surveyList = surveyResponse.surveys.map((survey) => {\n survey['is_skiped'] = false\n return survey\n });\n this.storageService.setStorage('surveys', surveyList);\n }\n }).catch(\n (error: any) => {\n this.storageService.setStorage('surveysError', error);\n }\n );\n }\n}\n","
\n\n
\n
\n
\n \"\"\n
\n \"\"\n
\n \"\"\n
\n
\n
\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n
\n

¡Bienvenido a SOUL!

\n

Que tengas un excelente día

\n
\n
\n
\n
\n
\n\n \n Nombre de usuario\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 50 caracteres\n \n\n \n Contraseña\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 5 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 15 caracteres\n \n {{hide ? 'visibility' : 'visibility_off'}}\n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n\n
\n
Develop by Montechelo     {{anio}}
\n
Versión 4.0.2
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { socketService } from 'src/app/modules/livechat/services/socket/index.service';\nimport { SocketActiveService } from 'src/app/modules/livechat/services/socket/socket.service';\nimport { Message } from 'src/app/modules/livechat/modules/chat/models/message';\nimport { conversationsService } from 'src/app/modules/livechat/services/session/conversations.service';\nimport { sessionService } from 'src/app/modules/livechat/services/session/index.service';\nimport { Project } from 'src/app/modules/livechat/modules/chat/models/project';\n\n@Component({\n selector: 'app-modal-password',\n templateUrl: './modal-password.component.html',\n styleUrls: ['./modal-password.component.sass']\n})\nexport class ModalPasswordComponent implements OnInit {\n\n passwordForm: FormGroup;\n hide: boolean = true;\n public socket: socketService;\n public project: Project;\n public role: string;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public authService: AuthService,\n public dialogRef: MatDialogRef,\n private destroyService: DestroyComponentService,\n private _socketActiveService: SocketActiveService,\n private _conversationService: conversationsService,\n private _session: sessionService\n ) { }\n\n ngOnInit(): void {\n this.formControl();\n this.getProjectOmnichannel();\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario del login\n */\n formControl(): void {\n\n this.passwordForm = new FormGroup({\n password: new FormControl('', [Validators.required, Validators.maxLength(15), Validators.minLength(5)])\n });\n\n }\n\n get error(): any { return this.passwordForm.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que evalua en tiempo real los caracteres ingresados en el input, no deja ingresar numeros ni espacios\n * @param event evento del keypress del input usuario\n */\n omitSpecialChar(event): any {\n let k;\n k = event.charCode;\n return ((k > 32 && k < 126));\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que loguea al usuario y guarda sus datos en el local storage\n * @param loginForm formulario del login\n */\n passAuth(passwordForm): any {\n\n const user = new FormData();\n\n user.append('id', this.authService.getUser().idCiu);\n user.append('password', passwordForm.value.password);\n\n this.authService.passwordVerify(user).subscribe((resp) => {\n if (resp.data === 'OK') {\n this.dialogRef.close();\n }\n });\n\n }\n\n /**\n * @author Olme Marin\n * @createdate 2021-09-13\n * Método para obtener el socket activo de omnicanlidad\n */\n getSocketActive() {\n return this.socket = this._socketActiveService.getSocketActive();\n }\n\n /**\n * @author Olme Marin\n * @createdate 2021-09-13\n * Método para conectar agente al socket activo de omnicanlidad\n */\n connectSocket() { \n //Procesos de socket\n this.socket = new socketService(this.project.id, this.callBackSocket)\n this.setSocketActive(this.socket);\n this.socket.message.subscribe((message: string) => {\n\n const jsonMessage: Message = JSON.parse(message)\n console.log('MessageSocket: ', jsonMessage)\n console.log('jsonMessage.conversation_id: ', jsonMessage.conversation_id)\n if (jsonMessage.type !== 'hidden')\n if(jsonMessage.conversation_id){\n this._conversationService.setAlertNewMessage(jsonMessage.conversation_id, true);\n // this.addMessages(jsonMessage)\n }\n if (jsonMessage.action) {\n this[jsonMessage.action](jsonMessage)\n }\n })\n\n this.socket.connect.subscribe(() => {\n const rrhh: any = this.authService.getUser()\n // const rrhh: any = JSON.parse(this._storageService.getItem('user'))\n const rooms:string = this._session.getItem('agent-conversations')\n const conversations = rooms ? JSON.parse(rooms) : null\n const torooms = conversations ? conversations.map(item => item.id) : []\n const toSend = {\n name: rrhh.rrhh.name,\n rrhh: rrhh.rrhh_id,\n document: rrhh.rrhh.ID_number,\n project: this.project.id,\n limit: this.project.users_per_agent,\n rooms: torooms\n }\n this.socket.sendMessage('knownagent', toSend)\n })\n }\n\n callBackSocket() { }\n\n /**\n * @author Olme Marin\n * @createdate 2021-09-13\n * Método para enviar el socket a todos los componentes y vistas\n */\n setSocketActive(socket: socketService){\n this._socketActiveService.setSocketActive(socket);\n }\n\n /**\n * @author Olme Marin\n * @createdate 2021-09-13\n * Método para obtener información del proyecto activo de omnicanlidad\n */\n getProjectOmnichannel(){\n this.project = JSON.parse(this._session.getItem('project'));\n this.role = this._session.getItem('role')\n }\n\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","
\n\n \n\n

Retomar turno

\n

Ingrese su contraseña para retomar su turno

\n
\n \n Contraseña\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 5 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 15 caracteres\n \n {{hide ? 'visibility' : 'visibility_off'}}\n \n \n
\n
\n \n \n\n
\n\n
\n\n\n","import { Injectable, Output, EventEmitter } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { Conversation } from '../../modules/chat/models/conversation';\nimport { Message } from '../../modules/chat/models/message';\nimport { HttpService } from 'src/app/modules/livechat/services/http/index.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n@Injectable({\n providedIn: \"root\"\n})\nexport class conversationsService {\n conversations: Conversation[] = []\n currentConversation = null\n currentConversationSubject: Subject = new Subject()\n finishedConversations: Subject = new Subject()\n historyConversations: Subject = new Subject()\n movedConversations: Subject = new Subject()\n lastMessageConversation: Subject = new Subject()\n projectId: Subject = new Subject()\n isOpen = false;\n @Output () change: EventEmitter = new EventEmitter();\n\n constructor(\n private _httpService: HttpService,\n private _authService: AuthService,\n ) {\n let conversations: Conversation[] | string = sessionStorage.getItem('agent-conversations')\n if (conversations) {\n this.conversations = JSON.parse(conversations)\n } else {\n this.conversations = []\n }\n }\n\n\n getConversationsWhitAgent(){\n let conversations: Conversation[] | string = sessionStorage.getItem('agent-conversations')\n if (conversations) {\n this.conversations = JSON.parse(conversations)\n } else {\n this.conversations = []\n }\n }\n\n setProjectId(projectId: String) {\n return this.projectId;\n }\n\n updateConversation(conversationUpdate: Conversation) {\n try {\n let conversationsData = []\n let conversations: Conversation[] | string = sessionStorage.getItem('agent-conversations')\n if (conversations) {\n conversationsData = JSON.parse(conversations)\n } \n conversationsData = conversationsData.map(conversation => {\n if(conversation.id == conversationUpdate.id){\n conversation.newChat = false;\n }\n return conversation\n })\n sessionStorage.setItem('agent-conversations', JSON.stringify(conversationsData))\n return true\n } catch (e) {\n console.log(\"Error: \", e)\n return false\n }\n }\n\n setConversation(conversation: Conversation) {\n try {\n let issetConversation = false\n for(let i=0; i < this.conversations.length ; i++){\n if(conversation.id === this.conversations[i].id){\n issetConversation = true\n break\n }\n }\n if(!issetConversation){\n this.conversations.push(conversation)\n sessionStorage.setItem('agent-conversations', JSON.stringify(this.conversations))\n }\n\n return true\n } catch (e) {\n console.log(\"Error: \", e)\n return false\n }\n }\n\n setMessageConversation(id: string, message: Message) {\n const conversation = this.conversations.filter(item => item.id === id)\n if (conversation.length !== 0) {\n conversation[0].messages.push(message)\n sessionStorage.setItem('agent-conversations', JSON.stringify(this.conversations))\n if (this.currentConversation){\n if (this.currentConversation.id === conversation[0].id) {\n this.currentConversationSubject.next(conversation[0])\n }\n }\n this.lastMessageConversation.next(message)\n return true\n }\n return false\n }\n\n setAlertCloseConversation(id: string, alertClose: string) {\n const conversation = this.conversations.filter(item => item.id === id)\n if (conversation.length !== 0) {\n conversation[0].alertClose = alertClose;\n sessionStorage.setItem('agent-conversations', JSON.stringify(this.conversations))\n if (this.currentConversation)\n if (this.currentConversation.id === conversation[0].id) {\n this.currentConversationSubject.next(conversation[0])\n }\n return true\n }\n return false;\n }\n\n setAlertNewMessage(id: string, alertNewMessage: boolean) {\n const conversation = this.conversations.filter(item => item.id === id)\n if (conversation.length !== 0) {\n conversation[0].newMessage = alertNewMessage;\n sessionStorage.setItem('agent-conversations', JSON.stringify(this.conversations))\n if (this.currentConversation)\n if (this.currentConversation.id === conversation[0].id) {\n this.currentConversationSubject.next(conversation[0])\n }\n return true\n }\n return false;\n }\n\n\n setCurrentConversation(conversation: Conversation) {\n this.currentConversation = conversation\n this.currentConversationSubject.next(conversation)\n }\n\n async getFinishedConversations() {\n const rrhh: any = this._authService.getUser();\n // const rrhh: any = JSON.parse(this._storageService.getItem('user'))\n try{\n const conversations: any = await this._httpService.get(`typification_conversation/list-finished/${rrhh.rrhh_id}`).toPromise();\n if(conversations.data){\n const tmp = conversations.data.map( item => {\n return {\n ...item.conversation,\n finished: true\n }\n })\n\n this.finishedConversations.next(tmp)\n }\n else\n this.finishedConversations.next(null)\n }catch(e){\n console.error('Error peticion de conversaciones trasladadas: ',e)\n }\n }\n\n async getMovedConversations() {\n const rrhh: any = this._authService.getUser();\n // const rrhh: any = JSON.parse(this._storageService.getItem('user'))\n try{\n const conversations: any = await this._httpService.get(`event/trasnferred/${rrhh.rrhh_id}`).toPromise();\n if(conversations.data){\n const tmp = conversations.data.map( item => {\n return {\n ...item.conversation,\n finished: true\n }\n })\n this.movedConversations.next(tmp)\n }\n else{\n this.movedConversations.next(null)\n }\n }catch(e){\n console.error('Error peticion de conversaciones finalizadas: ',e)\n }\n }\n\n async getHistoryConversations() {\n try{\n if(!this.currentConversation || !this.currentConversation.user_data)\n return false\n const conversations: any = await this._httpService.get(`conversation/by-user`,[\n {email: this.currentConversation.user_data.email || ''},\n {phone: this.currentConversation.user_data.phone || ''}\n ]).toPromise();\n if(conversations.data){\n const tmp = conversations.data\n this.historyConversations.next(tmp)\n }\n else\n this.historyConversations.next(null)\n }catch(e){\n console.error('Error peticion de historial conversaciones: ',e)\n }\n }\n\n getConversations() {\n return this.conversations\n }\n getProjectId() {\n return this.projectId;\n }\n\n getConversation(id: string) {\n const conversation = this.conversations.filter(item => item.id === id)\n const toReturn = conversation.length === 0 ? null : conversation[0]\n return toReturn\n }\n\n removeConversation(id: string) {\n try {\n const conversations = this.conversations.filter(item => item.id !== id)\n this.conversations = conversations\n sessionStorage.setItem('agent-conversations', JSON.stringify(this.conversations));\n if (this.currentConversation.id === id) {\n this.currentConversationSubject.next(null)\n }\n return true\n } catch (e) {\n console.error(\"Error: \", e)\n return false\n }\n }\n\n}\n","import { Component, ElementRef, HostListener, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport Swal from 'sweetalert2';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { PageEvent } from '@angular/material/paginator';\nimport { AudioPlayerComponent } from '../search-speech/audio-player-modal/audio-player-modal.component';\nimport { NoDirigidoService } from '../../services/nodirigido.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { MatSort } from '@angular/material/sort';\nimport { RequestService } from '../../services/request.service';\nimport { ViewService } from '../../services/view.service';\nimport { FormControl } from '@angular/forms';\nimport { StrategyServersService } from '../../services/strategy.service';\nimport { AdherenciaModalComponent } from '../search-speech/adherencia-modal/adherencia-modal.component';\nimport { TranscricpcionStrategyComponent } from '../search-speech/transcription-strategy-modal/transcription-strategy-modal.component';\nimport { AnalyticsModalComponent } from '../search-speech/analytics-modal/analytics-modal.component';\nimport { AnalyticsVoiceGeneralComponent } from '../search-speech/analytics-voice-general-modal/analytics-voice-general-modal.component';\n\ninterface FileItem {\n file: File;\n name: string;\n size: number;\n time_duration?: string;\n}\n@Component({\n selector: 'app-nodirigido',\n templateUrl: './nodirigido.component.html',\n styleUrls: ['./nodirigido.component.sass']\n})\nexport class NodirigidoComponent implements OnInit, OnDestroy {\n\n /**\n * Variables de archivos subidos\n */\n\n @ViewChild(\"fileDropRef\", { static: false }) fileDropEl: ElementRef;\n files: FileItem[] = [];\n\n\n /**\n * Variables de tabla\n */\n dataSourceRecordings = new MatTableDataSource();\n dataSourceStrategy = new MatTableDataSource();\n\n //ordenamiento tablas\n @ViewChild(MatSort) sort: MatSort;\n @ViewChild('sortRecordings') sortRecordings: MatSort;\n @ViewChild('sortStrategy') sortStrategy: MatSort;\n\n /**\n * Variables de seleccion\n */\n selectionRecordings = new SelectionModel(true, []);\n selectionStrategy = new SelectionModel(true, []);\n\n /**\n * Columnas tablas\n */\n displayedColumnsRecordings: string[] = ['checbox', 'created_at', 'user_soul','name_file','time_duration','audio'];\n displayedColumnsStrategy: string[] = ['checbox', 'created_at', 'user_soul','name_file','time_duration','audio','analisis'];\n\n /**\n * Configuracion tabla\n */\n\n configPaginatorRecording:any={ pageSize : 20, length:0, pageIndex:1 }\n configPaginatorStrategy:any={ pageSize : 20, length:0, pageIndex:1 }\n\n pageSizeOptions:number[]= [5, 10, 20]\n\n /**\n * Cabeceras de tablas\n */\n\n tHeadersRecordings:any={\n checbox: \"\", created_at:'Fecha', user_soul: \"Usuario\",\n name_file: \"Nombre audio\", time_duration: 'Tiempo', audio:'Audio',\n analisis:'Análisis', adherencia:'Adherencia'\n }\n\n user: any; // data del usuario segun sesion\n\n strategyControl:FormControl = new FormControl(null) //formcontrol para selector\n\n listStrategys:any[] = [] //selector estrategias\n\n //Variables de control con Array original de datos para tablas que requiren Paginacion estatica\n listrecordingsAnalising:any[] = []\n listRecordingsStrategys:any[] = []\n totalFilesUploaded: number = 0;\n respload: any[] = [];\n startegyComplete: boolean;\n isAllComplete: boolean;\n private isActive = true;\n //parar el metodo obtener estados\n private abortController: AbortController | null = null;\n\n selectedStrategy: Map = new Map(); //selects activos strategias\n\n constructor(\n private dialog: MatDialog,\n private viewservice: ViewService,\n private requestService: RequestService,\n private strategyService: StrategyServersService,\n private noDirigidoService: NoDirigidoService,\n private authService: AuthService,\n ) { }\n\n ngOnInit(): void {\n this.user = this.authService.getUser();\n this.getStrategys();\n }\n\n ngOnDestroy() {\n this.isActive = false;\n }\n\n /**\n * Método donde se establecen las validaciones del formulario y adviarte antes de refrescar\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @method unloadNotification\n * @param {Event} $event - El evento `beforeunload` del navegador.\n * @returns {void}\n */\n\n @HostListener('window:beforeunload', ['$event'])\n unloadNotification($event: any) {\n if (this.totalFilesUploaded > 0) {\n $event.returnValue = true;\n }\n }\n\n /**\n * Método que maneja el evento de soltar archivos.\n * @author Yeison Sepulveda\n * @param $event El evento de soltar archivos.\n */\n\n onFileDropped($event) {\n this.prepareFilesList($event);\n }\n\n /**\n * Método que maneja la selección de archivos a través de un input de tipo archivo.\n * @author Yeison Sepulveda\n * @createdate 2024-05-08\n * @param files La lista de archivos seleccionados.\n */\n\n fileBrowseHandler(files) {\n this.prepareFilesList(files);\n }\n\n /**\n * Elimina todos los archivos\n * @author Yeison Sepulveda\n * @createdate 2024-05-08\n *\n */\n deleteAllFiles() {\n this.files = [];\n this.totalFilesUploaded = 0;\n }\n\n /**\n * Elimina un archivo de la lista de archivos.\n * @param index El índice del archivo a eliminar.\n * @autor Yeison Sepulveda\n */\n\n deleteFile(index: number) {\n this.files.splice(index, 1);\n this.totalFilesUploaded--;\n }\n\n /**\n * método para obtener la duración del archivo de audio\n * @param files La lista de archivos a preparar.\n * @autor Yeison Sepulveda\n */\n getAudioDuration(file: File): Promise {\n return new Promise((resolve, reject) => {\n const audioContext = new AudioContext();\n const fileReader = new FileReader();\n\n fileReader.onload = () => {\n audioContext.decodeAudioData(fileReader.result as ArrayBuffer, (buffer) => {\n const duration = buffer.duration;\n resolve(duration);\n }, (error) => {\n reject(error);\n });\n };\n\n fileReader.onerror = (error) => {\n reject(error);\n };\n\n fileReader.readAsArrayBuffer(file);\n });\n }\n\n /**\n * método para formatear la duración en segundos a hh:mm:ss\n * @param files La lista de archivos a preparar.\n * @autor Yeison Sepulveda\n */\n formatDuration(seconds: number): string {\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const secs = Math.floor(seconds % 60);\n return [hours, minutes, secs]\n .map(unit => String(unit).padStart(2, '0'))\n .join(':');\n }\n\n /**\n * Prepara una lista de archivos para su procesamiento.\n * @param files La lista de archivos a preparar.\n * @autor Yeison Sepulveda\n */\n prepareFilesList(audios: FileList) {\n if (!audios) return;\n for (let i = 0; i < audios.length; i++) {\n const file: File = audios[i];\n const extension = file.name.split('.').pop().toLowerCase();\n if (extension === 'mp3' || extension === 'wav') {\n this.getAudioDuration(file).then(duration => {\n const formattedDuration = this.formatDuration(duration);\n const time_duration = formattedDuration;\n this.files.push({ file: file, name: file.name, size: file.size, time_duration: formattedDuration });\n this.totalFilesUploaded++;\n }).catch(error => {\n console.error('Error al obtener la duración del archivo:', error);\n });\n } else {\n Swal.fire({\n title: '¡Aviso!',\n text: 'El o los audios deben estar en formato MP3 o WAV.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n }\n this.fileDropEl.nativeElement.value = \"\";\n }\n\n\n /**\n * Formatea el tamaño de los bytes en una cadena legible.\n * @autor Yeison Sepulveda\n * @createdate 2024-05-08\n * @param bytes El tamaño en bytes a formatear.\n * @param decimals El número de decimales a mostrar (por defecto 2).\n * @returns Una cadena que representa el tamaño formateado.\n */\n\n formatBytes(bytes: number, decimals: number = 2): string {\n if (bytes === 0) {\n return \"0 Bytes\";\n }\n const k = 1024;\n const dm = decimals <= 0 ? 0 : decimals;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\n }\n\n /**\n * Metodo para acargar los audios\n * @author Yeison Sepulveda\n * @createdate 2024-05-08\n */\n\n loadAudios(stepperReference?: any): void {\n this.deleteColumnAnalytics();\n if (this.totalFilesUploaded === 0) {\n Swal.fire({\n title: 'Alerta',\n text: 'No hay audios para subir.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC'\n });\n } else if (this.totalFilesUploaded > 20) {\n Swal.fire({\n title: 'Alerta',\n text: 'No se permite cargar más de 20 audios.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC'\n });\n } else {\n Swal.fire({\n title: `Se consultará ${this.totalFilesUploaded} audios`,\n text: '¿Está seguro?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: 'Sí, continuar',\n cancelButtonText: 'Cancelar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n\n //enviar la informacion en el formData\n const formData = new FormData();\n this.files.forEach((fileItem, index) => {\n formData.append(`audios[${index}][file]`, fileItem.file);\n formData.append(`audios[${index}][time_duration]`, fileItem.time_duration);\n });\n formData.append('user', this.user.rrhh_id);\n\n this.noDirigidoService.uploadAudios(formData).subscribe(\n (respUpload) => {\n stepperReference.next();\n this.respload = respUpload;\n this.dataSourceStrategy = new MatTableDataSource();\n this.processSearchResponse(this.respload);\n this.selectionRecordings.clear();\n },\n (error) => {\n console.error('Error al cargar los audios:', error);\n }\n );\n }\n });\n }\n }\n\n /**\n * Metodo obtener los audios cargados\n * @author Yeison Sepulveda\n * @createdate 2024-05-08\n */\n\n processSearchResponse(respSearch): void {\n this.noDirigidoService.getAudios(this.configPaginatorRecording, respSearch).subscribe(\n (respSearch) => {\n\n respSearch.data.data = respSearch.data.data.map((recording) => {\n const otherInfo = JSON.parse(recording.other_information);\n if (otherInfo && otherInfo.user_soul) {\n return { ...recording, user_soul: otherInfo.user_soul };\n }\n return recording;\n });\n\n this.dataSourceRecordings.data = respSearch.data.data.map((recording) => {\n const fecha = new Date(recording.created_at);\n const year = fecha.getFullYear();\n const month = (fecha.getMonth() + 1).toString().padStart(2, '0');\n const day = fecha.getDate().toString().padStart(2, '0');\n return { ...recording, created_at: `${year}-${month}-${day}` };\n });\n\n this.listrecordingsAnalising = this.dataSourceRecordings.data;\n this.dataSourceRecordings.sort = this.sortRecordings;\n this.configPaginatorRecording.length = respSearch.data.total;\n },\n (error) => {\n console.error('Error al cargar la información de los audios:', error);\n }\n );\n }\n\n /**\n *\n * Método para seleccionar todos los elementos en la tabla de analsis\n * @author Juan David Guerrero Vargas\n * @update Yeison Sepulveda\n */\n selectAllRecordings(): void {\n this.isAllSelectedRecordings() ?\n this.selectionRecordings.clear() :\n this.dataSourceRecordings.data.forEach(row => {\n if (row.analisis !== 'ERROR' && row.analisis !== 'PENDIENTE' && row.analisis !== 'PRIORITARIO') {\n this.selectionRecordings.select(row);\n }\n });\n }\n\n /**\n * Método para seleccionar todos los elementos en la página actual\n * @author Juan David Guerrero Vargas\n */\n\n selectAllStrategy(): void {\n if (this.isAllSelectedStrategy()) {\n this.dataSourceStrategy.data.forEach((row) => {\n this.selectionStrategy.deselect(row);\n this.selectedStrategy.delete(row.recording_id);\n });\n } else {\n this.dataSourceStrategy.data.forEach((row) => {\n if (!this.selectionStrategy.isSelected(row)) {\n this.selectionStrategy.select(row);\n this.selectedStrategy.set(row.recording_id, row);\n }\n });\n }\n }\n\n /**\n * Metodo para reiniciar tabla eliminando colimna de analisis\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n\n deleteColumnAnalytics(): void {\n const indexConfigAudio = this.displayedColumnsRecordings.findIndex(column => column === 'analisis');\n if (indexConfigAudio !== -1) {\n this.displayedColumnsRecordings.splice(indexConfigAudio, 1);\n }\n }\n\n /**\n * Metodo para reiniciar tabla eliminando columna adherencia\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n\n deleteColumnAdherencia(): void {\n const indexConfigAudio = this.displayedColumnsStrategy.findIndex(column => column === 'adherencia');\n if (indexConfigAudio !== -1) {\n this.displayedColumnsStrategy.splice(indexConfigAudio, 1);\n }\n }\n\n /**\n * Método que determinao si los checbox estan seleccionados o no en la tabal de analisis\n * @author Juan David Guerrero Vargas\n * @returns {Boolean}\n */\n isAllSelectedRecordings(){\n const numSelected = this.selectionRecordings.selected.length;\n const numRows = this.dataSourceRecordings.data.length;\n return numSelected === numRows;\n }\n\n /**\n * Método que determinao si los checbox estan seleccionados o no en la tabla estrategia\n * @author Juan David Guerrero Vargas\n * @returns {Boolean}\n */\n isAllSelectedStrategy() {\n const numSelected = this.selectionStrategy.selected.length;\n const numRows = this.dataSourceStrategy.data.length;\n return numSelected === numRows;\n }\n\n /**\n * Metodo que se encarg de realziar paginacion estatica apra tablas\n * @author Juan David Guerrero Vargas\n * @returns {any[]} any[]\n */\n paginateStaticTable(dataTable:any[], configPaginator:any):any[]{\n let startIndex = (configPaginator.pageIndex - 1 ) * configPaginator.pageSize\n return dataTable.slice( startIndex, startIndex + configPaginator.pageSize )\n }\n\n /**\n * Método que pagina la informacion de la tabla.x\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * @param $event Evento emitido por el paginador.\n */\n changePage($event: PageEvent, tablePaginate:string): void {\n if (tablePaginate == 'analisis' && this.displayedColumnsRecordings.find(ffnn => ffnn == 'analisis') == undefined){\n this.configPaginatorRecording.pageSize = $event.pageSize;\n this.configPaginatorRecording.pageIndex = $event.pageIndex + 1;\n this.processSearchResponse(this.respload)\n }else if (tablePaginate == 'strategy' && this.displayedColumnsRecordings.find(ffnn => ffnn == 'analisis') !== undefined){\n this.configPaginatorStrategy.pageSize = $event.pageSize;\n this.configPaginatorStrategy.pageIndex = $event.pageIndex + 1;\n this.dataSourceStrategy.data = this.paginateStaticTable(this.listRecordingsStrategys, this.configPaginatorStrategy )\n }\n }\n\n /**\n * Método para abrir el modal de analisis\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n openAnalyticsModal(recording_id: any): void {\n const dialogRef = this.dialog.open(AnalyticsModalComponent, {\n width: '800px',\n data: { recordingId: recording_id }\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result && result.hasChanges) {\n this.obtenerEstadosRegistros();\n }\n\n });\n }\n\n /**\n * Metodo para abrir el modal reproductor audio\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n openAudioModal(recording_id: any): void {\n const dialogRef = this.dialog.open(AudioPlayerComponent, {\n width: '700px',\n data: { recordingId: recording_id }\n });\n }\n\n /**\n * Método que se encarga de retonar la cantidad de items seleccioandos en la tabal de Analsis\n * @author Juan David Guerrero Vargas\n * @returns {number} Cantidad de items seleccionados\n */\n get getTotalItemSelectedRecordings():number{\n if(this.selectionRecordings && this.selectionRecordings?.selected){\n return this.selectionRecordings?.selected.length\n }\n return 0\n }\n\n /**\n * Método para analizar\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * @update Juan David Guerrero Vargas\n */\n analytics(): void {\n if (this.getTotalItemSelectedRecordings === 0) {\n Swal.fire({\n title: 'No hay registros seleccionados',\n text: 'Por favor, seleccione al menos un registro para analizar.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n return;\n }\n Swal.fire({\n title: '¿Estás seguro?',\n text: `Se iniciará el análisis de ${this.getTotalItemSelectedRecordings} grabaciones.`,\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Sí, continuar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.requestService.newRequestAnalytics(this.selectionRecordings.selected).subscribe(response => {\n this.dataSourceRecordings.data = this.selectionRecordings.selected;\n this.dataSourceRecordings.sort = this.sortRecordings;\n this.configPaginatorRecording.length = this.dataSourceRecordings.data.length\n if(this.displayedColumnsRecordings.find( ffnn => ffnn == 'analisis' ) == undefined ){\n this.displayedColumnsRecordings.push('analisis');\n }\n this.obtenerEstadosRegistros();\n }, error => {\n console.error('Ha ocurrido un error en la petición de análisis:', error.message);\n Swal.fire({\n icon: 'error',\n title: 'Ha ocurrido un error en la petición de análisis',\n text: error.message,\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n });\n }\n });\n }\n\n /**\n * Metodo que se encarga de obtener la cantidad de items que ya fueron analizados\n * @author Juan David Guerrero Vargas\n * @returns {number} number cantidad de items que ya estan analizados\n */\n get getTotalItemsAnalized():number{\n let totalRecordingsAnalized = this.selectionRecordings?.selected.filter( ffll => ffll?.analisis !== undefined && (ffll?.analisis == 'COMPLETADO' || ffll?.analisis == 'ERROR') ).length\n if( totalRecordingsAnalized > 0 ){\n return totalRecordingsAnalized;\n }\n return 0\n }\n\n /**\n * Metodo que se encarga de obtener el total de recordings que se seleccionaron pra aplciar la estrategia\n * @returns {number} number\n */\n get getTotalRecordingsForStrategy():number{\n if(this.selectionStrategy && this.selectionStrategy.selected.length > 0 ){\n return this.selectionStrategy.selected.length;\n }\n return 0\n }\n\n /**\n * Metodo que se encarga de ir validando si ya se encuentran descargados los analisis de las grabaciones\n * @author Yeison Sepulveda\n * @createdate 2024-03-07\n * Validar el estado de los análisis\n */\n async obtenerEstadosRegistros() {\n try {\n let registrosPendientes = this.dataSourceRecordings.data;\n this.selectionRecordings.clear();\n while (registrosPendientes.length > 0 && this.isActive) {\n\n const response: any = await this.viewservice.analyticsState(registrosPendientes).toPromise();\n\n if (response.data) {\n const estados = {};\n response.data.forEach(item => {\n estados[item.recording_id] = item.status.toUpperCase();\n });\n\n this.dataSourceRecordings.data.forEach(record => {\n if (estados[record.recording_id]) {\n record.analisis = estados[record.recording_id];\n }\n });\n }\n\n registrosPendientes = this.dataSourceRecordings.data.filter(ffll => ffll.analisis !== 'COMPLETADO' && ffll.analisis !== 'ERROR');\n\n if (registrosPendientes.length > 0) {\n await new Promise(resolve => setTimeout(resolve, 30000));\n }\n }\n\n this.isAllComplete = true;\n } catch (error) {\n console.error('Error al obtener estados de registros pendientes:', error);\n }\n }\n\n /**\n * Metodo que se encarga de redirigir al metodo de aplicar estrategias\n * @author Yeison Sepulveda\n * @createdate 2024-05-08\n * @param stepperReference:any {any} Referencia del steper para realizar la accion de continuar el paso siguiente\n */\n applyStrategy(stepperReference?:any):void{\n this.dataSourceStrategy.data = this.selectionRecordings.selected;\n this.configPaginatorStrategy.length = this.selectionRecordings.selected.length;\n this.listRecordingsStrategys = this.selectionRecordings.selected;\n this.dataSourceStrategy.sort = this.sortStrategy;\n this.deleteColumnAdherencia();\n if(stepperReference !== undefined){\n stepperReference.next();\n this.selectionStrategy.clear();\n }\n this.startegyComplete = false;\n }\n\n /**\n * Metodo que se encarga de enviar la información para aplicar la estrategia seleccionada.\n * Actualiza los registros con la información de adherencia calculada y actualiza el paginador.\n * @Update Yeison Sepulveda\n * @dateupdate 03-07-2024\n */\n applyStrategySelected(): void {\n this.deleteColumnAdherencia();\n this.startegyComplete = true;\n if (this.getTotalRecordingsForStrategy <= 0) {\n Swal.fire({\n title: 'No hay registros seleccionados',\n text: 'Por favor, seleccione al menos un registro para aplicar la estrategia.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n return;\n }\n\n const selectedStrategyId = this.strategyControl.value;\n // Verificar si se ha seleccionado una estrategia\n if (!selectedStrategyId) {\n Swal.fire({\n title: 'Estrategia no seleccionada',\n text: 'Por favor, seleccione una estrategia antes de continuar.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n return; // Detiene la ejecución si no se ha seleccionado una estrategia\n }\n\n const selectedRecordingIds = Array.from(this.selectedStrategy.keys());\n\n Swal.fire({\n title: '¿Está seguro?',\n text: `Se aplicará la estrategia a ${this.selectedStrategy.size} grabaciones.`,\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.startegyComplete = true;\n\n let strategyForms = {\n id_recordings: this.selectionStrategy.selected.map(recording => recording['recording_id']),\n id_strategy: this.strategyControl.value\n }\n\n // Actualiza el estado de adherencia a \"PENDIENTE\" para los registros seleccionados\n this.listRecordingsStrategys.forEach(record => {\n if (selectedRecordingIds.includes(record.recording_id)) {\n record.status_strategy = 'PENDIENTE';\n }\n });\n\n // Asignar la estrategia seleccionada\n this.strategyService.assignStrategys(strategyForms).subscribe(\n (assignResponse: any) => {\n this.strategyService.applyAdherencia(strategyForms.id_recordings).subscribe(\n (adherenciaResponse: any[]) => {\n if (this.displayedColumnsStrategy.indexOf('adherencia') === -1) {\n this.displayedColumnsStrategy.push('adherencia');\n }\n adherenciaResponse.forEach((item) => {\n const item_recording_id= item.recording_id\n const matchingRecords = this.dataSourceStrategy.data.filter((record) => record.recording_id === item_recording_id);\n\n // Si hay registros coincidentes, asigna la adherencia a dataSourceStrategy.data\n if (matchingRecords.length > 0) {\n this.dataSourceStrategy.data.forEach((record) => {\n if (record.recording_id === item_recording_id) {\n record.adherence_percentage = item.adherence_percentage;\n record.not_adherence_percentage = item.not_adherence_percentage;\n }\n });\n }\n });\n\n this.EstadoAdherencia();\n\n this.dataSourceStrategy.data = [...this.dataSourceStrategy.data];\n this.configPaginatorStrategy.length = this.dataSourceStrategy.data.length;\n this.dataSourceStrategy.sort = this.sortStrategy;\n },\n (adherenciaError: any) => {\n console.error(\"Error al calcular la adherencia:\", adherenciaError.error);\n }\n );\n },\n (assignError: any) => {\n console.error(\"Error al asignar la estrategia:\", assignError);\n }\n );\n }\n });\n }\n\n /**\n * Validar el estado de los análisis por página\n * @author Yeison Sepulveda\n * @createdate 2024-03-07\n */\n async EstadoAdherencia() {\n if (this.abortController) {\n this.abortController.abort();\n }\n\n this.abortController = new AbortController();\n const signal = this.abortController.signal;\n\n try {\n let registrosPendientes = this.dataSourceStrategy.data.filter(record =>\n record?.status_strategy !== 'COMPLETADO' && record?.status_strategy !== 'ERROR'\n );\n\n this.selectionRecordings.clear();\n\n while (registrosPendientes.length > 0 && this.isActive) {\n if (signal.aborted) {\n console.log('Proceso cancelado');\n return;\n }\n\n const recordingIds = registrosPendientes.map(record => record.recording_id);\n const body = recordingIds.map(id => ({ recording_id: id }));\n\n const response: any = await this.strategyService.AdherenciaState(body).toPromise();\n\n if (response.data) {\n const estados = {};\n response.data.forEach(item => {\n estados[item.recording_id] = item.status.toUpperCase();\n });\n\n this.dataSourceStrategy.data.forEach(record => {\n if (estados[record.recording_id]) {\n record.status_strategy = estados[record.recording_id];\n\n if (record.status_strategy === 'COMPLETADO') {\n const adherencia = `${record.adherence_percentage} / ${record.not_adherence_percentage}`;\n record.adherencia = adherencia;\n } else if (record.status_strategy === 'PENDIENTE') {\n record.adherencia = 'PENDIENTE';\n }\n }\n });\n }\n\n registrosPendientes = this.dataSourceStrategy.data.filter(record =>\n record.status_strategy !== 'COMPLETADO' && record.status_strategy !== 'ERROR'\n );\n\n if (registrosPendientes.length === 0) {\n console.log('No hay más grabaciones pendientes, deteniendo el proceso.');\n break;\n }\n\n await new Promise(resolve => setTimeout(resolve, 30000));\n }\n\n this.isAllComplete = true;\n } catch (error) {\n console.error('Error al obtener estados de grabaciones pendientes:', error.message);\n }\n }\n\n /**\n * Metodo que se encarga de obtenre el listado de estrategias\n * @author Yeison Sepulveda\n\t * @createdate 2024-04-23\n */\n getStrategys():void{\n const type_channel= [1];\n this.strategyService.listStrategies(type_channel).subscribe(res => {\n this.listStrategys = res.data;\n });\n }\n\n /**\n\t * Método enviar mensaje swal de error de la grabación\n\t * @author Yeison Sepulveda\n\t * @createdate 2024-04-23\n\t */\n errorAnalyticModal(recordingId: any) {\n this.viewservice.analyticsStateDetail(recordingId).subscribe(\n (response: any) => {\n Swal.fire({\n title: '¡Aviso!',\n text: response.data.message,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Reprocesar análisis',\n cancelButtonText: 'Cancelar',\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.confirmReprocess(recordingId);\n }\n });\n },\n (error) => {\n console.error('Error en la solicitud:', error.error.message);\n });\n }\n\n /**\n\t * Metodo para reprocesar análisis con error\n\t * @author Yeison Sepulveda\n\t * @createdate 2024-09-03\n\t */\n confirmReprocess(element: any) {\n Swal.fire({\n title: '¿Estás seguro?',\n text: `¿Quieres volver a intentar analizar el audio ${element.name_file}?`,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Sí, continuar',\n cancelButtonText: 'Cancelar',\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.requestService.duplicateUpdateAnalytics({ recording_id: element.recording_id }).subscribe(\n response => {\n Swal.fire({\n title: '¡Excelente!',\n text: 'La solicitud ha sido procesada correctamente.',\n icon: 'success',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC'\n }).then((result) => {\n if (result.isConfirmed) {\n this.obtenerEstadosRegistros();\n }\n });\n },\n error => {\n Swal.fire({\n title: 'Opss ...',\n text: error.message,\n icon: 'error',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC'\n });\n }\n );\n }\n });\n }\n\n /**\n * Método para abrir el modal de resultados de adherencia\n * @author Yeison Sepulveda\n * @createdate 2024-04-30\n */\n AdherenciaModal(recording_id: any): void {\n const dialogRef = this.dialog.open(AdherenciaModalComponent, {\n width: '800px',\n data: { recordingId: recording_id }\n });\n }\n\n\t/**\n\t * Método para tratar los datos que retorna el servicio y descargar el archivo.\n\t * @param data data respondida por el servicio\n\t * @param fileName nombre con el que se va a descargar el archivo.\n\t * @param file_type Tipo del archivo\n\t * @author Juan Carlos Alonso\n\t * @createdate 2021-07-27\n\t * @updatedate 2022-12-13\n\t */\n\tfileTransition(data: any, fileName: string, file_type:string = \"\"): void {\n\t\tlet blob = new Blob([data], { type: file_type});\n\t\tlet downloadURL = (file_type) ? window.URL.createObjectURL(blob) : window.URL.createObjectURL(data);\n\t\tlet link = document.createElement('a');\n\t\tlink.href = downloadURL;\n\t\tlink.download = fileName;\n\t\tlink.click();\n\t}\n\n /**\n * Metodo generar el nombre del documento a descargar\n * @author Yeison Sepulveda\n * @createdate 2024-0-03\n * @return nombre del archivo excel\n */\n\n generateFilename(): string {\n const currentDate = new Date().toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n }).replace(/\\//g, '');\n\n const currentTime = new Date().toLocaleTimeString('es-ES', {\n hour: '2-digit',\n minute: '2-digit',\n hour12: false\n }).replace(/:/g, '');\n\n const dateTimeString = `${currentDate}${currentTime}`;\n return `reporte_general_analisis_${dateTimeString}.xlsx`;\n }\n\n /**\n * Descargar reporte de busqueda excel\n * @author Yeison Sepulveda\n * @createdate 2024-04-04\n */\n downloadReport(type: 'analysis' | 'strategy') {\n let filters: any = {};\n\n if (type === 'analysis') {\n filters = {\n recording_ids: this.dataSourceRecordings.data.filter(record => record?.analisis === 'COMPLETADO').map(record => record['recording_id']),\n type: 1\n };\n } else if (type === 'strategy') {\n filters = {\n recording_ids: this.selectionStrategy.selected.map(recording => recording['recording_id']),\n type: 2\n };\n }\n\n this.noDirigidoService.downloadReport(filters).subscribe(\n (response: any) => {\n const filename = this.generateFilename();\n this.fileTransition(response, filename);\n },\n (error) => {\n console.error('Error al descargar el informe:', error.message);\n Swal.fire({\n icon: 'error',\n title: 'Error al descargar el informe',\n text: error.message,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: 'Aceptar',\n });\n }\n );\n }\n\n registrosCompletados(): boolean {\n return this.dataSourceRecordings.data.some(record => record.analisis === 'COMPLETADO');\n }\n\n /**\n * Metodo que se encarga de abirir el modal apra poder abrir el modal de creacion de estrategias\n * @author Yeison Sepulveda\n * @date 224-06-19\n */\n createStrategyTranscription(): void {\n const selectedRecordingIds = Array.from(this.selectionStrategy.selected.map(recording => recording['recording_id']));\n\n if (selectedRecordingIds.length === 1) {\n const selectedRecordingId = selectedRecordingIds[0];\n console.log('ID del grabador seleccionado:', selectedRecordingId);\n\n const dialogRef = this.dialog.open(TranscricpcionStrategyComponent, {\n width: '100%',\n maxHeight: '95vh',\n data: { modo: 'crear', recordingId: selectedRecordingId }\n });\n dialogRef.afterClosed().subscribe(result => {\n this.getStrategys();\n });\n } else if (selectedRecordingIds.length > 1) {\n Swal.fire({\n title: 'Advertencia',\n text: 'Seleccionaste más de un registro. Por favor, selecciona solo uno.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n } else {\n Swal.fire({\n title: 'Advertencia',\n text: 'Selecciona al menos un registro antes de continuar.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n }\n\n /**\n * Método validar si ya esta la columna de analisis y si el total es mayor\n * @author Yeison Sepulveda\n * @createdate 2024-06-18\n * @returns El valor true o false\n */\n\n get ColumnVisibleTotal(): boolean {\n const isVisible = this.displayedColumnsRecordings.includes('analisis');\n const hasSelectedItems = this.getTotalItemSelectedRecordings > 0;\n return isVisible && hasSelectedItems;\n }\n\n /**\n * Método validar si ya esta la columna de analisis\n * @author Yeison Sepulveda\n * @createdate 2024-06-18\n * @returns El valor true o false\n */\n\n get isAnalisisColumnVisible(): boolean {\n return this.displayedColumnsRecordings.includes('analisis');\n }\n\n\n /**\n * Modal para abrir resultados de analisis de sentiemientos masivo\n * @author Yeison Sepulveda\n * @date 2024-08-08\n */\n analytics_emociones(): void {\n if (this.getTotalItemSelectedRecordings === 0) {\n Swal.fire({\n title: 'No hay registros seleccionados',\n text: 'Por favor, seleccione al menos un registro para analizar.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n return;\n } else{\n Swal.fire({\n title: '¿Estás seguro?',\n text: `Se iniciará el análisis de sentientos de ${this.getTotalItemSelectedRecordings} grabaciones.`,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Sí, continuar',\n confirmButtonColor: '#2CABBC',\n cancelButtonText: 'Cancelar',\n cancelButtonColor: '#FFFFFF',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n const selectedRecordingIds = this.selectionRecordings.selected.map(recording => recording.recording_id);\n\n const dialogRef = this.dialog.open(AnalyticsVoiceGeneralComponent, {\n width: '800px',\n data: { id_recordings: selectedRecordingIds }\n });\n }\n });\n }\n }\n\n\n}\n","
\n
\n
\n Speech to Text\n
\n
\n

\n Este es el módulo de Speech to Text, donde podrás administrar la transcripción de
\n audios y aplicar estrategias sin segmentar. No olvides, “El respeto y empatía son clave”.\n

\n
\n
\n\n
\n \n \n \n Cargar grabaciones\n \n
\n
\n

Cargar grabaciones

\n
\n
\n
\n

En esta sección, podrás buscar y cargar los audios que deseas analizar

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

Arrastra y suelta el audio aquí

\n

o

\n \n
\n
\n
\n
\n
\n \n
\n
\n {{ file?.name }}\n
\n

\n {{ formatBytes(file?.size) }}\n

\n
\n \n
\n
\n
\n \n
1\">\n \n
\n
\n \n \n
\n

\n Nota: Solo se procesa formato \n .wav y .mp3.\n

\n
\n \n
\n
\n \n
\n
\n \n
\n \n \n \n \n Audios cargados\n
\n
\n

Analizar las grabaciones

\n
\n
\n
\n

En esta sección, podrás seleccionar las grabaciones que serán analizadas.

\n
\n
\n \n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ tHeadersRecordings[column] }} {{ element[column] }} \n \n \n \n \n {{ tHeadersRecordings[column] }} \n \n {{ tHeadersRecordings[column] }} \n \n Pendiente\n \n \n \n \n \n \n \n \n \n \n
No existe información relacionada
\n \n \n \n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n \n \n Aplicar estrategia\n
\n
\n

Aplicar estrategias

\n
\n
\n
\n

En esta sección, podrás seleccionar las grabaciones que fueron analizadas y aplicar o crear una estrategia para estas.

\n
\n
\n
\n
\n \n Estrategias\n \n \n {{ strategy.strategy_name }}\n \n \n La estrategia aplicar es requerida\n \n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ tHeadersRecordings[column] }} {{ element[column] }} \n \n \n \n {{ tHeadersRecordings[column] }} \n \n Pendiente\n \n \n \n \n \n \n \n \n \n {{ tHeadersRecordings[column] }} \n \n {{ tHeadersRecordings[column] }} \n \n Pendiente\n \n \n \n {{ element[column] }}\n \n
No existe información relacionada
\n \n \n \n \n
\n
\n
\n \n
\n
\n
\n\n \n \n
\n \n
\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { SolicitudesService } from 'src/app/modules/compras/services/rest/solicitudes.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { Solicitud } from '../../../Class/solicitud';\nimport { AprobarSolcitudComponent } from '../aprobar-solcitud/aprobar-solcitud.component';\nimport { ConsultarProveedorComponent } from '../consultar-proveedor/consultar-proveedor.component';\nimport { CrearSolicitudComponent } from '../crear-solicitud/crear-solicitud.component';\nimport { DescargaComponent } from '../historial-aprobador/descarga/descarga.component';\nimport { ProcesarSolicitudControlComponent } from '../procesar-solicitud-control/procesar-solicitud-control.component';\nimport { ProcesarSolicitudComponent } from '../procesar-solicitud/procesar-solicitud.component';\n\n@Component({\n selector: 'app-gestion-inicial-control',\n templateUrl: './gestion-inicial-control.component.html',\n styleUrls: ['./gestion-inicial-control.component.sass']\n})\nexport class GestionInicialControlComponent implements OnInit {\n\n user: any;\n length = 0;\n rol = 4;\n pageSize = 8;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [4, 8, 24, 100];\n newRolComponent: boolean = false;\n requestStates: any = [];\n filterDate: string = null;\n filterStates: any[] = null;\n public solicitudes: [] = [];\n defaultStates = [1,10];\n\n constructor(\n private solicitudService: SolicitudesService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n private authService: AuthService,\n public dialog: MatDialog\n ) { }\n\n ngOnInit(): void {\n this.user = this.authService.getUser().rrhh_id;\n this.solicitudService.getRequestStates().subscribe(resp => {\n //this.requestStates = resp.data;\n this.requestStates= resp.data.filter(state =>{\n let flag = false;\n this.defaultStates.map(s =>{\n if(s === state.id) flag = true;\n })\n return flag;\n });\n });\n this.filterStates = this.defaultStates;\n\n this.getSolicitudes();\n }\n\n getSolicitudes() {\n const params = {\n isPage: this.isPage,\n size: this.pageSize,\n page: this.page,\n states: this.filterStates,\n fecha: this.filterDate,\n rol: this.rol\n }\n this.solicitudService.getSoliciudesPaginate(params)\n .subscribe(resp => {\n this.solicitudes = resp.data.sort((a, b) => {\n if (Number(a.id) > Number(b.id)) {\n return -1;\n }\n if (Number(a.id) < Number(b.id)) {\n return 1;\n }\n return 0;\n });\n this.length = resp.total;\n this.pageSize = resp.per_page;\n });\n\n }\n\n\n newSolicitud() {\n const dialogNewRol = this.dialog.open(CrearSolicitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Solicitud',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n //this.pageSize=5;\n this.ngOnInit();\n });\n }\n\n viewSolicitud(solicitud: Solicitud) {\n\n const dialogNewRol = this.dialog.open(AprobarSolcitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'view',\n title: 'Detalle solicitud',\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n //this.pageSize=5;\n //this.ngOnInit();\n });\n }\n\n\n editSolicitud(solicitud: Solicitud): void {\n const dialogNewRol = this.dialog.open(ProcesarSolicitudControlComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Detalles solicitud',\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n /* this.ngOnInit(); */\n this.getSolicitudes();\n });\n }\n\n procesarSolictud(solicitud: Solicitud): void {\n const dialogNewRol = this.dialog.open(ProcesarSolicitudControlComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'Procesar',\n title: 'Detalles solicitud',\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.getSolicitudes();\n });\n }\n\n\n\n generarSolicitud(solicitud: Solicitud): void {\n const dialogNewRol = this.dialog.open(ConsultarProveedorComponent, {\n width: '50%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar Solicitudes',\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n /* this.ngOnInit(); */\n this.getSolicitudes();\n });\n }\n\n\n viewSolicitudAprobada(solicitud: Solicitud): void {\n const dialogNewRol = this.dialog.open(AprobarSolcitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'view',\n title: 'Detalles solicitudes',\n coordinador: false,\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n }\n\n applyFilter($event) {\n\n }\n\n filterBydate(event) {\n this.filterDate = (event.target as HTMLInputElement).value;\n this.getSolicitudes();\n }\n\n filterByState(event) {\n if(event.length === 0){\n this.filterStates = this.defaultStates;\n }else{\n this.filterStates = event;\n }\n this.getSolicitudes();\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que se encarga del movimiento del paginador\n * @param event cuando se da click en el paginador trae este evento\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getSolicitudes();\n\n }\n\n downloadManagement () {\n this.dialog.open( DescargaComponent , {\n width : '60%',\n data:{\n type:\"orden\"\n }\n } )\n\n\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n}\n","
\n\n \n Fecha de creación\n \n \n \n \n \n \n\n \n Estado\n \n {{state.name}}\n \n \n\n
\n\n
\n \n
\n\n
\n\n
\n\n
\n \n \n\n
\n \n
\n
\n {{solicitud.request_state.name}} \n \n {{solicitud.title}}\n 30\">...\n\n \n Detalle de la solicitud\n \n \n \n \n\n
\n \n\n\n\n
\n \n
\n
\n
\n Solicitante: {{solicitud.created_by}}\n Empresa: {{solicitud.company.name}}\n Fecha de creación: {{solicitud.created_at|date:'dd/MM/yyyy': 'UTC'}}\n \n
\n
\n \n \n \n \n\n\n\n
\n
\n\n
\n
\n \n \n\n\n\n
\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { SolicitudesService } from '../../../services/rest/solicitudes.service';\nimport { DestroyComponentService } from '../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { CrearSolicitudComponent } from '../componentes/crear-solicitud/crear-solicitud.component';\nimport { Solicitud } from '../../Class/solicitud';\n\n@Component({\n selector: 'app-solicitudes-list',\n templateUrl: './solicitudes-list.component.html',\n styleUrls: ['./solicitudes-list.component.sass']\n})\nexport class SolicitudesListComponent implements OnInit {\n\n ngOnInit(){\n \n }\n}\n","
\n\n
\n

Solicitudes y órdenes de compra

\n

En este espacio podrás revisar y/o gestionar las solicitudes de compra.
Además, podrás agregar cotizaciones y crear órdenes de compra.

\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { ManagerChatService } from './../../services/manager-chat.service'\nimport { ChatFromHistoryInterface, MessageChatInterface, UserChatInterface } from '../../utils/interfaces.chat';\nimport { ChatRestService } from '../../services/chat-rest.service';\nimport { FormControl, Validators } from '@angular/forms';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ChatGroupsComponent } from '../chat-groups/chat-groups.component';\n\n\n@Component({\n selector: 'app-active-chat',\n templateUrl: './active-chat.component.html',\n styleUrls: ['./active-chat.component.sass']\n})\nexport class ActiveChatComponent implements OnInit {\n //Listado de chats \n listChat:any[]=[]\n //Indicador de si esta activo o no un chat\n isSeeChat:boolean = false\n //Indicador de si el chat se encuentra desplegado totamente o solo con el nombre\n isToggleChat:boolean = false\n //Valor del chat buscado\n userChat:UserChatInterface|null = null\n\n //Control del formulario done se registra el los mensajes a enviar\n messageControl:FormControl = new FormControl(null,[Validators.required])\n\n //Refrencia al contenedor del chat el cual ejecutara el scroll de manera suave para ir al final del chat\n @ViewChild('scrollContainer') private scrollContainer: ElementRef;\n constructor(\n private managerChat:ManagerChatService,\n private chatRestService:ChatRestService,\n private authService: AuthService,\n private dialog:MatDialog,\n ) { }\n\n ngOnInit(): void {\n //REcibe el chat que se eta usando actualmente\n \n const subs = this.managerChat.$actualChat.subscribe(\n (actualChat:UserChatInterface|null)=>{\n if(actualChat !== null ){\n this.isSeeChat = true\n this.userChat = actualChat\n if( this.userChat.countMessageNotRead > 0 ){\n this.chatRestService.markAllMessageRead(String(this.userChat.rrhh_id) , String(this.userChat.recipient_type)).subscribe(resp=>{});\n }\n \n const subsHistory = this.chatRestService.getHistoryChat(this.userChat.rrhh_id, String(this.userChat.recipient_type) ).subscribe(\n (history:any)=>{\n if(history && history?.messages ){\n if(this.userChat.recipient_type == 1 && Array.isArray(history.messages?.users) ){\n this.listChat = history.messages?.users\n\n }else if (this.userChat.recipient_type == 2 && Array.isArray(history.messages?.groups)){\n this.listChat = history.messages?.groups\n\n }\n this.setPositionChat();\n }\n }\n );\n\n\n //Se recibe el ultimo mensaje emitido \n const subsMessage = this.managerChat.$messagePublic.subscribe(\n (message:MessageChatInterface|null)=>{\n const messageExist = this.listChat.find( msg => msg.id == message.id )\n if(messageExist == undefined){\n if(message !== null && message.recipient_type == 1 ){\n if( message.sender_id == this.userChat.rrhh_id){\n this.chatRestService.markAllMessageRead(String(this.userChat.rrhh_id) , String(this.userChat.recipient_type)).subscribe(resp=>{});\n this.listChat.push(message);\n \n \n }\n }else if ( message !== null && message.recipient_type == 2 ){\n if(this.userChat && this.userChat !== null){\n this.chatRestService.markAllMessageRead(String(this.userChat.rrhh_id) , String(this.userChat.recipient_type)).subscribe(resp=>{});\n this.listChat.push(message);\n }\n \n }\n }\n this.setPositionChat();\n \n }\n );\n\n\n }\n }\n )\n \n\n\n const readerMessage = this.managerChat.$readerMessages.subscribe(\n (readMessages)=>{\n if(this.userChat !== null && this.userChat.rrhh_id == readMessages.sender){\n this.listChat.map( (chat:any) =>{\n if(chat?.read == undefined || Array.isArray(chat?.read) == false) {\n chat[\"read\"]=[{ user_id:readMessages.reader_id , name: readMessages.reader_name , read_at: readMessages.read_at }]\n }else if (Array.isArray(chat?.read) == true){\n chat?.read.push({ user_id:readMessages.reader_id , name: readMessages.reader_name , read_at: readMessages.read_at })\n }\n return chat\n } );\n }\n }\n );\n\n }\n\n /**\n * MEtodo que se encarga de obtener la ohrao fecha del chat segun el dia que se tenga registro\n * @author Juan David Guerrero Vargas\n * @param created_at:string|Date {string|Date} fecha a formatear\n * @returns string {string} fecha formateada\n */\n getMessageTime(created_at: string | Date): string {\n const messageDate = new Date(created_at);\n const today = new Date();\n\n if (\n messageDate.getDate() === today.getDate() &&\n messageDate.getMonth() === today.getMonth() &&\n messageDate.getFullYear() === today.getFullYear()\n ) {\n const hour = messageDate.getHours() % 12 || 12;\n const minutes = messageDate.getMinutes();\n const ampm = messageDate.getHours() >= 12 ? 'PM' : 'AM';\n return `${hour}:${minutes.toString().padStart(2, '0')} ${ampm}`;\n } else {\n const month = messageDate.toLocaleString('default', { month: 'short' });\n const day = messageDate.getDate();\n const hour = messageDate.getHours() % 12 || 12;\n const minutes = messageDate.getMinutes();\n const ampm = messageDate.getHours() >= 12 ? 'PM' : 'AM';\n return `${day} ${month}, ${hour}:${minutes\n .toString()\n .padStart(2, '0')} ${ampm}`;\n }\n }\n\n\n /**\n * Metodo que se encrga de salir del chat actual\n * @author Juan David Guerrero Vargas\n * @returns void\n */\n closeChat():void{\n this.isSeeChat = false\n this.listChat = []\n this.userChat = null\n this.managerChat.setActualChat(null)\n }\n\n /**\n * MEtodo que se encarga de abrir o disminuir el chat activo segun el estado anterior\n */\n toggleChat():void{\n this.isToggleChat = !this.isToggleChat\n if(this.isToggleChat){\n this.setPositionChat(200);\n }\n }\n\n\n /**\n * Metodo que se encarga de definir el estilo del chat segun si el emnsaje es mio o es de otro\n * @param chat:any {chat} Interaccion entre chats\n */\n styleChat(chat:any):string{\n let classMessageStandar = \" message \"\n if(chat.sender_id == this.authService.decryptToken().rrhh_id ){\n classMessageStandar += \" own \"\n }\n return classMessageStandar\n }\n\n\n /**\n * Metodo que se encarga de enviar un mensaje al usuario indicado del chat\n * @author Juan David Guerrero Vargas\n * @returns void\n */\n sendMessage():void{\n if(this.messageControl.value !== null && this.messageControl.value !== \"\"){\n let message = {\n content: this.messageControl.value,\n recipient_type:this.userChat.recipient_type,\n recipient_entity_id:this.userChat.rrhh_id\n }\n \n this.chatRestService.sendMessage(message).subscribe((resp)=> {\n if(message !== null && message.recipient_type == 1 ){\n this.listChat.push(resp.mesage)\n }\n this.messageControl.setValue(\"\");\n this.setPositionChat();\n } )\n }\n }\n\n /**\n * Valida si el mensaje se encuentra enviado o si se ha recibido por el otro usuario\n * @author Juan David Guerrero Vargas\n * @param chat:any {any} chat \n * @returns \n */\n validateSendeMessages(chat:any):string{\n if(chat?.read == undefined || Array.isArray(chat?.read)==true && chat?.read.length > 0 ){\n return \"Recibido\"\n }\n return \"Enviado\"\n }\n\n /**\n * Metodo que se encarga de colocar la pocision del scroll de la pantalla en la aprte de abajo conce aparecenlos ultimo mensajes\n * @author Juan David Guerrero Vargas\n */\n setPositionChat(time?:number):void{\n\n setTimeout(() => {\n const container = this.scrollContainer.nativeElement;\n container.scrollTo({\n top: container.scrollHeight,\n behavior: 'smooth'\n });\n }, time == undefined ? 300 : time );\n }\n\n /**\n * Metodo que se encarga de obtener si el uusario en session es el dueño del chat \n * @author Juan David Guerrero Vargas\n * @param chat:any {any} Chat a evaluar apra identificar si se debe o no mostrar el indicador de lider del grupo\n * @returns {boolean} boolean True en caso de ser el dueño del grupo false en caso contrario\n */\n getIsOwnerChar(chat):boolean{\n if(this.userChat != null && this.userChat?.onwer_id !== undefined && this.userChat?.onwer_id == chat.sender_id ){\n return true\n }\n return false\n }\n\n\n\n}\n","
\n
\n
\n
\n {{ userChat !== null ? userChat.name : '' }}\n
\n
\n X\n
\n
\n
\n\n
\n \n
\n
\n   \n {{ message.sender_name }}\n
\n
\n
\n
\n

{{ message.content }}

\n
\n
\n
\n
\n {{validateSendeMessages(message)}}\n \n
\n
\n {{ getMessageTime(message.created_at) }}\n
\n
\n \n
\n
\n
\n
\n
\n \n Escribe un mensaje\n \n \n
\n
\n \n
\n
\n \n
\n\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TemplatesListComponent } from './templates-list/templates-list.component';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatPaginatorModule} from '@angular/material/paginator';\nimport {MatSortModule} from '@angular/material/sort';\nimport {MatTableModule} from '@angular/material/table';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {NgCircleProgressModule} from 'ng-circle-progress';\nimport { TemplateNewComponent } from './template-new/template-new.component';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {MatTabsModule} from '@angular/material/tabs';\nimport { TemplateIndexComponent } from './template-index/template-index.component';\nimport { TemplateHistoryComponent } from './template-history/template-history.component';\nimport { TemplatePreviewComponent } from './template-preview/template-preview.component';\nimport { TemplateConfirmationComponent } from './template-confirmation/template-confirmation.component';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatOptionModule} from '@angular/material/core';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatDatepickerModule} from '@angular/material/datepicker';\nimport { TagsListComponent } from './tags-list/tags-list.component';\nimport { TagsNewComponent } from './tags-new/tags-new.component';\n\n\n\n@NgModule({\n declarations: [TemplatesListComponent, TemplateNewComponent, TemplateIndexComponent, TemplateHistoryComponent, TemplatePreviewComponent, TemplateConfirmationComponent, TagsListComponent, TagsNewComponent],\n imports: [\n CommonModule,\n MatButtonModule,\n MatFormFieldModule,\n MatIconModule,\n MatInputModule,\n MatPaginatorModule,\n MatSortModule,\n MatTableModule,\n MatTooltipModule,\n NgCircleProgressModule,\n FormsModule,\n MatTabsModule,\n MatDialogModule,\n MatOptionModule,\n MatSelectModule,\n ReactiveFormsModule,\n MatDatepickerModule,\n ]\n})\nexport class TemplatesModule { }\n","import { NoveltiesCodesComponent } from './pages/novelties-codes/novelties-codes.component';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n// Fullcalendar\nimport { FullCalendarModule } from '@fullcalendar/angular'; // the main connector. must go first\nimport dayGridPlugin from '@fullcalendar/daygrid'; // a plugin\nimport interactionPlugin from '@fullcalendar/interaction'; // a plugin\n\nimport { NoveltiesRoutingModule } from './novelties-routing.module';\nimport { NoveltiesListComponent } from './pages/novelties-list/novelties-list.component';\nimport { MaterialModule } from '../../../../shared/material/material.module';\nimport { NoveltiesResponseComponent } from './pages/novelties-response/novelties-response.component';\nimport { CreateNoveltiesComponent } from './pages/create-novelties/create-novelties.component';\nimport { TooltipModule } from 'ng2-tooltip-directive';\nimport { ResumNominaComponent } from './pages/resum-nomina/resum-nomina.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { MaterialFileInputModule } from 'ngx-material-file-input';\n\n\n// register FullCalendar plugins\nFullCalendarModule.registerPlugins([\n dayGridPlugin,\n interactionPlugin\n]);\n\n@NgModule({\n declarations: [NoveltiesListComponent, NoveltiesResponseComponent, CreateNoveltiesComponent, NoveltiesCodesComponent, ResumNominaComponent],\n imports: [\n CommonModule,\n NoveltiesRoutingModule,\n MaterialModule,\n FullCalendarModule,\n TooltipModule,\n HttpClientModule,\n MaterialFileInputModule\n ]\n})\nexport class NoveltiesModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { interval } from 'rxjs';\n\n@Component({\n selector: 'app-chronometer',\n templateUrl: './chronometer.component.html',\n styleUrls: ['./chronometer.component.sass']\n})\nexport class ChronometerComponent implements OnInit {\n\n @Input() timeAlert: number;\n @Output() timer = new EventEmitter();\n\n stateAlert = 'normal';\n\n mm = 0;\n\tss = 0;\n\tms = 0;\n\tisRunning = false;\n\ttimerId;\n\n subscribeIntervalConnected;\n\n constructor() { }\n\n ngOnInit(): void {\n const source = interval(1000);\n\t\tthis.subscribeIntervalConnected = source.subscribe((val) => {\n\t\t\tthis.ss++;\n\n\t\t\tif (this.ss >= 60) {\n\t\t\t\tthis.mm++;\n if (this.mm >= this.timeAlert) {\n this.stateAlert = 'timeAlert';\n }\n\t\t\t\tthis.ss = 0;\n\t\t\t}\n\t\t});\n\t\tthis.isRunning = !this.isRunning;\n }\n\n format(num: number) {\n this.timer.emit(this.mm + ':' + this.ss);\n\t\treturn (num + '').length === 1 ? '0' + num : num + '';\n\t}\n\n\n}\n","
  {{ format(mm) }}:{{ format(ss) }}
","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { TemplatesService } from 'src/app/modules/crm_v2/services/rest/templates.service';\nimport { ClipboardService } from 'ngx-clipboard';\nimport { FormControl, FormBuilder } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n\n@Component({\n selector: 'app-generate-template',\n templateUrl: './generate-template.component.html',\n styleUrls: ['./generate-template.component.sass']\n})\n\nexport class GenerateTemplateComponent implements OnInit {\n\n template: any;\n plantilla: any = [];\n writable: any = [];\n options: any;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private templateService: TemplatesService,\n private clipCopy: ClipboardService,\n private fb: FormBuilder,\n private alertsService: AlertsService) {\n this.options = this.fb.group({});\n }\n\n ngOnInit(): void {\n\n this.templateService.obtenerTemplate(this.data.form).subscribe(resp => {\n this.template = resp;\n this.plantilla = resp.plantilla;\n this.writable = JSON.parse(resp.fields_writable);\n this.writable.forEach(element => {\n this.options.addControl(element.label, new FormControl(''));\n });\n });\n\n }\n\n copiarTexto(){\n\n let csv = this.template.csv;\n let form = this.options.getRawValue();\n\n for (const key in form) {\n if (Object.prototype.hasOwnProperty.call(form, key)) {\n\n this.writable.forEach(element => {\n\n if(element.label === key){\n csv = csv+String.fromCharCode(element.registerDelimiter);\n if(element.haveTheLabel){\n csv = csv+key+':';\n }\n csv = csv+form[key]+String.fromCharCode(element.registerDelimiter)+String.fromCharCode(this.template.value_delimiter);\n }\n\n });\n\n }\n }\n\n let copyCsv = csv.substring(0, csv.length - 1);\n\n this.clipCopy.copy(copyCsv);\n\n this.alertsService.alertSuccess('Éxito', 'Su texto se ha copiado correctamente');\n\n }\n\n\n\n}\n","

{{data.title}}\n \n

\n \n
\n
\n \n
\n \n {{item.label}}\n \n \n
\n \n
\n \n {{item.label}}\n \n \n
\n \n
\n \n
\n \n
\n
\n
\n \n
\n\n","import { AbstractControl, FormArray, FormControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\n/**\n * @author Fabian Duran\n * @createdate 2023-06-30\n * Valida dentro de los input de tipo chiplist si tienen el formato de validacion correcto. \n * @param control Campo del formulario. \n*/\nexport const validateIsEmails = (control: FormArray): any => {\n if (control.value) {\n const filterByStatus = control.controls.filter(field => field.status === 'INVALID');\n return filterByStatus.length > 0 ? { validateIsEmails: { valid: false } } : null;\n }\n return null;\n}\n/**\n * @author Fabian Duran\n * @createdate 2023-06-30\n * Valida si hay form control dentro de un form array.\n * @param control Campo del formulario. \n*/\nexport const validateArrayNotEmpty = (control: FormArray): any => {\n if (control.value.length === 0) return { validateArrayNotEmpty: { valid: false } };\n return null;\n}\n/**\n * @author Fabian Duran\n * @createdate 2023-09-14\n * Metodo valida si el numero es positivo sobre los campos tipo texto.\n * @param control Control de formulario. \n*/\nexport const validateNumbersNegative = (control: FormControl) => {\n if (control.value && parseInt(control.value) < 0) return { validateNumbersNegative: { valid: false } };\n return null;\n};\n/**\n * @author Fabian Duran\n * @createdate 2023-10-06\n * Metodo valida el peso maximo de adjuntos.\n * @param control Control de formulario. \n*/\nexport const validateSizeFiles = (control: FormArray) => {\n const maxSizeInBytes = 20 * 1024 * 1024;\n let sizeFile = 0; \n control.value.forEach((item: any) => { sizeFile += item.file.size; });\n if (sizeFile > maxSizeInBytes) return { validateSizeFiles: { valid: false } };\n return null;\n};\n/**\n * @author Fabian Duran\n * @createdate 2023-10-06\n * Metodo valida el rango de tiempos entre los campos tipo time.\n * @param startTimeField Campo tiempo inicial.\n * @param endTimeField Campo tiempo final.\n*/\nexport function validateTimeRange(startTimeField: AbstractControl, endTimeField: AbstractControl): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const startTime = startTimeField.value;\n const endTime = endTimeField.value;\n if (!startTime || !endTime) return null;\n const [startHour, startMinute] = startTime.split(':').map(Number);\n const [endHour, endMinute] = endTime.split(':').map(Number);\n if (endHour < startHour || (endHour === startHour && endMinute <= startMinute)) return { timeRangeError: true };\n return null;\n };\n}\n/**\n * @author Fabian Duran\n * @createdate 2024-03-22\n * Valida campos multiselect si hay una seleccion.\n * @param control Campo del formulario. \n*/\nexport const validateArrayDaysNotEmpty = (control: FormControl): any => {\n if (control.value && control.value.length === 0) return { validateArrayDaysNotEmpty: { valid: false } };\n return null;\n}\n/**\n * @author Fabian Duran\n * @createdate 2024-11-14\n * Valida que un campo de tipo texto enriquecido no contenga espacios en blanco.\n * @param control Campo del formulario. \n*/\nexport function validateWhiteSpaces(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value;\n const isOnlySpaces = !value || value.replace(/ /g, '').trim().length === 0;\n return isOnlySpaces ? { 'onlySpaces': true } : null;\n };\n}","import { Component, OnInit } from '@angular/core';\nimport * as moment from 'moment';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\n\n@Component({\n selector: 'app-resum-nomina',\n templateUrl: './resum-nomina.component.html',\n styleUrls: [ './resum-nomina.component.sass' ]\n})\nexport class ResumNominaComponent implements OnInit {\n novelties: number[] = [];\n currentDate: any;\n constructor(\n private noveltiesservice: NoveltiesService\n ) {\n this.noveltiesservice.geValuesNomina().subscribe((resp: any) => {\n this.novelties = resp.data;\n });\n \n }\n\n ngOnInit(): void {\n this.currentDate = moment().locale('es').format('MMMM, YYYY');\n }\n\n /**\n * @author Daniel Dominguez \n * @purposeenvia valores de nomina\n */\n getValuesTypes(): void {\n this.noveltiesservice.geValuesNomina();\n }\n}\n","
\n \n

Resumen de mi nómina

\n

{{currentDate | titlecase}}

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

{{item.name}}

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

{{item.value | currency: '$':true:'2.0' }}

\n
\n
\n\n
\n \n
\n\n
\n
\n
\n NOTA:\n

\"Esta información puede variar en la liquidación mensual del trabajador\".

\n
\n
\n
\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'userGroupFilter'\n})\nexport class UserGroupPipe implements PipeTransform {\n\n /**\n * Pipe para realizar la busqueda de usuarios a asignar en el grupo\n * @param usersInGroup\n * @param searchText\n */\n transform(usersInGroup: any[], searchText: any): any {\n if ((searchText == null || searchText === '') || usersInGroup == null) {\n return usersInGroup;\n }\n return usersInGroup.filter(user => user.name.toLowerCase().indexOf(searchText.toLowerCase()) !== -1 || user.documento.toLowerCase().indexOf(searchText.toLowerCase()) !== -1);\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n@Component({\n selector: 'app-speech-analytics',\n templateUrl: './speech-analytics.component.html',\n styleUrls: ['./speech-analytics.component.sass']\n})\nexport class SpeechAnalyticsComponent implements OnInit {\n\n nameUser: string = '';\n constructor(\n private authService: AuthService) \n { }\n\n ngOnInit() {\n const user = this.authService.getUser();\n this.nameUser = user.rrhh.name;\n }\n\n}\n","
\n
\n

Speech Analytics

\n

¡Bienvenid@
{{nameUser}}!

\n

Este es el módulo de Speech Analytics, donde podrás administrar la transcripción de\n audios y
textos e aplicar estrategias.

\n
\n\n
\n \"Ilustración_modular\"\n
\n\n
\n","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport * as moment from 'moment';\n\nconst { GESTIONADOR_CORREOS, GESTIONADOR_CORREOS_PYTHON } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EmailService {\n\n constructor(private httpClient: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-14\n * Metodo que retorna los errores generados por HTTP. \n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-14\n * Metodo que trae los correos registrados en el sistema. \n * @param paginator Configuracion de la paginacion del componente. \n * @param filters Filtros enviados desde los formularios. \n */\n getEmails(paginator: any, filters: any): Observable {\n const filtersFormat = {\n ...filters,\n date_in: filters.date_in !== null ? moment(filters.date_in).format('YYYY-MM-DD') : null,\n date_end: filters.date_end !== null ? moment(filters.date_end).format('YYYY-MM-DD') : null\n };\n const url = paginator !== null ? `${GESTIONADOR_CORREOS}email/showall?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}` : `${GESTIONADOR_CORREOS}email/showall`;\n return this.httpClient.post(url, filtersFormat).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-14\n * Metodo que trae las configuraciones de correos de salida registrados en el sistema. \n */\n getEmailsConfig(): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}emailconfig/showall?state=1`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-14\n * Metodo que actualiza la categoria del email seleccionado.\n * @param mail Correo seleccionado de la lista. \n * @param category Categoria seleccionada del formulario. \n */\n updateCategoryToEmail(mail: any, category: any): Observable {\n return this.httpClient.post(`${GESTIONADOR_CORREOS}email/update/${mail.id}?id_category=${category}`, {}).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-14\n * Metodo que retorna la informacion del correo seleccionado. \n * @param mail Correo seleccionado de la lista. \n */\n getEmailById(mail: any): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}email/show/${mail.id}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que trae los asesores que tienen el rol de gestor de correos. \n */\n getAdviserByRolManagerEmail(): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}services_externos/get_users_gestor`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que asigna un correo a un usuario en especifico. \n * @param assign Informacion traida del formulario. \n */\n assignUserToEmail(assign: any): Observable {\n return this.httpClient.post(`${GESTIONADOR_CORREOS}email/assign_user`, assign).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-27\n * Metodo que trae las configuraciones de correo asignados a un usuario. \n * @param idRrhh Usuario seleccionado en el formulario. \n */\n getConfigEmailByUser(idRrhh: number = null, idAccountEmail: number = null, filterValidateCiu: string = 'true'): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}useremail/showall?id_rrhh=${idRrhh}&id_email=${idAccountEmail}&validate_ciu=${filterValidateCiu}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-27\n * Metodo que asigna unas configuraciones de correo a un usuario seleccionado. \n * @param data Informacion proveniente del formulario. \n */\n assignEmailForUser(data: any): Observable {\n return this.httpClient.post(`${GESTIONADOR_CORREOS}useremail/store`, data).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-31\n * Metodo que envia un correo. \n * @param data Informacion proveniente del formulario. \n */\n sendEmail(data: any): Observable {\n return this.httpClient.post(`${GESTIONADOR_CORREOS}email/send`, data).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-10\n * Metodo que gestiona uno o varios correos especificos. \n * @param data Informacion proveniente del formulario. \n */\n manageEmail(data: any): Observable {\n return this.httpClient.post(`${GESTIONADOR_CORREOS}email/gestionar`, data).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-14\n * Metodo que trae los correos registrados en el sistema. \n * @param paginator Configuracion de la paginacion del componente. \n * @param filters Filtros enviados desde los formularios. \n */\n getHistoryEmail(paginator: any, idEmail: number, filters: string = ''): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}email/show_history/${idEmail}?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&asunto=${filters}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-14\n * Metodo que retorna el archivo adjunto del correo. \n * @param url Id del adjunto. \n */\n downloadAttachment(url: string): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}email/descargarAdjunto?url=${url}`, { responseType: 'blob' as 'json' }).pipe(catchError(\n this.handleError\n ));\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-15\n * Metodo que elimina un adjunto. \n * @param idFile Id del adjunto. \n */\n deleteAttachment(idFile: number): Observable {\n return this.httpClient.delete(`${GESTIONADOR_CORREOS}attachment/destroy/${idFile}`).pipe(catchError(\n this.handleError\n ));\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-16\n * Metodo que reenvia un correo que queda como borrador en el sistema. \n * @param data Informacion proveniente del formulario. \n */\n resendDraftEmail(data: any, idEmail: number): Observable {\n return this.httpClient.post(`${GESTIONADOR_CORREOS}email/resend/${idEmail}`, data).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-26\n * Metodo que almacena la reasignacion de los correos. \n * @param data Informacion proveniente del formulario. \n */\n storeEmailReassignment(data: any): Observable {\n return this.httpClient.post(`${GESTIONADOR_CORREOS}email`, data).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-18\n * Metodo que trae los años registrados en las gestiones de correo. \n */\n getYearsToReport(): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}dashboard/get_year`).pipe(catchError(\n this.handleError\n ));\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-18\n * Metodo que trae los meses registrados en las gestiones de correo realizados en el año seleccionado.\n * @param year Filtro seleccionado. \n */\n getMonthsByYear(year: number): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}dashboard/get_month/${year}`).pipe(catchError(\n this.handleError\n ));\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-19\n * Metodo que trae el reporte para las graficas.\n * @param data Informacion proveniente del formulario. \n */\n getGraphReport(data: any): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}dashboard/showall?year=${data.year}&month=[${data.months}]&emailConfig=${data.emailAccount}`).pipe(catchError(\n this.handleError\n ));\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-19\n * Metodo que trae el reporte para las tablas.\n * @param paginator Configuracion de la paginacion. \n * @param data Informacion proveniente del formulario.\n * @param filter Asesor seleccionado en la lista. \n */\n getTableReport(paginator: any, data: any, filter: string): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}dashboard/get_users?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&year=${data.year}&month=[${data.months}]&emailConfig=${data.emailAccount}&id_user_asignado=${filter}`).pipe(catchError(\n this.handleError\n ));\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-19\n * Metodo que descarga el reporte de excel.\n * @param data Informacion proveniente del formulario. \n */\n downloadExcelReport(data: any): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}dashboard/descargaReporteGeneral?year=${data.year}&month=[${data.months}]&emailConfig=${data.emailAccount}`, { responseType: 'blob' as 'json' }).pipe(catchError(\n this.handleError\n ));\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-19\n * Metodo que elimina los correos seleccionados de una lista.\n * @param data Correos seleccionados de la lista. \n */\n deleteEmails(data: FormData): Observable {\n return this.httpClient.post(`${GESTIONADOR_CORREOS}email/destroy_massive`, data).pipe(catchError(\n this.handleError\n ));\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-28\n * Metodo que actualiza la categoria del email seleccionado.\n * @param data Informacion proveniente del formulario. \n */\n updateCategoryToListEmail(data: any): Observable {\n return this.httpClient.post(`${GESTIONADOR_CORREOS}email/update_massive_category`, data).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-12-01\n * Metodo que trae el historico de conversacion del correo seleccionado.\n * @param id Id del correo seleccionado.\n */\n getHistoryConversationByEmail(id: number): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}email/get_history/${id}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-04\n * Metodo que descarga el archivo EML del correo seleccionado.\n * @param idEmail Id del correo seleccionado.\n */\n downloadEmailEML(idEmail: number): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}email/getEml/${idEmail}`, { responseType: 'blob' as 'json' }).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-04\n * Metodo que verifica el correcto funcionamiento de la cuenta de correo.\n * @param idEmail Id del correo seleccionado.\n */\n checkAccountEmail(idEmail: number): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS_PYTHON}Email/check_email/${idEmail}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @createdate 2024-01-23\n * Metodo que restaura el correo eliminado.\n * @param data Lista de correos seleccionados. \n */\n restoreEmails(data: FormData): Observable {\n return this.httpClient.post(`${GESTIONADOR_CORREOS}email/restore_massive`, data).pipe(catchError(\n this.handleError\n ));\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-26\n * Metodo que mueve los correos entre bandejas.\n * @param data Informacion del formulario. \n */\n moveEmails(data: FormData): Observable {\n return this.httpClient.post(`${GESTIONADOR_CORREOS}email/set_massive_tray`, data).pipe(catchError(\n this.handleError\n ));\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-01\n * Metodo que mueve los correos entre cuentas de correo.\n * @param data Informacion del formulario. \n */\n moveEmailsBetweenAccounts(data: FormData): Observable {\n return this.httpClient.post(`${GESTIONADOR_CORREOS}email/move_emails`, data).pipe(catchError(\n this.handleError\n ));\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-01\n * Metodo que mueve los correos de forma masiva entre cuentas de correo.\n * @param from Cuenta origen\n * @param to Cuenta destino\n * @param fromTray Bandeja de origen\n * @param toTray Bandeja de destino\n */\n moveMassiveEmailsBetweenAccounts(from: number, to: number, fromTray: number, toTray: number): Observable {\n return this.httpClient.get(`${GESTIONADOR_CORREOS}email/move_emails_massive?from=${from}&to=${to}&id_bandeja_from=${fromTray}&id_bandeja_to=${toTray}`).pipe(catchError(\n this.handleError\n ));\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-05\n * Metodo que mueve los correos de forma masiva entre cuentas de correo.\n * @param idEmailConfig Cuenta de correo seleccionada. \n * @param recipient Destinatario al cual le va a llegar el correo. \n */\n checkSendEmail(idEmailConfig: number, recipient: string): Observable {\n const data = new FormData();\n data.append('recipient', recipient);\n data.append('email_config_id', idEmailConfig.toString());\n data.append('asunto', 'Test de prueba');\n data.append('cuerpo', 'Esto es una prueba para validar el envio de correos.');\n return this.httpClient.post(`${GESTIONADOR_CORREOS}email/sendtest`, data).pipe(catchError(\n this.handleError\n ));\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-20\n * Metodo que trae los correos registrados en el sistema (Modulo de speetch). \n * @param paginator Configuracion de la paginacion del componente. \n * @param filters Filtros enviados desde los formularios. \n */\n getEmailsByIaModule(paginator: any, filters: any): Observable {\n const filtersFormat = {\n ...filters,\n date_in: filters.date_in !== null ? moment(filters.date_in).format('YYYY-MM-DD') : null,\n date_end: filters.date_end !== null ? moment(filters.date_end).format('YYYY-MM-DD') : null\n };\n const url = paginator !== null ? `${GESTIONADOR_CORREOS}ia/email/showall?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}` : `${GESTIONADOR_CORREOS}email/showall`;\n return this.httpClient.post(url, filtersFormat).pipe(\n catchError(this.handleError)\n );\n }\n}","import { startWith, map } from 'rxjs/operators';\nimport { CompaniaService } from '../../../../services/rest/compania.service';\nimport { Observable } from 'rxjs';\nimport { AprobarSolcitudComponent } from './../aprobar-solcitud/aprobar-solcitud.component';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder, ValidatorFn , AbstractControl, FormArray } from '@angular/forms';\nimport { SolicitudesService } from '../../../../services/rest/solicitudes.service';\nimport { ArchivosService } from '../../../../services/rest/archivos.service';\nimport { DestroyComponentService } from '../../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { AuthService } from '../../../../../../core/services/rest/auth.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatDialog } from '@angular/material/dialog';\nimport Swal from 'sweetalert2';\nimport { CurrencyMaskInputMode } from 'ngx-currency';\n\n@Component({\n selector: 'app-associated-request',\n templateUrl: './associated-request.component.html',\n styleUrls: ['./associated-request.component.sass']\n})\nexport class AssociatedRequestComponent implements OnInit {\n\n solicitudesForm : FormGroup;\n itemsSolciitud : any = [];\n archivosPorSolicitud : any;\n archivo : any;\n aprobada : boolean;\n archivosCargados : any[] = [];\n registrosPorCargar : any[] = new Array(3);\n sinAdjuntos : boolean = true;\n file : any;\n viewSolciitud = false;\n myFiles : string [] = [];\n filteredOptionsCompania: Observable;\n compania:any;\n changedCotizationValues:any = {};\n edit : boolean = false;\n options = {\n prefix: '',\n thousands: ',',\n decimal: '.',\n inputMode: CurrencyMaskInputMode.NATURAL\n };\n solicitud_asociada :any = [];\n\n constructor(private solicitudService: SolicitudesService,\n private archivoService : ArchivosService,\n private destroyService : DestroyComponentService,\n private form : FormBuilder,\n private alertsService : AlertsService,\n private athService : AuthService,\n @Inject(MAT_DIALOG_DATA) public data : any,\n private dialogRef : MatDialogRef< AssociatedRequestComponent >,\n public dialog: MatDialog,\n private companiaService:CompaniaService,\n ) { }\n\n ngOnInit(): void {\n this.archivosCargados = [];\n this.itemsSolciitud = this.data.solicitud.request_items;\n this.solicitud_asociada = this.data.solicitud;\n\n this.formControl();\n this.newItems();\n if (this.data.solicitud.request_state_id == '4' ||\n this.data.solicitud.request_state_id == '6'\n ){\n\n this.aprobada=true;\n }\n if (this.data.type === 'editar' || this.data.type === 'ver' ) {\n this.solicitudesForm.controls.estado.setValue( parseInt(this.data.solicitud.request_state_id) );\n\n\n if (this.data.type === 'editar' )\n this.edit = true;\n\n\n this.solicitudesForm.controls.observacion.setValue(this.data.solicitud.request_observation ? (this.data.solicitud.request_observation.find(o=>o.type == 'analista') || {})?.observation || '' : \"\");\n this.archivoService.getArchivosSolicitud(this.data.solicitud.id)\n .subscribe(resp => {\n resp.data.forEach((element, idx) => {\n this.registrosPorCargar[idx] = element;\n let control;\n let valueControl;\n if( idx ==0 )\n {\n control = this.solicitudesForm.get(\"cot1_txt\");\n valueControl = this.solicitudesForm.get(\"cot1_val_txt\");\n }\n else if( idx == 1 )\n {\n control = this.solicitudesForm.get(\"cot2_txt\");\n valueControl = this.solicitudesForm.get(\"cot2_val_txt\");\n\n }\n else if( idx == 2 )\n {\n control = this.solicitudesForm.get(\"cot3_txt\");\n valueControl = this.solicitudesForm.get(\"cot3_val_txt\");\n }\n control.setValue( this.registrosPorCargar[idx].name );\n valueControl.setValue( this.registrosPorCargar[idx]?.value || '' );\n });\n this.sinAdjuntos = this.checkFiles();\n\n });\n }\n\n\n this.companiaService.getCompany().subscribe(comp=>{\n this.compania = comp.data;\n if(this.data.type ==='editar' || this.data.type ==='Procesar'){\n this.solicitudesForm.controls.companias.setValue(Number(this.data.solicitud.company_id));\n }\n\n this.filteredOptionsCompania = this.solicitudesForm.get('companias').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(companias => companias ? this._filterCompany(companias) : this.compania.slice())\n );\n });\n\n if (this.data.type === 'ver') {\n this.viewSolciitud = true;\n }\n\n\n }\n\n private editasolicitud(estado ){\n /* this.uploadFiles(); */\n\n this.modificarSolicitud(estado);\n }\n\n validate_latesObservation(data){\n return data == undefined ? 'No hay informacion del usuario' : data;\n }\n\n sendSolicitud() {\n Swal.fire({\n title : '¿Estás seguro?',\n text : \"¿Deseas enviar la soliciud?, Cambiará de estado a pendiente, recuerda que esto será definitivo y no se podrá deshacer\",\n showCancelButton : true,\n cancelButtonText : \"Cancelar\",\n icon : 'warning',\n confirmButtonText : 'Aceptar',\n }).then((result) => {\n if (result.isConfirmed) {\n //this.saveSolicitud(this.solicitudesForm);\n\n\n const estado = {\n state: 3,\n company : this.solicitudesForm.value.companias\n };\n\n if (this.registrosPorCargar.length > 0) {\n this.editasolicitud(estado);\n this.dialogRef.close();\n } else {\n this.alertsService.alertError('¡Oops!', 'Debe añadir al menos una cotización' );\n }\n\n }\n })\n\n\n\n }\n\n private modificarSolicitud(estado) {\n if( estado == null){\n estado = {\n state: this.solicitudesForm.value.estado,\n company : this.solicitudesForm.value.companias\n }\n }\n\n const solicitud = {\n solicitud: this.data.solicitud,\n items: this.solicitudesForm.get('items').value,\n associated: true,\n observaciones_associated: this.solicitudesForm.get('observaciones_asociada').value\n }\n\n\n this.solicitudService.saveSolicitud(solicitud).subscribe(resp => {\n\n const observacion = new FormData();\n observacion.append('observacion', this.solicitudesForm.value.observacion);\n observacion.append('idSolicitud', resp.id);\n observacion.append('type', \"analista\");\n this.uploadFiles(resp.id);\n this.solicitudService.saveObservacion(observacion)\n .subscribe( resp => {\n this.alertsService.alertWithAnyProperties('Guardado', 'La solicitud fue guardada y esta en proceso', 'success', 'Continuar').then(confirm => {\n if (confirm.isConfirmed) this.dialogRef.close();\n });\n });\n });\n }\n\n get error(): any { return this.solicitudesForm.controls; }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void {\n const stateId = parseInt(this.data.solicitud.request_state_id);\n\n this.solicitudesForm = new FormGroup({\n cotizacion : new FormControl(''),\n estado : new FormControl({value: 2, disabled: true}, [ Validators.required ]),\n companias : new FormControl('', [this.autocompleteObjectValidator(), Validators.required]),\n observacion : new FormControl('',[Validators.required]),\n cot1_txt : new FormControl(''),\n cot2_txt : new FormControl(''),\n cot3_txt : new FormControl(''),\n cot1_val_txt : new FormControl('',[Validators.max(9999999999999)]),\n cot2_val_txt : new FormControl('',[Validators.max(9999999999999)]),\n cot3_val_txt : new FormControl('',[Validators.max(9999999999999)]),\n items : this.form.array([]),\n observaciones_asociada: new FormControl('')\n });\n }\n\n newItems(): void{\n const newItems = this.form.group({\n detalle: new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n cantidad: new FormControl('', [Validators.required, Validators.maxLength(5), Validators.minLength(1)]),\n observacion: new FormControl('',[Validators.maxLength(200)])\n });\n this.items.push(newItems);\n }\n\n get items(): FormArray {\n return this.solicitudesForm.get('items') as FormArray;\n }\n\n deleteItems(indice: number): void {\n this.items.removeAt(indice);\n }\n\n cambioEstado(event) {\n if (event == 2 ) {\n this.aprobada = true;\n\n } else {\n this.aprobada = false;\n }\n }\n\n /*downloadFile(e: any) {\n const archivo = {\n path: e.path\n };\n console.log(e);\n\n this.archivoService.downloadOrder(archivo).subscribe( (data) => {\n const a = document.createElement('a');\n const file = new Blob([data], {type: e.fileContentType});\n a.href = URL.createObjectURL(file);\n a.download = e.name;\n a.click();\n });\n }*/\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-03-28\n * Descarga la cotización adjuntada\n * @param e Archivo u objeto recibido en el input type file\n */\n\n downloadFile(e: any){\n if(e.path){\n const archivo = {\n path: e.path\n };\n\n this.archivoService.downloadOrder(archivo).subscribe( (data) => {\n const a = document.createElement('a');\n const file = new Blob([data], {type: e.fileContentType});\n a.href = URL.createObjectURL(file);\n a.download = e.name;\n a.click();\n });\n\n }else{\n const a = document.createElement('a');\n a.href = URL.createObjectURL(e);\n a.download = e.name;\n a.click();\n }\n\n }\n\n\n getFileDetails (e) {\n for (var i = 0; i < e.target.files.length; i++) {\n this.registrosPorCargar.push(e.target.files[i]);\n }\n }\n\n\n /**\n * Agrega un archivo al arreglo de archivos\n * @param e\n * @param index\n */\n setFile(e,index:number ){\n\n this.registrosPorCargar[index] = e.target.files[0];\n this.sinAdjuntos = this.checkFiles();\n let control;\n let valueControl;\n if( index ==0 )\n {\n control = this.solicitudesForm.get(\"cot1_txt\");\n valueControl = this.solicitudesForm.get(\"cot1_val_txt\");\n }\n else if( index == 1 )\n {\n control = this.solicitudesForm.get(\"cot2_txt\");\n valueControl = this.solicitudesForm.get(\"cot2_val_txt\");\n\n }\n else if( index == 2 )\n {\n control = this.solicitudesForm.get(\"cot3_txt\");\n valueControl = this.solicitudesForm.get(\"cot3_val_txt\");\n }\n control.setValue( this.registrosPorCargar[index].name );\n valueControl.setValue('');\n }\n\n setFileValue(e,index:number ){\n this.registrosPorCargar[index].value = e;\n if(this.registrosPorCargar[index].id)\n this.changedCotizationValues[this.registrosPorCargar[index].id] = e;\n }\n\n removeFileDetails(file, i) {\n if (file.id) {\n\n Swal.fire({\n title: '¿Estás seguro?',\n text: \"¿Deseas eliminar esta cotización?, recuerda esto será definitivo y no se podrá deshacer.\",\n showCancelButton: true,\n cancelButtonText: \"Cancelar\",\n icon: 'warning',\n confirmButtonText: 'Aceptar',\n }).then((result) => {\n if (result.isConfirmed) {\n this.archivoService.eliminarArchivo(file.id).subscribe(resp => {\n this.registrosPorCargar[i] = null;\n this.sinAdjuntos = this.checkFiles();\n //this.registrosPorCargar.splice(i, 1);\n });\n\n this.removeFileInfo(i);\n }\n\n })\n\n } else {\n this.registrosPorCargar[i] = null;\n this.sinAdjuntos = this.checkFiles();\n //this.registrosPorCargar.splice(i, 1);\n\n this.removeFileInfo(i);\n }\n\n }\n\n removeFileInfo(i) {\n let control;\n if (i == 0) {\n control = this.solicitudesForm.get(\"cot1_txt\");\n }\n else if (i == 1) {\n control = this.solicitudesForm.get(\"cot2_txt\");\n\n }\n else if (i == 2) {\n control = this.solicitudesForm.get(\"cot3_txt\");\n }\n control.setValue(\"\");\n }\n\n uploadFiles (id) {\n let formData = new FormData();\n formData.append('type', 'cotizacion');\n formData.append('idSolicitud', id);\n for (let i = 0; i < this.registrosPorCargar.length; i++) {\n if (this.registrosPorCargar[i] && !this.registrosPorCargar[i].id) {\n formData.append(`archivoCarga${i}`, this.registrosPorCargar[i]);\n formData.append(`value${i}`, this.registrosPorCargar[i].value);\n } else if (this.registrosPorCargar[i] && this.changedCotizationValues[this.registrosPorCargar[i]?.id]) {\n this.archivoService.updateArchivosSolicitud({ value: this.changedCotizationValues[this.registrosPorCargar[i]?.id] }, this.registrosPorCargar[i]?.id).subscribe();\n }\n }\n this.archivoService.postCargarArchivos(formData).subscribe((resp) => {\n //resp.id == 200 ? this.modificarSolicitud(estado) : null;\n });\n }\n\n handleFileInput(event) {\n this.file = event.target.files[0];\n const formData = new FormData();\n formData.append('archivoCarga', this.file);\n formData.append('type','cotizacion')\n this.archivoService.postCargarArchivos(formData).subscribe((resp) => {\n const data = {\n id: 0,\n path: resp.data.path,\n name: resp.data.name,\n content_type: resp.data.contentType\n };\n this.archivosCargados.push(data);\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n\n /* editSolicitud(){\n this.dialog.open(AprobarSolcitudComponent , {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Detalles solicitud',\n solicitud:this.data.solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n this.dialogRef.close();\n } */\n\n\n /**\n * Verifica si hay cotizaciones cargadas\n * @returns\n */\n private checkFiles(): boolean {\n let isEmpty = true;\n\n this.registrosPorCargar.forEach(element => {\n if( element !== null ){\n isEmpty = false;\n }\n });\n return isEmpty;\n }\n\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterCompany(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.compania.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n\n displayFnCompania(id: number): string{\n if (!id) { return ''; }\n let index = this.compania.findIndex(resp => resp.id === id);\n return this.compania[index].name;\n\n }\n\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * Metodo que valida las funciones del autocompetable\n */\n autocompleteObjectValidator(): ValidatorFn {\n return (control: AbstractControl ): { [key: string]: any } | null => {\n if (typeof control.value === 'string') {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n };\n }\n\n\n\n}\n\n","
\n
\n \n
\n\n
\n\n \n

\n {{ data.title }}\n\n \n

\n
\n
\n
\n \n
\n
\n\n Estado actual\n

{{data.solicitud.request_state.name}}

\n
\n
\n
\n
\n
\n\n Fecha de creación\n

{{data.solicitud.created_at|date:'yyyy-MM-dd': 'UTC'}}

\n
\n
\n\n Nombre del solicitante\n

{{data.solicitud.created_by}}

\n
\n
\n\n Tipo de adquisición\n

{{data.solicitud.product_type.name}}

\n
\n
\n
\n
\n\n Categoría\n

{{data.solicitud.category.name}}

\n
\n\n\n \n Empresa\n \n \n \n {{comp.name}}\n \n \n ¡Advertencia! Este\n campo es requerido\n Campaña no reconocida. Haga click en una de las\n opciones de autocompletar\n \n\n
\n\n Nombre campaña\n

{{data.solicitud.project}}

\n
\n
\n
\n
\n\n Título solicitud\n

{{data.solicitud.title}}

\n
\n
\n\n Descripción solicitud\n

{{data.solicitud.description}}

\n
\n\n
\n\n
\n
\n Fecha de ejecución\n

{{data.solicitud.date_ejecucion | date:'dd-MM-yyyy': 'UTC'}}

\n
\n
\n Observación de ejecución\n

{{data.solicitud.observaciones_ejecuccion}}

\n
\n
\n\n
\n
\n\n Por los siguientes ítems\n\n
\n
\n\n Cantidad\n\n
\n
\n \n Referencia\n \n
\n
\n
\n
\n\n\n

{{item.detail}}

\n
\n
\n\n\n

{{item.quantity}}

\n
\n
\n {{item.name}}\n
\n
\n\n
\n\n
\n \n
\n Respuesta a la solicitud - \n {{data.solicitud.updated_at|date:'dd/MM/yyyy hh:mm:ss':\n 'UTC'}} | \n {{validate_latesObservation(data.solicitud.latest_observations)}}\n
\n
\n\n
\n
\n Respuesta a la solicitud\n
\n
\n
\n\n
\n
\n \n Estado\n \n Aceptada\n Devuelta\n \n ¡Advertencia! Este campo\n es\n requerido\n \n
\n
\n\n
\n
\n Ítems de compra solicitud asociada\n
\n
\n
\n\n
\n
\n
\n \n Descripción\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo 3\n caracteres\n ¡Cuidado! Solo puedes tener un\n máximo de 255 caracteres\n \n \n Cantidad\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo 3\n caracteres\n ¡Cuidado! Solo puedes tener un\n máximo de 5 caracteres\n \n \n Observación\n \n ¡Advertencia! Este campo es\n requerido\n ¡Cuidado! Solo puedes tener un\n máximo de 200 caracteres\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n\n
\n
\n Observaciones de la solicitud asociada\n

\n
\n
\n\n
\n \n Observaciones de la solicitud asociada\n \n \n
\n\n\n
\n\n\n\n
\n
\n Cotizaciones\n

\n Es necesario que adjuntes al menos una cotización.\n
\n
\n
\n
\n
\n \n Cotización 1\n \n \n \n \n\n \n \n \n \n ¡Advertencia! El valor no puede ser mayor a {{999999999999 |\n number}}\n\n \n
\n
\n \n Cotización 2\n \n \n \n \n\n \n\n \n\n \n \n ¡Advertencia! El valor no puede ser mayor a {{999999999999 |\n number}}\n\n \n
\n
\n \n Cotización 3\n \n \n \n \n\n \n \n\n \n \n ¡Advertencia! El valor no puede ser mayor a {{999999999999 |\n number}}\n \n
\n
\n
\n

\n Motivo de rechazo de solicitud\n

\n
\n\n \n Observación\n \n ¡Advertencia! Este\n campo es obligatorio\n \n
\n\n

\n {{ (data.solicitud.request_observation) ? data.solicitud.request_observation[0].observation : \"\" }}\n

\n\n\n
\n \n\n \n\n
\n
\n\n\n\n\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { TestsService } from '../../../services/tests.service';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { UploadTestComponent } from '../upload-test/upload-test.component';\n\n@Component({\n selector: 'app-massive-tests',\n templateUrl: './massive-tests.component.html',\n styleUrls: ['./massive-tests.component.sass']\n})\nexport class MassiveTestsComponent implements OnInit {\n testsList: any = [];\n allCandidateSelected = false;\n candidates:any = [];\n candidatesSelected:any = [];\n selectedTestsNames = [];\n tests: FormGroup = this._fb.group({\n requestId:[this.data.requestId],\n testIds:[[],Validators.required],\n candidateIds:[[],Validators.required]\n });\n \n constructor(private testService:TestsService, \n private candidatesService: CandidatesService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private dialog: MatDialog,\n private _fb: FormBuilder, public alertService:AlertsService,\n public dialogRef: MatDialogRef) { }\n\n ngOnInit(): void {\n this.testService.getTestsList().subscribe( resp => {\n this.testsList = resp;\n });\n this.getCandidates()\n }\n getCandidates(){\n this.candidatesService.getCandidatesByRequest(this.data.requestId,\n {page: 'all', state: 22}).\n subscribe((resp: any) => {\n this.candidates = resp\n });\n }\n \n finishActions(){\n \n this.testService.saveTests({candidateIds:this.tests.get('candidateIds').value.toString(), testIds: this.tests.get('testIds').value.toString(), requestId: this.data.requestId})\n .subscribe( resp => {\n if(this.tests.get('testIds').value.includes(3) || this.tests.get('testIds').value.includes(1)){\n const uploadTestDialog = this.dialog.open ( UploadTestComponent, {\n minWidth: '55%',\n disableClose: true,\n data: {\n testsNames:this.selectedTestsNames,\n candidateId: this.tests.get('candidateIds').value.toString(),\n requestId: this.data.requestId\n }\n });\n uploadTestDialog.afterClosed().subscribe(res=>{\n this.alertService.alertSuccess('¡Hecho!', 'Pruebas asignadas correctamente');\n this.dialogRef.close(true)\n })\n }\n \n });\n }\n pushArray(event) {\n this.tests.get('testIds').setValue(event.selectedOptions.selected.map(item => item.value.id)) \n this.selectedTestsNames = event.selectedOptions.selected.map(item => item.value);\n }\n pushCandidates(event){\n this.tests.get('candidateIds').setValue(event.selectedOptions.selected.map(item => item.value.id))\n this.candidatesSelected= event.selectedOptions.selected.map(item => item.value.name);\n }\n\n}\n","\n

Pruebas por lotes

\n
\n\n \n 0\" >\n
\n

Seleccione las pruebas que desea asignar

\n \n \n {{test.name}}\n \n \n
\n \n
\n
\n
\n 0\">\n

Seleccione a los candidatos

\n
0\"> \n \n Seleccionar todos\n \n \n
\n

No hay candidatos disponibles

\n
\n \n \n {{candidate.name}}\n \n \n \n
\n \n \n
\n \n \n
\n
\n \n

Resumen de Acción

\n \n
\n Pruebas asigandas\n
\n
\n

{{row.name}}

\n
\n Candidatos Seleccionados\n
\n

{{ i+1 }}. {{row}}

\n
\n
\n \n \n
\n \n
\n
\n
","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport * as moment from 'moment';\nimport { Observable, Subject, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { AuthService } from '../../../core/services/rest/auth.service';\n\nconst COACHING = environment.COACHING_URL;\nconst NOMINA = environment.NOMINA_URL;\nconst CRM = environment.CRM_URL;\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class CoachingService {\n\tprivate _refresh$ = new Subject();\n\tconstructor(\n\t\tprivate http: HttpClient,\n\t\tprivate authService: AuthService,\n\t) { }\n\n\thandleError(error: HttpErrorResponse): any {\n\t\treturn throwError(error);\n\t}\n\n\tget refresh$() {\n\t\treturn this._refresh$;\n\t}\n\n\t/**\n\t * @author Cristian Gallo\n\t * @createdate 2021-12-10\n\t * Servicio que carga el tipo de indicadores.\n\t*/\n\n\tgetSelects() {\n\t\treturn this.http.get(`${COACHING}getSelects`)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n * @author Cristian Gallo\n * @createdate 2021-12-10\n * Servicio que carga el tipo de indicadores.\n */\n\n\tgetIndicadores() {\n\t\treturn this.http.get(`${COACHING}getIndicador`)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-10\n\t* Servicio que carga el tipo de procesos.\n\t*/\n\n\tgetProceso() {\n\t\treturn this.http.get(`${COACHING}getTipoProceso`)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-20\n\t* Servicio que carga el tipo de compromiso.\n\t*/\n\n\tgetCompromiso() {\n\t\treturn this.http.get(`${COACHING}getCumpleCompromiso`)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-20\n\t* Servicio que carga el tipo de evolución.\n\t*/\n\n\tgetEvolucion() {\n\t\treturn this.http.get(`${COACHING}getPresentaEvolucion`)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-10\n\t* Servicio que carga el tipo de estado.\n\t*/\n\tgetEstado() {\n\t\treturn this.http.get(`${COACHING}getEstado`)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-10\n\t* Servicio que carga los cuartiles.\n\t*/\n\n\tgetCuartil() {\n\t\treturn this.http.get(`${COACHING}getCuartilInicial`)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-10\n\t* Servicio que carga las causas raiz.\n\t*/\n\tgetCausaRaiz() {\n\t\treturn this.http.get(`${COACHING}getCausaRaiz`)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-10\n\t* Servicio que busca al asesor por número de cedula.\n\t*/\n\n\tgetAsesor(params) {\n\t\treturn this.http.get(`${COACHING}getAsesor`, { params })\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-10\n\t* Servicio que carga las campañas creadas en CRM.\n\t* @author Juan David Guerrero Vargas\n\t* @updateMethod 10/03/2022\n\t*/\n\n\tgetCampaings(rol) {\n\t\tlet url: string = '';\n\t\turl = `${COACHING}getCampaignByAgent`;\n\t\treturn this.http.get(url)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-10\n\t* Servicio que carga todos los acompañamientos creados para cargarlos en una tabla.\n\t* @param params parametros para realizar los diferentes filtros.\n\t*/\n\n\tgetAcompanamientos(params) {\n\t\treturn this.http.get(`${COACHING}getAcompañamientos`, { params })\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-10\n\t* Servicio que crea un nuevo acompañamiento.\n\t* @param data datos del acompañamiento para realizar la creación del mismo.\n\t*/\n\n\tcrearCoachee(data) {\n\t\treturn this.http.post(`${COACHING}crearCoachee`, data)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError),\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis._refresh$.next();\n\t\t\t\t})\n\t\t\t);\n\t}\n\n\t/**\n * @author Cristian Gallo\n * @createdate 2021-12-20\n * Servicio que llama la inforcación del Coaching creado para continuar la gestión.\n */\n\tgetSolicitudById(id) {\n\t\treturn this.http.get(`${COACHING}getAcompañamientosById/${id}`)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t * Metodo que obtiene un listado de todas las campañas disponibles\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 16/05/2022 \n\t * @returns void\n\t */\n\tgetAllCampaigns() {\n\t\treturn this.http.get(`${COACHING}asignacionJefe/listselect`)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t * Metodo que obtiene el listado de agentes relacionads a las campañas indicadas\n\t * @author Juan David Guerrero Vargas\n\t * @param str_campaign:string Variable en la que llega el listado de campañas por las que se consultaran los asesores \n\t * @create_date 16/05/2022 \n\t * @returns void\n\t */\n\tgetAsesoresByCampaign(str_campaigns: string) {\n\t\treturn this.http.get(`${COACHING}asignacionJefe/listasesores?${str_campaigns}`)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t * Metodo que obtiene los datos principales de el jefe inmediato\n\t * @param cedula:string numero de cedula del jefe inmediato \n\t * @returns Observable\n\t */\n\tgetJefeInmediato(cedula: string) {\n\n\t\treturn this.http.get(`${COACHING}asignacionJefe/listboss/${cedula}`)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t * Metodo que consulta los asesores disponibles por No. de cedula\n\t * @param data: cedula del asesor a consultar\n\t * @returns:Observable, para obtener la informaicon de la solciitud\n\t */\n\tgetAsesorByDocument(data) {\n\t\treturn this.http.post(`${COACHING}asignacionJefe/searchasesor`, { cedula: data })\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError),\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis._refresh$.next();\n\t\t\t\t})\n\t\t\t);\n\t}\n\n\t/**\n\t * Metodo que registra la asignacion de agentes a jefe inmediato\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 20/05/22 \n\t * @param model:any Objeto con formato y data necesaria para la asignacion de agentes\n\t * @returns Obserbavle - Respuesta del servidor al proceso ejecutado\n\t */\n\tasignarAgentesJefeInmediato(model:any){\n\t\treturn this.http.post(`${COACHING}asignacionJefe/store`, model)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError),\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis._refresh$.next();\n\t\t\t\t})\n\t\t\t);\n\t}\n\n\t/**\n * @author Cristian Gallo\n * @createdate 2021-12-10\n * Servicio que crea un nuevo acompañamiento.\n * @param data datos del acompañamiento para realizar la creación del mismo.\n */\n\tcambiarSolicitud(data) {\n\t\treturn this.http.post(`${COACHING}estadoSolicitud`, data)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError),\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis._refresh$.next();\n\t\t\t\t})\n\t\t\t);\n\t}\n\n\t/**\n\t * Metodo para listar los jefes inmediatos asignados\n\t * @author Juan David Guerrero Vargas \n\t * @create_date 23/05/2022\n\t * @params str_url:string complemento de la url para paginacion y filtrados \n\t * @return Observale ojeto al cual subscribirse para obtener el retorno del servicio REST \n\t */\n\tgetListaJefeInmediato(str_url:string):Observable {\n\t\treturn this.http.get(`${COACHING}asignacionJefe/index?${str_url}`)\n\t\t.pipe(\n\t\t\tcatchError(this.handleError)\n\t\t);\n\t}\n\n\t/**\n\t * Metodo que permite cargar los datos sobre la aignaciones de un jefe\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 23/05/2022\n\t * @return Observable Objeto al cual subscribirse para obtener la respuesta del metodo REST \n\t */\n\tgetAsignaciones(id_boss:string):Observable{\n\t\treturn this.http.get(`${COACHING}asignacionJefe/show/${id_boss}`)\n\t\t.pipe(\n\t\t\tcatchError(this.handleError)\n\t\t);\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-12-20\n\t* Servicio que llama la inforcación del historial del Coaching.\n\t*/\n\tgetHistorialById(params) {\n\t\treturn this.http.get(`${COACHING}getHistorialById/${params.idSolicitud}`, { params })\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n * @author Cristian Gallo\n * @createdate 2022-01-05\n * Servicio que llama la inforcación del historial por Id.\n */\n\tgetHistoricoById(data) {\n\t\treturn this.http.get(`${COACHING}getHistorialId/${data.idHistorial}`)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n * @author Cristian Gallo\n * @createdate 2022-01-18\n * Servicio que llama el reporte para descargar.\n */\n\tgetReport(params) {\n\t\treturn this.http.get(`${COACHING}descargaReporteGeneral`, { params, responseType: 'blob' })\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n * @author Cristian Gallo\n * @createdate 2022-01-18\n * Servicio que llama el reporte para descargar.\n */\n\tsenNotificationSupervisor() {\n\t\tconst data = {\n\t\t\tmensaje: `Tienes un acompañamiento a vencer mañana ${moment(new Date()).add(1, 'd').format('DD/MM/yyyy')} con ID-`,\n\t\t\truta: '/mios/coaching/coaching/0',\n\t\t}\n\t\treturn this.http.get(`${COACHING}sendNotificationSupervisor`, { params: data })\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\t/**\n\t * @author Cristian Gallo\n\t * @createdate 2022-01-26\n\t * Servicio que confirma si el asesor acepta o rechaza el acompañamiento generado.\n\t*/\n\tsolicitudAsesor(data) {\n\t\treturn this.http.post(`${COACHING}estadoSolicitudAsesor`, data)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError),\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis._refresh$.next();\n\t\t\t\t})\n\t\t\t);\n\t}\n\n\t/**\n\t * @author Cristian Gallo\n\t * @createdate 2022-02-15\n\t * Servicio que confirma si la auditoría tiene un acompañamiento.\n\t*/\n\tcoachCalidad(idAuditoria) {\n\t\treturn this.http.get(`${COACHING}validacionAcompañamientoCalidad/${idAuditoria}`)\n\t\t\t.pipe(\n\t\t\t\tcatchError(this.handleError)\n\t\t\t);\n\t}\n\n\tupdateAssignedBoss(id_assignacion:string, modelUpdate:any){\n\t\treturn this.http.put(`${COACHING}asignacionJefe/update/${id_assignacion}`, modelUpdate)\n\t\t.pipe(\n\t\t\tcatchError(this.handleError),\n\t\t\ttap(() => {\n\t\t\t\tthis._refresh$.next();\n\t\t\t})\n\t\t);\n\t}\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { NotesService } from '../../services/rest/notes.service';\n\n/**\n * @ignore \n */\n@Component({\n selector: 'app-historialn',\n templateUrl: './historialn.component.html',\n styleUrls: ['./historialn.component.sass']\n})\nexport class HistorialnComponent implements OnInit {\n\n notes: any;\n rolUser: any;\n panelOpenState: boolean;\n oportunity: any;\n step: any;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private notesService: NotesService,\n ) {\n this.rolUser = this.data['rolUser'];\n this.oportunity = this.data['oportunity'];\n }\n\n /**\n * @author Javier Castañeda\n * @createddate 2022-10-29 \n * Metodo de inicio del componente, ejecuta servicio de consulta del historico de notas\n * @returns Json\n *\n */\n ngOnInit(): void {\n this.notesService.search(this.oportunity).subscribe((resp) => {\n this.notes = resp;\n });\n }\n\n}\n","\n
\n

\n Histórico de notas\n

\n\n\n \n \n \n \n \n Prospecto\n \n \n \n \n \n \n \n\n \n \n \n \n Acercamiento comercial\n \n \n \n \n \n \n \n\n \n \n \n \n Construcción de propuesta\n \n \n \n \n \n \n \n\n \n \n \n \n Enviada\n \n \n \n \n \n \n \n\n \n \n \n \n Negociación/Sustentación\n \n \n \n \n \n \n \n\n \n \n \n \n Cierre\n \n \n \n \n \n \n \n\n
","import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\nimport { Component, Input, OnInit, Output, EventEmitter, OnDestroy, AfterViewInit, AfterContentInit, AfterContentChecked, AfterViewChecked, OnChanges, SimpleChanges, DoCheck } from '@angular/core';\nimport { FormArray, FormArrayName, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { DataAuditoria, ItemModel, ModuloModel } from 'src/app/modules/auditoria/interfaces/dataAuditoria.interface';\nimport { AuditoriaService } from 'src/app/modules/auditoria/services/auditoria.service';\nimport { FormAuditarComponent } from \"../form-auditar/form-auditar.component\";\n\n@Component({\n\tselector: 'app-calificacion-auditoria',\n\ttemplateUrl: './calificacion-auditoria.component.html',\n\tstyleUrls: ['./calificacion-auditoria.component.sass']\n})\nexport class CalificacionAuditoriaComponent implements OnInit, OnDestroy {\n\n\t@Input() data: DataAuditoria;\n\t@Output() calificacionModulos = new EventEmitter();\n\n\t//Variables para el calcular la calificación\n\tnum_items = 0;\n\tcumple = 0;\n\tno_cumple = 0;\n\tpeso_modulo = 0;\n\titemSi = 0;\n\titemNo = 0;\n\tpesoItems = 0;\n\tis_critico = 0;\n\titems_na = 0;\n\tdecimales: boolean = false;\n\tscreen_md: boolean = false;\n\t@Input() tipo_auditar = { interna: 0, cliente: 0 };\n\n\tcalificacion: number = 0;\n\treadyCalificacion: boolean = false;\n\tmoduloForm: FormGroup;\n\tconteo = 0;\n\twithRadio = '';\n\n\n\tpuntaje_total = 100;\n\tpuntaje_cumplimiento = 100;\n\tpuntaje_no_critico = 100;\n\tpuntaje_critico_usuario = 100;\n\tpuntaje_critico_negocio = 100;\n\tpuntaje_precision = 100;\n\tpuntajes = \"\";\n\t\n\ttotal_si = [];\n\ttotal_no = [];\n\n\n\t//Observable para los cambios en los servicios de auditoria\n\tsubscription: Subscription;\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tprivate auditoriaService: AuditoriaService,\n\t) { }\n\n\tngOnInit(): void {\n\t\tthis.createForm();\n\t\tthis.verModulos();\n\t\tthis.cantidadDecimales();\n\t\tthis.subscription = this.auditoriaService.refresh$.subscribe(() => {\n\t\t\tthis.verModulos();\n\t\t\tthis.cantidadDecimales();\n\t\t\tthis.tipo_auditar = { interna: 0, cliente: 0 };\n\t\t});\n\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.subscription.unsubscribe();\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2022-02-24\n\t* Metodo que se encarga habilitar y desabilidar los sub items dependiendo la calificación que se de en el item\n\t*/\n\tcalificacionItem(iModulo, iItem) {\n\t\tlet item_calificado = ((this.moduloForm.get('modulos') as FormArray).at(iModulo).get('items_modulo') as FormArray).at(iItem).get('calificacion').value;\n\t\tlet subItems = (((this.moduloForm.get('modulos') as FormArray).at(iModulo).get('items_modulo') as FormArray).at(iItem).get('sub_items') as FormArray);\n\t\tif (item_calificado == 'no_cumple' || item_calificado == 'no') {\n\t\t\tsubItems.controls.forEach((subItem: FormGroup) => {\n\t\t\t\tsubItem.controls['calificacion'].setValue('no_cumple');\n\t\t\t\tsubItem.controls['calificacion'].enable();\n\t\t\t});\n\t\t} else {\n\t\t\tsubItems.controls.forEach((subItem: FormGroup) => {\n\t\t\t\tsubItem.controls['calificacion'].setValue('');\n\t\t\t\tsubItem.controls['calificacion'].disable();\n\t\t\t});\n\t\t}\n\t\t//this.calificacionModulos.emit({ modulos: this.moduloForm.get('modulos').value, calificacion: this.calculateCalificacion() });\n\t\tthis.calificacionModulos.emit({ modulos: this.moduloForm.get('modulos').value, calificacion: this.calculateCalificacion() });\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2022-03-07\n\t* Metodo que se encarga validar cuando los sub items se califican como cumple o N/A\n\t* cambiando la calificación del item a cumple, si o N/A si es requerido\n\t*/\n\n\tcalificacionSubItem(iModulo, iItem, iSubItem) {\n\t\tlet cantidadCumple = 0;\n\t\tlet cantidadNA = 0;\n\t\tlet cantidadNoCumple = 0;\n\t\tlet subItem = ((this.moduloForm.get('modulos') as FormArray).at(iModulo).get('items_modulo') as FormArray).at(iSubItem);\n\t\tlet item = ((this.moduloForm.get('modulos') as FormArray).at(iModulo).get('items_modulo') as FormArray).at(iItem);\n\t\tconst sub_items = item.get('sub_items') as FormArray;\n\t\tsub_items.controls.forEach((subItem: FormGroup) => {\n\t\t\tif (subItem.get('calificacion').value == 'cumple') {\n\t\t\t\tcantidadCumple++\n\t\t\t}\n\t\t\tif (subItem.get('calificacion').value === null) {\n\t\t\t\tcantidadNA++\n\t\t\t}\n\t\t\tif (subItem.get('calificacion').value === 'no_cumple') {\n\t\t\t\tcantidadNoCumple++\n\t\t\t}\n\t\t});\n\t\tif (cantidadCumple == sub_items.length) {\n\t\t\tif (this.data.tipo_matriz == 'Cumplimiento') {\n\t\t\t\titem.get('calificacion').setValue('cumple');\n\t\t\t} else {\n\t\t\t\titem.get('calificacion').setValue('si');\n\t\t\t}\n\t\t\tsub_items.controls.forEach((subItem: FormGroup) => {\n\t\t\t\tsubItem.get('calificacion').setValue('');\n\t\t\t\tsubItem.get('calificacion').disable();\n\t\t\t\tsubItem.markAllAsTouched();\n\t\t\t});\n\t\t\titem.get('calificacion').setValue('si');\n\t\t}\n\t\tif (cantidadNA == sub_items.length) {\n\t\t\titem.get('calificacion').setValue(null);\n\t\t\tsub_items.controls.forEach((subItem: FormGroup) => {\n\t\t\t\tsubItem.get('calificacion').setValue('');\n\t\t\t\tsubItem.get('calificacion').disable();\n\t\t\t\tsubItem.markAllAsTouched();\n\t\t\t});\n\t\t}\n\t\tif (cantidadNoCumple == 0) {\n\t\t\tif (this.data.tipo_matriz == 'Cumplimiento') {\n\t\t\t\titem.get('calificacion').setValue('cumple');\n\t\t\t} else {\n\t\t\t\titem.get('calificacion').setValue('si');\n\t\t\t}\n\t\t\tsub_items.controls.forEach((subItem: FormGroup) => {\n\t\t\t\tsubItem.get('calificacion').setValue('');\n\t\t\t\tsubItem.get('calificacion').disable();\n\t\t\t\tsubItem.markAllAsTouched();\n\t\t\t});\n\t\t}\n\t\tthis.calificacionModulos.emit({ modulos: this.moduloForm.get('modulos').value, calificacion: this.calculateCalificacion() });\n\t}\n\n\t/**\n\t * Metodo que se encarga de calcular la calificacion total de del los modulos\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 05/07/2022 \n\t * @returns number : numero con el total de la clificaicon para los modulos\n\t */\n\tcalculateCalificacion() {\n\t\t//variable que contiene el total de la calificacion\n\t\tthis.calificacion = 0;\n\t\t//Variable que indica si se debe alnular toda la clificacipn o no (esto depende de si el el modulo es crtico total)\n\t\tlet anulaTotal: boolean = false;\n\n\t\t//Se realiza validacion para determinar como se calculara la nota\n\t\tif (this.data.tipo_matriz == 'Cumplimiento') {\n\t\t\tlet pesoCriticoRest = 0;//Peso de modulos criticos parciales a restar dentro de la nota\n\t\t\tlet no_cumpleCritico: number = 0; //contador de items que no cumplen dentro de los modulos critocs\n\t\t\tlet sumatoria = 0; //Variable que contendra la sumtarios de los modulos y servira de variable de opraciones apra los calculos\n\t\t\t/****************************************************\n\t\t\tPara el calculo de la calificacion por modulo se determina esta formula por el cliente \n\t\t\tEn este escenario los items N/A no forman parte de la calificaicon por lo 2ue no se tienen encuanta para el calculo\n\t\t\titemsCumple + itemsNocumple = totalRegistrosEvaluados\n\t\t\titemsCumple / totalRegistrosEvaluados = porcentajeCumplimientoModulo\n\t\t\tporcentajeCumplimientoModulo * PesoModulo = Calificacion del modulo\n\t\t\t****************************************************/\n\t\t\tlet cumple=0 //items que cumplen dentro del modulo\n\t\t\tlet no_cumple = 0 //items que no cumplen \n\t\t\t//Se realiza itracion por cada modulo de la matriz\n\t\t\tthis.moduloForm.get('modulos').value.forEach(modulo => {\n\t\t\t\tcumple=0\n\t\t\t\tno_cumple=0\n\t\t\t\t//Si el modulo no es de Error critico se asigna el peso para la sumatoria\n\t\t\t\tif (modulo.error_critico == 0) {\n\t\t\t\t\tthis.peso_modulo = modulo.peso;\n\t\t\t\t} else {//En caso de que el modulo sea critico este no afecta la sumatoria total de la nota por lo que se deja en 0\n\t\t\t\t\tthis.peso_modulo = 0;\n\t\t\t\t}\n\t\t\t\t//iteramos los items de cada modulo\n\t\t\t\tmodulo.items_modulo.forEach(item => {\n\t\t\t\t\tObject.assign(item, { puntaje: 0 });//Se le asigna atributo puntaje para registro\n\t\t\t\t\t//Se realiza la validacion del estado de cada item dentro de los modulos\n\t\t\t\t\tif (item.calificacion == 'cumple') {\n\t\t\t\t\t\tcumple++\n\t\t\t\t\t} else if (item.calificacion == 'no_cumple') {\n\t\t\t\t\t\tno_cumple++\n\t\t\t\t\t\t\n\t\t\t\t\t}//Si no se registra calificaicon como (cumple - no cumple) este no se debe tener en cuenta para el calculo de l total del modulo\n\t\t\t\t\t\n\t\t\t\t\t//Se asigna el puntaje a cada item\n\t\t\t\t\tmodulo.items_modulo.forEach(item => {\n\t\t\t\t\t\tif (item.calificacion === null) {\n\t\t\t\t\t\t\tif (item.calificacion == 'cumple') {\n\t\t\t\t\t\t\t\titem.puntaje = this.peso_modulo / (cumple + no_cumple);\n\t\t\t\t\t\t\t} else if (item.calificacion == 'no_cumple') {\n\t\t\t\t\t\t\t\titem.puntaje = 0;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\titem.puntaje = 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\n\n\t\t\t\t\t//Validamos si el modulo es de error critico (error_critico = 1)\n\t\t\t\t\t//Si el modulo.peso es igual a null se asume que es un critico total, es decir dejara la nota en 0 sin importar cuantos items con cumple tenga\n\t\t\t\t\t//Se valida que almenos un item dentro del modulo critico total no cumpla para que se pueda anular la calificacion\n\t\t\t\t\tif (modulo.error_critico == 1 && (modulo.peso === null || modulo.peso === \"\" || modulo.peso == undefined) && item.calificacion == 'no_cumple') {\n\t\t\t\t\t\tanulaTotal = true;\n\t\t\t\t\t}\n\t\t\t\t\t//Validamos si es error critico pero si se registra algun valor en modulo.peso se asume que es un critico parcial, y envez de afectar toda la nota solo afectara el valor del modulo al que pertenece\n\t\t\t\t\tif (modulo.error_critico == 1 && modulo.peso && item.calificacion == 'no_cumple') {\n\t\t\t\t\t\tno_cumpleCritico++;//Se realiza conteo de item que no cumplan dentro del modulo critico parcial\n\n\t\t\t\t\t}\n\n\t\t\t\t});//FINALIZA ITERACION DE ITEMS DEL MODULO\n\n\t\t\t\t//Si el modulo es critico parcial, y almenos un item del modulo parcial no cumple, se se asigna a la variable el valor a restar por el modulo\n\t\t\t\tif (modulo.error_critico == 1 && modulo.peso && no_cumpleCritico > 0) {\n\t\t\t\t\tpesoCriticoRest = pesoCriticoRest + modulo.peso;\n\t\t\t\t}\n\t\t\t\t//Se seta en 0 el contador para el conteno del siguiente modulo\n\t\t\t\tno_cumpleCritico = 0;\n\n\t\t\t\t//Se realiza el calculo de la nota segun comentario inicial del metodo\n\t\t\t\tif((cumple > 0 || no_cumple > 0) && modulo.error_critico == 0){\n\t\t\t\t\tlet totalRegistrosEvaluados = cumple + no_cumple\n\t\t\t\t\tlet porcentajeCumplimientoModulo = cumple / totalRegistrosEvaluados\n\t\t\t\t\tsumatoria += porcentajeCumplimientoModulo * this.peso_modulo \n\t\t\t\t}\n\t\t\t}\n\t\t\t);//FINALIZA ITERACION DE MODULOS\n\t\t\t//Se asigna el valor de la variable sumatoria a la variabe de calificaion asumiendo que esta variab solo tiene la sumatoria de los calculos por modulo y no se la a hecho los descuentos por modulos criticos\n\t\t\tthis.calificacion = sumatoria\n\n\t\t\t//Si se registro algun peso de los modulos criticos parciales, se hace la resta de ese modulo dentro de la clificacion\n\t\t\tif (pesoCriticoRest > 0) {\n\t\t\t\tthis.calificacion = this.calificacion - pesoCriticoRest\n\t\t\t}\n\n\t\t\t//Si un modulo critico total tiene un item con no_cumple y anula_total queda en true, la califiacion se anula por lo que queda en 0\n\t\t\tif (anulaTotal) {\n\t\t\t\tthis.calificacion = 0;\n\t\t\t}\n\t\t\t\n\t\t\t//Ninguna calificaicon puede ser menor de 0\n\t\t\tif (this.calificacion <= 0) {\n\t\t\t\tthis.calificacion = 0;\n\t\t\t}\n\n\t\t} else {\n\t\t\tif (this.data.tipo_peso == 'Peso en Módulos') {\n\t\t\t\tlet pesoCriticoRest = 0;\n\t\t\t\tlet no_cumpleCritico: number = 0;\n\t\t\t\tlet sumatoria=0;\n\t\t\t\tthis.moduloForm.get('modulos').value.forEach(modulo => {\n\n\t\t\t\t\tif (modulo.error_critico == 0) {\n\t\t\t\t\t\tthis.peso_modulo = modulo.peso;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.peso_modulo = 0;\n\t\t\t\t\t}\n\t\t\t\t\tmodulo.items_modulo.forEach(item => {\n\t\t\t\t\t\tif (item.calificacion) {\n\t\t\t\t\t\t\tObject.assign(item, { puntaje: 0 });\n\t\t\t\t\t\t\tif (item.calificacion == 'si') {\n\t\t\t\t\t\t\t\tthis.itemSi++;\n\t\t\t\t\t\t\t} else if (item.calificacion == 'no') {\n\t\t\t\t\t\t\t\tthis.itemNo++;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (modulo.error_critico == 1 && (modulo.peso === null || modulo.peso === \"\" || modulo.peso == undefined) && item.calificacion == 'no') {\n\t\t\t\t\t\t\t\tanulaTotal = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (modulo.error_critico == 1 && modulo.peso && item.calificacion == 'no') {\n\t\t\t\t\t\t\t\tno_cumpleCritico++;\n\t\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tif (modulo.error_critico == 1 && modulo.peso && no_cumpleCritico > 0) {\n\t\t\t\t\t\tpesoCriticoRest = pesoCriticoRest + Number(modulo.peso);\n\t\t\t\t\t}\n\n\t\t\t\t\tmodulo.items_modulo.forEach(item => {\n\t\t\t\t\t\tif (item.calificacion === null) {\n\t\t\t\t\t\t\tif (item.calificacion == 'si') {\n\t\t\t\t\t\t\t\titem.puntaje = this.peso_modulo / this.num_items;\n\t\t\t\t\t\t\t} else if (item.calificacion == 'no') {\n\t\t\t\t\t\t\t\titem.puntaje = 0;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\titem.puntaje = 0;\n\t\t\t\t\t\t\t\tthis.items_na++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tif(this.itemSi === modulo.items_modulo.length ){\t\t\t\t\t\t\n\t\t\t\t\t\tsumatoria = sumatoria + this.peso_modulo\n\t\t\t\t\t}else if(this.itemNo > 0){\n\t\t\t\t\t\tsumatoria = sumatoria + 0\n\t\t\t\t\t}else if(this.items_na > 0){\n\t\t\t\t\t\tsumatoria = sumatoria + this.peso_modulo\n\t\t\t\t\t}\n\n\t\t\t\t\t\n\t\t\t\t\tthis.itemSi = 0;\n\t\t\t\t\tthis.itemNo = 0;\n\t\t\t\t\tthis.items_na = 0;\n\t\t\t\t\tno_cumpleCritico = 0;\n\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tthis.calificacion = sumatoria\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif (pesoCriticoRest > 0) {\n\t\t\t\t\tthis.calificacion = this.calificacion - pesoCriticoRest\n\t\t\t\t}\n\n\t\t\t\tif (this.calificacion <= 0) {\n\t\t\t\t\tthis.calificacion = 0;\n\t\t\t\t}\n\t\t\t} else if (this.data.tipo_peso == 'Peso en Items') {\n\t\t\t\tlet pesoCriticoRest = 0;\n\t\t\t\tlet pesoCriticoSum = 0;\n\t\t\t\tthis.moduloForm.get('modulos').value.forEach(modulo => {\n\t\t\t\t\tmodulo.items_modulo.forEach(item => {\n\t\t\t\t\t\tif (item.calificacion) {\n\t\t\t\t\t\t\tObject.assign(item, { puntaje: 0 });\n\t\t\t\t\t\t\tif (item.calificacion == 'si') {\n\t\t\t\t\t\t\t\tthis.pesoItems = this.pesoItems + item.peso;\n\t\t\t\t\t\t\t\titem.puntaje = item.peso;\n\t\t\t\t\t\t\t} else if (item.calificacion == 'no') {\n\t\t\t\t\t\t\t\tthis.pesoItems = this.pesoItems + 0;\n\t\t\t\t\t\t\t\titem.puntaje = 0;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\titem.puntaje = 0;\n\t\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\t\tif (modulo.error_critico == 1 && (modulo.peso === null || modulo.peso === \"\" || modulo.peso == undefined) && item.calificacion == 'no') {\n\t\t\t\t\t\t\t\tanulaTotal = true;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (modulo.error_critico == 1 && modulo.peso && item.calificacion == 'no') {\n\t\t\t\t\t\t\t\tlet sizeItems = modulo.items_modulo.length\n\t\t\t\t\t\t\t\tpesoCriticoRest = pesoCriticoRest + (Number(modulo.peso) / sizeItems)\n\n\t\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (item.calificacion === null) {\n\t\t\t\t\t\t\tthis.pesoItems = this.pesoItems + item.peso;\n\t\t\t\t\t\t\titem.puntaje = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.calificacion = this.calificacion + this.pesoItems;\n\n\n\t\t\t\t\t\tthis.pesoItems = 0;\n\t\t\t\t\t\tthis.items_na = 0;\n\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t});\n\n\t\t\t\tif (pesoCriticoRest > 0) {\n\t\t\t\t\tthis.calificacion = this.calificacion - pesoCriticoRest;\n\t\t\t\t}\n\n\t\t\t\tif (this.calificacion <= 0) {\n\t\t\t\t\tthis.calificacion = 0;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif (anulaTotal) {\n\t\t\t\tthis.calificacion = 0;\n\t\t\t}\n\n\n\n\t\t}\n\t\treturn this.calificacion;\n\n\t}\n\n\tcantidadDecimales() {\n\t\tlet calificacion: string = this.calculateCalificacion().valueOf().toLocaleString();\n\t\tlet cantidadDecimales = 0;\n\t\tif (calificacion.indexOf(',') >= 2 && calificacion.indexOf(',') <= 3) {\n\t\t\tfor (let index = calificacion.indexOf(',') + 1; index < calificacion.length; index++) {\n\t\t\t\tcantidadDecimales++\n\t\t\t}\n\t\t}\n\t\tif (cantidadDecimales > 1) {\n\t\t\tthis.decimales = true;\n\t\t\tif (window.screen.width > 1060 && window.screen.width < 1660) {\n\t\t\t\tthis.screen_md = true;\n\t\t\t} else {\n\t\t\t\tthis.screen_md = false;\n\t\t\t}\n\t\t} else {\n\t\t\tif (window.screen.width > 1060 && window.screen.width < 1660) {\n\t\t\t\tthis.screen_md = true;\n\t\t\t} else {\n\t\t\t\tthis.screen_md = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tcreateForm() {\n\t\tthis.moduloForm = this.fb.group({\n\t\t\tmodulos: this.fb.array([]),\n\t\t});\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2022-02-24\n\t* Metodo que se encarga de llenar los modulos, items y subitems con sus respectivos formcontrol\n\t* agregando el valor en la calificación en si o cumple\n\t*/\n\tverModulos() {\n\t\tconst modulos = this.moduloForm.controls['modulos'];\n\t\tmodulos.clear();\n\t\tthis.data.modulos.forEach((modulo: ModuloModel, iModule) => {\n\t\t\tmodulo.items_modulo.forEach(item => {\n\t\t\t\tif (this.data.tipo_matriz == 'Cumplimiento') {\n\t\t\t\t\tObject.assign(item, { calificacion: 'cumple' });\n\t\t\t\t} else {\n\t\t\t\t\tObject.assign(item, { calificacion: 'si' });\n\t\t\t\t}\n\t\t\t\titem.sub_items.forEach(sub_item => {\n\t\t\t\t\tObject.assign(sub_item, { calificacion: { value: '', disabled: true } });\n\t\t\t\t});\n\t\t\t});\n\t\t\tmodulos.push(this.fb.group({\n\t\t\t\tcreated_at: modulo.created_at,\n\t\t\t\tdescripcion: modulo.descripcion,\n\t\t\t\terror_critico: modulo.error_critico,\n\t\t\t\tid: modulo.id,\n\t\t\t\titems_modulo: this.fb.array([]),\n\t\t\t\tmatriz_id: modulo.matriz_id,\n\t\t\t\tnivel: modulo.nivel,\n\t\t\t\tnombre: modulo.nombre,\n\t\t\t\tpadre_id: modulo.padre_id,\n\t\t\t\tpeso: modulo.peso,\n\t\t\t\tpremium: modulo.premium,\n\t\t\t\tsigla: modulo.sigla,\n\t\t\t\ttype_select: modulo.type_select,\n\t\t\t\tupdated_at: modulo.updated_at,\n\t\t\t\tusuario_actualizacion_id: modulo.usuario_actualizacion_id,\n\t\t\t\tusuario_creador_id: modulo.usuario_creador_id,\n\t\t\t\tactivo: modulo.activo,\n\t\t\t}));\n\t\t\tmodulo.items_modulo.forEach((item: ItemModel) => {\n\t\t\t\t(this.getModulos().at(iModule).get('items_modulo') as FormArray).push(this.fb.group({\n\t\t\t\t\tcalificacion: item.calificacion,\n\t\t\t\t\tpuntaje: item.puntaje,\n\t\t\t\t\tactivo: item.activo,\n\t\t\t\t\tdescripcion: item.descripcion,\n\t\t\t\t\terror_critico: item.error_critico,\n\t\t\t\t\tid: item.id,\n\t\t\t\t\tmatriz_id: item.matriz_id,\n\t\t\t\t\tnivel: item.nivel,\n\t\t\t\t\tnombre: item.nombre,\n\t\t\t\t\tpadre_id: item.padre_id,\n\t\t\t\t\tpeso: item.peso,\n\t\t\t\t\tpremium: item.premium,\n\t\t\t\t\tsigla: item.sigla,\n\t\t\t\t\tsub_items: this.fb.array(item.sub_items.map(subItem => this.fb.group(subItem))),\n\t\t\t\t\ttype_select: item.type_select,\n\t\t\t\t\tupdated_at: item.updated_at,\n\t\t\t\t\tusuario_actualizacion_id: item.usuario_actualizacion_id,\n\t\t\t\t\tusuario_creador_id: item.usuario_creador_id,\n\t\t\t\t\tcreated_at: item.created_at,\n\t\t\t\t}));\n\t\t\t});\n\t\t});\n\t\tthis.calificacionModulos.emit({ modulos: this.moduloForm.get('modulos').value, calificacion: this.calculateCalificacion() });\n\t}\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2022-02-24\n\t* Metodo que retorna los modulos con sus controls\n\t*/\n\tgetModulos(): FormArray {\n\t\treturn this.moduloForm.get('modulos') as FormArray;\n\t}\n\n\t/**\n * @author Cristian Gallo\n * @createdate 2022-02-24\n * Metodo que retorna los items con sus controls\n */\n\tgetItems(indexModulo: number): FormArray {\n\t\treturn this.getModulos().at(indexModulo).get('items_modulo') as FormArray;\n\t}\n\n \n /**\n\t* @author Fabio Garcia\n\t* @createdate 2022-07-28\n\t* Metodo que retorna los totales\n\t*/\n\n\tcalificar_totales(){\n\n\t\t//Matriz\n\t \t/*\n\t \t 3: ERROR NO CRITICO\n\t \t 6: ERROR CRITICO DE USUARIO FINAL\n\t \t 8: ERROR CRITICO DE NEGOCIO\n\t \t 9: ERROR CRITICO DE CUMPLIMIENTO\n\n \n\t\t*/\n\n\n\n let tn = 0;\n let tn_no_critico = 0;\n let tn_critico= 0;\n let ts = 0;\n let tna = 0;\n\n let tptn = 0;\n\t\tlet tpts = 0;\n\t\tlet tptna = 0;\n\t\tlet anulaTotal: boolean = false;\n\n \n\n\t\tconst modulos = this.moduloForm.controls['modulos'];\n\t\tthis.data.modulos.forEach((modulo: ModuloModel, iModule) => {\n \n //Recorremos las items\n\t\t\tlet ptn = 0; // pesos total no \n\t\t\tlet pts = 0; // pesos total si \n\t\t\tlet ptna = 0; // pesos total na \n\n\t\t\t//Recorremos las items\n\t\t\tlet n = 0; // no\n\t\t\tlet s = 0; // si \n\t\t\tlet na = 0; // na \n\n //validamos el modulo\n\t\t\tlet m = modulo.nombre.trim(); // nombre del modulo\n\t\t\tlet peso_modulo = modulo.peso;\n\t\t\tlet modulo_error_critico = modulo.error_critico;\n\n\t\t\tif (isNaN(peso_modulo)) {\n\t\t\t peso_modulo=0;\n\t\t\t}\n\t\t\t\n\n modulo.items_modulo.forEach((item: ItemModel) => {\n \t\n let idb_1 = item.padre_id+'_'+ item.id+'_1-input'; // SI CUMPLE\n let idb_2 = item.padre_id+'_'+ item.id+'_2-input'; // NO / NO CUMPLE\n let idb_3 = item.padre_id+'_'+ item.id+'_3-input'; // NA\n\n let obs = item.padre_id+'_'+ item.id+'_div'; // OBJ\n let txt = item.padre_id+'_'+ item.id+'_obj'; // OBJ\n\n let peso = item.peso;\n\t\t\t if (isNaN(peso)) {\n\t\t\t\t peso=0;\n\t\t\t }\n \n let ck1 = document.getElementById(idb_1) as HTMLInputElement;\n let ck2 = document.getElementById(idb_2) as HTMLInputElement;\n let div_obs = document.getElementById(obs) as HTMLInputElement;\n let div_txt = document.getElementById(txt) as HTMLInputElement;\n\n let panel_id = item.padre_id+'_'+ item.id+'_panel'; // PANEL\n let panel = document.getElementById(panel_id) as HTMLInputElement;\n\n\n\n\n\t\t\t\tif(m == \"ERROR CRITICO DE USUARIO FINAL\" || m=='ERROR CRITICO DE NEGOCIO' || m=='ERROR CRITICO DE CUMPLIMIENTO' || m=='ERROR NO CRITICO'){\n\t\t\t\t\t\t\n\t\t\t\t\tif (ck2.checked == true){ // NO - NO CUMPLE\n\t\t\t\t\t\ttn = tn +1\n\t\t\t\t\t\tn = n +1\n\t\t\t\t\t\tptn = ptn + peso;\n\t\t\t\t\t\ttptn = tptn + peso;\n\n\t\t\t\t\t if(m == \"ERROR CRITICO DE USUARIO FINAL\" || m=='ERROR CRITICO DE NEGOCIO' || m=='ERROR CRITICO DE CUMPLIMIENTO'){\n\t\t\t\t\t\t\n\t\t\t\t\t\ttn_no_critico = tn_no_critico+1;\n\n\t\t\t\t\t\t}else if(m=='ERROR NO CRITICO'){\n\t\t\t\t\t\t tn_critico = tn_critico+1; \n\t\t\t\t\t\t}\n \n div_obs.style.display = \"block\";\n div_txt.setAttribute(\"required\", \"true\"); \n\t\t\t\t\t}else{\n div_obs.style.display = \"none\";\n div_txt.removeAttribute(\"required\"); \n\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\n });\n \n \n\t\t\tswitch (m) {\n\t\t\t\tcase \"ERROR NO CRITICO\":\n\t\t\t\t this.puntaje_no_critico = 100-ptn;\n\t\t\t\tbreak;\n\n\t\t\t\tcase \"ERROR CRITICO DE USUARIO FINAL\":\n\n\t\t\t\t if(ptn<=0){ // SI AL SUMAR SUS PUNTOS NO TIENE REGISTROS\n\t\t\t\t \t if (n>0) { this.puntaje_critico_usuario=0; anulaTotal=true; } else { this.puntaje_critico_usuario=100; }\t\t\t\t \t \n\t\t\t\t }else{\n\t\t\t\t \t this.puntaje_critico_usuario = 100-ptn;\t\t \t \n\t\t\t\t }\n\t\t\t\t \n\t\t\t\t\n\t\t\t\tbreak;\n\n\t\t\t\tcase \"ERROR CRITICO DE NEGOCIO\":\n\n\t\t\t\t if(ptn<=0){\n\t\t\t\t \t if (n>0) { this.puntaje_critico_negocio=0; anulaTotal=true; } else { this.puntaje_critico_negocio=100; }\n\t\t\t\t }else{\n\t\t\t\t \t this.puntaje_critico_negocio = 100-ptn;\n\t\t\t\t }\n\n\n\t\t\t\tbreak;\n\n\t\t\t\tcase \"ERROR CRITICO DE CUMPLIMIENTO\":\n\n\t\t\t\t if(ptn<=0){\n\t\t\t\t \t if (n>0) { this.puntaje_cumplimiento=0; anulaTotal=true; } else { this.puntaje_cumplimiento=100; }\t\t\t\t \t \n\t\t\t\t }else{\n\t\t\t\t \t this.puntaje_cumplimiento = 100-ptn;\n\t\t\t\t }\n\n\t\t\t\tbreak;\n\t\t\t}\n\n\n\t\t});\n\n\n\t\tthis.puntaje_total = 100 - tptn;\n\t\tif (anulaTotal) {\n\t\t this.puntaje_total = 0;\n\t\t}\n\t\tif (tn_no_critico>0) { this.puntaje_precision=0; } else { this.puntaje_precision=100; }\n\t\tthis.puntajes= this.puntaje_total+','+this.puntaje_cumplimiento+','+this.puntaje_no_critico+','+this.puntaje_critico_usuario+','+this.puntaje_critico_negocio+','+this.puntaje_precision;\n \n let puntajes = document.getElementById('puntajes') as HTMLInputElement;\n puntajes.value = this.puntajes; \n\t}\n\n\n\tlimpiar_error(p,h){\n alert(p);\n\t}\n\n \n\n}\n","\n \n \n \n

Total

\n

{{puntaje_total}}%

\n
\n\n \n

Cumplimiento

\n

{{puntaje_cumplimiento}}%

\n
\n\n \n

No crítico

\n

{{puntaje_no_critico}}%

\n
\n\n \n

Crítico usuario final Campaña

\n

{{puntaje_critico_usuario}}%

\n
\n\n\n \n

Crítico negocio

\n

{{puntaje_critico_negocio}}%

\n
\n\n \n

Precisión de error crítico

\n

{{puntaje_precision}}%

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

\n {{modulo.get('sigla').value}}

\n

\n {{ modulo.get('nombre').value | cutText:0:35 }}

\n  \n \n
\n
\n \n \n  \n Crítico \n \n \n \n \n
\n\n
\n\n \n \n

Peso: {{modulo.get('peso').value}}

\n

Peso: {{modulo.get('peso').value}}%

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

\n {{item.get('sigla').value}}

\n \n

\n {{item.get('nombre').value | cutText:0:10000}}\n

\n \n\n
\n\n \n \n
\n \n \n Cumple\n \n No cumple\n N/A\n \n \n
\n
\n \n Si\n \n No\n \n N/A\n \n \n
\n
\n \n Si\n \n No\n \n N/A\n \n \n
\n\n \n \n\n
\n

Peso: {{item.get('peso').value |number :'1.0-3'}}

\n
\n \n\n \n Observación\n Módulo: {{modulo.get('nombre').value}}, Subitem: {{item.get('sigla').value}}\n \n\n Por favor ingresar observación.\n \n\n \n\n \n\n\n\n
\n
\n \n \n \n

\n {{subtItem.get('sigla').value}}

\n \n \n

\n {{subtItem.get('nombre').value | cutText:0:10000}}

\n
\n \n

\n {{subtItem.get('nombre').value | cutText:0:10000}}

\n
\n
\n \n \n Cumple\n No cumple\n \n N/A\n \n \n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ClientesService } from '../../../services/rest/clientes.service';\nimport { OportunidadesService } from '../../../services/rest/oportunidades.service';\nimport { debounceTime } from 'rxjs/operators';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport * as moment from 'moment';\nimport 'moment-timezone';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-clientes-proceso',\n templateUrl: './clientes-proceso.component.html',\n styleUrls: ['./clientes-proceso.component.sass']\n})\nexport class ClientesProcesoComponent implements OnInit {\n\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n public editAvailable: boolean;\n displayedColumns: string[] = ['actions', 'cliente', 'documento', 'name', 'comercial', 'linea', 'meses', 'valor', 'channel' ,'state'];\n dataSource = new MatTableDataSource();\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n arrayservicios: any[] = [];\n arraycomercial: any[] = [];\n element = false;\n\n nameControl = new FormControl();\n documentControl = new FormControl();\n typeControl = new FormControl();\n comercialControl = new FormControl();\n lineServiceControl = new FormControl();\n stateControl = new FormControl();\n channelControl = new FormControl();\n nameClient: any = '';\n document: any = '';\n type: any = '';\n comercial: any = '';\n lineService: any = '';\n state: any = '';\n channelSelected: any = '';\n\n stateData: any[] = [\n { id: 'prospecto', name: 'Prospecto' },\n { id: 'acercamiento', name: 'Acercamiento Comercial' },\n { id: 'construccion', name: 'Construcción de Propuesta' },\n { id: 'enviada', name: 'Enviada' },\n { id: 'negociacion', name: 'Negociación/Sustentación' },\n { id: 'cierre', name: 'Cierre' }\n ];\n channelsOptions: any[];\n\n constructor(\n private clientesService: ClientesService,\n private oportunidadservice: OportunidadesService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.clientesService.getComercialsList().subscribe((resp: any) => {\n this.arraycomercial = resp.data;\n });\n\n this.clientesService.getLineServices().subscribe((resp: any) => {\n this.arrayservicios = resp.data;\n });\n\n this.oportunidadservice.getChannels().subscribe((resp:any) => {\n this.channelsOptions = resp.data;\n });\n\n //filtros detectar cambios\n this.nameControl.valueChanges.pipe(debounceTime(1000)).subscribe(res => {\n this.resetPaginator();\n this.nameClient = res;\n this.getOportunitiesBy();\n });\n this.documentControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.document = resp;\n this.getOportunitiesBy();\n });\n this.typeControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.type = resp;\n this.getOportunitiesBy();\n });\n this.comercialControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.comercial = resp;\n this.getOportunitiesBy();\n });\n this.lineServiceControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.lineService = resp;\n this.getOportunitiesBy();\n });\n this.stateControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.state = resp;\n this.getOportunitiesBy();\n });\n this.channelControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.channelSelected = resp;\n this.getOportunitiesBy();\n });\n this.getOportunitiesBy();\n\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-26\n * Metodo para mostrar y ocultar los filtros\n */\n showData() {\n if (this.element == true) {\n return (this.element = false);\n } else {\n return (this.element = true);\n }\n\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-26\n * Metodo que se encarga del paginador al momento de cambiar de pagina\n * @param {any} event evento que trae la pagina a listar\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getOportunitiesBy();\n }\n\n /**\n * @author Javier Castañeda\n * @purpose resetea el paginador\n * @createdate 2022-10-29\n */\n resetPaginator(): void {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la consulta y filtrado de oportunidades en proceso\n */\n getOportunitiesBy() {\n let filters = {\n tap: 'proceso',\n client: this.nameClient,\n service_line: this.lineService,\n comercial: this.comercial,\n document: this.document,\n id_type: this.type,\n state: '',\n channel: this.channelSelected,\n step: this.state,\n perPage: this.pageSize,\n page: this.page\n };\n this.oportunidadservice.getOportunitiesHistoryBy(filters).subscribe(resp => {\n this.dataSource.data = resp?.data?.data;\n this.length = resp.data.total;\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo de descarga de reporte de oportunidades en proceso\n */\n downloadReport() {\n let filters = {\n tap: 'proceso',\n client: this.nameClient,\n service_line: this.lineService,\n comercial: this.comercial,\n document: this.document,\n id_type: this.type,\n state: '',\n step: this.state,\n };\n let date = new Date();\n let reportDate = moment(date).tz('America/Bogota').format('YYYY-MM-DD')\n this.oportunidadservice.getOportunitiesHistoryReportBy(filters).subscribe(resp => {\n importedSaveAs(resp,`Reporte_oportunidades_en_proceso_${reportDate}.xlsx`);\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-01\n * Metodo para gestionar la oportunidad\n */\n manageOpportunities(idClient: number, id: number){\n this.router.navigate([`/mios/crm-cial/creop/${idClient}`], { queryParams: { type: 'edit', idOportunity: id, tab: 1, table: 1 }});\n }\n\n}\n","
\n\n
\n\n \n Cliente\n \n \n \n\n \n Número de identificacion\n \n \n \n\n \n Tipo de identificacion\n \n Todos\n Nacional\n Internacional\n \n \n\n \n Comercial asignado\n \n Todos\n {{item.name}}\n \n \n

\n \n Linea de servicio\n \n Todos\n {{item.name}}\n \n \n\n \n Estado\n \n Todos\n {{item.name}}\n \n \n\n \n Canales\n \n Todos\n {{item.name}}\n \n \n\n
\n \n
\n
\n \n
\n\n
\n \n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n\n
\n \n Cliente \n {{row?.nameClient}}\n Identificación \n {{row?.id_number}}\n Nombre de la
oportunidad
\n {{row?.name_oportunity}}\n Comercial
asignado
\n {{row?.comercial}}\n Línea de servicio \n {{row?.lines_names| slice:0:20}} 20\">...\n Duración contrato \n {{row?.tiempo_contrato}} {{ row?.tiempo_contrato ? (row?.tiempo_contrato > 1 ? 'meses' : 'mes') : ''}}\n Valor contrato \n {{row?.moneda ? (row?.moneda == 1 ? 'US' : 'COP') : 'COP'}} {{row?.moneda ? '$' :'$'}}{{row?.val_oportunidad || '0'}}\n Canal \n {{row?.channel_name}}\n Estado \n {{row?.step}}\n
\n\n \n \n
\n\n
\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SidenavService {\n\n public sideNavState$: Subject = new Subject();\n\n constructor() { }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport * as moment from 'moment';\nimport { AuditoriaService } from 'src/app/modules/calidad/services/auditoria.service';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-retroalimentar',\n templateUrl: './retroalimentar.component.html',\n styleUrls: ['./retroalimentar.component.sass']\n})\nexport class RetroalimentarComponent implements OnInit {\n private uuid = '9e003fe0-92b9-11ee-b9d1-0242ac120002';\n public config: any;\n\n @Input() idMatriz;\n filtroAsesor:string = \"\";\n filtroCedula:string = \"\";\n filtroFecha = new FormGroup({\n fechaInicial: new FormControl(),\n fechaFinal: new FormControl(),\n });\n filtroGestion:string = \"\";\n datosTabla = [];\n length;\n pageSize = 5;\n page = 1;\n constructor(\n private auditoriaService:AuditoriaService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n getRetroalimentaciones(page?,pageSize?){\n const params = {\n cedula: '',\n fechaInicial:'',\n fechaFinal: '',\n asesor: '',\n retroalimentacion:'',\n numeroReg: this.pageSize,\n page: this.page,\n idMatriz: this.idMatriz\n };\n //Filtros\n if (this.filtroAsesor != '') {\n params.asesor = this.filtroAsesor;\n }\n if (this.filtroCedula != '' && this.filtroCedula != null) {\n params.cedula = this.filtroCedula;\n }\n if (this.filtroFecha.get('fechaInicial').value != '' && this.filtroFecha.get('fechaInicial').value != null) {\n params.fechaInicial = moment(this.filtroFecha.get('fechaInicial').value).format('yyyy-MM-DD');\n }\n if (this.filtroFecha.get('fechaFinal').value != '' && this.filtroFecha.get('fechaFinal').value != null) {\n params.fechaFinal = moment(this.filtroFecha.get('fechaFinal').value).format('yyyy-MM-DD');\n }\n if (this.filtroGestion != '') {\n params.retroalimentacion = this.filtroGestion;\n }\n if (page != '' && page > 0) {\n params.page = page\n }\n if (pageSize != '' && pageSize > 0) {\n params.numeroReg = pageSize\n }\n this.auditoriaService.getRetroalimentar(params).subscribe((resp:any)=>{\n this.datosTabla = resp.data;\n this.length = resp.total;\n this.pageSize = resp.per_page;\n });\n\n }\n\n filtroFechas(){\n if (this.filtroFecha.get('fechaInicial').value != null && this.filtroFecha.get('fechaFinal').value != null) {\n this.filtrar();\n }\n }\n\n filtrar(){\n this.getRetroalimentaciones(this.page,this.pageSize);\n }\n\n}\n","
\n
\n \n {{config.labels.filtrarPorAuditado}}\n \n \n \n \n {{config.labels.filtrarPorCedula}}\n \n \n \n \n {{config.labels.fecha}}\n \n \n \n \n \n \n \n \n \n \n {{config.labels.gestion}}\n \n -------\n {{config.labels.retroalimentada}}\n {{config.labels.sinRetroalimentacion}}\n \n \n
\n \n
\n
\n
\n 0\"\n [length]=\"length\" [pageSize]=\"pageSize\" [page]=\"page\"\n (paginacion)=\"getRetroalimentaciones($event.pagina,$event.registros)\">\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { PusherService } from 'src/app/modules/crm/services/pusher.service';\nimport { AuditoriaService } from '../../services/auditoria.service';\n\n@Component({\n selector: 'app-mis-auditorias',\n templateUrl: './mis-auditorias.component.html',\n styleUrls: ['./mis-auditorias.component.sass']\n})\nexport class MisAuditoriasComponent implements OnInit {\n auditar:boolean = false;\n auditado:boolean = false;\n roles;\n trimestre_puntaje = 0;\n mes_puntaje = 0;\n hoy_puntaje = 0;\n subs\n constructor(\n private authService:AuthService,\n private auditoriaService:AuditoriaService,\n private pusher:PusherService,\n ) { }\n ngOnInit(): void {\n this.getPuntajes();\n this.pusher.getNotificationsGlobal().bind('notification',()=>{\n this.getPuntajes();\n });\n }\n\n getPuntajes(){\n this.auditoriaService.getPuntajes().subscribe((resp:any)=>{\n this.trimestre_puntaje = resp[0].auditoriasTrimestre;\n this.mes_puntaje = resp[0].auditoriasMes;\n this.hoy_puntaje = resp[0].auditoriasHoy;\n });\n }\n\n // verRoles(){\n // this.roles = this.authService.getUser().roles;\n // this.roles.forEach(rol => {\n // if (rol == \"calidad::analista\") {\n // this.auditar = true;\n // }else if (rol == \"calidad::supervisor\") {\n // this.auditar = true;\n \n // }else if (rol == \"calidad::jefe\") {\n // this.auditar = true;\n // }\n // else{\n // this.auditar = false;\n // }\n // if (rol == \"calidad::asesor\") {\n // this.auditado = true;\n // this.getPuntajes();\n // }else{\n // this.auditado = false;\n // }\n // });\n // }\n}\n","
\n
\n
\n

Auditoría

\n
\n

Aquí podrás visualizar las auditorias que te han realizado. No

\n

olvides, “El respeto y empatía son clave”.

\n
\n
\n \n

{{trimestre_puntaje}}

\n

Auditorias del último trimestre

\n
\n \n

{{mes_puntaje}}

\n

Auditorias del mes

\n
\n \n

{{hoy_puntaje}}

\n

Auditorias de Hoy

\n
\n
\n
\n
\n \n
\n
","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { debounce, debounceTime, map, startWith, tap } from 'rxjs/operators';\nimport { CampaingsService } from './../../../../../crm_v2/services/rest/campaings.service';\nimport { GroupsService } from 'src/app/modules/crm_v2/services/rest/groups.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSelectionList } from '@angular/material/list';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport Swal from 'sweetalert2';\nimport { MatSelectChange } from '@angular/material/select';\n@Component({\n selector: 'app-admin-groups',\n templateUrl: './admin-groups.component.html',\n styleUrls: ['./admin-groups.component.sass']\n})\nexport class AdminGroupsComponent implements OnInit {\n\n groupForm: FormGroup;\n filteredOptions: Observable;\n campaigns: any;\n userSinGroup: any[] = [];\n userSinGroupNuevo: any[] = [];\n userGroup: any[] = [];\n userSelected: any[] = [];\n usersId: any[];\n campaingId: string;\n @ViewChild('shoes', {static: true}) private allSelected: MatSelectionList;\n @ViewChild('shoes2', {static: false}) private allSelected2: MatSelectionList;\n\n listTypeDocuments:any=[]\n documentNumber:FormControl = new FormControl([''])\n typeDocument:FormControl = new FormControl(1)\n userData:any = []\n\n listCampaign:any[] = []\n idGroup:number = 0\n constructor(\n public group: GroupsService,\n private route: ActivatedRoute,\n private alertsService: AlertsService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private users: CandidatesService,\n public CampaignService: CampaingsService,\n ) { }\n\n ngOnInit() {\n\n this.formControl();\n this.getTypesDocuemnt();\n this.getCampaigns();\n\n if(this.data.hasOwnProperty('group')){\n\n if(this.data.group.id > 0){\n this.idGroup = this.data.group.id\n this.setEdit();\n }\n\n }\n\n\n }\n\n /**\n * Metodo que se encarga de obtener la lista de campanas\n * @author Juan David Guerrero Vargas\n */\n getCampaigns(){\n this.CampaignService.getCampaings('campaigns/list').subscribe(\n restData => {\n this.listCampaign = restData.data.map( dataCampaign => {\n dataCampaign['isDisabled'] = false\n return dataCampaign;\n } )\n }\n );\n }\n\n\n /**\n * Metodo que caga los tipos de documento apra selector e anadir usuario\n * @author Juan David Guerrero Vargas\n */\n getTypesDocuemnt(){\n this.users.getIdTypes().subscribe(resp => {\n this.listTypeDocuments = resp;\n });\n }\n\n get error(): any { return this.groupForm.controls; }\n /**\n * @author Daniel Dominguez\n * @createdate 2021-03-04\n * Form control de grupos\n */\n formControl(): void {\n\n this.groupForm = new FormGroup({\n group: new FormControl('', [Validators.required, Validators.maxLength(100), Validators.minLength(3)]),\n description: new FormControl('', [Validators.required, Validators.maxLength(100), Validators.minLength(3)]),\n campaigns: new FormControl(null,[])\n });\n\n\n this.groupForm.get('campaigns').valueChanges\n .pipe(\n tap(()=> this.enableCampaigns()),\n debounceTime(700))\n .subscribe( valueCampaigns =>{\n \n this.loadUsersByCampaign();\n })\n\n }\n\n /**\n * @author Daniel Dominguez\n * @update Juan David Guerrero Vargas\n * @createdate 2021-03-03\n * Metodo Cargar datos modal de editar\n */\n setEdit(): void {\n if (this.data.type === 'editar') {\n this.groupForm.controls.group.setValue(this.data.group.name_group);\n this.groupForm.controls.description.setValue(this.data.group.description);\n this.group.getGroupById(this.data.group.id).subscribe(res => {\n let dataGroup = res.members.map( function (userMapped) {\n userMapped['oldUser'] = true\n return userMapped\n } );\n this.userGroup = dataGroup;\n });\n\n }\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-03-03\n * COntrol de individual de checkbox de usuarios sin grupo\n */\n lstInicial = new FormGroup({\n selected: new FormControl([])\n });\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-03-03\n * COntrol de individual de checkbox de usuarios en el grupo\n */\n lstfinal = new FormGroup({\n selected: new FormControl([])\n });\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-03-05\n * COntrol de checkbox de todos los usarios sin grupo\n */\n checkAll1 = new FormGroup({\n selected: new FormControl(false,[])\n });\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-03-05\n * COntrol de checkbox de todos los usarios en el grupo\n */\n checkAll2 = new FormGroup({\n selected: new FormControl(false,[])\n });\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-03-03\n * Metodo carga datos modal de crear grupo\n */\n saveGroup(groupForm): void {\n if (this.data.type === 'crear') {\n let users = [];\n this.userGroup.map(function (user) {\n let id = { 'idRrhh': user.id_rhh };\n users = [...users, id];\n });\n\n\n const group = {\n name_group: groupForm.value.group,\n description: groupForm.value.description,\n state: 1,\n users: users,\n };\n this.group.createGroup(group).subscribe(res => {\n this.alertsService.alertSuccess('Guardado', res.data);\n });\n\n }\n else if (this.data.type === 'editar') {\n\n let listNewUsers = this.userGroup.filter(filtered => filtered['newState'] == 'aggregate' && filtered['oldUser'] == undefined )\n let listDeleteUsers = this.userSinGroup.filter( filtered => filtered['newState'] == 'removed' && filtered['oldUser'] == true )\n\n listNewUsers = listNewUsers.map(function (user) {\n return { 'idRrhh': user.id_rhh };\n\n });\n listDeleteUsers = listDeleteUsers.map(function (user) {\n return { 'idRrhh': user.id_rhh };\n\n });\n\n const group = {\n name_group: groupForm.value.group,\n description: groupForm.value.description,\n state: this.data.group.state,\n users_to_delete : listDeleteUsers,\n users_to_add:listNewUsers\n };\n\n this.editGroup(group);\n }\n\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-03-04\n * Metodo editar grupo\n */\n editGroup(group): void {\n\n\n this.group.updateGroup(this.data.group.id, group).subscribe(res => {\n this.alertsService.alertSuccess('Guardado', res.data);\n });\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-03-05\n * Metodo selecionar o deseleccionar todos los usuarios\n */\n onChangeCheck(event){\n if (event.checked == true) {\n this.allSelected.selectAll();\n }else{\n this.allSelected.deselectAll();\n }\n }\n\n onChangeCheck2(event){\n if (event.checked == true) {\n this.allSelected2.selectAll();\n }else{\n this.allSelected2.deselectAll();\n }\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-03-04\n * Metodo asignación de usarios al grupo\n */\n asingarGrupo() {\n this.userSelected = this.lstInicial.value.selected;\n this.userSinGroupNuevo = this.userSinGroup;\n this.userSelected.forEach(select => {\n\n if (this.data.type === 'editar' && select['oldUser'] == undefined ){\n select['newState'] = 'aggregate'\n }\n this.userGroup.push(select);\n this.userSinGroupNuevo = this.userSinGroupNuevo.filter((i) => i.id_rhh !== select.id_rhh || i.id !== select.id )\n });\n\n this.lstInicial.value.selected = [];\n this.checkAll1.controls.selected.setValue(false,[]);\n this.userSinGroup = this.userSinGroupNuevo;\n this.lstInicial.controls.selected.setValue([]);\n }\n /**\n * @author Daniel Dominguez\n * @createdate 2021-03-04\n * Metodo remover de usarios al grupo\n */\n quitarGrupo() {\n this.userSelected = this.lstfinal.value.selected;\n this.userSinGroupNuevo = this.userGroup;\n this.userSelected.forEach(select => {\n if (this.data.type === 'editar' && select['oldUser'] == true){\n select['newState'] = 'removed'\n }\n this.userSinGroup.push(select);\n this.userSinGroupNuevo = this.userSinGroupNuevo.filter((i) => i.id_rhh !== select.id_rhh || i.id !== select.id )\n });\n this.lstfinal.value.selected = [];\n this.checkAll2.controls.selected.setValue(false,[]);\n this.userGroup = this.userSinGroupNuevo;\n this.lstfinal.controls.selected.setValue([]);\n }\n\n /**\n * Metodo que se encarga de obtener usuario por documento y tipo de doumento\n * @author Juan David Guerrero Vargas\n * @param e:string valor del input desde donde se dispara el evento blur\n * @return void\n */\n\n onBlurMethod(e) {\n if(e !== null && e !== \"\"){\n this.getUserByDocument(e,this.typeDocument.value);\n }\n \n }\n\n /**\n * Metodo que se encarga de obtener\n * @autor Juan David Guerrero Vargas\n * @param document :String numero de doumento aa consultar\n * @param idTypeDocument:string tipo de documento a consultar\n * @returns void {void}\n */\n getUserByDocument(document:string, idTypeDocument:string){\n this.group.getUserByDocument(document,idTypeDocument).subscribe(\n restData =>{\n if(Array.isArray(restData.user)){\n this.userData.id_rhh = null\n this.userData.name = null\n this.userData.campaing = null\n }else{\n this.userData.id_rhh = restData.user.rrhh_id\n this.userData.name = restData.user.name\n this.userData.campaing = restData.user.campaing\n }\n\n })\n }\n\n /**\n * Metodo que se encarga de agregar el usuario al listado miembros\n * @author Juan David Guerrero Vargas\n * @returns void {void}\n */\n\n addUserToGroup() {\n this.userData['newState'] = 'aggregate'\n this.userGroup.push(this.userData);\n this.userData = {};\n this.documentNumber.setValue('');\n }\n\n enableCampaigns(){\n const campaignsSelected = this.groupForm.get('campaigns').value\n if(campaignsSelected.length == 3 ){\n this.listCampaign.map( campaigns => {\n if( campaignsSelected.find( selectCamaing => selectCamaing.id == campaigns.id ) == undefined){\n campaigns['isDisabled'] = true\n }else{\n campaigns['isDisabled'] = false\n }\n });\n }else{\n this.listCampaign.map( campaigns => {\n campaigns['isDisabled'] = false\n return campaigns;\n })\n }\n\n }\n\n /**\n * Metodo que se encarga e listar los usuarios por camapna seleccionada\n * @author Juan dav Guerrero Varas\n */\n loadUsersByCampaign(){\n const campaignsSelected = this.groupForm.get('campaigns').value\n if(Array.isArray(campaignsSelected) && campaignsSelected.length > 0){\n this.group.getUsersByCampaign(campaignsSelected.map( campaign => String(campaign.id) ), this.idGroup).subscribe(\n (restResponse:any) =>{\n this.userSinGroup = restResponse.users\n }\n );\n }else{\n this.userSinGroup = []\n }\n \n\n }\n}\n","

{{data.title}}\n \n

\n\n
\n \n\n \n Campañas\n \n \n {{ (groupForm.get('campaigns')?.value && groupForm.get('campaigns')?.value[0]) ? groupForm.get('campaigns').value[0].name : ''}}\n 1\" class=\"example-additional-selection\">\n (+ {{groupForm.get('campaigns').value?.length === 2 ? 'otra' : 'otras'}} {{ groupForm.get('campaigns').value.length - 1}} )\n \n \n {{campaign.name}} \n \n \n\n\n \n Nombre del grupo\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo 3\n caracteres\n ¡Cuidado! Solo puedes tener un\n máximo de 100 caracteres\n \n\n\n \n Descripción\n \n ¡Advertencia! Este\n campo es requerido\n ¡Aún falta! Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo puedes\n tener un máximo de 100 caracteres\n \n \n
\n
\n Usuarios disponibles\n Todos\n
\n
\n
\n Usuarios del grupo \n Todos\n
\n
\n \n
\n
\n\n \n \n {{usuario.name}}\n \n \n
\n\n
\n \n \n\n
\n\n
\n \n \n {{usuario.name}}\n \n \n
\n\n
\n \n
\n
\n

\n opciones seleccionadas: {{shoes.selectedOptions.selected.length}}\n

\n
\n
\n
\n

\n opciones seleccionadas: {{shoes2.selectedOptions.selected.length}}\n

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

Añadir usuario

\n \n Documento\n \n \n {{item.key}}\n \n \n
\n
\n \n

Nombre: {{userData?.name}}
\n Campaña: {{userData?.campaing}}\n

\n
\n
\n\n
\n\n \n \n \n \n\n
\n","import { Component, OnInit, SimpleChanges, ViewChild, Inject } from '@angular/core';\nimport { FormGroup, FormControl, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { validateArrayNotEmpty, validateIsEmails } from '../../constantes/custom-validations';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { FormsRequestService } from 'src/app/modules/crm_v2/services/rest/forms-request.service';\nimport { StateService } from '../../services/state.service';\nimport { createDataFormCrmV2 } from '../../constantes/create-data-form-crm';\nimport { DynamicFormV2Component } from 'src/app/shared/dynamic-forms-v2/dynamic-form/dynamic-form.component';\nimport { EmailService } from '../../services/email.service';\nimport { MatSelectChange } from '@angular/material/select';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { TemplateService } from '../../services/template.service';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-new-message-v2',\n templateUrl: './new-message-v2.component.html',\n styleUrls: ['./new-message-v2.component.css']\n})\nexport class NewMessageV2Component implements OnInit {\n @ViewChild('formCrmComponent') private formCrmComponent: DynamicFormV2Component;\n typeManagerMessage: string = 'Enviar';\n formNewMessage: FormGroup = null;\n formId: number = null;\n formCrm: any = null;\n states: any[] = [];\n formStructureCrm: any = null;\n validFormCrm: boolean = false;\n emailsConfig: any[] = [];\n userLogin: any = null;\n templates: any[] = [];\n filesToLoadEmail: any[] = [];\n\n constructor(\n private formBuilder: FormBuilder,\n private alertService: AlertsService,\n private matSnackBar: MatSnackBar,\n private formRequestService: FormsRequestService,\n private stateService: StateService,\n private emailService: EmailService,\n private authService: AuthService,\n private templateService: TemplateService,\n private matDialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) { }\n\n ngOnInit(): void {\n this.userLogin = this.authService.getUser();\n this.getStates();\n this.setFormGroupByTypeManager();\n this.getEmailsConfig();\n console.log('Dialog data', this.data);\n\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.userLogin = this.authService.getUser();\n this.formId = null;\n this.formCrm = null;\n this.setFormGroupByTypeManager();\n this.getEmailsConfig();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que setea la estructura del formulario. \n */\n setFormGroupByTypeManager(): void {\n this.formNewMessage = new FormGroup({\n emailConfig: new FormControl(null, [Validators.required]),\n from: new FormControl({ value: '', disabled: true }, []),\n to: this.formBuilder.array([], [validateArrayNotEmpty, validateIsEmails]),\n cc: this.formBuilder.array([], []),\n cco: this.formBuilder.array([], []),\n subject: new FormControl('', [Validators.required]),\n attachments: this.formBuilder.array([], []),\n template: new FormControl('', []),\n message: new FormControl('', [Validators.required])\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-16\n * Metodo carga el formulario dependiendo a la configuracion de email cargado. \n */\n loadFormWhenSendDraftEmail(): void {\n if (this.typeManagerMessage === 'Enviar borrador') {\n const searchEmailConfigSelect = this.emailsConfig.find(item => item.id_email === this.formNewMessage.get('emailConfig').value);\n if (searchEmailConfigSelect) {\n this.formId = searchEmailConfigSelect.form_id;\n this.getForm();\n }\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-15\n * Metodo que agrega una cadena de texto sobre los input de correos.\n * @param textEmails Cadena con el correo. \n * @param typeList Nombre del campo con el cual se va a trabajar. \n */\n addEmailToInput(textEmails: any[], typeList: string): void {\n const arrayToEmails = textEmails.map(item => item.name);\n arrayToEmails.forEach(value => {\n if (value && value !== '') {\n const newFormGroup = this.formBuilder.group({ name: new FormControl(value, [Validators.email]) });\n const arrayForm = this.formNewMessage.get(typeList) as FormArray;\n arrayForm.push(newFormGroup);\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-15\n * Metodo que actualiza la lista de adjuntos cargados en un correo borrador.\n * @param $event Evento emitido por el componente hijo. \n */\n onDeleteFileToLoadEmail($event: any): void {\n this.filesToLoadEmail = this.filesToLoadEmail.filter(file => file.id !== $event);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-30\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formNewMessage.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-04\n * Metodo que obtiene el formulario de CRM mediante el ID. \n */\n getForm(): void {\n this.formRequestService.getForm(`searchform/${this.formId}`, 1000, 1).subscribe(res => {\n this.formCrm = res;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-04\n * Metodo que ejecuta el submit del formulario de CRM.\n * @param $event Evento emitido por el formulario de CRM. \n */\n submitFormCrm($event: any): void {\n this.formStructureCrm = $event;\n this.validFormCrm = $event.isValid;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo valida el tipo de gestion a realizar y hace el llamado al submit del formulario. \n */\n validateTypeManagerForSubmitMail(): void {\n this.formCrmComponent.onSubmit();\n this.sendEmail();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-15\n * Metodo que trae los estados registrados en el sistema. \n */\n getStates(): void {\n this.stateService.getStates().subscribe(res => {\n this.states = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-31\n * Metodo que trae las configuraciones de correos de salida registrados en el sistema. \n */\n getEmailsConfig(): void {\n const idRrhh = this.userLogin.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data;\n this.loadFormWhenSendDraftEmail();\n this.setDataFormForDataDialog();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-31\n * Metodo que carga el formulario de CRM a partir de la configuracion de email seleccionado.\n * @param $event Evento emitido por el campo select. \n */\n onChangeSelectEmailConfig($event: MatSelectChange): void {\n if (this.typeManagerMessage !== 'Guardar información') {\n const searchEmailConfigSelect = this.emailsConfig.find(item => item.id_email === $event.value);\n if (searchEmailConfigSelect) {\n this.getTemplates();\n this.formNewMessage.get('from').setValue(searchEmailConfigSelect.user_name_email_entrada);\n if (this.typeManagerMessage !== 'Reenviar') {\n this.formId = searchEmailConfigSelect.form_id;\n this.getForm();\n }\n }\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-29\n * Metodo que envia el correo con la data del formulario. \n */\n sendEmail(): void {\n const dataFormCrm = createDataFormCrmV2(this.formStructureCrm, 'typification', this.formCrm);\n if (this.validFormCrm && dataFormCrm && this.formNewMessage.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De enviar el correo?').then(confirm => {\n if (confirm.isConfirmed) {\n this.formRequestService.postForm('formanswer/saveinfo', dataFormCrm).subscribe(resCrm => {\n if (resCrm.data) {\n const formDataMessage = new FormData();\n formDataMessage.append('type', 'nuevo');\n formDataMessage.append('id_referencia_crm', resCrm.data.formAsnwerId);\n formDataMessage.append('recipients', this.formNewMessage.value.to.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cc', this.formNewMessage.value.cc.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cco', this.formNewMessage.value.cco.map((item: any) => item.name).join());\n formDataMessage.append('listImageBase', '');\n formDataMessage.append('email_config_id', this.formNewMessage.value.emailConfig);\n formDataMessage.append('asunto', this.formNewMessage.value.subject);\n formDataMessage.append('cuerpo', this.formNewMessage.value.message);\n this.formNewMessage.value.attachments.forEach((item: any) => {\n formDataMessage.append('files[]', item.file);\n });\n this.emailService.sendEmail(formDataMessage).subscribe(resEmail => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: 'El correo se ha enviado con éxito.'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(this.typeManagerMessage);\n });\n }\n });\n }\n });\n } else {\n this.formNewMessage.markAllAsTouched();\n this.alertService.alertError('Error', 'Error al procesar los formularios');\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-03\n * Metodo que envia el correo a la bandeja de borradores.\n */\n saveMessageToDraftEmail(): void {\n this.alertService.alertWarning('¿Está seguro?', '¿De descartar el envió del correo?, recuerde que este quedara almacenado en la bandeja de borradores').then(confirm => {\n if (confirm.isConfirmed) {\n const formDataMessage = new FormData();\n const typeManager = this.typeManagerMessage === 'Enviar' ? 'nuevo' : this.typeManagerMessage === 'Responder' ? 'responder' : 'reenviar';\n formDataMessage.append('type', typeManager);\n formDataMessage.append('recipients', this.formNewMessage.value.to.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cc', this.formNewMessage.value.cc.map((item: any) => item.name).join());\n formDataMessage.append('recipients_cco', this.formNewMessage.value.cco.map((item: any) => item.name).join());\n formDataMessage.append('listImageBase', '');\n formDataMessage.append('email_config_id', this.formNewMessage.value.emailConfig);\n formDataMessage.append('asunto', this.formNewMessage.value.subject);\n formDataMessage.append('cuerpo', this.formNewMessage.value.message);\n this.formNewMessage.value.attachments.forEach((item: any) => {\n formDataMessage.append('files[]', item.file);\n });\n formDataMessage.append('es_borrador', true.toString());\n this.emailService.sendEmail(formDataMessage).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: 'Mensaje almacenado en borradores'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(this.typeManagerMessage);\n });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-11\n * Metodo que setea el mensaje del correo si se seleccionó una plantilla.\n * @param $event Evento emitido por el componente hijo. \n */\n onChangeTemplate($event: number): void {\n const findTemplateSelected = this.templates.find(item => item.id === $event);\n if (findTemplateSelected) this.formNewMessage.get('message').setValue(findTemplateSelected.body);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-11\n * Metodo que trae las platillas registradas en el sistema.\n */\n getTemplates(): void {\n this.templateService.getTemplatesByIdEmailConfig(this.formNewMessage.get('emailConfig').value).subscribe(res => {\n this.templates = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-23\n * Metodo que trae las platillas registradas en el sistema.\n * @param actionButton Tipo de accion a ejecutar. \n */\n onClickNabvarButton(actionButton: string): void {\n if (actionButton === 'cross') {\n this.alertService.alertWarning('¿Está seguro?', '¿De salir del formulario?. Los datos registrados en el formulario se perderan').then(confirm => {\n if (confirm.isConfirmed) this.matDialogRef.close({ dataFormNewMessage: null });\n });\n } else {\n this.matDialogRef.close({ dataFormNewMessage: this.formNewMessage.value });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-23\n * Metodo que precarga la data del formulario cuando la modal se minimiza. \n */\n setDataFormForDataDialog(): void {\n if (this.data.email !== null) {\n console.log(this.data.email);\n this.formNewMessage.get('emailConfig').setValue(this.data.email.emailConfig);\n const searchEmailConfigSelect = this.emailsConfig.find(item => item.id_email === this.formNewMessage.get('emailConfig').value);\n if (searchEmailConfigSelect) {\n this.getTemplates();\n this.formNewMessage.get('from').setValue(searchEmailConfigSelect.user_name_email_entrada);\n if (this.typeManagerMessage !== 'Reenviar') {\n this.formId = searchEmailConfigSelect.form_id;\n this.getForm();\n }\n }\n if (this.data.email.to.length > 0) this.addEmailToInput(this.data.email.to, 'to');\n if (this.data.email.cc.length > 0) this.addEmailToInput(this.data.email.cc, 'cc');\n if (this.data.email.cco.length > 0) this.addEmailToInput(this.data.email.cco, 'cco');\n if (this.data.email.attachments.length > 0) this.addFiles(this.data.email.attachments);\n this.formNewMessage.get('subject').setValue(this.data.email.subject);\n this.formNewMessage.get('template').setValue(this.data.email.template);\n this.formNewMessage.get('message').setValue(this.data.email.message);\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-23\n * Metodo agrega un archivo a la lista de archivos del formulario. \n * @param listFiles Lista de archivos precargados. \n */\n addFiles(listFiles: any[]) {\n for (let i = 0; i < listFiles.length; i++) {\n const newFormGroup = this.formBuilder.group({ file: new FormControl(listFiles[i].file, []) });\n const arrayForm = this.formNewMessage.get('attachments') as FormArray;\n arrayForm.push(newFormGroup);\n }\n }\n}","
\n
\n Nuevo mensaje\n
\n
\n \n \n
\n
\n
\n
\n
\n
Configuración de correo
\n \n \n {{ item.user_name_email_entrada\n }}\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n
\n \n \n \n \n
Gestión de formulario
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
Correo
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
","import { Component, OnInit, Inject, ViewChild, AfterViewInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { EscalationService } from '../../../services/rest/escalation.service';\nimport { Observable } from 'rxjs';\nimport { startWith, map } from 'rxjs/operators';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { DatePipe } from '@angular/common';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { ViewEscalationComponent } from '../view-escalation/view-escalation.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { ThemePalette } from '@angular/material/core';\nimport { CreateStateComponent } from '../create-state/create-state.component';\nimport { CreateAffairComponent } from '../create-affair/create-affair.component';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { EditUserComponent } from '../edit-user/edit-user.component';\nimport { MailEscalationComponent } from '../mail-escalation/mail-escalation.component';\nimport { GestionadorCorreosComponent } from \"../gestionador-correos/gestionador-correos.component\";\n\n@Component({\n selector: 'app-escalation',\n templateUrl: './admin-escalation.component.html',\n styleUrls: ['./admin-escalation.component.sass']\n})\nexport class AdminEscalationComponent implements OnInit, AfterViewInit {\n\n escalationfilter: FormGroup;\n public advancedFilters: boolean = true;\n message: string;\n channels: any;\n areas: any;\n subjects: any;\n status: any;\n users: any;\n gridUser: any;\n filteredOptionsUser: Observable;\n rol: any;\n step: number;\n\n\n // MatPaginator Inputs\n length = 0;\n pageSize = 5;\n page = 1;\n\n lengthS;\n pageSizeS = 5;\n pageS = 1;\n\n lengthA;\n pageSizeA = 5;\n pageA = 1;\n\n lengthU;\n pageSizeU = 5;\n pageU = 1;\n\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n displayedColumns: string[] = ['traffic_lights', 'is_anonimous', 'id', 'created_at', 'name', 'document', 'subject', 'channel', 'status', 'responsible', 'accion'];\n dataSource = new MatTableDataSource();\n\n displayedColumnsUser: string[] = ['name', 'id_document', 'roles', 'email', 'accion'];\n dataSourceUser = new MatTableDataSource();\n\n displayedColumnsEstados: string[] = ['name', 'description', 'accion'];\n dataSourceEstados = new MatTableDataSource();\n\n displayedColumnsAsuntos: string[] = ['name', 'description', 'accion'];\n dataSourceAsuntos = new MatTableDataSource();\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild('paginator') paginator: MatPaginator;\n @ViewChild('paginatorUser') paginatorUser: MatPaginator;\n @ViewChild('paginatorEstados') paginatorEstados: MatPaginator;\n @ViewChild('paginatorAsuntos') paginatorAsuntos: MatPaginator;\n\n color: ThemePalette = 'primary';\n checked = false;\n disabled = false;\n\n constructor(private form: FormBuilder,\n public escalationService: EscalationService,\n public datePipe: DatePipe,\n private destroyService: DestroyComponentService,\n public dialog: MatDialog,\n public authService: AuthService,\n private alertsService: AlertsService) { }\n\n ngOnInit(): void {\n this.formControl();\n this.getRolUser();\n this.escalationService.getEscalationInfo().subscribe(res => {\n this.channels = res?.canales;\n this.areas = res?.areas;\n this.subjects = res?.asuntos;\n this.status = res?.estados;\n this.getGridState();\n this.getGridAsunto();\n });\n\n this.escalationfilter.get('areaAfectada').valueChanges.subscribe(res => {\n this.users = this.areas.find(element => element.id === res)?.users;\n this.filteredOptionsUser = this.escalationfilter.get('asignado').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(campaigns => campaigns ? this._filterUser(campaigns) : this.users.slice())\n );\n });\n this.getGridUsuarios();\n this.showButtonMessage();\n\n }\n\n openDialogGestionadorCorreos(): void {\n this.dialog.open(GestionadorCorreosComponent, {\n width: '1000px'\n })\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que obtiene que rol tiene asignado dependiendo del aplicativo\n */\n getRolUser(): void{\n const user = this.authService.getUser();\n user.roles.forEach(rol => {\n const name = rol.split('::');\n if (name[0] === 'pqrs') {\n this.rol = name[1];\n }\n });\n }\n\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que se encarga de consultar los datos de la grilla de escalamientos\n * @param size tamaño de datos a traer\n * @param page pagina a traer\n */\n getGridUser(): void {\n\n this.escalationService.getUsersGrid(this.pageSize, this.page).subscribe(respGrid => {\n this.dataSource.data = respGrid.data;\n this.dataSource.sort = this.sort;\n \n setTimeout(() => {\n this.paginator.pageIndex = this.page - 1;\n this.paginator.length = respGrid.total;\n \n });\n \n });\n\n }\n\n ngAfterViewInit() {\n this.dataSource.paginator = this.paginator;\n this.dataSourceUser.paginator = this.paginatorUser;\n this.dataSourceEstados.paginator = this.paginatorEstados;\n this.dataSourceAsuntos.paginator = this.paginatorAsuntos;\n }\n\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de consultar los datos de la grilla de usuarios\n * @param size tamaño de datos a traer\n * @param page pagina a traer\n */\n getGridUsuarios(): void {\n this.escalationService.getUsers().subscribe(res => {\n this.dataSourceUser.data = res;\n this.dataSourceUser.sort = this.sort;\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de traer los datos de la grilla de estados\n * @param size tamaño de datos a traer\n * @param page pagina a traer\n */\n getGridState(): void{\n this.dataSourceEstados.data = this.status;\n this.dataSourceEstados.sort = this.sort;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de traer los datos de la grilla de asuntos\n * @param size tamaño de datos a traer\n * @param page pagina a traer\n */\n getGridAsunto(): void{\n this.dataSourceAsuntos.data = this.subjects;\n this.dataSourceAsuntos.sort = this.sort;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que se encarga del paginador al momento de cambiar de pagina en la grilla de escalamientos\n * @param event evento que trae la pagina a listar\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n if (this.advancedFilters) {\n this.filter(this.escalationfilter, true);\n } else {\n this.getGridUser();\n }\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que se encarga del paginador al momento de cambiar de pagina en la grilla de estados\n * @param event evento que trae la pagina a listar\n */\n pageEventS(event: any): void {\n\n this.pageSizeS = event.pageSize;\n this.pageS = event.pageIndex + 1;\n this.getGridState();\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que se encarga del paginador al momento de cambiar de pagina en la grilla de asuntos\n * @param event evento que trae la pagina a listar\n */\n pageEventA(event: any): void {\n\n this.pageSizeA = event.pageSize;\n this.pageA = event.pageIndex + 1;\n this.getGridAsunto();\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que se encarga del paginador al momento de cambiar de pagina en la grilla de usuarios\n * @param event evento que trae la pagina a listar\n */\n pageEventU(event: any): void {\n this.pageSizeU = event.pageSize;\n this.pageU = event.pageIndex + 1;\n this.getGridUsuarios();\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void{\n\n this.escalationfilter = this.form.group({\n radicado: new FormControl(''),\n fecha: new FormControl('', []),\n canal: new FormControl('', []),\n asunto: new FormControl('', []),\n areaAfectada: new FormControl('', []),\n asignado: new FormControl('', []),\n estado: new FormControl('', []),\n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * metodo que se establece para el control del autocompletable\n * @param id id a buscar\n * @returns respuesta del autocomplete\n */\n displayFn(id: number): string{\n if (!id) { return ''; }\n let index = this.users.findIndex(resp => resp.id === id);\n return this.users[index].name;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * metodo que se encarga de filtrar los datos del autocomplete\n * @param value valor a filtrar\n * @returns valores filtrados\n */\n private _filterUser(value: string): any[] {\n const filterValueUser = value.toLowerCase();\n return this.users.filter(option => option.name.toLowerCase().indexOf(filterValueUser) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * metodo que se encarga del filtrado de los datos de la grilla\n * @param escalationfilter formulario a filtrar\n */\n filter(escalationfilter, usePaginate = false): void{\n\n const filter = new FormData();\n\n filter.append( 'radicado', escalationfilter.value.radicado ? escalationfilter.value.radicado : '');\n filter.append( 'fecha', this.datePipe.transform(escalationfilter.value.fecha, 'yyyy-MM-dd', 'es-ES') ? this.datePipe.transform(escalationfilter.value.fecha, 'yyyy-MM-dd', 'es-ES') : '');\n filter.append( 'canal_id', escalationfilter.value.canal ? escalationfilter.value.canal : '' );\n filter.append( 'asunto_id', escalationfilter.value.asunto ? escalationfilter.value.asunto : '' );\n filter.append( 'area_id', escalationfilter.value.areaAfectada ? escalationfilter.value.areaAfectada : '');\n filter.append( 'solucionador_id', escalationfilter.value.asignado ? escalationfilter.value.asignado : '' );\n filter.append( 'estado_id', escalationfilter.value.estado ? escalationfilter.value.estado : '' );\n if(usePaginate === false) {\n this.page = 1;\n }\n this.escalationService.getFilter(filter, this.pageSize, this.page).subscribe((response) => {\n this.dataSource.data = response.data;\n this.dataSource.sort = this.sort;\n setTimeout(() => {\n this.paginator.pageIndex = this.page - 1;\n this.paginator.length = response.total;\n \n });\n \n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que maneja el cambio del mensaje en el botos de activar filtros\n */\n showButtonMessage(): void {\n this.advancedFilters = !this.advancedFilters;\n if (!this.advancedFilters) {\n this.page = 1;\n this.getGridUser();\n this.message = 'Activar Filtros';\n } else {\n this.message = 'Desactivar Filtros';\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Meotod que redirige al modal de ver escalamiento\n * @param id dat anecesaria para el modal\n */\n visualizar(id: any): void{\n\n const dialogViewEscala = this.dialog.open(ViewEscalationComponent, {\n width: '75%',\n disableClose: true,\n data: {\n type: 'viewEscalamiento',\n title: 'Visualizar Escalamiento',\n id\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogViewEscala.afterClosed().subscribe(() => {\n this.getGridUser();\n });\n\n }\n\n setStep(index: number): void {\n this.step = index;\n }\n\n nextStep(): void {\n this.step++;\n }\n\n prevStep(): void {\n this.step--;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Meotod que redirige al modal de ver crear estado\n * @param data dat anecesaria para el modal\n */\n crearEstado(): void{\n const dialogNewEstado = this.dialog.open(CreateStateComponent, {\n width: '75%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Estado',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewEstado.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Meotod que redirige al modal de editar estado\n * @param data dat anecesaria para el modal\n */\n editarEstado(data: any): void{\n const dialogEditRol = this.dialog.open(CreateStateComponent, {\n width: '75%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar Estado',\n data\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogEditRol.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Meotod que redirige al modal de crear asunto\n * @param data dat anecesaria para el modal\n */\n crearAsunto(): void{\n const dialogNewAsunto = this.dialog.open(CreateAffairComponent, {\n width: '75%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Asunto',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewAsunto.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Meotod que redirige al modal de editar asunto\n * @param data dat anecesaria para el modal\n */\n editarAsunto(data: any): void{\n const dialogEditAsunto = this.dialog.open(CreateAffairComponent, {\n width: '75%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar Asunto',\n data\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogEditAsunto.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Meotod que redirige al modal de editar usuario\n * @param data dat anecesaria para el modal\n */\n editarUser(data: any): void{\n const dialogEditUser = this.dialog.open(EditUserComponent, {\n width: '75%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Asignar area',\n data\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogEditUser.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga del comportamiento del toggle de la grilla de estados\n * @param row fila del toggle\n * @param event evento del toggle es true o false\n */\n toggleState(row: any, event: any): void{\n\n const state = new FormData();\n\n state.append( 'state', event);\n\n this.escalationService.updateState(row.id, state).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', resp.data);\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga del comportamiento del toggle de la grilla de asuntos\n * @param row fila del toggle\n * @param event evento del toggle es true o false\n */\n toggleAsunto(row: any, event: any): void{\n\n const asunto = new FormData();\n\n asunto.append( 'state', event);\n\n this.escalationService.updateAsunto(row.id, asunto).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', resp.data);\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga del comportamiento del toggle de la grilla de usuarios\n * @param row fila del toggle\n * @param event evento del toggle es true o false\n */\n toggleUser(row: any, event: any): void{\n\n const user = new FormData();\n\n user.append( 'state', event);\n\n this.escalationService.updateUsuario(row.rrhh_id, user).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', 'El estado cambio correctamente');\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n visualizarEmail(data: any): void{\n\n const dialogViewEscala = this.dialog.open(MailEscalationComponent, {\n width: '75%',\n disableClose: true,\n data: {\n type: 'Correo',\n title: 'Visualizar Correo',\n data\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogViewEscala.afterClosed().subscribe(() => {\n\n });\n\n }\n\n\n}\n","\n\n\n\n\n
\n

Escalamiento

\n

Bienvenido a la bandeja de radicación de tickets, aquí podrás radicar nuevas solicitudes de las mismas, revisar y/o gestionar las solicitudes pendientes de radicación.

\n
\n\n
\n\n \n\n \n
\n
\n\n
\n\n \n Número de Radicado\n \n \n\n \n Fecha\n \n \n \n No estas incluyendo una fecha\n \n\n \n Canal\n \n Ninguna\n \n {{channel.name}}\n \n \n \n\n \n Asunto\n \n Ninguna\n \n {{subject.name}}\n \n \n \n\n \n Área Afectada\n \n Ninguna\n \n {{area.name}}\n \n \n \n\n \n Asignado\n \n \n Ninguna\n \n {{option.name}}\n \n \n \n\n \n Estado\n \n Ninguna\n \n {{state.name}}\n \n \n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Anonimo {{row.is_anonimous == 0 ? 'No' : 'Si'}} Radicado {{row.id}} Fecha {{(row.fecha_Hora == null ? row.created_at : row.fecha_Hora ) | date:'shortDate'}} Cliente {{row.is_anonimous == 0 ? row.client?.name : 'Anónimo'}} Documento {{row.is_anonimous == 0 ? row.client?.document : 'Anónimo'}} Asunto {{row?.subject}} Canal {{row?.channel}} Estado {{row.status}} Responsable {{row.responsible}} \n\n
\n\n \n
\n\n
\n \n
\n\n
No hay datos que coincidan con el filtro
\n\n \n
\n
\n\n
\n
\n\n
\n
\n
 Prioridad Baja\n
\n
\n
 Prioridad Media\n
\n
\n
 Prioridad Alta\n
\n
\n\n
\n\n \n\n
\n
\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Nombre {{row.name}} Documento {{row.id_document}} Rol {{row.roles[0]}} Correo {{row.email}} \n\n \n\n \n \n\n
No hay datos que coincidan con el filtro
\n\n \n
\n
\n\n
\n\n \n\n
\n\n \n\n \n \n \n Estados\n \n \n Define la gestión a realizar en las PQRS\n \n \n\n
\n \n
\n
\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Nombre del campo {{row.name}} Descripción {{row.description}} \n\n \n\n \n \n\n
No hay datos que coincidan con el filtro
\n\n \n
\n
\n\n \n \n \n
\n\n\n \n \n \n Asuntos\n \n \n Motivo principal asociado a la PQRS\n \n \n\n
\n \n
\n
\n\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Nombre {{row.name}} Descripción {{row.description}} \n\n \n\n \n \n\n
No hay datos que coincidan con el filtro
\n\n \n
\n
\n\n \n \n \n \n
\n\n
\n\n\n
\n\n
\n\n\n
\n\n\n\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, ViewChild, Output, ElementRef } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators, ReactiveFormsModule } from '@angular/forms';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { DestroyComponentService } from '../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../shared/alerts/alerts.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { ImportDesprendibleService } from '../../services/rest/ImportDesprendible.service';\nimport Swal from 'sweetalert2';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { FilesViewComponent } from 'src/app/shared/files-view/files-view.component';\nimport { PaymentSlipService } from 'src/app/modules/rrhh/services/paymentSlip.service';\n\n\n\n@Component({\n selector: 'app-desprendibles',\n templateUrl: './import-desprendibles.component.html',\n styleUrls: ['./import-desprendibles.component.sass']\n})\nexport class ImportDesprendiblesComponent implements OnInit {\n\n // MatPaginator Inputs\n dataSource = new MatTableDataSource();\n documento_work = new FormControl('');\n typeDocument = new FormControl('');\n data_name_work = [];\n FrmFormulario: FormGroup;\n length = 100;\n result_busqueda = 0; // Si encuentra o no resultados, se activan las visualez\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n total_registros = 5;\n\n displayedColumns: string[] = ['actions','fecha_carga', 'nombre', 'documento', 'salario_basico', 'total_descuentos', 'total_neto_pagar']; //Tabla inicial\n displayedColumns2: string[] = ['nombre', 'documento', 'salario_basico', 'total_descuentos', 'total_neto_pagar']; //Tabla para el modal\n\n months: any = [\n { id: 'all', name: 'Todos' },\n { id: 1, name: 'Enero' },\n { id: 2, name: 'Febrero' },\n { id: 3, name: 'Marzo' },\n { id: 4, name: 'Abril' },\n { id: 5, name: 'Mayo' },\n { id: 6, name: 'Junio' },\n { id: 7, name: 'Julio' },\n { id: 8, name: 'Agosto' },\n { id: 9, name: 'Septiembre' },\n { id: 10, name: 'Octubre' },\n { id: 11, name: 'Noviembre' },\n { id: 12, name: 'Diciembre' },\n ];\n years: any = [];\n\n documents: any = [];\n\n private month: string = '';\n private year: string = '';\n private document: string = '';\n private typeDoc: string = '';\n public uploadFile;\n nameFile: any;\n FileData: any;\n @ViewChild('fileInput') fileInput: ElementRef;\n selectMonths = new FormControl('');\n selectYears = new FormControl('');\n\n constructor(private importDesprendibles: ImportDesprendibleService,\n private alert: AlertsService,\n private formBuilder: FormBuilder,\n private users: CandidatesService,\n private dialog: MatDialog,\n private paymentSlipService: PaymentSlipService) { }\n\n ngOnInit(): void {\n let dateCurrier = new Date();\n let yearCurrier = dateCurrier.getFullYear();\n let yearMin = 2022;\n while (yearMin <= yearCurrier) { //Llenamos el array years con los años para el filtro\n this.years.push(yearMin);\n yearMin++;\n }\n //se listan los tipos de documentos\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n //Tabla historico de desprendibles\n this.get_data(this.pageSize, this.page);\n this.uploadFile = this.formBuilder.group({\n file: ['']\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.typeDoc = resp;\n });\n\n this.selectMonths.setValidators([Validators.required]);\n this.selectMonths.updateValueAndValidity();\n\n this.selectYears.setValidators([Validators.required]);\n this.selectYears.updateValueAndValidity();\n\n this.selectMonths.valueChanges.subscribe(resp => {\n this.month = resp;\n this.get_data(this.pageSize, this.page);\n this.show_list(this.month, this.year);\n });\n this.selectYears.valueChanges.subscribe(resp => {\n this.year = resp;\n this.get_data(this.pageSize, this.page);\n this.show_list(this.month, this.year);\n });\n }\n\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.get_data(this.pageSize, this.page);\n }\n\n /**\n * @author David Reinoso\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e) {\n this.document = e;\n this.get_data(this.pageSize, this.page);\n }\n\n /**\n * @author David Reinoso\n * Metodo para cargar el archivo\n */\n onChangeFile(e) {\n this.uploadFile.get('file').setValue('');\n this.nameFile = e.target.files[0].name;\n this.FileData = e.target.files[0];\n this.uploadFile.get('file').setValue(this.FileData);\n this.upload();\n e.target.value = null;\n }\n\n\n /**\n * @author David Reinoso\n * @createdate 2022-12-2\n */\n get_data(pageSize, page) {\n this.importDesprendibles.getPaymentSlipData({\n month: this.month,\n year: this.year,\n document: this.document,\n typeDoc: this.typeDoc,\n }, pageSize, page).subscribe(resp => {\n this.dataSource = resp.data.data;\n this.length = resp.data.total;\n });\n }\n\n /**\n * @author David Reinoso\n * @createdate 2022-12-2\n */\n downloadTemplate() {\n this.importDesprendibles.downloadTemplate().subscribe(resp => {\n importedSaveAs(resp, 'plantilla_cargue_desprendibles_de_nomina.xlsx');\n });\n }\n\n /**\n * @author David Reinoso\n * @createdate 2022-12-2\n */\n upload() {\n const formData = new FormData();\n formData.append('file', this.uploadFile.get('file').value);\n\n let str = '¿En verdad deseas cargar el archivo?,' + '\\n' + 'recuerda que si te equivocas podrás cargar de nuevo la' + '\\n' + 'plantilla y el sistema lo corregirá' + '\\n' + 'automáticamente

Nombre del archivo
' + this.nameFile;\n Swal.fire({\n title: '¿Estás seguro?',\n html: '
' + str + '
',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.importDesprendibles.uploadFile(formData).subscribe(resp => {\n if (resp?.data?.msg == 'Se generó un Excel con los errores presentados') {\n this.alert_error(resp?.data?.file_url, resp?.data?.count_good, resp?.data?.count_bad);\n }\n if (resp.data == \"Proceso realizado correctamente\") {\n this.alert.alertSuccessWithoutButton('¡Excelente!', 'Se ha cargado el archivo con éxito.');\n }\n this.get_data(this.pageSize, this.page);\n });\n }\n });\n this.uploadFile.get('file').setValue('');\n this.nameFile = '';\n this.FileData = '';\n }\n\n\n alert_error(file_error, good, bad) {\n\n let mgs = \"Lo sentimos, ha ocurrido un error inesperado y no
fue posible cargar todos los desprendibles.\";\n mgs = mgs.concat(\"

Resumen de la gestión
\");\n mgs = mgs.concat(\"
Desprendibles cargados: \" + good + \"\");\n mgs = mgs.concat(\"
Desprendibles con error: \" + bad + \"
\");\n\n let btn_import = '
');\n\n let btn_dowload = '

');\n\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: 'btn',\n cancelButton: 'btn'\n },\n buttonsStyling: false\n })\n\n swalWithBootstrapButtons.fire({\n icon: 'error',\n title: '¡Oops!',\n showCloseButton: true,\n width: '628px',\n html: mgs,\n showCancelButton: true,\n confirmButtonText: btn_dowload,\n cancelButtonText: btn_import,\n reverseButtons: false,\n allowOutsideClick: false\n }).then((result) => {\n if (result.isConfirmed) {\n window.open(file_error, '_blank');\n } else if (result.dismiss === Swal.DismissReason.cancel) {\n this.fileInput.nativeElement.click();\n }\n })\n }\n\n show_list(mount, year) {\n if (mount != '' && year != '') this.result_busqueda = 1;\n else this.result_busqueda = 0;\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2023-09-08\n * Método que obtiene el desprendible, si es vista se visualiza en un modal, de lo contrario lo descarga\n */\n getCertificate(id:number,isView:boolean){\n const lastMonth = new Date().getMonth()+1 == this.selectMonths.value;\n this.paymentSlipService.getPayment(Number(this.selectMonths.value), this.selectYears.value, lastMonth, '', id).subscribe((resp: any) => {\n if (isView) {\n let fileURL = URL.createObjectURL(resp);\n const checkDialog = this.dialog.open(FilesViewComponent, {\n data: { url: fileURL, name: \"desprendible_nomina\", file: resp ,print: true}\n });\n } else {\n importedSaveAs(resp, \"desprendible_nomina\");\n }\n\n })\n}\n}\n","
\n
\n

Desprendibles de pago

\n

En este espacio podrás revisar y cargar los ítems de los desprendibles
de pago, no olvides, \"El respeto y\n empatía son clave\".

\n
\n\n
\n\n
\n \n Mes\n \n Seleccionar\n \n {{item?.name}}\n \n \n\n \n
\n\n
\n \n Año\n \n Seleccionar\n\n \n {{item}}\n \n \n \n
\n\n
\n\n
\n \n
\n\n
\n \n\n \n
\n\n
Nota: Ten en cuenta que debes seleccionar el mes para\n descargar, cargar y ver los desprendibles. Si te equivocas, podrás cargar de nuevo la plantilla y el\n sistema hará automáticamente las correcciones.
\n\n
\n \"\"\n
\n\n
\n\n\n
\n\n
\n \n Documento\n \n \n {{item.key}}\n \n \n
\n\n
\n\n\n
\n
\n\n\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
\n \n \n Fecha de carga {{row.created_at | date:\"dd-MM-yyyy\"}} Nombre {{row.name}} Documento {{row.document}} Salario básico {{row.basic_salary}} Total descuentos {{row.total_discounts}} Total neto pagado {{row.total_net_paid}}
No hay datos
\n\n \n \n\n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { throwError } from 'rxjs';\nimport { environment } from '../../../../environments/environment';\n\nconst urlRRHH = environment.RRHH_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RecruitersService {\n\n constructor(private http: HttpClient) { }\n\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n };\n\n handleError(error: HttpErrorResponse) {\n return throwError(error);\n }\n\n getReclutadores(role) {\n // return this.reclutadores;\n\n return this.http.get(`${urlRRHH}users/role/${role}`, this.httpOptions);\n }\n}","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport * as moment from 'moment';\nimport { Subscription } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { TimePipe } from 'src/app/modules/calidad/pipes/time.pipe';\nimport { AuditoriaService } from 'src/app/modules/calidad/services/auditoria.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport Swal from 'sweetalert2';\nimport { FormInteligenciaComponent } from '../detalle-auditoria/components/form-inteligencia/form-inteligencia.component';\nimport {TranslatesService} from '../../../../services/translates.service';\nimport { DataAuditoria } from 'src/app/modules/calidad/interfaces/dataAuditoria.interface';\n\n@Component({\n\tselector: 'app-form-auditar',\n\ttemplateUrl: './form-auditar.component.html',\n\tstyleUrls: ['./form-auditar.component.sass']\n})\nexport class FormAuditarComponent implements OnInit, OnDestroy {\n private uuid = 'ae5de06-92b4-11ee-b9d1-0242ac120002';\n public config: any;\n\n\t@Input() tiene_inteligencia;\n\t@Input() dataCalificacion: any = {};\n\t@Input() id_matriz;\n\t@Input() data: DataAuditoria;\n\t@Output() envioTipoAuditar = new EventEmitter();\n\t@Output() envioTab = new EventEmitter();\n\tauditarForm: FormGroup;\n\tcedula: string = \"\";\n\ttiempo = '';\n\tid_asesor;\n\t//Selects\n\tmonitoreos = [];\n\tservicios = [];\n\tauditorias = [];\n\tsoluciones = [];\n\ttipoMuestra = [];\n\tojts = [];\n\tno_soluciones = [];\n\tdias = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n\tendDate = new Date();\n\n\t//Observable para los cambios en los servicios de auditoria\n\tsubscription: Subscription;\n\n\tconstructor(\n\t\tprivate dialog: MatDialog,\n\t\tprivate auditoriaService: AuditoriaService,\n\t\tprivate fb: FormBuilder,\n\t\tprivate router: Router,\n\t\tprivate pipeTime: TimePipe,\n private configService: TranslatesService,\n\t) { }\n\n\tngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n\t\tthis.getSelects();\n\t\tthis.createForm();\n\n\t\tthis.subscription = this.auditoriaService.refresh$.subscribe(() => {\n\t\t\tthis.dataCalificacion.modulos = [];\n\t\t});\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscription.unsubscribe();\n\t}\n\n\tsaveForm() {\n\t\tlet num_items = 0;\n\t\tlet num_items_calificados = 0;\n\n\t\tlet commentacreado =false;\n\t\tthis.dataCalificacion.modulos.forEach(modulo => {\n\t\t\t// num_items = num_items + modulo.items_modulo.length\n\t\t\tmodulo.items_modulo.forEach(item => {\n\t\t\t\tif (item.activo == 1) {\n\t\t\t\t\tnum_items++;\n\t\t\t\t}\n\t\t\t\tif (item.calificacion || item.calificacion === null) {\n\t\t\t\t\tnum_items_calificados++\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif((item.comments == null) && (this.data.comment_is_mandatory_for.includes('0'))&& (item.calificacion==\"no\")){\n\t\t\t\t\tcommentacreado=true;\n\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\ticon: 'warning',\n\t\t\t\t\t\ttitle: 'El comentario de la calificacion es requerido',\n\t\t\t\t\t\tconfirmButtonText: 'Entendido',\n\t\t\t\t\t\twidth: '750px',\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t} \n\t\t\t\tif((item.comments == null) && (this.data.comment_is_mandatory_for.includes('1'))&& (item.calificacion==\"si\")){\n\t\t\t\t\tcommentacreado=true;\n\n\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\ticon: 'warning',\n\t\t\t\t\t\ttitle: 'El comentario de la calificacion es requerido ',\n\t\t\t\t\t\tconfirmButtonText: 'Entendido',\n\t\t\t\t\t\twidth: '750px',\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif((item.comments == null) && (this.data.comment_is_mandatory_for.includes('2')) && (item.calificacion==\"na\")){\n\t\t\t\t\tcommentacreado=true;\n\n\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\ticon: 'warning',\n\t\t\t\t\t\ttitle: 'El comentario de la calificacion es requerido ',\n\t\t\t\t\t\tconfirmButtonText: 'Entendido',\n\t\t\t\t\t\twidth: '750px',\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif((item.comments == null) && (this.data.comment_is_mandatory_for.includes('3'))&& (item.calificacion==\"cp\")){\n\t\t\t\t\tcommentacreado=true;\n\n\t\t\t\t\tSwal.fire({\n\t\t\t\t\t\ticon: 'warning',\n\t\t\t\t\t\ttitle: 'El comentario de la calificacion es requerido ',\n\t\t\t\t\t\tconfirmButtonText: 'Entendido',\n\t\t\t\t\t\twidth: '750px',\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (item.comments != null) {\n\t\t\t\t\tlet comentario: string = item.comments\n\t\t\t\t\tconsole.log( comentario.length,this.data.comment_size, comentario);\n\t\t\t\t\tif (item.comments.length {\n\t\t\tdata.seleccionItemsAfectacion.push({\n\t\t\t\tmodulo_id: modulo.id,\n\t\t\t\tpadre_id: modulo.padre_id,\n\t\t\t\tnivel: modulo.nivel,\n\t\t\t\tpuntaje: \"\",\n\t\t\t\titemsAfectados: [],\n\t\t\t})\n\t\t\tmodulo.items_modulo.forEach(item => {\n\t\t\t\tdata.seleccionItemsAfectacion[index].itemsAfectados.push({\n\t\t\t\t\titem_id: item.id,\n\t\t\t\t\tpadreitem: item.padre_id,\n\t\t\t\t\tnivelItem: item.nivel,\n\t\t\t\t\tcalificacion: item.calificacion,\n\t\t\t\t\tpuntaje: item.puntaje,\n\t\t\t\t\tcomments: item.comments\n\t\t\t\t});\n\t\t\t\titem.sub_items.forEach(subItem => {\n\t\t\t\t\tdata.seleccionItemsAfectacion[index].itemsAfectados.push({\n\t\t\t\t\t\titem_id: subItem.id,\n\t\t\t\t\t\tpadreitem: subItem.padre_id,\n\t\t\t\t\t\tnivelItem: subItem.nivel,\n\t\t\t\t\t\tcalificacion: subItem.calificacion === undefined ? '0' : subItem.calificacion,\n\t\t\t\t\t\tpuntaje: subItem.puntaje === undefined ? '0' : subItem.puntaje,\n\t\t\t\t\t\tcomments: subItem.comments\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t\tif (this.tiene_inteligencia) {\n\t\t\tif(commentacreado){\n\t\t\t\treturn;\n\t\t\t} else{\n\t\t\t\tthis.openFormInteligencia(data);\n\t\t\t}\n\t\t\t\n\t\t} else {\n\t\t\tif(!commentacreado){\n\t\t\t\tconsole.log(\"enviado\",data);\n\t\t\t\tthis.auditoriaService.createAuditoria(data).subscribe((resp: any) => {\n\t\t\t\t\tif (resp.respuesta.codigo == 202) {\n\t\t\t\t\t\tTools.swalSuccess(this.config.modal.excellent, this.config.modal.responseOk);\n\t\t\t\t\t\tthis.tiempo = '';\n\t\t\t\t\t\tthis.auditarForm.get('duracion_grabacion').valueChanges.subscribe();\n\t\t\t\t\t\tthis.ngOnInit();\n\t\t\t\t\t\tthis.cancelar();\n\t\t\t\t\t\tthis.envioTab.emit(1);\n\t\t\t\t\t} else if (resp.respuesta.codigo != 202) {\n\t\t\t\t\t\tthis.auditarForm.get('nombre_asesor').disable();\n\t\t\t\t\t\tthis.changeSelect();\n\t\t\t\t\t\tTools.swalError('¡Oops!', this.config.modal.responseError);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tcancelar() {\n\t\tthis.auditarForm.reset();\n\t\tthis.auditarForm.get('cedula_asesor').setErrors(null);\n\t\tthis.auditarForm.get('nombre_asesor').setErrors(null);\n\t\tthis.auditarForm.get('fecha').setErrors(null);\n\t\tthis.auditarForm.get('telefono').setErrors(null);\n\t\tthis.auditarForm.get('hora').setErrors(null);\n\t\tthis.auditarForm.get('duracion_grabacion').setErrors(null);\n\t\tthis.auditarForm.get('tipo_monitoreo').setErrors(null);\n\t\tthis.auditarForm.get('tipo_servicio').setErrors(null);\n\t\tthis.auditarForm.get('ucid').setErrors(null);\n\t\tthis.auditarForm.get('tipo_auditoria').setErrors(null);\n\t\tthis.auditarForm.get('solucion_primer_contacto_id').setErrors(null);\n\t\tthis.auditarForm.get('razon_solucion_id').setErrors(null);\n\t\tthis.auditarForm.get('porque_no').setErrors(null);\n\t\tthis.auditarForm.get('ojt_id').setErrors(null);\n\t\tthis.auditarForm.get('dias').setErrors(null);\n\t\tthis.auditarForm.get('observacion').setErrors(null);\n\t}\n\n\tgetSelects() {\n\t\tthis.auditoriaService.getTypeMuestra().subscribe((resp: any) => {\n\t\t\tthis.tipoMuestra = resp\n\n\t\t});\n\n\t\tthis.auditoriaService.getTypeMonitoring().subscribe((resp: any) => {\n\t\t\tthis.monitoreos = resp\n\t\t\tthis.monitoreos.sort(function (a, b) {\n\t\t\t\tif (a.nombre > b.nombre) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\tif (a.nombre < b.nombre) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t})\n\t\t});\n\t\tthis.auditoriaService.getTypeService().subscribe((resp: any) => {\n\t\t\tthis.servicios = resp\n\t\t\tthis.servicios.sort(function (a, b) {\n\t\t\t\tif (a.nombre > b.nombre) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\tif (a.nombre < b.nombre) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t})\n\t\t});\n\t\tthis.auditoriaService.getTypeAudit().subscribe((resp: any) => {\n\t\t\tthis.auditorias = resp\n\t\t\tthis.auditorias.sort(function (a, b) {\n\t\t\t\tif (a.nombre > b.nombre) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\tif (a.nombre < b.nombre) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t})\n\t\t});\n\t\tthis.auditoriaService.getTypeSolution().subscribe((resp: any) => {\n\t\t\tthis.soluciones = resp\n\t\t});\n\t\tthis.auditoriaService.getTypegetOjt().subscribe((resp: any) => {\n\t\t\tthis.ojts = resp\n\t\t});\n\t\tthis.auditoriaService.getNoSolucion().subscribe((resp: any) => {\n\t\t\tthis.no_soluciones = resp\n\t\t\tthis.no_soluciones.sort(function (a, b) {\n\t\t\t\tif (a.nombre > b.nombre) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\tif (a.nombre < b.nombre) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t})\n\t\t});\n\t}\n\n\tcreateForm() {\n\t\tthis.auditarForm = this.fb.group({\n\t\t\tcedula_asesor: ['', Validators.required],\n\t\t\tnombre_asesor: [{ value: '', disabled: true }, Validators.required],\n\t\t\tfecha: ['', Validators.required],\n\t\t\ttelefono: ['', [Validators.required, Validators.max(9999999999)]],\n\t\t\thora: ['', Validators.required],\n\t\t\tduracion_grabacion: [this.tiempo, [Validators.required, Validators.pattern('[0-9]?[0-9]:[0-9][0-9]:[0-9][0-9]')]],\n\t\t\ttipo_monitoreo: ['', Validators.required],\n\t\t\ttipo_servicio: ['', Validators.required],\n\t\t\tucid: ['', Validators.required],\n\t\t\ttipo_auditoria: ['', Validators.required],\n\t\t\tsolucion_primer_contacto_id: ['', Validators.required],\n\t\t\trazon_solucion_id: [{ value: '', disabled: true }, Validators.required],\n\t\t\tporque_no: [{ value: '', disabled: true }, Validators.required],\n\t\t\tojt_id: ['', Validators.required],\n\t\t\tdias: [{ value: '0', disabled: true }, Validators.required],\n\t\t\tobservacion: ['', Validators.required],\n\t\t\tdoc_boss: ['', Validators.required],\n\t\t\ttipoMuestra: ['', Validators.required],\n\t\t\tobservacionMuestra: ['', [Validators.required , Validators.maxLength(100)]],\n\t\t\tname_boss: [{ value: '', disabled: true }],\n\t\t});\n\t}\n\t/**\n\t * Metodo que consulta el nombre y id del asesor de la auditoria\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 14/06/2022\n\t * @param type:string tipo de documento a buscar [asesor-boss]\n\t * @return void\n\t */\n\tgetAsesor(type: string):void {\n\t\tlet cedula:string=\"\";\n\t\tif (type === 'asesor') {\n\t\t\tcedula = this.auditarForm.get('cedula_asesor').value\n\t\t}else if(type === 'boss'){\n\t\t\tcedula = this.auditarForm.get('doc_boss').value\n\t\t}\n\t\t\tthis.auditoriaService.getAsesor(cedula).subscribe((resp: any) => {\n\t\t\t\tif (type === 'asesor') {\n\t\t\t\t\tthis.id_asesor = resp[0].id;\n\t\t\t\t\tthis.auditarForm.get('nombre_asesor').setValue(resp[0].nombre)\n\t\t\t\t\tthis.auditarForm.get('cedula_asesor').setErrors(null);\n\t\t\t\t}else if(type === 'boss'){\n\t\t\t\t\tthis.auditarForm.get('name_boss').setValue(resp[0].nombre)\n\t\t\t\t\tthis.auditarForm.get('doc_boss').setErrors(null);\n\t\t\t\t}\n\n\t\t\t}, () => {\n\t\t\t\tif (type === 'asesor') {\n\t\t\t\t\tthis.auditarForm.get('nombre_asesor').setValue('');\n\t\t\t\t\tthis.auditarForm.get('cedula_asesor').setErrors({ no_resultado: true });\n\t\t\t\t}else if(type === 'boss'){\n\t\t\t\t\tthis.auditarForm.get('name_boss').setValue('')\n\t\t\t\t\tthis.auditarForm.get('doc_boss').setErrors({ no_resultado: true });\n\t\t\t\t}\n\t\t\t}\n\t\t\t);\n\t}\n\n\tchangeSelect() {\n\t\tif (this.auditarForm.get('solucion_primer_contacto_id').value == 17) {\n\t\t\tthis.auditarForm.get('ojt_id').enable();\n\t\t\tthis.auditarForm.get('razon_solucion_id').disable();\n\t\t\tthis.auditarForm.get('razon_solucion_id').setValue(null);\n\t\t\tthis.auditarForm.get('razon_solucion_id').setErrors(null);\n\t\t\tthis.auditarForm.get('porque_no').disable();\n\t\t\tthis.auditarForm.get('porque_no').setValue(null);\n\t\t\tthis.auditarForm.get('porque_no').setErrors(null);\n\t\t}\n\t\tif (this.auditarForm.get('solucion_primer_contacto_id').value == 18) {\n\t\t\tthis.auditarForm.get('razon_solucion_id').enable();\n\t\t\tthis.auditarForm.get('porque_no').enable();\n\t\t}\n\t\tif (this.auditarForm.get('ojt_id').value == 20 || this.auditarForm.get('ojt_id').value == null) {\n\t\t\tthis.auditarForm.get('dias').disable();\n\t\t\tthis.auditarForm.get('dias').setValue('100');\n\t\t\tthis.auditarForm.get('dias').setErrors(null);\n\t\t}\n\t\tif (this.auditarForm.get('ojt_id').value == 19) {\n\t\t\tthis.auditarForm.get('dias').enable();\n\t\t}\n\t\tif (this.auditarForm.get('tipoMuestra').value !==\"\" || this.auditarForm.get('tipoMuestra').value == null) {\n\t\t\tthis.auditarForm.get('observacionMuestra').enable();\n\t\t}\n\n\t}\n\n\topenFormInteligencia(data) {\n\t\tconst inteligenciaRef = this.dialog.open(FormInteligenciaComponent, {\n\t\t\twidth: '840px',\n\t\t\tdisableClose: true,\n\t\t\tdata: data,\n\t\t});\n\t\tinteligenciaRef.afterClosed().subscribe((result) => {\n\t\t\tthis.auditarForm.get('nombre_asesor').disable();\n\t\t\tif (result == 202) {\n\t\t\t\tthis.tiempo = '';\n\t\t\t\tthis.auditarForm.get('duracion_grabacion').valueChanges.subscribe();\n\t\t\t\tthis.ngOnInit();\n\t\t\t\tthis.auditarForm.reset();\n\t\t\t\tthis.envioTab.emit(1);\n\t\t\t}\n\t\t})\n\t}\n\n\tauditorio() {\n\t\tif (this.auditarForm.get('tipo_auditoria').value == 15) {\n\t\t\tthis.envioTipoAuditar.emit({ interna: 1, cliente: 0 })\n\t\t} else if (this.auditarForm.get('tipo_auditoria').value == 16) {\n\t\t\tthis.envioTipoAuditar.emit({ interna: 0, cliente: 1 })\n\t\t}\n\t}\n\n\tvalidaTemporizador(e){\n\t\tlet value = e.target.value;\n\t\tlet is_number = Number.parseInt(value);\n\t\t\tif (Number.isInteger(is_number)) {\n\t\t\t\tthis.tiempo = this.pipeTime.transform(value);\n\t\t\t} else {\n\t\t\t\tthis.tiempo = value;\n\t\t\t}\n\t\t\tif(value.length > 0){\n\t\t\t\tlet dataFormat = this.tiempo.split(':');\n\t\t\t\tconsole.log(dataFormat);\n\t\t\t\t//Se setea la validacion de hh:mm:ss\n\t\t\t\tif(dataFormat[0] > '24') dataFormat[0] = '24';\n\t\t\t\tif(dataFormat[1] > '59') dataFormat[1] = '59';\n\t\t\t\tif(dataFormat[2] > '59') dataFormat[2] = '59';\n\n\t\t\t\tlet dataComplet = dataFormat.join(':');\n\n\t\t\t\tthis.tiempo = dataComplet;\n\t\t\t}\n\t}\n\n\n}\n","
\n \n {{ config.labels.cedulaAsesor }}\n \n \n {{ config.labels.requiredDocument }}\n {{ config.labels.tryAnotherDocument }}\n \n \n {{ config.labels.asesorName }}\n \n {{ config.labels.requiredAdvisorName }}\n \n\n \n \n {{ config.labels.bossId }}\n \n \n \n \n {{ config.labels.requiredBossDocument }}\n {{ config.labels.tryAnotherDocument }}\n \n\n \n {{ config.labels.bossName }}\n \n \n \n\n\n \n {{ config.labels.auditDate }}\n \n \n \n \n \n {{ config.labels.requiredDate }}\n \n \n {{ config.labels.auditedPhoneNumber }}\n \n {{ config.labels.requiredPhoneNumber }}\n {{ config.labels.maxPhoneNumber }}\n \n \n {{ config.labels.contactTime }}\n \n {{ config.labels.requiredContactTime }}\n \n \n {{ config.labels.recordingDuration }}\n \n \n {{ config.labels.requiredRecordingDuration }}\n {{ config.labels.numericFormat }}\n \n \n {{ config.labels.monitoringType }}\n \n {{monitoreo.nombre}}\n \n {{ config.labels.requiredSelection }}\n \n \n {{ config.labels.serviceType }}\n \n {{servicio.nombre}}\n \n {{ config.labels.requiredSelection }}\n \n \n {{ config.labels.ucid }}\n \n {{ config.labels.requiredUCID }}\n \n \n {{ config.labels.auditType }}\n \n {{auditoria.nombre}}\n \n {{ config.labels.requiredSelection }}\n \n \n {{ config.labels.firstContactSolution }}\n \n {{solucion.nombre}}\n \n {{ config.labels.requiredSelection }}\n \n \n {{ config.labels.noSolutionReason }}\n \n {{no_solucion.nombre}}\n \n {{ config.labels.requiredSelection }}\n \n \n {{ config.labels.whyNoSolution }}\n \n {{ config.labels.requiredSelection }}\n \n \n {{ config.labels.ojt }}\n \n {{ojt.nombre}}\n \n {{ config.labels.requiredSelection }}\n \n \n {{ config.labels.days }}\n \n {{dia}}\n \n {{ config.labels.requiredSelection }}\n \n \n {{ config.labels.selectedSampleType }}\n \n {{muestra.name}}\n \n {{ config.labels.requiredSelection }}\n \n \n {{ config.labels.sampleObservations }}\n \n {{ config.labels.requiredObservation }}\n {{ config.labels.maxCharacters }}\n \n\n \n {{ config.labels.observations }}\n \n {{ config.labels.requiredObservation }}\n \n
\n \n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from '../../../../../environments/environment';\n\nconst COMPRAS_URL = environment.COMPRAS_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TipoProductoService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n getTipoProducto(): Observable{\n return this.http.get(`${COMPRAS_URL}product/?paginate=0`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n \n}\n","import { JuridicaService } from './../../../../services/juridica.service';\nimport { DatePipe } from '@angular/common';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DisabilitiesService } from 'src/app/modules/nomina/services/rest/disabilities.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-permit-response',\n templateUrl: './permit-response.component.html',\n styleUrls: ['./permit-response.component.sass']\n})\n\nexport class PermitResponseComponent implements OnInit {\n dataInfo: any;\n public realTime: string;\n public scheduleTime: string;\n public endTime: string;\n public noveltyDetailHeight: number;\n\n public showJustifyForm: boolean;\n public showJustifyInfo: boolean;\n public showInput: boolean;\n noveltiesForm: FormGroup;\n dateForm: FormGroup;\n\n selectedOption: any;\n subTypes: any;\n\n startDate: any;\n endDate: any;\n fieldate: boolean = false;\n files: any = [];\n options: any = [\n { id: 0, name: 'Rechazar' },\n { id: 1, name: 'Aprobar' }\n ];\n\n constructor(\n private disabilities: DisabilitiesService,\n private permit: JuridicaService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alert: AlertsService,\n public dialog: MatDialog,\n ) {\n }\n\n ngOnInit() {\n this.noveltiesForm = new FormGroup({\n response: new FormControl('', [Validators.required]),\n state: new FormControl('', [Validators.required])\n });\n\n this.dateForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n\n this.disabilities.getSubTypes().subscribe(resp => {\n this.subTypes = resp.data;\n });\n\n this.permit.getInfoByPermitId(this.data.data.idNovelty).subscribe(resp => {\n this.dataInfo = resp.data;\n this.files = resp.data.files;\n this.dataInfo.novelty_type.key = (this.dataInfo.novelty_type.key < 10) ? `0${this.dataInfo.novelty_type.key}` : this.dataInfo.novelty_type.key;\n\n if (this.dataInfo.validForMoreResponses) {\n this.showJustifyForm = true;\n }\n this.showJustifyInfo = true;\n this.changeDetailHeight(this.dataInfo);\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-23\n * Metodo para asignacion de detalle\n */\n changeDetailHeight(novelty): void {\n if (novelty.responseFirstInstance && (novelty.responseFirstInstance.justify || novelty.responseFirstInstance.response)) {\n this.noveltyDetailHeight = 240;\n }\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-23\n * Metodo para actualizar el estado de la novedad\n */\n updateState() {\n const body = {\n state: this.noveltiesForm.controls['state'].value,\n response: this.noveltiesForm.controls['response'].value,\n extra: 'Aprobada nomina'\n };\n\n this.permit.changeStatus(this.data.data.idNovelty, body).subscribe(resp => {\n if (this.selectedOption == 1) {\n this.alert.alertSuccessWithoutButton('¡Excelente!', 'Su solicitud ha sido enviada satisfactoriamente');\n this.dialogRef.close('');\n } else {\n this.alert.alertSuccessWithoutButton('¡Excelente!', 'Su solicitud ha sido enviada satisfactoriamente');\n this.dialogRef.close('');\n }\n }, error => {\n this.alert.alertError('Error!', 'Ocurrio un error al intentar actualizar el permiso');\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-23\n * Metodo para actualizar el estado de la novedad\n */\n dateRangeChange() {\n const date1: Date = this.dateForm.controls.start.value;\n const date2: Date = this.dateForm.controls.end.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n }\n\n /**\n * @author Johan Soler\n * @createdate 2022-07-26\n * Metodo para detectar la opcion seleccionada\n */\n changeState(e) {\n this.selectedOption = e.value;\n }\n}\n","
\n\n

\n \n\n \n\n
\n \"noveltyIcon\"\n \n

{{data.data?.name || data.title}}

\n
{{data.data?.id_number}}
\n
\n
\n

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

Fecha de creación: {{dataInfo?.fechaCreacion | date:'dd/MM/yyyy' }}

\n
\n
\n
\n

\n {{ (dataInfo?.novelty_date_start | date:'EEEE' | titlecase) + ' ' + (dataInfo?.novelty_date_start | date:'dd')+ ' de ' + (dataInfo?.novelty_date_start | date:'MMMM') }}\n

\n {{\n dataInfo?.novelty_type?.key }} {{ dataInfo?.noveltyTypeToPrint?.title }}\n
\n
\n

\n Permiso\n

\n

Fecha inicio: {{ dataInfo?.novelty_date_start | date:'dd/MM/yyyy' }}

\n

Fecha fin: {{dataInfo?.novelty_date_end | date:'dd/MM/yyyy' }}

\n
\n

Justificación del trabajador

\n

{{ dataInfo?.justificacionTrabajador}}

\n
\n

\n \n {{item?.name}}\n \n

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

\n Gestión\n

\n
\n\n \n Estado\n \n \n {{item.name}}\n \n \n \n\n \n Observaciones\n \n \n\n \n
\n
\n
\n
\n\n
\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PhonePanelService {\n private _userAgent = null;\n private $statusSeePanelSoulPhone: BehaviorSubject =\n new BehaviorSubject(false);\n\n constructor() {}\n\n /**\n * Metodo que se encarga de obntener el observable de estado\n */\n get statusSeePanelSoulPhone(): Observable {\n return this.$statusSeePanelSoulPhone;\n }\n\n /**\n * Metdodo que se encarga de emitir un nuevo estado\n */\n set setStatusSeePanelSoulPhone(status: boolean) {\n this.$statusSeePanelSoulPhone.next(status);\n }\n\n /**\n * Metodo que se encarga de obtener el user agent\n */\n get userAgent() {\n return this._userAgent;\n }\n\n /**\n * Metodo que se encarga de actualizar el user agent\n */\n set userAgent(userAgent) {\n this._userAgent = userAgent;\n }\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { SolicitudesService } from '../../../../services/rest/solicitudes.service';\nimport { DestroyComponentService } from '../../../../../../core/services/utils/destroy-component.service';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { AuthService } from '../../../../../../core/services/rest/auth.service';\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\nimport { ProveedoresService } from '../../../../../portal/services/proveedores.service';\nimport { OrdenCompraComponent } from '../orden-compra/orden-compra.component';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\n\n@Component({\n selector: 'app-consultar-proveedor',\n templateUrl: './consultar-proveedor.component.html',\n styleUrls: ['./consultar-proveedor.component.sass']\n})\nexport class ConsultarProveedorComponent implements OnInit {\n proveedor =\"\";\n prov:any;\n generarOrden =false;\n formProv: FormGroup;\n textProveedor: FormControl = new FormControl('');\n listProveedores: any[] = [];\n filterListProveedores: Observable;\n filterProveedor: any = null;\n\n constructor(private solicitudService: SolicitudesService,\n private proveedorService : ProveedoresService,\n private destroyService : DestroyComponentService,\n public dialog : MatDialog,\n private fb : FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data: any) { }\n\n ngOnInit(): void {\n this.formProv = this.fb.group({\n nitProveedor : ['', Validators.required ]\n });\n this.filterListProveedores = this.textProveedor.valueChanges.pipe(startWith(''), map(value => this._filter(value)));\n this.getProveedores();\n }\n\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.listProveedores.filter(option => option.razon_social.toLowerCase().includes(filterValue));\n }\n\n getProveedores(): void {\n const params = { numeroRegistros: null, razon_social: null, nit: null, all_provedores: true };\n this.proveedorService.getProveedores(null, params).subscribe(res => {\n this.listProveedores = res;\n });\n }\n\n filterProveedores($event: any) {\n const nameProveedor = $event.option.value;\n const proveedor = this.listProveedores.find(item => item.razon_social === nameProveedor);\n this.formProv.get('nitProveedor').setValue(proveedor.nit);\n this.formProv.get('nitProveedor').disable();\n this.prov = proveedor;\n this.generarOrden = true;\n }\n\n displayFn(module: any): string {\n return module && module ? module : '';\n }\n\n deleteProveedor($event: any) {\n const nameProveedor = $event.target.value;\n if (nameProveedor === '') {\n this.formProv.get('nitProveedor').setValue('');\n this.formProv.get('nitProveedor').enable();\n this.prov = null;\n this.generarOrden = false;\n }\n }\n\n consultaProveedor(event){\n const nit = (event.target as HTMLInputElement).value;\n const proveedor = { nit:nit };\n if (nit == \"\") {\n this.textProveedor.setValue('');\n this.textProveedor.enable();\n this.prov = null;\n this.generarOrden = false;\n }\n else {\n this.proveedorService.getProveedores(1, proveedor).subscribe((prov)=>{\n if (prov.data.length > 0) {\n this.proveedor = prov.data[0].razon_social;\n this.prov = prov.data[0];\n this.generarOrden = true;\n this.textProveedor.setValue(prov.data[0].razon_social);\n this.textProveedor.disable();\n } else {\n this.proveedor = \"No se ha encontrado proveedor.\";\n this.generarOrden = false;\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n crearOrdenCompra(){\n const dialogNewRol = this.dialog.open(OrdenCompraComponent, {\n width: '90%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar Solicitudes',\n solicitud:this.data.solicitud,\n proveedor: this.prov\n },\n panelClass: 'custom-dialog-container',\n });\n dialogNewRol.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n}","\n
\n
\n

\n Orden de compra\n

\n
\n
\n
\n Empresa \n

{{data.solicitud.company.name}}

\n
\n
\n
\n \n Nit Proveedor\n \n \n Campo requerido\n \n \n Proveedor\n \n \n \n {{ option.razon_social }}\n \n \n \n
\n

Presiona Enter para consultar

\n \n \n \n \n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { EmailService } from '../../services/email.service';\nimport { SnackBarService } from '../../services/snack-bar.service';\n\n@Component({\n selector: 'app-validate-email-account',\n templateUrl: './validate-email-account.component.html',\n styleUrls: ['./validate-email-account.component.css']\n})\nexport class ValidateEmailAccountComponent implements OnInit {\n questions: any[] = [\n { typeInput: 'select', key: 'type_validation', label: 'Tipo de validación', rules: { required: true }, value: '', options: [{ value: 1, text: 'Validar envio de email' }, { value: 2, text: 'Validar ingreso de correos' }] },\n { typeInput: 'input', type: 'hidden', key: 'email', label: 'Correo de destino', rules: null, value: '' },\n ];\n\n constructor(\n private emailService: EmailService,\n private snackBarService: SnackBarService,\n private matDialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n ngOnInit(): void {\n \n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-03-01\n * Metodo que detecta los cambios sobre los campos tipo select.\n * @param $event Evento generado por el componente hijo. \n */\n onChangeSelectForm($event: any): void {\n const updateQuestion = Array.from(this.questions);\n if ($event.key === 'type_validation' && $event.value === 1) {\n updateQuestion[1].type = 'text';\n updateQuestion[1].rules = { required: true, email: true };\n } else {\n updateQuestion[1].type = 'hidden';\n updateQuestion[1].rules = null;\n }\n this.questions = updateQuestion; \n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-01\n * Metodo que recibe los datos del formulario.\n * @param $event Evento generado por el componente hijo. \n */\n testEmailAccount($event: any): void {\n const data = { ...$event, id: this.data.emailAccount.id };\n if (data.type_validation === 2) {\n this.emailService.checkAccountEmail(data.id).subscribe(res => {\n this.snackBarService.showNotification({ title: res.error ? '¡Error!' : '¡Excelente!', message: res.message });\n this.matDialogRef.close(res);\n });\n } else {\n this.emailService.checkSendEmail(data.id, data.email).subscribe(res => {\n this.snackBarService.showNotification({ title: res.data.error ? '¡Error!' : '¡Excelente!', message: res.data.message });\n this.matDialogRef.close(res);\n });\n }\n }\n}","
\n
\n \n
\n
\n
\n
Validar cuenta
\n \n
\n \n
\n
","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PositionsService {\n user;\n private server = environment.RRHH_URL;\n constructor(private http: HttpClient, private activeRoute: ActivatedRoute, private authService: AuthService) {\n this.user = this.authService.getUser();\n }\n\n getPositions(entries){\n return this.http.get(`${this.server}position?${entries}`);\n }\n getPosition(id){\n return this.http.get(`${this.server}position/${id}` );\n }\n postPosition(direction, form){\n return this.http.post(`${this.server}position/${direction}`, form);\n }\n deletePosition(id){\n return this.http.delete(`${this.server}position/delete/${id}`);\n }\n postPositionCreate(value){\n return this.http.post(`${this.server}position/create`, value);\n }\n\n getPositionsCategory(){\n return this.http.get(`${this.server}position/category`);\n }\n\n\n}\n","import Swal from 'sweetalert2';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormBuilder, FormControl, Validators, AbstractControl, ValidatorFn, FormArray } from '@angular/forms';\nimport { UsersService } from '../../../services/rest/users.service';\nimport { ApplicationsService } from '../../../services/rest/applications.service';\nimport { Observable } from 'rxjs';\nimport { startWith, map } from 'rxjs/operators';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\n\n@Component({\n selector: 'app-mass-migration-users',\n templateUrl: './mass-migration-users.component.html',\n styleUrls: ['./mass-migration-users.component.sass']\n})\nexport class MassMigrationUsersComponent implements OnInit {\n hide: boolean = true;\n massiveForm: FormGroup;\n fileName = '';\n applications: any;\n filteredOptions: Observable;\n roles: any = [];\n notFocused = false;\n fileSend : File;\n\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private form: FormBuilder,\n public userService: UsersService,\n private appService: ApplicationsService,\n private alertsService: AlertsService,\n private destroyService: DestroyComponentService,\n private dialogRef: MatDialogRef\n ) { }\n\n ngOnInit(): void {\n this.formControl();\n this.getApplicationList();\n }\n\n get error(): any { return this.massiveForm.controls; }\n\n get appxrol(): FormArray {\n return this.massiveForm.get('appxrol') as FormArray;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void{\n\n this.massiveForm = this.form.group({\n file: new FormControl('', [Validators.required,this.verifyFileExt()]),\n id_type_id : new FormControl('1'),\n appxrol: this.form.array([])\n });\n this.newappxrol();\n\n }\n\n getApplicationList(){\n this.appService.getApplications().subscribe((resp) => {\n this.applications = resp.data;\n });\n }\n\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que estable las validaciones del formarray dentro del formulario\n */\n newappxrol(): void{\n const newappxrol = this.form.group({\n app: new FormControl('', [Validators.required]),\n rol: new FormControl('', [Validators.required]),\n });\n this.appxrol.push(newappxrol);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que evalua en tiempo real los caracteres ingresados en el input, no deja ingresar espacios\n * @param event evento del keypress del input usuario\n */\n omitSpecialChar(event): any{\n let k;\n k = event.charCode;\n return((k > 32 && k < 126));\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se encarga de la filtracion de aplicaciones\n * @param pos posicion del autocompletable a filtrar\n */\n getFilter(pos: number): void{\n this.filteredOptions = this.appxrol.controls[pos].get('app').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(applications => applications ? this._filter(applications) : this.applications.slice())\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-15\n * Metodo que se encarga de la eliminacion de un grupo de aplicacion y rol y valida que quede almenos uno\n * @param indice indice del grupo de aplicacion y rol a eliminar\n */\n deleteappxrol(indice: number): void {\n if(this.appxrol.length > 1)\n {\n this.roles.splice(indice,1);\n this.appxrol.removeAt(indice);\n }else{\n Swal.fire({\n html: `Este campo es obligatorio`,\n icon: 'error',\n title : 'Error',\n confirmButtonText: 'Aceptar'\n });\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.applications.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFn(id: number): string{\n if (!id) { return ''; }\n let index = this.applications.findIndex(resp => resp.id === id);\n return this.applications[index].name;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se activa cuando una aplicacion ha sido seleccionada, busca los roles de la aplicacion seleccionada\n * @param id id de la aplicacion\n * @param pos posicion del grupo de app y rol\n */\n appSelected(id: any, pos: number): void{\n this.appxrol.controls[pos].get('rol').setValue('');\n this.appService.getRolesxApp(id).subscribe((resp) => {\n this.roles[pos] = resp.data;\n });\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-15\n * Metodo que se encarga de consumir el servicio de carga masiva\n * @param massiveForm formulario del usuario a editar\n */\n sendMassive(): void{\n let formdata: FormData = new FormData();\n\n formdata.append('cedulas', this.fileSend),\n formdata.append('appxrol', JSON.stringify(this.massiveForm.value.appxrol)),\n formdata.append('id_type_id', '1'),\n\n this.userService.massiveRolesImport(formdata).subscribe(\n response => {\n this.dialogRef.close();\n if (response.exis != null) {\n Swal.fire({\n html: `${response.exis} Roles asignados con exito${response.no_exi.length == 0 ? '.' : '. Cedulas que no existen ' + response.no_exi.join()+'.'}\n ${response.rep.length == 0 ? ' ' : ' Cedulas con roles previamente asignados ' + response.rep.join()+'.'}`,\n icon: 'success',\n title : 'Enviado',\n confirmButtonText: 'Aceptar'\n });\n } else if(response.error_code == 401)\n {\n Swal.fire({\n html: `${response.error}`,\n icon: 'error',\n title : 'Error',\n confirmButtonText: 'Aceptar'\n });\n }\n }\n );\n\n }\n\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-15\n * Metodo que se encarga cargar el nombre del archivo\n * @param event envento on change\n */\n onFileSelected(event) {\n this.notFocused = true;\n const file:File = event.target.files[0];\n\n if (file) {\n this.fileName = file.name;\n this.fileSend = file;\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-04-22\n * Metodo que se encarga de validar que no se repitan roles\n * @param pos posicion del select\n */\n verifyRoles(pos: number): void {\n let cont = 0;\n this.appxrol.controls.forEach(element => {\n if ( element.get('rol').value === this.appxrol.controls[pos].get('rol').value) {\n cont++;\n }\n });\n\n if (cont > 1) {\n this.appxrol.controls[pos].get('rol').setErrors({ invalidRol: true});\n }\n\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-15\n * Metodo que regula las extenciones del archivo cargado al formulario\n */\n verifyFileExt(): ValidatorFn{\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (!/.xlsx/.test(control.value)) {\n return { hasWrongFile: { value: control.value } };\n }\n return null;\n };\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n}\n","

{{data.title}}\n \n

\n\n
\n\n \n\n
\n
\n \n\n
\n \n attach_file\n \n {{fileName || \"Ningún archivo cargado todavía.\"}}\n\n
\n ¡Advertencia! Unica extención permitida .xlsx\n ¡Advertencia! Este campo es requerido\n
\n
\n
\n
\n

\n
\n\n

Editar permisos

\n\n
\n\n \n\n
\n \n Aplicación\n \n \n \n {{option.name}}\n \n \n ¡Advertencia! Este campo es requerido\n \n\n \n Rol\n \n \n {{rol.name}}\n \n \n ¡Advertencia! Este campo es requerido\n ¡Advertencia! Este rol ya fue seleccionado para esta aplicación\n \n
\n \n
\n\n
\n\n\n\n
\n
\n
\n
\n\n
\n\n
\n \n
\n\n
\n\n \n \n \n \n\n
\n\n","import { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { PurchaseOrderState } from './../../../../Class/order-state';\nimport { SolicitudesService } from './../../../../../services/rest/solicitudes.service';\nimport { RequestsService } from './../../../../../../bpms/services/requests.service';\nimport { OrdenesService } from './../../../../../services/rest/ordenes.service';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { saveAs as importedSaveAs } from 'file-saver';\n@Component({\n selector: 'app-descarga',\n templateUrl: './descarga.component.html',\n styleUrls: ['./descarga.component.sass']\n})\nexport class DescargaComponent implements OnInit {\n formDescarga : FormGroup;\n states : PurchaseOrderState [] ;\n type : string;\n\n\n\n constructor(\n private fb: FormBuilder,\n private solicitudesService: SolicitudesService,\n private ordenesService: OrdenesService,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n this.initForm();\n }\n\n\n initForm(){\n this.formDescarga = this.fb.group({\n fecha_ini : [ '', [Validators.required] ],\n fecha_fin : [ '', [Validators.required] ],\n estado : ['']\n })\n }\n\n ngOnInit(): void {\n this.type = this.data[\"type\"];\n this.getStates();\n\n }\n\n\n private getStates(){\n if ( this.type ==\"solicitud\" || this.type ==\"solicitud_aprobador\" || this.type == \"historico\" ){\n this.solicitudesService.getRequestStates()\n .subscribe( (res:PurchaseOrderState[] ) => {\n //res[\"data\"].pop();\n if( this.type ==\"solicitud_aprobador\" ){\n this.states = res[\"data\"].filter( s => s.id == 3);\n this.formDescarga.get(\"estado\").setValue(3);\n }\n else if( this.type ==\"historico\" ){\n this.states = res[\"data\"].filter( s => s.id == 4 || s.id == 5 );\n this.formDescarga.get(\"estado\").setValue(4);\n }\n else\n {\n this.states = res[\"data\"].filter(s=> s.id !== 10 && s.id !== 11);\n }\n } )\n }\n else if(this.type ==\"orden\")\n {\n this.ordenesService.getOrdersStates()\n .subscribe( (res:PurchaseOrderState[] ) => {\n this.states = res[\"data\"].filter(s=> s.id !==2 && s.id !== 3 && s.id !== 4 );\n } )\n }\n }\n\n\n descargar(){\n if ( this.formDescarga.invalid ){\n return\n }\n let action;\n\n if ( this.type == \"solicitud\" || this.type ==\"solicitud_aprobador\" || this.type == \"historico\" ){\n if(this.formDescarga.value.estado == 12) this.formDescarga.value.estado = \"\";\n action = this.solicitudesService.downloadRequestHist( this.formDescarga.value );\n }\n else if ( this.type == \"orden\" ){\n if(this.formDescarga.value.estado == 9) this.formDescarga.value.estado = \"\";\n action = this.ordenesService.downloadOrders(this.formDescarga.value);\n }\n\n\n\n action.subscribe( res => {\n importedSaveAs(res, 'reporte');\n } );\n\n\n\n\n }\n\n}\n","
\n \n\n
\n
\n

Descargar gestión

\n
\n
\n En este espacio podrás descargar reportes filtrando por rango de fechas y estado de las solicitudes.\n
\n
\n
\n\n\n
\n\n\n\n\n
\n
\n \n Fecha inicio *\n \n \n \n Campo obligatorio\n \n
\n
\n \n Fecha fin\n \n \n \n Campo obligatorio\n \n
\n
\n \n Estado\n \n \n {{state.name}}\n \n \n\n \n
\n
\n
\n\n
\n \n
\n
\n \n\n
\n\n
\n\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport * as moment from 'moment';\nimport { MatrizService } from '../../services/matriz.service';\nimport { ReportsService } from '../../services/reports.service';\nimport { AuditoriaService } from 'src/app/modules/auditoria/services/auditoria.service';\nimport { Tools } from '../../utils/tools.utils';\n\n@Component({\n selector: 'app-reporteria',\n templateUrl: './reporteria.component.html',\n styleUrls: ['./reporteria.component.sass']\n})\nexport class ReporteriaComponent implements OnInit {\n //Filtros\n filtroTipo_matriz:string = '';\n filtroFecha = new FormGroup({\n fechaInicial: new FormControl(),\n fechaFinal: new FormControl(),\n });\n filtroNombre:string = '';\n\n\n tiposMatrices = [];\n\n constructor(\n private matrizService:MatrizService,\n private reporService:ReportsService,\n ) { }\n\n ngOnInit(): void {\n this.getTypeMatrix();\n }\n\n filtroFechas(){\n if (this.filtroFecha.get('fechaInicial').value != null && this.filtroFecha.get('fechaFinal').value != null) {\n this.filtrar();\n }\n }\n\n filtrar(){\n \n }\n\n getReportGeneral(){\n const params = {\n fechaInicial: '',\n fechaFinal: '',\n tipoMatriz: '',\n nombre: '',\n }\n\n if (this.filtroNombre != '') {\n params.nombre = this.filtroNombre;\n }\n\n if (this.filtroFecha.get('fechaInicial').value != '' && this.filtroFecha.get('fechaInicial').value != null) {\n params.fechaInicial = moment(this.filtroFecha.get('fechaInicial').value).format('yyyy-MM-DD');\n }\n if (this.filtroFecha.get('fechaFinal').value != '' && this.filtroFecha.get('fechaFinal').value != null) {\n params.fechaFinal = moment(this.filtroFecha.get('fechaFinal').value).format('yyyy-MM-DD');\n }\n\n if (this.filtroTipo_matriz != '') {\n params.tipoMatriz = this.filtroTipo_matriz;\n }\n\n this.reporService.getReportGeneral(params).subscribe((resp:any)=>{\n Tools.downloadFile(resp,'General_'+moment(new Date).format('DD_MM_yyy_hh_mm_ss'));\n });\n\n }\n\n getTypeMatrix(){\n this.matrizService.getTypeMatrix().subscribe((resp:any)=>{\n this.tiposMatrices = resp;\n })\n}\n\n}\n","
\n\n
\n \n

Reportería

\n
\n

Aquí podrás crear y descargar los reportes detallados de retroalimentaciones realizadas

\n

a las campañas. No olvides, “El respeto y empatía son clave”.

\n
\n
\n \n
\n
","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { GESTIONADOR_CORREOS } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AssignPriorityService {\n constructor(private httpClient: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que retorna los errores generados por HTTP. \n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que retorna las asignaciones prioritarias registrados en el sistema. \n * @param paginator Paginador configurado en la vista. \n * @param filterAccountEmail Filtro de las cuentas de correo.\n * @param filterEmail Filtro texto.\n * @param filterOptional Filtro opcional. \n * @param showAllStates Filtro que muestra o no todas las prioridades activas.\n */\n getAssignsPriority(paginator: any = null, filterAccountEmail: number = 0, filterEmail: string = '', filterOptional: number = 0, showAllStates: boolean = true): Observable {\n const paramState = showAllStates ? '' : '&state=1';\n const url = paginator === null ? `${GESTIONADOR_CORREOS}priority/showall` : `${GESTIONADOR_CORREOS}priority/showall?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&email=${filterEmail}&id_email_config=${filterAccountEmail}&id_bandeja=${filterOptional}${paramState}`;\n return this.httpClient.get(url).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que guardar o actualiza las asignaciones prioritarias en el sistema. \n * @param state Informacion proveniente del formulario. \n */\n storeAssignPriority(state: any): Observable {\n const url = state.id === null ? `${GESTIONADOR_CORREOS}priority/store` : `${GESTIONADOR_CORREOS}priority/update/${state.id}`;\n return this.httpClient.post(url, state).pipe(\n catchError(this.handleError)\n );\n }\n}","import { Component, ElementRef, EventEmitter, Inject, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { ResultService } from '../../../services/result.service';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatExpansionPanel } from '@angular/material/expansion';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport Swal from 'sweetalert2';\nimport { CampaignService } from '../../../services/campaign.service';\nimport { RequestService } from '../../../services/request.service';\nimport * as html2pdf from 'html2pdf.js';\n\n@Component({\n selector: 'app-analytics-modal',\n templateUrl: './analytics-modal.component.html',\n styleUrls: ['./analytics-modal.component.sass']\n})\nexport class AnalyticsModalComponent implements OnInit {\n\n\n @Input() palabrasClave: string[] = [];\n @ViewChild('audioPlayer') audioPlayer: ElementRef;\n @ViewChild('containerViewReport') containerViewReport: ElementRef;\n @ViewChild('scrollContainer', { static: true }) scrollContainer: ElementRef;\n\n @ViewChild('transcripcionPanel') transcripcionPanel: MatExpansionPanel;\n @ViewChild('tiemposMuertosPanel') tiemposMuertosPanel: MatExpansionPanel;\n @ViewChild('resumenPanel') resumenPanel: MatExpansionPanel;\n @ViewChild('analisisTono') analisisTono: MatExpansionPanel;\n @ViewChild('analisisTexto') analisisTexto: MatExpansionPanel;\n\n editMode: boolean = false;\n\n diarization: any;\n llmResponse: any;\n private interactions:any[]=[]\n interactionsFormat:any[] = []\n\n dataResponse: any;\n jsonInteraccion: any;\n items: string[] = [];\n\n audioUrl: any;\n recordingID: any;\n\n id: any; //id resultados\n\n //duracion del audio\n audioDuration: number;\n audioDurationMinutos = 0;\n audioDurationSegundos = 0;\n deadTimeaudioDurationMinutos = 0;\n deadTimeaudioDurationSegundos = 0;\n\n //audio\n start: number=0;\n end: number=0;\n audioEventListener: any;\n dead_time:any;\n\n //dirizacion, tiempos muertos\n palabrasClaveArray: string[] = [];\n totalDuracionTiemposMuertos: number = 0;\n tiemposMuertos: any[] = [];\n tiemposMuertosMayores: any[] = [];\n\n\n campaign_id: any;\n deadTimeaudioDurationFormatted: string;\n audioDurationHoras: number;\n audioDurationFormatted: string;\n\n campaignViciadial: any; //id de la campaña seleccionada\n llmResponseObject: any; // respuesta del resumen\n //variables respuestas\n resumen: any;\n entidadesPrincipales: any;\n temasPrincipales: any;\n puntosClave: any;\n analisisDeSentimientos: any;\n cursorPos: number;\n\n // graficas torta info\n\n view: any[] = [700, 400]; // Tamaño de la gráfica\n showLegend = true;\n showLabels = true;\n isDoughnut = false;\n gradient = false;\n colorScheme = {\n domain: ['#E57373', '#FFF176', '#B0BEC5', '#1565C0']\n };\n colorScheme2 = {\n domain: ['#1565C0', '#B0BEC5', '#FFF176']\n };\n\n emocionesData: any[] = [];\n sentimientosData: any[] = [];\n emocionesDataPorSpeaker: any[];\n sentimientosDataPorSpeaker: any[];\n\n modificarInteracciones: boolean = false; //modificar iteraciones para anlisis\n selectAll: boolean = true; //sekecciona todas las iteracciones\n indeterminate: boolean = false; //validas si hay interacciones indeterminadas\n selectedInteractions: any[] = []; //darle manejo a la iteraciones que se tienen encuenta para emociones y sentimeintos\n speakersDisponibles: string[] = []; // array de los speaker para select modificar\n originalState: { text: string, speaker: string }[] = []; // guardar texto antes de editar por si cancela\n\n\n constructor(\n public dialogRef: MatDialogRef,\n private resultService: ResultService,\n private requestService: RequestService,\n private authService: AuthService,\n private campaignServdce: CampaignService,\n private sanitazer:DomSanitizer,\n @Inject(MAT_DIALOG_DATA)\n private date: any )\n {}\n\n ngOnInit(): void {\n this.recordingID=this.date.recordingId;\n this.campaignViciadial= this.date.campaignVicidial_id;\n\n if (this.campaignViciadial > 0) {\n this.getdataCampaign();\n } else {\n this.dead_time = 30;\n this.getResultados();\n }\n\n this.audioUrl = this.requestService.getAudioUrl(this.recordingID);\n const user = this.authService.getUser();\n this.campaign_id=user.rrhh.campaign_id;\n this.obtenerDuracionTotalAudio();\n }\n\n\n /**\n * Metodo obtener la data para establecer los segmentos de los tiempos muertos por campaña\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n */\n\n getdataCampaign(): void {\n this.campaignServdce.showCampaign(this.campaignViciadial).subscribe(\n (rest) => {\n this.dead_time = rest.data.dead_time;\n this.getResultados();\n },\n (error) => {\n console.error('Error al recuperar la campaña:', error.message);\n Swal.fire({\n title: 'Error al recuperar la campaña',\n text: error.message,\n icon: 'error',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n );\n }\n\n /**\n * Metodo que establece los tiempos de inicio y fin y controla la reproducción de un audio.\n * @param {number} start - Tiempo de inicio en segundos.\n * @param {number} end - Tiempo de fin en segundos.\n * @returns {void}\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n */\n\n logStartAndEnd(start: number, end: number): void {\n this.start = start;\n this.end = end;\n\n if (this.audioPlayer) {\n this.audioPlayer.nativeElement.currentTime = this.start;\n this.audioPlayer.nativeElement.play();\n\n const timeUpdateListener = () => {\n if (this.audioPlayer.nativeElement.currentTime >= this.end) {\n this.audioPlayer.nativeElement.pause();\n //despues de pausar crea un nuevo objeto resetea el tiempo limite al total del audio\n const audio = new Audio(this.audioUrl);\n audio.addEventListener('loadedmetadata', () => {\n const durationInSeconds = audio.duration;\n this.end=durationInSeconds;\n })\n }\n };\n this.audioPlayer.nativeElement.addEventListener('timeupdate', timeUpdateListener);\n } else {\n }\n }\n\n /**\n * Subraya las palabras clave dentro de un texto.\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n * @param {string} text - El texto en el que se buscarán y resaltarán las palabras clave.\n * @param {string} term - La palabra clave que se debe resaltar.\n * @returns {string} El texto con las palabras clave resaltadas.\n */\n highlightedTerms: Set = new Set();\n\n highlightedText(text: string, terms: Set): string {\n if (!terms || terms.size === 0) {\n return text;\n }\n\n const styleCss = 'padding: 0.1rem 0.4rem; background-color: #00acc1; color: #fff; border-radius: 50px;';\n terms.forEach(term => {\n if (term && term.trim()) {\n const regex = new RegExp(`\\\\b${term}\\\\b`, 'gi');\n text = text.replace(regex, `$&`);\n }\n });\n\n return text;\n }\n\n /**\n * Elimina el resaltado de las palabras clave dentro de un texto resaltado.\n * @author Yeison Sepulveda\n * @createdate 20/05/2024\n * @param {string} text - El texto con las palabras clave resaltadas.\n * @returns {string} El texto sin el resaltado de las palabras clave.\n */\n\n removeHighlight(text: string): string {\n const spanRegex = /(.*?)<\\/span>/g;\n return text.replace(spanRegex, '$1');\n }\n\n /**\n * Verifica si un texto está resaltado.\n * @author Yeison Sepulveda\n * @createdate 20/05/2024\n * @param {string} text - El texto que se quiere verificar si está resaltado.\n * @returns {boolean} Verdadero si el texto está resaltado, falso si no lo está.\n */\n\n isTextHighlighted(text: string): boolean {\n const styleCss = 'padding: 0.1rem 0.4rem; background-color: #00acc1; color: #fff; border-radius: 50px;';\n return text.includes(styleCss);\n }\n\n /**\n * Metodo para los chips en los cuales busca las palabras y los subraya\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n */\n\n toggleHighlight(palabra: string): void {\n if (this.highlightedTerms.has(palabra)) {\n this.highlightedTerms.delete(palabra);\n } else {\n this.highlightedTerms.add(palabra);\n }\n\n this.interactionsFormat = this.interactions.map(interaction => {\n let text = interaction.text;\n\n text = this.removeHighlight(text);\n text = this.highlightedText(text, this.highlightedTerms);\n\n return { ...interaction, text: this.sanitazer.bypassSecurityTrustHtml(text) };\n });\n }\n\n /**\n * Método que consume un servicio para obtener resultados de análisis\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n */\n getResultados(): void {\n this.resultService.showAnalyticsResults(this.recordingID).subscribe(\n result => {\n const jsonData = typeof result.data.diarization.interaccion === \"string\"\n ? JSON.parse(result.data.diarization.interaccion)\n : result.data.diarization.interaccion;\n this.interactions = Array.isArray(jsonData) ? jsonData : [jsonData];\n\n this.speakersDisponibles = [...new Set(this.interactions.map(interaction => interaction.speaker).filter(speaker => speaker != null))];\n\n this.interactionsFormat = this.interactions.map(interaction => {\n // Añadir el emoji correspondiente a cada interacción\n const tooltipData = this.getSentimentTooltip(interaction.sentimiento);\n interaction.emoji = tooltipData.emoji;\n interaction.tooltip = `${tooltipData.message} ${tooltipData.emoji}`;\n\n return interaction;\n });\n\n const jsonDataDeadTimes = JSON.parse(result.data.deadtimes.tiempos_muertos);\n this.tiemposMuertos = Array.isArray(jsonDataDeadTimes) ? jsonDataDeadTimes : [jsonDataDeadTimes];\n\n this.llmResponseObject = result.data.llm_response;\n this.palabrasClaveArray = this.llmResponseObject.palabras_clave;\n\n this.resumen = this.llmResponseObject.resumen;\n this.palabrasClave = this.llmResponseObject.palabras_clave;\n this.entidadesPrincipales = this.llmResponseObject.entidades_principales;\n this.temasPrincipales = this.llmResponseObject.temas_principales;\n this.puntosClave = this.llmResponseObject.puntos_clave;\n this.analisisDeSentimientos = this.llmResponseObject.analisis_de_sentimientos;\n\n this.id = result.data.id;\n\n //inicializar el estado de los checkboxes\n this.interactionsFormat.forEach(interaction => {\n interaction.selected = true;\n });\n\n this.calcularPorcentajes(this.interactionsFormat);\n\n //comparación de los tiempos muertos de la campaña con los segmentos de audio\n const deadTimeFloat = parseFloat(this.dead_time);\n this.tiemposMuertosMayores = this.tiemposMuertos.filter(tiempo => {\n const duracion = tiempo.end - tiempo.start;\n return duracion > deadTimeFloat;\n });\n\n this.totalDuracionTiemposMuertos = parseFloat(this.tiemposMuertos.reduce((total, tiempo) => {\n return total + (tiempo.end - tiempo.start);\n }, 0).toFixed(3));\n\n this.deadTimeaudioDurationMinutos = Math.floor(this.totalDuracionTiemposMuertos / 60);\n this.deadTimeaudioDurationSegundos = Math.round(this.totalDuracionTiemposMuertos % 60);\n\n //formatear el tiempo en el formato hh:mm:ss\n const formatTime = (time: number): string => {\n const hours = Math.floor(time / 3600);\n const minutes = Math.floor((time % 3600) / 60);\n const seconds = Math.floor(time % 60);\n return `${hours < 10 ? '0' + hours : hours}:${minutes < 10 ? '0' + minutes : minutes}:${seconds < 10 ? '0' + seconds : seconds}`;\n };\n\n //formatear los tiempos muertos\n this.deadTimeaudioDurationFormatted = formatTime(this.totalDuracionTiemposMuertos);\n\n },\n error => {\n console.error('Error al recuperar los resultados del análisis:', error.message);\n Swal.fire({\n title: 'Error al recuperar los resultados del análisis:',\n icon: 'error',\n text: error.message,\n confirmButtonText: '¡Entendido!',\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n }).then((result) => {\n if (result.isConfirmed) {\n this.dialogRef.close();\n }\n });\n }\n );\n }\n /**\n * Método que obtiene y valida la duración total del archivo de audio especificado por audioUr.\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n */\n\n obtenerDuracionTotalAudio() {\n const audio = new Audio();\n audio.src = this.audioUrl;\n audio.onloadedmetadata = () => {\n this.audioDuration = audio.duration;\n\n //formatear la duración total del audio en el formato hh:mm:ss\n this.audioDurationFormatted = this.formatTime(this.audioDuration);\n };\n }\n\n /**\n * Formatea un objeto de tiempo en una cadena de texto en formato de hora (HH:MM:SS).\n * @author Yeison Sepulveda\n * @createdate 22/04/2024\n * @param {Object} tiempo - Objeto que contiene los campos 'start' y 'end' que representan los tiempos de inicio y fin en segundos.\n * @param {number} tiempo.start - Tiempo de inicio en segundos.\n * @param {number} tiempo.end - Tiempo de fin en segundos.\n * @returns {string} Una cadena de texto en formato de hora (HH:MM:SS) que representa el intervalo de tiempo entre el tiempo de inicio y el tiempo de fin.\n */\n\n formatTiempo(tiempo: any): string {\n const formatTime = (time: number): string => {\n const hours = Math.floor(time / 3600);\n const minutes = Math.floor((time % 3600) / 60);\n const seconds = Math.floor(time % 60);\n return `${hours < 10 ? '0' + hours : hours}:${minutes < 10 ? '0' + minutes : minutes}:${seconds < 10 ? '0' + seconds : seconds}`;\n };\n\n const startFormatted = formatTime(tiempo.start);\n const endFormatted = formatTime(tiempo.end);\n\n return `${startFormatted} - ${endFormatted}`;\n }\n\n calcularDuracion(start: number, end: number): string {\n const durationInSeconds = end - start;\n return this.formatTime(durationInSeconds);\n }\n\n\n /**\n * Formatea un número de segundos en una cadena de texto en formato de hora (HH:MM:SS).\n * @author Yeison Sepulveda\n * @createdate 22/04/2024\n * @param {number} time - El número de segundos a formatear.\n * @returns {string} Una cadena de texto en formato de hora (HH:MM:SS).\n */\n\n formatTime(time: number): string {\n const hours = Math.floor(time / 3600);\n const minutes = Math.floor((time % 3600) / 60);\n const seconds = Math.floor(time % 60);\n return `${hours < 10 ? '0' + hours : hours}:${minutes < 10 ? '0' + minutes : minutes}:${seconds < 10 ? '0' + seconds : seconds}`;\n }\n\n\n /**\n * Validar el posicionamiento para graficar los tiempos muertos\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n * @returns void {left: posicionInicio + '%', width: longitud + '%'}\n */\n\n calcularPosicionSegmento(segmento: any): { left: string, width: string } {\n const duracionTotal = this.audioDuration;\n const posicionInicio = (segmento.start / duracionTotal) * 100;\n const longitud = ((segmento.end - segmento.start) / duracionTotal) * 100;\n return { left: posicionInicio + '%', width: longitud + '%' };\n }\n\n\n /**\n * Metodo descarga e imprime pantallazo del modal\n * @update Yeison Sepulveda\n * @updatedate 29-05-2024\n */\n async onClickPrintPdf() {\n if (this.modificarInteracciones) {\n this.modificarInteracciones = false;\n }\n this.transcripcionPanel.open();\n this.tiemposMuertosPanel.open();\n this.resumenPanel.open();\n this.analisisTono.open();\n this.analisisTexto.open();\n\n this.interactionsFormat.forEach(interaction => {\n if (interaction.explicacion) {\n interaction.expanded = true;\n }\n });\n\n await new Promise(resolve => setTimeout(resolve, 1000));\n const content = this.containerViewReport.nativeElement;\n\n const filename = this.generateFilename();\n const margin = 13;\n\n const options = {\n margin: margin,\n filename: filename,\n image: { type: 'jpeg', quality: 0.98 },\n html2canvas: {\n scale: 2,\n useCORS: true,\n logging: true\n },\n jsPDF: {\n unit: 'mm',\n format: 'tabloid',\n orientation: 'portrait'\n },\n pagebreak: {\n mode: ['avoid-all', 'css', 'legacy']\n }\n };\n\n const testPDF = html2pdf().from(content).set(options).toContainer().toCanvas().toImg().toPdf();\n testPDF.get('pdf').then(function (pdf) {\n const totalHeight = content.scrollHeight * 0.264583 + 2 * margin;\n pdf.internal.pageSize = { width: 430, height: totalHeight };\n });\n\n testPDF.save()\n }\n\n /**\n * Metodo generar el nombre del documento a descargar\n * @author Yeison Sepulveda\n * @createdate 2024-0-03\n * @return nombre del archivo\n */\n generateFilename(): string {\n const currentDate = new Date().toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n }).replace(/\\//g, '');\n\n const currentTime = new Date().toLocaleTimeString('es-ES', {\n hour: '2-digit',\n minute: '2-digit',\n hour12: false\n }).replace(/:/g, '');\n\n const dateTimeString = `${currentDate}${currentTime}`;\n return `reporte_analisis_${this.recordingID}_${dateTimeString}.pdf`;\n }\n\n /**\n * Método para guardar estado original del texto antes de editarse\n * @author Yeison Sepulveda\n * @createdate 2025-01-30\n */\n enterEditMode() {\n this.interactionsFormat.forEach((item, index) => {\n this.highlightedTerms.forEach(term => {\n this.toggleHighlight(term);\n });\n\n // Guardar el estado original sin resaltado\n this.originalState[index] = {\n text: item.text,\n speaker: item.speaker\n };\n });\n }\n\n /**\n * Método para restabecer el estado originan antes de editarse\n * @author Yeison Sepulveda\n * @createdate 2025-01-30\n */\n cancelEditMode() {\n this.interactionsFormat.forEach((item, index) => {\n item.text = this.originalState[index].text;\n item.speaker = this.originalState[index].speaker;\n });\n this.editMode = false;\n }\n\n /**\n * Método para verificar si hubo cambios en la edición.\n * @returns true si hubo cambios, false si no.\n */\n hasModifications(): boolean {\n for (let i = 0; i < this.interactionsFormat.length; i++) {\n if (\n this.interactionsFormat[i].text !== this.originalState[i].text ||\n this.interactionsFormat[i].speaker !== this.originalState[i].speaker\n ) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Metodod habila la edicion e la trascripcion\n * @author Yeison Sepulveda\n * @createdate 14-05-2024\n * @update Yeison Sepulveda\n */\n toggleEditMode() {\n this.editMode = !this.editMode;\n\n if (this.modificarInteracciones) {\n this.modificarInteracciones = false;\n }\n\n if (this.editMode) {\n this.enterEditMode();\n Swal.fire({\n title: '¡Excelente!',\n text: 'Puedes editar cada segmento de la transcripción.',\n icon: 'success',\n timer: 2000,\n showConfirmButton: false\n });\n } else {\n if (!this.hasModifications()) {\n this.editMode = false;\n return;\n } else{\n Swal.fire({\n title: '¿Estás seguro?',\n text: '¿Quieres guardar los cambios?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.saveChanges();\n this.dialogRef.close({ hasChanges: true });\n } else {\n this.cancelEditMode();\n }\n });\n }\n }\n }\n\n /**\n * Método que guarda los cambios realizados en los textos editables y los envía al backend a través de un servicio.\n * @author Yeison Sepulveda\n * @createdate 14-06-2024\n */\n saveChanges(): void {\n // json envio\n const dataForm = {\n id: this.id,\n diarization: { interaccion: this.interactions }\n };\n\n this.resultService.updateTranscription(dataForm).subscribe(\n response => {\n Swal.fire({\n title: 'Excelente',\n text: 'Los cambios se han guardado satisfactoriamente.',\n icon: 'success',\n timer: 2000,\n showConfirmButton: false\n });\n\n },\n error => {\n console.error('Ha ocurrido un error al guardar los cambios:', error.message);\n Swal.fire({\n title: 'Ha ocurrido un error al guardar',\n icon: 'error',\n text: error.message,\n confirmButtonText: '¡Entendido!',\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n });\n }\n );\n }\n\n /**\n * Método que actualiza el contenido del texto en tiempo real mientras se edita,\n * @autor Yeison Sepulveda\n * @createdate 19-06-2024\n * @param {Event} event - El evento de entrada que se dispara cuando el usuario edita el contenido.\n * @param {number} index - El índice del elemento en el array interactionsFormat que está siendo editado.\n */\n saveTextContent(event: any, index: number): void {\n const updatedText = event.target.innerHTML;\n this.interactionsFormat[index].text = updatedText;\n this.interactions[index].text = updatedText;\n }\n\n /**\n * Método que actualiza el contenido del select en tiempo real mientras se edita,\n * @autor Yeison Sepulveda\n * @createdate 30-01-2025\n * @param {Event} event - El evento de entrada que se dispara cuando el usuario edita el contenido.\n * @param {number} index - El índice del elemento en el array interactionsFormat que está siendo editado.\n */\n saveSpeakerChange(index: number, newSpeaker: string): void {\n this.interactionsFormat[index].speaker = newSpeaker;\n this.interactions[index].speaker = newSpeaker;\n }\n\n /**\n * Método que devuelve un tooltip con un emoji y un mensaje correspondiente a un sentimiento dado.\n * @author Yeison Sepulveda\n * @createdate 27-06-2024\n * @param {string} sentimiento - El sentimiento para el cual se desea obtener el tooltip.\n * @returns {{ emoji: string, message: string }} - Un objeto con un emoji y un mensaje correspondientes al sentimiento.\n */\n getSentimentTooltip(sentimiento: string): { emoji: string, message: string } {\n switch (sentimiento) {\n case 'NEG':\n return { emoji: '😡', message: 'Negativo' };\n case 'NEU':\n return { emoji: '😐', message: 'Neutral' };\n case 'POS':\n return { emoji: '😊', message: 'Positivo' };\n default:\n return { emoji: '😐', message: 'Neutral' };\n }\n }\n\n /**\n * Método que formatea los datos por speaker en base a las emociones.\n * @author Yeison Sepulveda\n * @createdate 25-06-2024\n * @param {{ [key: string]: any }} data - Los datos de las emociones por speaker.\n * @param {number} totalInteracciones - El número total de interacciones.\n * @returns {any[]} - Un array de datos formateados por speaker.\n */\n private formatDataPorSpeaker(data: { [key: string]: any }, totalInteraccionesPorSpeaker: { [key: string]: number }): any[] {\n const formattedData = [];\n\n Object.keys(data).forEach(speaker => {\n if (speaker) {\n const speakerTotalInteracciones = totalInteraccionesPorSpeaker[speaker];\n formattedData.push(\n {\n name: speaker,\n series: [\n { name: 'Enojo', value: +(data[speaker].ang / speakerTotalInteracciones * 100).toFixed(2)},\n { name: 'Felicidad', value: +(data[speaker].hap / speakerTotalInteracciones * 100).toFixed(2)},\n { name: 'Neutral', value: +(data[speaker].neu / speakerTotalInteracciones * 100).toFixed(2)},\n { name: 'Tristeza', value: +(data[speaker].sad / speakerTotalInteracciones * 100).toFixed(2)}\n ]\n }\n );\n }\n });\n\n return formattedData;\n }\n\n /**\n * Método para formatear datos por speaker en base a los sentimientos.\n * @param data - Los datos de sentimientos por speaker.\n * @param totalInteraccionesPorSpeaker - El número total de interacciones por speaker.\n * @returns Un array de datos formateados por speaker.\n */\n private formatSentimientosPorSpeaker(data: { [key: string]: any }, totalInteraccionesPorSpeaker: { [key: string]: number }): any[] {\n const formattedData = [];\n\n Object.keys(data).forEach(speaker => {\n if (speaker) {\n const speakerTotalInteracciones = totalInteraccionesPorSpeaker[speaker];\n formattedData.push(\n {\n name: speaker,\n series: [\n { name: 'Negativo', value: +(data[speaker].NEG / speakerTotalInteracciones * 100).toFixed(2)},\n { name: 'Neutral', value: +(data[speaker].NEU / speakerTotalInteracciones * 100).toFixed(2)},\n { name: 'Positivo', value: +(data[speaker].POS / speakerTotalInteracciones * 100).toFixed(2)}\n ]\n }\n );\n }\n });\n\n return formattedData;\n }\n\n /**\n * Método que calcula los porcentajes de emociones y sentimientos en las interacciones.\n * @author Yeison Sepulveda\n * @createdate 28-06-2024\n * @param {any[]} interactions - Un array de interacciones que contiene emociones y sentimientos.\n */\n calcularPorcentajes(interactions: any[]): void {\n const emocionContadores = { ang: 0, hap: 0, neu: 0, sad: 0 };\n const sentimientoContadores = { NEG: 0, NEU: 0, POS: 0 };\n const totalInteracciones = interactions.length;\n\n if (totalInteracciones === 0) {\n // Si no hay interacciones, se asigna valor neutral a todos los sentimientos y emociones\n this.sentimientosData = [\n { name: 'Negativo', value: 0, label: '0%' },\n { name: 'Neutral', value: 100, label: '100%' },\n { name: 'Positivo', value: 0, label: '0%' }\n ];\n this.emocionesData = [\n { name: 'Enojo', value: 0},\n { name: 'Felicidad', value: 0},\n { name: 'Neutral', value: 100},\n { name: 'Tristeza', value: 0}\n ];\n this.sentimientosDataPorSpeaker = [];\n this.emocionesDataPorSpeaker = [];\n return;\n }\n\n // Contadores por speaker y sus totales\n const emocionContadoresPorSpeaker: { [key: string]: any } = {};\n const sentimientoContadoresPorSpeaker: { [key: string]: any } = {};\n const totalInteraccionesPorSpeaker: { [key: string]: number } = {};\n\n interactions.forEach(interaction => {\n const emocion = interaction.emocion;\n const sentimiento = interaction.sentimiento;\n const speaker = interaction.speaker || 'SPEAKER';\n\n if (speaker) {\n // Contadores generales\n if (emocionContadores[emocion] !== undefined) {\n emocionContadores[emocion]++;\n }\n\n if (sentimientoContadores[sentimiento] !== undefined) {\n sentimientoContadores[sentimiento]++;\n }\n\n // Contadores por speaker\n if (!emocionContadoresPorSpeaker[speaker]) {\n emocionContadoresPorSpeaker[speaker] = { ang: 0, hap: 0, neu: 0, sad: 0 };\n }\n if (!sentimientoContadoresPorSpeaker[speaker]) {\n sentimientoContadoresPorSpeaker[speaker] = { NEG: 0, NEU: 0, POS: 0 };\n }\n if (!totalInteraccionesPorSpeaker[speaker]) {\n totalInteraccionesPorSpeaker[speaker] = 0;\n }\n\n if (emocionContadoresPorSpeaker[speaker][emocion] !== undefined) {\n emocionContadoresPorSpeaker[speaker][emocion]++;\n }\n\n if (sentimientoContadoresPorSpeaker[speaker][sentimiento] !== undefined) {\n sentimientoContadoresPorSpeaker[speaker][sentimiento]++;\n }\n\n // Incrementar el total de interacciones por speaker\n totalInteraccionesPorSpeaker[speaker]++;\n }\n });\n\n // Datos generales\n this.emocionesData = [\n { name: 'Enojo', value: (emocionContadores.ang / totalInteracciones) * 100},\n { name: 'Felicidad', value: (emocionContadores.hap / totalInteracciones) * 100},\n { name: 'Neutral', value: (emocionContadores.neu / totalInteracciones) * 100},\n { name: 'Tristeza', value: (emocionContadores.sad / totalInteracciones) * 100}\n ];\n\n this.sentimientosData = [\n { name: 'Negativo', value: (sentimientoContadores.NEG / totalInteracciones) * 100},\n { name: 'Neutral', value: (sentimientoContadores.NEU / totalInteracciones) * 100},\n { name: 'Positivo', value: (sentimientoContadores.POS / totalInteracciones) * 100}\n ];\n\n\n // Datos para gráficas por speaker\n this.emocionesDataPorSpeaker = this.formatDataPorSpeaker(emocionContadoresPorSpeaker, totalInteraccionesPorSpeaker);\n this.sentimientosDataPorSpeaker = this.formatSentimientosPorSpeaker(sentimientoContadoresPorSpeaker, totalInteraccionesPorSpeaker);\n }\n\n /**\n * Método asignar valor del label a la grafica de torta\n * @author Yeison Sepulveda\n * @createdate 2024-07-17\n */\n pieChartLabel(series: any[], name: string): string {\n const item = series.find(data => data.name === name);\n\n const value = item.value;\n const formattedValue = value % 1 !== 0 ? value.toFixed(2) : value.toString();\n return `${formattedValue}%`;\n }\n\n /**\n * Metodo para manejar los cambios de selección en las interacciones.\n * @author Yeison Sepulveda\n * @createdate 2024-08-27\n */\n onSelectionChange(): void {\n this.selectedInteractions = this.interactionsFormat.filter(item => item.selected);\n console.log('select interacciones', this.selectedInteractions)\n this.updateGraphs();\n this.updateCheckboxState();\n }\n\n /**\n * Metodo para actualizar la informacion de las graficas basadas en las interacciones seleccionadas\n * @author Yeison Sepulveda\n * @createdate 2024-08-27\n */\n updateGraphs() {\n const selectedInteractions = this.selectedInteractions;\n this.calcularPorcentajes(selectedInteractions);\n }\n\n /**\n * Metodo para actualizar la informacion de las graficas basadas en las interacciones seleccionadas\n * @author Yeison Sepulveda\n * @createdate 2024-08-27\n */\n toggleModificacion() {\n if (!this.modificarInteracciones) {\n Swal.fire({\n title: '¿Estás seguro?',\n text: 'Podrás desactivar interacciones y no se tendrán en cuenta en el análisis de las gráficas. Estos cambios son temporales.',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n confirmButtonText: 'Sí, continuar',\n cancelButtonText: 'Cancelar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.modificarInteracciones = true;\n }\n });\n } else {\n Swal.fire({\n title: 'Advertencia',\n text: 'Recuerda que si deseleccionas algo, no se tendrá en cuenta para el análisis de las gráficas. Los cambios son temporales y puedes reactivarlos si lo deseas.',\n icon: 'warning',\n confirmButtonColor: '#2CABBC',\n confirmButtonText: '¡Entendido!'\n }).then(() => {\n this.modificarInteracciones = false;\n });\n }\n }\n\n /**\n * Metodo para Manejar el cambio en el checkbox global\n * @author Yeison Sepulveda\n * @createdate 2024-08-28\n */\n toggleSelectAll(checked: boolean): void {\n this.interactionsFormat.forEach(item => item.selected = checked);\n this.onSelectionChange();\n this.updateCheckboxState();\n }\n\n /**\n * Metodo para actualizar el estado del checkbox global\n * @author Yeison Sepulveda\n * @createdate 2024-08-28\n */\n updateCheckboxState(): void {\n const allSelected = this.interactionsFormat.every(item => item.selected);\n const noneSelected = this.interactionsFormat.every(item => !item.selected);\n\n this.selectAll = allSelected;\n this.indeterminate = !allSelected && !noneSelected;\n }\n\n /**\n * Metodo para manejar estado indeterminado\n * @author Yeison Sepulveda\n * @createdate 2024-08-28\n */\n isIndeterminate(): boolean {\n return this.indeterminate;\n }\n\n}\n","\n \n
\n

Resultados de análisis.

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

Transcripción

\n
\n
\n
\n \n
\n \n \n {{ palabra }}\n \n \n
\n\n \n
\n \n Seleccionar/Deseleccionar todo\n \n \n \n
\n \n
\n

\n \n \n {{ item.emoji }}\n \n \n \n {{ item.emoji }} {{ item.speaker ? item.speaker : 'SPEAKER' }}\n \n \n ({{ item.start_format }} - {{ item.end_format }}): \n \n \n \n \n \n \n

\n \n

\n Explicación: \n {{ item.explicacion }}\n

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

Tiempos muertos

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

\"Dar clic en el segmento requerido sobre la barra, para ir al audio\"

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

\n Total tiempo audio: {{ audioDurationFormatted }}\n Total de tiempo muerto: {{ deadTimeaudioDurationFormatted }}

\n
\n
\n
\n

\n \n Tiempo Muerto N°{{ i + 1 }} ({{ formatTiempo(tiempo) }}) - Duración: {{ calcularDuracion(tiempo.start, tiempo.end) }}\n

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

Resumen e Identificación de Objetivo

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

Resumen: {{ llmResponseObject.resumen }}

\n\n

0\">\n Palabras Clave: \n {{ palabra }}, \n

\n\n

0\">\n Entidades principales: \n {{ entidad }}, \n

\n\n

0\">\n Temas Principales: \n {{ tema }}, \n

\n\n

0\">\n Puntos Clave: \n {{ punto }}, \n

\n
\n
\n
\n
\n\n \n \n Análisis de tono de voz\n \n
\n
\n Gráfica de Análisis de tono de voz general\n
\n
\n \n \n
\n
\n\n
\n
\n
\n Gráfica de Análisis de tono de voz {{ speakerData.name }}\n
\n
\n \n \n
\n
\n
\n
\n\n \n \n Análisis de texto\n \n
\n
\n Gráfica de Análisis de texto general\n
\n
\n \n \n
\n
\n\n
\n
\n
\n Gráfica de Análisis de texto {{ speakerData.name }}\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n\n
\n \n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { EDITOR_CONFIG } from '../gestionador-correos/ConfigAngularEditor';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { EscalationService } from 'src/app/modules/crm_v2/services/rest/escalation.service';\n\n@Component({\n selector: 'app-view-plantillas',\n templateUrl: './view-plantillas.component.html',\n styleUrls: ['./view-plantillas.component.sass']\n})\nexport class ViewPlantillasComponent implements OnInit {\n editorConfig: any = EDITOR_CONFIG;\n formViewPlantillas = new FormGroup({\n plantilla: new FormControl('', []),\n bodyPlantilla: new FormControl('', [Validators.required]),\n files: new FormControl([])\n });\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: { \n id: any,\n escalamiento: any, \n plantillas: any }, \n private alertService: AlertsService,\n private escalamientosService: EscalationService,\n public dialogRefViewPlantillas: MatDialogRef) { }\n\n ngOnInit(): void {\n \n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-02-02\n * Metodo que cambia la plantilla html sobre el cuerpo del correo.\n * @param $event Variable que trae toda la informacion del campo. \n */\n changePlantillaEmailBody($event: any): void {\n const idPlantilla = $event.value;\n const searchPlantilla = this.data.plantillas.find(item => { return item.id === idPlantilla });\n if (searchPlantilla) this.formViewPlantillas.get('bodyPlantilla').setValue(searchPlantilla.body);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-02-09\n * Metodo que guarda la PQRS al cerrarse.\n */\n cerrarPqrs(): void {\n if (this.formViewPlantillas.valid) {\n const editForm = new FormData();\n editForm.append('solucionador_id' , this.data.escalamiento.solucionador_id);\n editForm.append('estado_id' , this.data.escalamiento.estado_id);\n editForm.append('preguntas' , JSON.stringify(this.data.escalamiento.preguntas));\n editForm.append('form_answer_id', this.data.escalamiento.form_answer_id);\n editForm.append('id_plantilla', this.formViewPlantillas.get('plantilla').value);\n editForm.append('html_body', this.formViewPlantillas.get('bodyPlantilla').value);\n for (let i = 0; i < this.formViewPlantillas.get('files').value.length; i ++) {\n editForm.append(`adjunto${i}`, this.formViewPlantillas.get('files').value[i].file);\n }\n this.escalamientosService.postFormEscalation(editForm, this.data.id).subscribe((resp) => {\n if (resp) {\n this.alertService.alertWithAnyProperties('Editado', 'La PQRS fue editada correctamente', 'success', 'Continuar').then(confirm => {\n if (confirm.isConfirmed) {\n this.dialogRefViewPlantillas.close();\n }\n });\n }\n });\n } else {\n this.formViewPlantillas.markAllAsTouched();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-02-11\n * Metodo que envia los archivos desde el componente hijjo. \n * @param $event Lista de archivos. \n */\n setListFiles($event: any): void {\n this.formViewPlantillas.get('files').setValue($event);\n }\n}","

Finalizar PQRS

\n
\n
\n
\n
\n Nota: Desde aquí podrá enviar la respuesta al cliente, adicional si tiene una plantilla perzonalizada podra seleccionarla y editarla.\n
\n
\n
0\" class=\"row\">\n
\n \n Plantilla HTML\n \n {{ plantilla.name }}\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n Este campo es requerido\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n","import { ChartDataset, ChartOptions } from 'chart.js';\n\nexport const MONTHS = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];\n\nexport const DATASET_PENDIENTES: ChartDataset = {\n label: 'Pendientes',\n backgroundColor: '#D14A4A',\n data: []\n};\n\nexport const DATASET_EN_GESTION: ChartDataset = {\n label: 'En gestión',\n backgroundColor: '#D9A847',\n data: []\n};\n\nexport const DATASET_CERRADOS: ChartDataset = {\n label: 'Cerrados',\n backgroundColor: '#60BF66',\n data: []\n};\n\nexport const OPTIONS: ChartOptions = {\n plugins: {\n title: {\n display: true,\n text: 'Estadística General',\n font: {\n size: 20,\n family: '\"Poppins\", sans-serif'\n }\n },\n legend: {\n position: 'bottom',\n labels: {\n font: {\n size: 16,\n family: '\"Poppins\", sans-serif'\n }\n }\n },\n tooltip: {\n titleFont: {\n family: '\"Poppins\", sans-serif'\n },\n bodyFont: {\n family: '\"Poppins\", sans-serif'\n }\n }\n },\n scales: {\n x: {\n ticks: {\n font: {\n size: 12,\n family: '\"Poppins\", sans-serif'\n }\n }\n },\n y: {\n ticks: {\n font: {\n size: 12,\n family: '\"Poppins\", sans-serif'\n }\n },\n type: 'logarithmic',\n min: 0\n }\n }\n};\n\nexport const OPTIONS_PIE: ChartOptions<'pie'> = {\n plugins: {\n title: {\n display: true,\n text: 'Estadística por Estados',\n font: {\n size: 20,\n family: '\"Poppins\", sans-serif'\n }\n },\n legend: {\n position: 'bottom',\n labels: {\n font: {\n size: 14,\n family: '\"Poppins\", sans-serif'\n }\n }\n },\n tooltip: {\n titleFont: {\n family: '\"Poppins\", sans-serif'\n },\n bodyFont: {\n family: '\"Poppins\", sans-serif'\n }\n }\n },\n};\n\nexport const DAYS_OF_WEEK = [\n {\n value: \"Monday\",\n text: \"Lunes\"\n },\n {\n value: \"Tuesday\",\n text: \"Martes\"\n },\n {\n value: \"Wednesday\",\n text: \"Miércoles\"\n },\n {\n value: \"Thursday\",\n text: \"Jueves\"\n },\n {\n value: \"Friday\",\n text: \"Viernes\"\n },\n {\n value: \"Saturday\",\n text: \"Sábado\"\n },\n {\n value: \"Sunday\",\n text: \"Domingo\"\n }\n];","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { HistoryService } from 'src/app/modules/speech-analytics/services/history.service';\nimport Swal from 'sweetalert2';\nimport { AdherenciaChatModalComponent } from '../../chat-speech/adherencia-chat-modal/adherencia-chat-modal.component';\nimport { AnalyticsChatModalComponent } from '../../chat-speech/analytics-chat-modal/analytics-chat-modal.component';\nimport { ChatViewModalComponent } from '../../chat-speech/chat-view-modal/chat-view-modal.component';\nimport { ChatService } from '../../../services/chat.service';\n\n\n@Component({\n selector: 'app-history-chat',\n templateUrl: './history-chat.component.html',\n styleUrls: ['./history-chat.component.sass']\n})\nexport class HistoryChatComponent implements OnInit {\n\n /**\n * Variables de paginacion\n */\n pageSizeOptions: number[] = [5, 10, 20, 50, 100];\n configPaginator: any = { length: 0, pageSize: 5, pageIndex: 1, previousPageIndex: 0 };\n\n /**\n * Variable de filtros\n */\n formFilters: FormGroup;\n isFiltersAdvancedActive: boolean = false;\n\n /**\n * Selectores\n */\n campaigns_list: any[] = [];\n groups: any[] = [];\n skills: any[] = [];\n tipifications: any[] = [];\n type_call: any[] = [{ type_call: 'Inbound' }, { type_call: 'Outbound' }];\n listStrategys: any[] = [];\n\n /**\n * Columnas de tablas\n */\n displayedColumns: string[] = ['checbox', 'case_number', 'entry_date_time', 'agent_name', 'phone', 'file', 'conversation', 'analisis', 'adherencia'];\n\n /**\n * Cabeceras de tablas\n */\n\n tHeaders:any={\n checbox: \"\", case_number:\"Caso\",entry_date_time: \"Fecha\",\n agent_name: 'Nombre agente', phone: \"Telefono\", file:'Archivo',\n conversation:'Conversación', analisis:'Análisis' , adherencia:'Adherencia'\n }\n\n /**\n * Variables de seleccion\n */\n selection = new SelectionModel(true, []);\n\n //selectores\n selectedSearch: Set = new Set(); //selest activos busqueda\n\n /**\n * Variables de tabla\n */\n @ViewChild(MatSort) sort: MatSort;\n dataSource = new MatTableDataSource();\n\n strategyControl: FormControl = new FormControl(null);\n\n rrhh_id_user: any;\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n ngOnInit(): void {\n this.filterUserCampaign();\n this.initFormFilters();\n }\n\n constructor(\n private historyService: HistoryService,\n private chatService: ChatService,\n private dialog: MatDialog\n ) {}\n\n /**\n * Método que se encarga de inicializar los controles apra los filtros\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n initFormFilters(): void {\n this.formFilters = new FormGroup({\n dateStart: new FormControl(null, Validators.required),\n dateEnd: new FormControl(null, Validators.required),\n });\n }\n\n /**\n * Metodo validar rango de fecha\n * @author Yeison sepulveda\n * @createdate 30-08-2024\n * @returns void {void} \n */\n myDateFilter = (d: Date | null): boolean => {\n const today = new Date();\n return d ? d <= today : true;\n };\n\n /**\n * Método para limpiar la selección basado en un parámetro\n * @author Yeison Sepulveda\n * @param param\n */\n searchSelection() {\n this.configPaginator.pageIndex = 0;\n this.selectedSearch.clear();\n this.dataSource.data = [];\n this.paginator.firstPage();\n this.search();\n }\n\n /**\n * Método que determinao si los checbox estan seleccionados o no en la tabal de grabaciones\n * @author Juan David Guerrero Vargas\n * @returns {Boolean}\n */\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n /**\n * Metodo para para seleccionar todos los elementos en la página actual\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n selectAll(): void {\n if (this.isAllSelected()) {\n this.dataSource.data.forEach((row) => {\n this.selection.deselect(row);\n this.selectedSearch.delete(row.id);\n });\n } else {\n this.dataSource.data.forEach((row) => {\n if (\n !this.selection.selected.some(\n (selectedItem: any) =>\n selectedItem.id === row.id\n )\n ) {\n this.selection.select(row);\n this.selectedSearch.add(row.id);\n }\n });\n }\n }\n\n\n /**\n * Método para alternar la selección de un registro en la lista.\n * @author Yeison Sepulveda\n * @param row \n */\n toggleSelection(row: any): void {\n if (this.selection.isSelected(row)) {\n this.selection.deselect(row);\n this.selectedSearch.delete(row.id);\n } else {\n this.selection.select(row);\n this.selectedSearch.add(row.id);\n }\n }\n\n /**\n * Recuperar los selec seleccionados en distintas paginas\n * @author Yeison Sepulveda\n * @param param\n */\n syncSelectionWithStored(param: string) {\n if (param === 'search') {\n this.selection.clear();\n this.dataSource.data.forEach((row) => {\n if (this.selectedSearch.has(row.id)) {\n this.selection.select(row);\n }\n });\n }\n }\n\n /**\n * Metdodo que se encarga de obtener la cantidad de registros en la tabla\n * @author Juan David Guerrero Vargas\n */\n get getTotalDataSource(): number {\n return this.dataSource.data.length;\n }\n\n /**\n * Metodo que se encarga de identificar sis e peude o no relziar la consutla\n */\n get isAviableSearch(): boolean {\n let endDate = this.formFilters.get('dateEnd').value;\n if (\n endDate !== null &&\n endDate !== ''\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Metodo trae las campañas asociadas al usuario\n * @author Yeison sepulveda\n * @createdate 06/05/2023\n * @returns void {void}\n */\n\n filterUserCampaign(): void {\n this.historyService.getCampaigns().subscribe(\n (res) => {\n this.campaigns_list = res.data;\n },\n (error) => {\n this.campaigns_list = [];\n }\n );\n }\n\n /**\n * Método para el consumo y busqueda por los selectores\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n search(): void {\n const filters = {\n start_time: this.formFilters.get('dateStart').value,\n end_time: this.formFilters.get('dateEnd').value,\n };\n\n this.historyService.ChatSearchPaginate(filters, this.configPaginator).subscribe(\n (response) => {\n const data = response.data.data.map((registro: any) => {\n const earliestChatDetail = registro.chat_details.reduce((earliest, current) => {\n return new Date(earliest.entry_date_time) < new Date(current.entry_date_time) ? earliest : current;\n });\n\n const agentName = registro.chat_details.find(detail => detail.agent_name)?.agent_name || 'N/A';\n const file = registro.uploads.file;\n\n // Calcular adherencia\n let adherencia;\n if (\n (registro.adherence_percentage === null || registro.adherence_percentage === \"\") &&\n (registro.not_adherence_percentage === null || registro.not_adherence_percentage === \"\")\n ) {\n adherencia = null;\n } else {\n adherencia = `${registro.adherence_percentage}% / ${registro.not_adherence_percentage}%`;\n }\n\n const fecha = new Date(registro.date);\n const year = fecha.getFullYear();\n const month = (fecha.getMonth() + 1).toString().padStart(2, '0');\n const day = fecha.getDate().toString().padStart(2, '0');\n const formattedDate = `${year}-${month}-${day}`;\n\n return {\n ...registro,\n entry_date_time: earliestChatDetail.entry_date_time,\n agent_name: agentName,\n date: formattedDate,\n file: file,\n adherencia: adherencia,\n };\n });\n\n this.dataSource.data = data;\n this.dataSource.sort = this.sort;\n this.configPaginator.length = response.data.total;\n this.syncSelectionWithStored('search');\n },\n (error) => {\n console.error('Error en la solicitud:', error);\n }\n );\n }\n\n\n /**\n * Método para convertir la diferencia de tiempo entre dos fechas en formato HH:mm:ss.\n * @param startTime La fecha de inicio.\n * @param endTime La fecha de fin.\n * @returns La diferencia de tiempo formateada en HH:mm:ss.\n * @author Yeison Sepulveda\n * @createdate 2024-04-23\n */\n\n convertTimeToHHMMSS(startTime: Date, endTime: Date): string {\n const diferenciaMs = Math.abs(endTime.getTime() - startTime.getTime());\n const tiempoDiferencia = new Date(diferenciaMs);\n\n //extraer\n const horas = tiempoDiferencia.getUTCHours().toString().padStart(2, '0');\n const minutos = tiempoDiferencia\n .getUTCMinutes()\n .toString()\n .padStart(2, '0');\n const segundos = tiempoDiferencia\n .getUTCSeconds()\n .toString()\n .padStart(2, '0');\n\n return `${horas}:${minutos}:${segundos}`;\n }\n\n /**\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * Método que pagina la informacion de la tabla.\n * @param $event Evento emitido por el paginador.\n */\n changePage($event: PageEvent): void {\n this.configPaginator.pageSize = $event.pageSize;\n this.configPaginator.pageIndex = $event.pageIndex + 1;\n this.search();\n }\n\n /**\n * Metodo para abrir el modal de analisis\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n openAnalyticsModal(id: any): void {\n const dialogRef = this.dialog.open(AnalyticsChatModalComponent, {\n width: '800px',\n data: { id: id } \n });\n }\n\n /**\n * Método para abrir el modal de resultados de adherencia\n * @author Yeison Sepulveda\n * @createdate 2024-04-30\n */\n AdherenciaModal(id: any): void {\n const dialogRef = this.dialog.open(AdherenciaChatModalComponent, {\n width: '800px',\n data: { id: id },\n });\n }\n\n /**\n * Método enviar mensaje swal de error de la grabación\n * @author Yeison Sepulveda\n * @createdate 2024-04-23\n */\n\n errorAnalyticModal() {\n Swal.fire({\n title: '¡Aviso!',\n text: 'Si la transcripción no está disponible, por favor verifica la conversación, podría carecer contenido. ¡Gracias por tu atención! ',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n\n\t/**\n\t * Método para tratar los datos que retorna el servicio y descargar el archivo.\n\t * @param data data respondida por el servicio\n\t * @param fileName nombre con el que se va a descargar el archivo.\n\t * @param file_type Tipo del archivo \n\t * @author Juan Carlos Alonso\n\t * @createdate 2021-07-27\n\t * @updatedate 2022-12-13 \n\t */\n fileTransition(data: any, fileName: string, file_type: string = ''): void {\n let blob = new Blob([data], { type: file_type });\n let downloadURL = file_type\n ? window.URL.createObjectURL(blob)\n : window.URL.createObjectURL(data);\n let link = document.createElement('a');\n link.href = downloadURL;\n link.download = fileName;\n link.click();\n }\n\n /**\n * Descargar reporte de busqueda excel\n * @author Yeison Sepulveda\n * @createdate 2024-04-04\n */\n downloadReport(type: 'analysis' | 'strategy') {\n let filters: any = {};\n\n if (type === 'analysis') {\n filters = {\n ids_case: this.dataSource.data.map(record => record.id)\n };\n } else if (type === 'strategy') {\n filters = {\n ids_case: this.dataSource.data.map(record => record.id)\n };\n }\n\n this.chatService.downloadReportChat(filters).subscribe(\n (response: any) => {\n this.fileTransition(response, 'reporte.xlsx');\n },\n (error) => {\n console.error('Error en la solicitud:', error);\n }\n );\n }\n\n /**\n * Metodo para abrir el modal detalle del caso y visual del chat\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n modalChatView(id: any): void {\n const dialogRef = this.dialog.open(ChatViewModalComponent, {\n width: '800px',\n data: { id: id } \n });\n }\n\n}\n","
\n
\n
\n\n
\n \n Fecha\n \n \n \n \n \n \n Por\n favor, seleccione un rango de fechas\n \n
\n\n
\n \n
\n
\n
\n \n
\n\n
\n\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n
{{ tHeaders[column] }} {{ element[column] }} \n \n \n \n {{ tHeaders[column] }} \n \n Pendiente\n \n \n \n \n \n \n \n \n \n {{ tHeaders[column] }} \n \n {{ tHeaders[column] }}\n \n {{ element[column] }}\n \n \n No Aplica\n \n
No existe información relacionada
\n\n \n \n\n
\n
\n\n
","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Subject, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst calidad_url = environment.CALIDAD_URL;\nconst lang = JSON.parse(localStorage.getItem('locale')) ?? 'es';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuditoriaService {\n protected dataUser;\n private _refresh$ = new Subject();\n \n constructor(\n private http:HttpClient,\n ) { }\n\n get refresh$(){\n return this._refresh$;\n }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n getTypeService(){\n return this.http.get(`${calidad_url}getTipoServicio?lang=${lang}`) \n .pipe(\n catchError(this.handleError)\n );\n }\n\n getTypeMonitoring(){\n return this.http.get(`${calidad_url}getTipoMonitoreo?lang=${lang}`) \n .pipe(\n catchError(this.handleError)\n );\n }\n\n getTypeAudit(){\n return this.http.get(`${calidad_url}getTipoAuditoria?lang=${lang}`) \n .pipe(\n catchError(this.handleError)\n );\n }\n\n getTypeSolution(){\n return this.http.get(`${calidad_url}getSolucion?lang=${lang}`) \n .pipe(\n catchError(this.handleError)\n );\n }\n\n getTypegetOjt(){\n return this.http.get(`${calidad_url}getOjt?lang=${lang}`) \n .pipe(\n catchError(this.handleError)\n );\n }\n\n getNoSolucion(){\n return this.http.get(`${calidad_url}getNoSolucion?lang=${lang}`) \n .pipe(\n catchError(this.handleError)\n );\n }\n\n getAsesor(cedula){\n return this.http.get(`${calidad_url}getAsesor?cedula=${cedula}&lang=${lang}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n createAuditoria(data){\n return this.http.post(`${calidad_url}crearAuditoria`,data) \n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getRetroalimentar(params){\n return this.http.get(`${calidad_url}buscarAsesorAuditoria`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getRetroalimentacionById(id:number){\n return this.http.get(`${calidad_url}auditoriaById/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n updateRetroalimentacionById(id:number,data){\n return this.http.post(`${calidad_url}updateRetroalimentacion/${id}`,data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getAuditoriasByAsesor(params){\n return this.http.get(`${calidad_url}getAuditorias`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getPuntajes(){\n return this.http.get(`${calidad_url}totalAuditorias`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n updateAuditoria(id,data){\n return this.http.post(`${calidad_url}updateAuditoriaAsesor/${id}`,data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getAllAuditorias(params){\n return this.http.get(`${calidad_url}auditorias`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n deleteAuditoria(id,data){\n return this.http.post(`${calidad_url}deleteAuditoria/${id}`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getTypeMuestra(){\n return this.http.get(`${calidad_url}tipo_de_muestra?lang=${lang}`)\n .pipe(\n catchError(this.handleError)\n );\n\n }\n\n\n}\n","export const PDF_OPTIONS = {\n margin: 13,\n filename: 'Análisis del correo',\n image: { type: 'jpeg', quality: 0.98 },\n html2canvas: {\n scale: 2,\n useCORS: true,\n logging: true\n },\n jsPDF: {\n unit: 'mm',\n format: 'tabloid',\n orientation: 'portrait'\n },\n pagebreak: {\n mode: ['avoid-all', 'css', 'legacy']\n }\n};","import { Injectable } from '@angular/core';\n\n// Models\nimport { Campaign } from '../models/campaign';\nimport { CampaignUser } from '../models/campaign-user';\n\n// Services\nimport { AuthService } from '../../../../../core/services/rest/auth.service';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class LocalStorageService {\n\tcartera = 'cartera_user';\n\tsimulator = 'simuladorData';\n\tgestionConsecuencia = 'consecuenciaData'\n\n\tconstructor(private authService: AuthService) {}\n\n\t/**\n\t * Método para extraer del localStorage el id de rrhh del usuario logeado.\n\t * @returns id del usuario logeado.\n\t * @author Carlos Gómez\n\t * @createdate 2021-04-26\n\t * @update 2021-09-08\n\t */\n\tgetRRHHID(): number {\n\t\treturn this.authService.getUser().rrhh_id;\n\t}\n\n\t/**\n\t * Método para extraer del localStorage el id de la campaña del usuario logeado.\n\t * @returns id de la campaña a la que pertenece el usuario logeado.\n\t * @author Carlos Gómez\n\t * @createdate 2021-05-07\n\t */\n\tgetCampaignID(): number {\n\t\treturn JSON.parse(localStorage.getItem(this.cartera))?.campaign?.id;\n\t}\n\n\t/**\n\t * Método para extraer del localStorage el id de la campaña del usuario logeado.\n\t * @returns id de la campaña a la que pertenece el usuario logeado.\n\t * @author Carlos Gómez\n\t * @createdate 2021-05-07\n\t */\n\tgetCampaignCode(): number {\n\t\treturn JSON.parse(localStorage.getItem(this.cartera))?.campaign?.code;\n\t}\n\n\t/**\n\t * Método para extraer del localStorage el id de la campaña del usuario logeado.\n\t * @returns id de la campaña a la que pertenece el usuario logeado.\n\t * @author Carlos Gómez\n\t * @createdate 2021-05-07\n\t */\n\tgetCampaign(): Campaign {\n\t\treturn JSON.parse(localStorage.getItem(this.cartera))?.campaign;\n\t}\n\n\t/**\n\t * Método para almacenar la campaña del usuario en el localStorage\n\t * @param campaign campaña del usuario\n\t * @author Carlos Gomez\n\t * @createdate 2021-05-24\n\t */\n\tsetCampaignUser(campaign: CampaignUser): void {\n\t\tlocalStorage.setItem(this.cartera, JSON.stringify(campaign));\n\t}\n\n\t/**\n\t * Método para eliminar la cartera del localStorage\n\t * @author Carlos Gomez\n\t * @createdate 2021-05-24\n\t */\n\tremoveCampaign(): void {\n\t\tlocalStorage.removeItem(this.cartera);\n\t}\n\n\t/**\n\t * Método para obtener los valores previamente simulados.\n\t * @author Carlos Gómez\n\t * @createdate 2021-06-09\n\t */\n\tgetSimulatorValues(): any {\n\t\treturn JSON.parse(localStorage.getItem(this.simulator));\n\t}\n\n\t/**\n\t * Método para modificar los valores simulados\n\t * @param form datos del formulario de atributos de la amortización\n\t * @param dues arreglo de ids de las deudas seleccionadas en la simuladión\n\t * @author Carlos Gómez\n\t * @createdate 2021-06-09\n\t */\n\tsetSimulatorValues(form: any, dues: number[]): void {\n\t\tlocalStorage.setItem(this.simulator, JSON.stringify({ form, dues }));\n\t}\n\n\t/**\n\t * Método para eliminar los datos simulados.\n\t * @author Carlos Gómez\n\t * @createdate 2021-06-09\n\t */\n\tremoveSimulatorValues(): void {\n\t\tlocalStorage.removeItem(this.simulator);\n\t}\n\n\t/**\n\t * Método para obtener el nombre del rol de cartera que esta asociado al usuario logueado.\n\t * @returns nombre del rol\n\t * @author Carlos Gómez\n\t * @createdate 2021-06-22\n\t * @update 2021-09-08\n\t */\n\tgetRolCartera(): string {\n\t\treturn this.authService\n\t\t\t.getUser()\n\t\t\t.roles.find((rol) => rol.includes('cartera'))\n\t\t\t?.split('::')[1];\n\t}\n\n\tgetGestionConsecuenciaValues(): any {\n\t\treturn JSON.parse(localStorage.getItem(this.gestionConsecuencia));\n\t}\n\n\tsetGestionConsecuenciaValues(data): void {\n\t\tlocalStorage.setItem(this.gestionConsecuencia, JSON.stringify(data));\n\t}\n\n\tremoveGestionConsecuenciaValues(): void {\n\t\tlocalStorage.removeItem(this.gestionConsecuencia);\n\t}\n\n}\n","import { Injectable } from '@angular/core';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { DataDisconnectSocket } from '../../modules/chat/models/dataDisconnectSocket';\nimport { MixinsService } from '../rest/mixins.service';\nimport { socketService } from './index.service';\nimport { SocketActiveService } from './socket.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SocketDisconnectService {\n\n public socketActive:socketService;\n\n constructor(\n private _socketActiveService: SocketActiveService,\n private _mixinsService: MixinsService,\n private _alertsService: AlertsService,\n ) {\n \n }\n\n async disconnectSocket(rrhh:number, data:DataDisconnectSocket) {\n try {\n this.socketActive = this._socketActiveService.getSocketActive(); \n this.socketActive.sendMessage('agentDisconnect', { rrhh })\n this.socketActive.disconnect();\n await this._mixinsService.logoutRedis(data).toPromise()\n } catch (error) {\n console.error('Error al desconectar el usuario del socket: ', error);\n this._alertsService.dangerError('Error: No se pudo cambiar el estado, por favor actualice la página (F5).');\n }\n }\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { MedicaltestService } from '../../../services/medicaltest.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { TrainingGroupsService } from '../../../services/training-groups.service';\nimport { PositionsService } from '../../../services/positions.service';\n\n@Component({\n selector: 'app-create-medical-test',\n templateUrl: './create-medical-test.component.html',\n styleUrls: ['./create-medical-test.component.sass']\n})\nexport class CreateMedicalTestComponent implements OnInit {\n\n medicalForm:FormGroup\n ipsOptions:any = [];\n medicalTestsOptions:any = [];\n now = new Date().toISOString().split('.')[0];\n candidate:any;\n medicalTestSelected;\n positionsOptions:any=[]\n addres:boolean = false;\n\n\n constructor(private medicalService:MedicaltestService,\n private alertService:AlertsService,\n private fb:FormBuilder,@Inject(MAT_DIALOG_DATA) public data: any,\n private serviceGroups: TrainingGroupsService,\n public dialogRef: MatDialogRef,\n private positionsService: PositionsService,\n\n ) {\n this.candidate = this.data.candidate;\n this.medicalTestSelected = this.data.medicalTest;\n this.medicalService.getIps(1).subscribe( (resp:any) => {\n this.ipsOptions = resp;\n } )\n\n this.medicalService.getMedicalTestTypes().subscribe( (resp:any) => {\n this.medicalTestsOptions = resp;\n } )\n }\n\n ngOnInit(): void {\n this.createForm();\n if(this.medicalTestSelected){\n this.medicalForm.patchValue( this.medicalTestSelected );\n }\n\n this.positionsService.getPositionsCategory().subscribe(res=>{\n this.positionsOptions = res\n })\n }\n\n createForm(){\n this.medicalForm = this.fb.group({\n 'date':['',Validators.required],\n 'position_category_id':['',Validators.required],\n 'medical_type_test_id':['',Validators.required],\n 'ips_key':['',Validators.required],\n 'addres':[''],\n })\n }\n\n\n\n saveTest(){\n if(this.medicalForm.valid){\n console.log(this.medicalForm.value);\n this.medicalService.createMedical(this.candidate.id,this.medicalForm.value).subscribe( e => {\n this.alertService.alertSuccess('¡Listo!','Se han agendado los exámenes médicos y se ha enviado una notificación');\n this.dialogRef.close(true);\n })\n }\n }\n\n showAddres(event){\n if (event == 'otro') {\n this.addres = true;\n this.medicalForm.controls[\"addres\"].setValidators([Validators.required]);\n }else{\n this.addres = false;\n this.medicalForm.controls[\"addres\"].setValidators([]);\n }\n }\n\n}\n\n","\n\n

Agendar Examen Médico

\n
\n\n
\n\n \n Fecha\n \n \n\n \n IPS\n \n {{row.name}}\n \n \n \n Tipo de Examen\n \n {{row.name}}\n \n \n \n Tipo de cargo\n \n {{row.name}}\n \n \n\n \n Dirección\n \n \n
\n\n\n
\n
\n\n \n \n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-reservas',\n templateUrl: './reservas.component.html',\n styleUrls: ['./reservas.component.sass']\n})\nexport class ReservasComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-editar-sub-item',\n templateUrl: './editar-sub-item.component.html',\n styleUrls: ['./editar-sub-item.component.sass']\n})\nexport class EditarSubItemComponent implements OnInit {\n private uuid = '65a6a292-915b-11ee-b9d1-0242ac120002';\n public config: any;\n\n subItemForm:FormGroup;\n items = [];\n filteredOptions: Observable;\n verError:boolean = true;\n continue:boolean = true;\n nuevo:boolean = false;\n descripcion:boolean = true;\n mostarDescripciones=true;\n constructor(\n private fb:FormBuilder,\n public subItemRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private matrizService:MatrizService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.createForm();\n this.getSubItemById();\n }\n\n\n createForm(){\n this.subItemForm = this.fb.group({\n nombre:['',Validators.required],\n descripcion:[''],\n aspectoPositivo:['',Validators.maxLength(100)],\n aspectoNegativo:['',Validators.maxLength(100)],\n aspectoNa:['',Validators.maxLength(100)]\n\n })\n }\n\n getSubItemById(){\n this.matrizService.getModuleById(this.datos.id_subItem).subscribe((resp:any)=>{\n this.subItemForm.setValue({\n nombre: resp.nombre,\n descripcion: resp.descripcion,\n aspectoPositivo:resp.aspectoPositivo,\n aspectoNegativo:resp.aspectoNegativo,\n aspectoNa:resp.aspectoNa\n })\n });\n }\n\n updateSubItem(){\n if (this.subItemForm.invalid) {\n return\n }\n const data = {\n idModulo: this.datos.id_subItem,\n }\n Object.assign(data,this.subItemForm.value);\n this.matrizService.updateSubItem(data).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess(this.config.modal.excellent, this.config.modal.updatedOk);\n this.subItemRef.close();\n }\n });\n }\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.items.filter(option => option.nombre.toLowerCase().includes(filterValue));\n }\n\n displayFn(module: any): string {\n return module && module ? module : '';\n }\n\n getSubItems(){\n this.matrizService.getItems(this.subItemForm.get('nombre').value).subscribe((resp:any)=>{\n if (resp.length == 0) {\n this.verError = true\n this.subItemForm.get('nombre').setErrors({invalid:true});\n this.nuevo = true;\n this.descripcion = false;\n this.mostarDescripciones=false;\n this.continue = false;\n }else{\n this.verError = false;\n this.nuevo = false;\n this.items = resp\n this.filteredOptions = this.subItemForm.get('nombre').valueChanges.pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n }\n })\n }\n newSubItem(){\n this.nuevo = false;\n this.subItemForm.get('nombre').setErrors(null);\n this.continue = true;\n this.descripcion = true;\n }\n\n\n}\n","\n
\n

{{config.labels.editSubItem}}

\n \n \n {{config.labels.name}}\n \n \n \n \n {{option.nombre}}\n \n \n {{config.labels.noResults}}\n {{config.labels.requiredName}}\n \n \n \n {{config.labels.description}}\n \n \n \n {{config.labels.positiveAspect}}\n \n {{config.labels.maxLengthExceeded}}\n \n \n {{config.labels.negativeAspect}}\n \n {{config.labels.maxLengthExceeded}}\n \n \n {{config.labels.naAspect}}\n \n {{config.labels.maxLengthExceeded}}\n \n\n
\n \n \n
\n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormGroup, FormArray, FormControl, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { QuestionBase } from 'src/app/core/models/questions-base';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { PermitService } from 'src/app/core/services/utils/permit.service';\nimport { QuestionControlService } from 'src/app/core/services/utils/question-control.service';\nimport { FormsRequestService } from 'src/app/modules/crm_v2/services/rest/forms-request.service';\nimport { storageService } from 'src/app/modules/livechat/services/storage/storage.service';\nimport { AlertsService } from '../../alerts/alerts.service';\nimport { id } from '@swimlane/ngx-charts';\n\n\n@Component({\n\tselector: 'shared-dynamic-form-v3',\n\ttemplateUrl: './dynamic-form.component.html',\n\tstyleUrls: ['./dynamic-form.component.sass']\n})\nexport class DynamicFormV3Component implements OnInit {\n\t@Output() submitForm = new EventEmitter();\n\t@Output() denyForm = new EventEmitter();\n\t@Output() enableTemplate = new EventEmitter();\n\t_sections: any;\n\tforms = new FormArray([]);\n\tconstructor(\n\t\tprivate qcs: QuestionControlService,\n\t\tprivate authService: AuthService,\n\t\tprivate permit: PermitService,\n\t\tprivate router: Router,\n\t\tprivate formsRequestService: FormsRequestService,\n\t\tpublic alertsService: AlertsService,\n\t\tprivate destroyService: DestroyComponentService,\n\t\tpublic storage: storageService\n\t) { }\n\t@Input() dependencies;\n\t@Input() formId;\n\t@Input() files;\n\t@Input() template;\n\t@Input() showButtonsActions: boolean = true;\n\tFiles: any = [];\n\t@Input()\n\tpublic set sections(form: any) {\n\t\tif (form.app) {\n\t\t\tthis.appOrigen = form.app\n\t\t}\n\n\t\tthis.forms = new FormArray([]);\n\t\tthis.getRolUser(form.app);\n\t\tthis._sections = form.sections;\n\n\n\n\t\tif (this._sections) {\n\t\t\tthis._sections.forEach((section, index) => {\n\t\t\t\tsection.fields.map(\n\t\t\t\t\tmapp => {\n\t\t\t\t\t\tmapp['value'] = mapp.newValue\n\n\t\t\t\t\t\tif (form.app && form.app == 'livechat') {\n\n\t\t\t\t\t\t\tmapp['see'] = true;\n\t\t\t\t\t\t\tmapp['seeSons'] = true;\n\t\t\t\t\t\t\tmapp['cols'] = \"4\";\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (mapp['value'] == undefined && mapp.options.length > 0) {\n\t\t\t\t\t\t\tconst optionDefault = mapp.options.find(finded => finded.isDefaultOption == true)\n\t\t\t\t\t\t\tif (mapp['controlType'] == \"multiselect\" && optionDefault) {\n\t\t\t\t\t\t\t\tmapp['value'] = [optionDefault.id]\n\t\t\t\t\t\t\t} else if (optionDefault) {\n\t\t\t\t\t\t\t\tmapp['value'] = optionDefault.id\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (mapp.hasOwnProperty('defaultCommentValue') && mapp.hasOwnProperty('indDefaultValue')) {\n\n\t\t\t\t\t\t\tif (mapp.indDefaultValue == true) {\n\t\t\t\t\t\t\t\tmapp['value'] = mapp.defaultCommentValue\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (mapp.hasOwnProperty('isCalculated') && mapp.isCalculated == true) {\n\n\t\t\t\t\t\t\tthis.activatorsCalculatefield.push({ field: mapp, idSectionOrigin: index })\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t})\n\n\t\t\t\tif (form.app && form.app == 'crm') {\n\t\t\t\t\tthis.checkSeeRol(section);\n\t\t\t\t\tthis.fieldsInTrays(section);\n\t\t\t\t} else if (form.app && form.app == 'livechat') {\n\t\t\t\t\tsection['see'] = true;\n\t\t\t\t}\n\n\t\t\t\tconst group = this.qcs.toFormGroup(section.fields);\n\t\t\t\tthis.forms.push(group);\n\n\t\t\t});\n\t\t}\n\t}\n\n\t@Input() public set clearControl(clear: any) {\n\t\tif (clear === true) {\n\t\t\t/* this.forms.removeAt(1); */\n\t\t}\n\t}\n\n\trol: any = [];\n\tfieldsPreloaded: any[] = [];\n\tquestionPush: any;\n\tevento: any;\n\tplantilla: any = '';\n\ttab: any;\n\ttray: any;\n\tseePermit: any;\n\teditPermit: any;\n\tappOrigen: string = \"crm\"\n\tactivatorsCalculatefield: any[] = []\n\n\tngOnInit(): void {\n\t\tthis.plantilla = this.router.url.substring(6).split('/', 3)[2];\n\t}\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-03-29\n\t * Metodo que captura el rol del usuario\n\t */\n\tgetRolUser(app) {\n\t\tlet user = this.authService.getUser();\n\t\tuser.roles.forEach((rol) => {\n\t\t\tlet name = rol.split('::');\n\t\t\tif (name[0] === app) {\n\t\t\t\tthis.rol.push(name[1]);\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-03-29\n\t * Metodo que verifica si tiene el permiso\n\t */\n\tcheckSeeRol(section) {\n\n\t\tsection['see'] = false;\n\t\tsection.fields.forEach((question) => {\n\t\t\tthis.seePermit = this.permit.permit(this.rol, question.seeRoles);\n\t\t\tthis.editPermit = this.permit.permit(this.rol, question.editRoles);\n\t\t\tquestion.disabled = !this.editPermit;\n\t\t\tquestion['see'] = this.seePermit;\n\t\t\tquestion['seeSons'] = true;\n\t\t\tquestion['edit_by_adviser'] = false;\n\t\t\tif (question.preloaded == true) {\n\t\t\t\tthis.fieldsPreloaded.push(question);\n\t\t\t}\n\t\t\tif (this.editPermit && question.isSon) {\n\n\t\t\t\tquestion = this.checkDependence(question);\n\t\t\t}\n\t\t\tsection.see = true;\n\t\t});\n\t}\n\n\t/**\n\t * @author Miguel Restrepo\n\t * @createdate 2022-03-01\n\t * Metodo que permite validar las dependencias de un campo\n\t */\n\n\tcheckDependence(question) {\n\n\t\tthis._sections.forEach(section => { // Busca si tiene dependencias de campos de otras secciones\n\t\t\tsection.fields.forEach(field => {\n\t\t\t\tconst dependences = question.dependencies.filter(dependence => dependence.idField === field.id);\n\t\t\t\tif (dependences.length != 0) {\n\t\t\t\t\tquestion.disabled = true;\n\t\t\t\t\tquestion.seeSons = false;\n\t\t\t\t\tdependences.forEach(dependence => {\n\t\t\t\t\t\tif (question.seeSons === false) {\n\t\t\t\t\t\t\tif (Array.isArray(field.value)) {\n\t\t\t\t\t\t\t\tquestion.seeSons = dependence.activators.some(activator => field.value.includes(activator.id));\n\t\t\t\t\t\t\t\tquestion.disabled = !dependence.activators.some(activator => field.value.includes(activator.id));\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tquestion.seeSons = dependence.activators.some(activator => activator.id === field.value);\n\t\t\t\t\t\t\t\tquestion.disabled = !dependence.activators.some(activator => activator.id === field.value);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (dependence.disabled) {\n\t\t\t\t\t\t\tquestion.disabled = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t\treturn question;\n\t}\n\t/**\n\t * @author Jair Celis\n\t * @createdate 2021-08-30\n\t * Metodo que añade las dependecias, dependiendo de la opciones del padre\n\t */\n\taddDependencies(event: any) {\n\t\tconst mySons = this.findSons(event.idFather);\n\t\tif (mySons.length != 0) {\n\t\t\tmySons.forEach((son) => {\n\t\t\t\tif (this.forms.controls[son.sectionIndex].get(son.key).value != '') {\n\t\t\t\t\tthis.forms.controls[son.sectionIndex].get(son.key).setValue('');\n\t\t\t\t\tthis.forms.controls[son.sectionIndex].get(son.key).disable();\n\t\t\t\t\tthis.disableField(son.id);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (event.hasOwnProperty('isMultiple') == true && event.isMultiple == true) {// propiead que indica si es una carga e ependencias multiple\n\n\t\t\tthis._sections.forEach((section, index) => {\n\t\t\t\tsection.fields.forEach(async (field) => {\n\t\t\t\t\tif (field.isSon === true) {//Se valida que sea un campo hijo o capo dependiente\n\n\t\t\t\t\t\tlet idActivadores = [] //variable done se almacenara los ids de todos los activadores\n\t\t\t\t\t\tfield.dependencies.forEach(dependence => {\n\t\t\t\t\t\t\tidActivadores = idActivadores.concat(dependence.activators.map(activator => activator.id))\n\t\t\t\t\t\t});\n\t\t\t\t\t\t// variable donde se almacenan los ids de los activadores que estan e el valor seleccionado en el multiselect\n\t\t\t\t\t\tconst activadorIsFinded = idActivadores.filter(filtered => event.idValue.includes(filtered))\n\t\t\t\t\t\t//Se obtienen los id del padre de todas las dependencias\n\t\t\t\t\t\tconst idFatherdependence = field.dependencies.map(dep => dep.idField)\n\t\t\t\t\t\tif (idFatherdependence.find(fnd => fnd == event.idFather)) {//si el campo es padre e alguna dependencia se limpia las opciones a marcar\n\t\t\t\t\t\t\tfield.options = [];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (field.controlType == 'dropdown' && field?.isChargeableOption == true) {\n\t\t\t\t\t\t\tawait this.formsRequestService.getOptionsUploadFileAll(String(this.formId), String(field.id), false).toPromise()\n\t\t\t\t\t\t\t\t.then((restResponse) => {\n\t\t\t\t\t\t\t\t\tif (restResponse.options) {\n\t\t\t\t\t\t\t\t\t\tfield.options = [];\n\t\t\t\t\t\t\t\t\t\tfor (const key in restResponse.options) {\n\t\t\t\t\t\t\t\t\t\t\tfield.options.push({ id: key, name: restResponse.options[key] })\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet options = []\n\t\t\t\t\t\tfield.dependencies.forEach(dependence => {//Iteracion para mostrar campos de dependientes\n\n\t\t\t\t\t\t\tif (dependence.idField === event.idFather) { //Validamos que la depencia a agregar sea del cmap padre\n\t\t\t\t\t\t\t\t//desactivar hermanos de dependencia\n\t\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).disable();\n\t\t\t\t\t\t\t\tfield.disabled = true;\n\t\t\t\t\t\t\t\tfield.seeSons = false;\n\n\t\t\t\t\t\t\t\tdependence.activators.forEach((activator) => {\n\t\t\t\t\t\t\t\t\tif (activadorIsFinded.length > 0) { //Validamos que el activador que se itera si este entro de los marcado en el valor el multiselect\n\t\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).setValue('');\n\t\t\t\t\t\t\t\t\t\tfield.seeSons = true;\n\t\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).enable();\n\t\t\t\t\t\t\t\t\t\tfield.disabled = false;\n\t\t\t\t\t\t\t\t\t\t//activa seccion dependiente\n\t\t\t\t\t\t\t\t\t\tif (section.see === false) {\n\t\t\t\t\t\t\t\t\t\t\tsection.see = true;\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif (activadorIsFinded.find(fined => fined == activator.id)) {//Se valida que e activador se encuentre dentro e los activadores e la epenencia\n\t\t\t\t\t\t\t\t\t\t\tif (dependence.options !== '') {\n\t\t\t\t\t\t\t\t\t\t\t\tdependence.options.forEach((option) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (field.controlType == 'dropdown' && field?.isChargeableOption == true) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (field.options.find(finded => finded.id == option.id) != undefined) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toptions.push(option);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (field.options.find(finded => finded.id == option.id) == undefined) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.options.push(option);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\n\n\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (field.controlType == 'dropdown' && field?.isChargeableOption == true) {\n\t\t\t\t\t\t\tfield.options = options\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t});\n\n\t\t} else {\n\n\t\t\tthis._sections.forEach((section, index) => {\n\t\t\t\tsection.fields.forEach((field) => {\n\t\t\t\t\tif (field.isSon === true) {\n\t\t\t\t\t\tvar bandera = 0;\n\t\t\t\t\t\tfield.dependencies.forEach((dependencie) => {\n\n\t\t\t\t\t\t\tif (dependencie.idField === event.idFather && bandera === 0) {\n\t\t\t\t\t\t\t\t//desactivar hermanos\n\t\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).disable();\n\t\t\t\t\t\t\t\tfield.disabled = true;\n\t\t\t\t\t\t\t\tfield.seeSons = false;\n\n\t\t\t\t\t\t\t\tdependencie.activators.forEach((activator) => {\n\t\t\t\t\t\t\t\t\tif (activator.id == event.idValue) {\n\t\t\t\t\t\t\t\t\t\tbandera = bandera + 1;\n\t\t\t\t\t\t\t\t\t\tif (field.hasOwnProperty('defaultCommentValue') && field.hasOwnProperty('indDefaultValue')) {\n\t\t\t\t\t\t\t\t\t\t\tif (field.indDefaultValue == true) {\n\n\t\t\t\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).setValue(field.defaultCommentValue);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).setValue('');\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).setValue('');\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tfield.seeSons = true;\n\t\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(field.key).enable();\n\t\t\t\t\t\t\t\t\t\tfield.disabled = false;\n\t\t\t\t\t\t\t\t\t\t//activa seccion dependiente\n\t\t\t\t\t\t\t\t\t\tif (section.see === false) {\n\t\t\t\t\t\t\t\t\t\t\tsection.see = true;\n\t\t\t\t\t\t\t\t\t\t\t// this.forms.controls[index].enable();\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tfield.options = [];\n\t\t\t\t\t\t\t\t\t\tif (dependencie.options !== '') {\n\t\t\t\t\t\t\t\t\t\t\tdependencie.options.forEach((option) => {\n\t\t\t\t\t\t\t\t\t\t\t\tfield.options.push(option);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (section.fields.some(field => field.seeSons == true)) {\n\t\t\t\t\tsection.see = true;\n\t\t\t\t} else {\n\t\t\t\t\tsection.see = false;\n\t\t\t\t}\n\n\t\t\t});\n\t\t}\n\n\t}\n\n\t/**\n\t * @author Jair Celis\n\t * @createdate 2021-08-30\n\t * Metodo que desactiva la visualizacion de un campo\n\t * @param idField id del campo a desactivar\n\t */\n\n\tdisableField(idField) {\n\t\tthis._sections.forEach((section, index) => {\n\t\t\tsection.fields.forEach((field) => {\n\t\t\t\tif (field.id == idField) {\n\t\t\t\t\tfield.seeSons = false;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @author Jair Celis\n\t * @createdate 2021-08-30\n\t * Metodo que devuelve un arreglo de campos hijos\n\t * @param idField id del campo a buscar los hijos\n\t */\n\n\tfindSons(idField) {\n\t\tconst mySons = [];\n\t\tthis._sections.forEach((section, index) => {\n\t\t\tsection.fields.forEach((field) => {\n\t\t\t\tif (field.isSon == true) {\n\t\t\t\t\tfield.dependencies.forEach((dependencie) => {\n\t\t\t\t\t\tif (dependencie.idField == idField) {\n\t\t\t\t\t\t\tfield.sectionIndex = index;\n\t\t\t\t\t\t\tmySons.push(field);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\treturn mySons;\n\t}\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-02-25\n\t * Metodo que añade otro campo\n\t */\n\taddQuestion(event, nameSection) {\n\t\tthis.evento = Object.assign({}, event);\n\t\tthis.questionPush = this.evento;\n\t\tlet cont = 0;\n\t\tlet indexAuxField = 0;\n\t\tlet indexAuxSec = 0;\n\n\t\tthis._sections.forEach((section, indexSec) => {\n\t\t\tsection.fields.forEach((question, indexField) => {\n\t\t\t\tif (question.key.includes(this.evento.key) && nameSection === section.name_section) {\n\t\t\t\t\tcont++;\n\t\t\t\t\tindexAuxField = indexField;\n\t\t\t\t\tindexAuxSec = indexSec;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tcont = cont + 1;\n\n\t\tthis.questionPush.id = new Date().getTime();\n\t\tthis.questionPush.key = this.evento.key + '_' + cont;\n\t\tthis.questionPush.value = '';\n\t\tthis.questionPush.label = this.evento.label + ' ' + cont;\n\t\tthis.questionPush.canAdd = false;\n\t\tthis.questionPush.duplicated = {\n\t\t\tidOriginal: event.id,\n\t\t\ttype: 'field'\n\t\t};\n\n\t\tif (this.questionPush.nameFile) {\n\t\t\tthis.questionPush.nameFile = '';\n\t\t}\n\n\t\tif (this.questionPush.idValue) {\n\t\t\tthis.questionPush.idValue = '';\n\t\t}\n\n\t\tif (this._sections[indexAuxSec].name_section === nameSection) {\n\t\t\tthis._sections[indexAuxSec].fields.splice(indexAuxField + 1, 0, this.questionPush);\n\t\t}\n\n\t\tlet formAux = this.forms.controls[indexAuxSec] as FormGroup;\n\n\t\tlet controlAux = this.qcs.toFormControl(this.questionPush);\n\t\tformAux.addControl(this.questionPush.key, controlAux);\n\t}\n\n\t/**\n\t * @author Miguel Restrepo\n\t * @createdate 2021-02-25\n\t * @updatedate 2022-05-18\n\t * Metodo que añade una nueva sección duplicada\n\t */\n\n\taddSection(event, i) {\n\t\t//let evento = Object.assign({}, event);\n\t\tlet evento = JSON.parse(JSON.stringify(event))\n\t\tlet section = evento;\n\t\tlet cont = 0;\n\t\tthis._sections.forEach((element) => {\n\t\t\tif (element.name_section.includes(section.name_section)) {\n\t\t\t\tcont++;\n\t\t\t}\n\t\t});\n\t\tcont = cont + 1;\n\n\t\tsection['duplicated_section'] = true\n\t\tsection.fields.forEach((field) => {\n\t\t\tfield.id = Number(field.id + \"\" + cont)\n\t\t\tfield.key = field.key + \"_\" + cont\n\t\t\tfield.label = field.label + \"\" + cont\n\t\t\tfield.disabled = false\n\t\t\tif (field.dependencies) {\n\t\t\t\tfield.dependencies.forEach((dependence) => {\n\t\t\t\t\tdependence.idField = Number(dependence.idField + \"\" + cont)\n\t\t\t\t\tdependence.seeDepen = false\n\t\t\t\t});\n\n\t\t\t}\n\t\t});\n\t\tthis._sections.push(section)\n\t\tconst group = this.qcs.toFormGroup(section.fields);\n\t\tthis.forms.push(group);\n\t\t/* this.formsRequestService.addSection(sendSection).subscribe((resp) => {\n\t\t\tresp[\"duplicated_section\"] = true;\n\t\t\tthis._sections.push(resp);\n\t\t\tconst group = this.qcs.toFormGroup(resp.fields);\n\t\t\tthis.forms.push(group);\n\t\t}); */\n\t}\n\n\tremoveSection(event, index) {\n\t\tthis.forms.removeAt(index)\n\t\tthis._sections.splice(index, 1)\n\n\t}\n\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-02-17\n\t * Metodo que emite el formulario resuelto\n\t */\n\tonSubmit() {\n\t\tlet response = {\n\t\t\tsections: this._sections,\n\t\t\tanswer: this.forms.getRawValue(),\n\t\t\tfiles: this.Files,\n\t\t\tforms: this.forms,\n\t\t\tisValid: this.forms.valid\n\t\t};\n\t\tthis.submitForm.emit(response);\n\t\tthis.fieldsPreloaded.forEach((element) => {\n\t\t\tthis.forms.controls.forEach((sections) => {\n\t\t\t\tif (sections.get(element.key) != null) {\n\t\t\t\t\tsections.get(element.key).setValue(element.value);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * @author Karol García\n\t * @createdate 2021-03-30\n\t * Metodo que cancela el formulario\n\t */\n\tcancelForm() {\n\t\tlet saveconfirm = this.alertsService.alertConfirm('¿Desea cancelar?');\n\t\tsaveconfirm.then((res) => {\n\t\t\tif (res.isConfirmed) {\n\t\t\t\tthis.denyForm.emit(true);\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t * @author Daniel Dominguez\n\t * @createdate 2021-04-06\n\t * Metodo recibe los archivos cargados en los campos tipo file\n\t */\n\taddFiles(e) {\n\t\tthis.Files.push(e);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.destroyService.destroyComponent();\n\t}\n\n\t// Boton para generar las plantillas\n\tgenerateTemplate() {\n\t\tlet responseTemplate = {\n\t\t\tsections: this._sections,\n\t\t\tanswer: this.forms.getRawValue(),\n\t\t\tfiles: this.Files,\n\t\t\tforms: this.forms\n\t\t};\n\n\t\tthis.enableTemplate.emit(responseTemplate);\n\t}\n\n\tfieldsInTrays(section) {\n\n\t\tthis.tab = this.storage.getItem('tab');\n\t\tthis.tray = this.storage.getItem('tray');\n\t\tsection.fields.forEach((question) => {\n\t\t\tif (question.tray) {\n\t\t\t\tvar band = false;\n\t\t\t\tquestion.tray.forEach(element => {\n\n\t\t\t\t\tquestion.disabled = true;\n\t\t\t\t\tquestion['see'] = true;\n\n\t\t\t\t\tif (element.id !== +this.tray && band === false) {\n\t\t\t\t\t\tquestion.disabled = false;\n\t\t\t\t\t\tquestion['see'] = false;\n\t\t\t\t\t\tthis._sections.forEach((sectionArray, index) => {\n\t\t\t\t\t\t\tif (sectionArray.id === section.id) {\n\t\t\t\t\t\t\t\tthis.forms.controls[index].get(question.key).disable();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tquestion.disabled = true;\n\t\t\t\t\t\tquestion['see'] = true;\n\t\t\t\t\t\tband = true;\n\n\t\t\t\t\t\tif (element.preloaded === false) {\n\n\t\t\t\t\t\t\tthis._sections.forEach((sectionArray, index) => {\n\t\t\t\t\t\t\t\tif (sectionArray.id === section.id) {\n\t\t\t\t\t\t\t\t\tthis.forms.controls[index].get(question.key).setValue('');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (this.template) {\n\t\t\t\t\tif (+this.tab < 2) {\n\t\t\t\t\t\tquestion.disabled = !this.editPermit;\n\t\t\t\t\t\tquestion['see'] = false;\n\t\t\t\t\t\tquestion['seeSons'] = true;\n\t\t\t\t\t\tthis._sections.forEach((sectionArray, index) => {\n\t\t\t\t\t\t\tif (sectionArray.id === section.id) {\n\t\t\t\t\t\t\t\tthis.forms.controls[index].get(question.key).disable();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (+this.tab < 1) {\n\t\t\t\t\t\tquestion.disabled = !this.editPermit;\n\t\t\t\t\t\tquestion['see'] = false;\n\t\t\t\t\t\tquestion['seeSons'] = true;\n\t\t\t\t\t\tthis._sections.forEach((sectionArray, index) => {\n\t\t\t\t\t\t\tif (sectionArray.id === section.id) {\n\t\t\t\t\t\t\t\tthis.forms.controls[index].get(question.key).disable();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tsection.see = section.fields.some(field => field.see === true && field.seeSons === true);\n\t}\n\n\t/**\n\t * Metodo que se encarga de recalcular los valores de los campos calculados y asignar su valor \n\t * @author Juan David Guerrero Vargas \n\t * @param event:any {any} evento de cambio para inputs tipo currency y number\n\t */\n\tcalculatedFields(event: any) {\n\t\tlet findActivator = this.activatorsCalculatefield.find(finded => finded.field.calculatedFields.includes(event.question.id))\n\t\tlet totalOperation = 0; //Total del a operacion \n\t\tlet stateCalculate = false; //elemento apra terminar las iteracion \n\t\tlet valuesToCalculate: number[] = [] //valores recogidos del formulario apra realzair operacion\n\t\tif (findActivator) {//Se valida que el campo pertenezca un activador de calculo\n\t\t\tfor (let i = 0; i < this._sections.length; i++) {//Iteracion sections\n\t\t\t\tlet sectionFinded = this._sections[i];\n\t\t\t\tfor (let e = 0; e < sectionFinded.fields.length; e++) {\n\t\t\t\t\tlet fieldFinded = sectionFinded.fields[e];\n\t\t\t\t\tif (findActivator.field.calculatedFields.includes(fieldFinded.id)) {\t//se identifica si el campo pertenece a un activador\n\t\t\t\t\t\tif (!isNaN(this.forms.controls[i].get(fieldFinded.key).value.replace(/,/g, \"\"))) { //Validamos si la entrada retirando las (,) es un numero \n\t\t\t\t\t\t\tvaluesToCalculate.push(Number(this.forms.controls[i].get(fieldFinded.key).value))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (valuesToCalculate.length >= findActivator.field.calculatedFields.length) { //En caso de igualarse es por que ya no hay mas activadores que recorre se detiene iteraciones\n\t\t\t\t\t\tstateCalculate = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (stateCalculate) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}//Fin iteracion sections\n\n\t\t\tif (Array.isArray(valuesToCalculate)) {\n\t\t\t\tswitch (findActivator.field.typeArithmeticOperation) {\n\t\t\t\t\tcase 'suma':\n\t\t\t\t\t\ttotalOperation = valuesToCalculate.reduce((acumlador, valorActual) => acumlador + valorActual, 0)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'resta':\n\t\t\t\t\t\ttotalOperation = valuesToCalculate.sort((a, b) => a + b).reduce(function (acumlador, valorActual) {\n\t\t\t\t\t\t\treturn acumlador - valorActual;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'multiplicacion':\n\t\t\t\t\t\ttotalOperation = valuesToCalculate.reduce((acumlador, valorActual) => acumlador * valorActual, 1)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'division'://desde la confoguracion general del calculo se determina que posicon toma el dividendo y el divisor\n\t\t\t\t\t\tlet dividendo = valuesToCalculate[0] ? valuesToCalculate[0] : 0 //dividendo\n\t\t\t\t\t\tlet divisor = valuesToCalculate[1] ? valuesToCalculate[1] : 0//divisor\n\t\t\t\t\t\tif (divisor !== 0) {\n\t\t\t\t\t\t\ttotalOperation = (dividendo / divisor)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttotalOperation = 0\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.forms.controls[findActivator.idSectionOrigin].get(findActivator.field.key).setValue(totalOperation);\n\t\t}\n\t}\n\n\t/**\n\t * Valida si se peude o no ver la Question\n\t * @author Juan David Guerrero Vargas \n\t * @param question:any {any} field o campo a mostrar\n\t * @param controls:any {any} control del formulario\n\t */\n\tvalidateSeeQuestion(question: any, controls: any, type: string) {\n\n\t\tif (type == 'question') {\n\t\t\tif (question.see && question.seeSons && controls) {\n\t\t\t\tif (question.hasOwnProperty('indDefaultValue') == false || question.indDefaultValue == false) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (type == 'title') {\n\n\t\t\tif (question.see && question.seeSons && controls) {\n\n\t\t\t\tif (question.hasOwnProperty('indDefaultValue') == true && question.indDefaultValue == true) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\n\t\treturn false;\n\t}\n\n}\n","
\n \n
\n\n \n \n \n

{{section.name_section}}

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

{{ question.defaultCommentValue }}

\n
\n
\n
\n
\n\n
\n
\n
\n
\n \n \n \n
\n
\n \n
\n\n
","import { Component, OnInit } from '@angular/core';\nimport { ConfigTable, Paginator } from 'src/app/shared/basic-crud-page/type';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AnsComponent } from '../../components/ans/ans.component';\nimport { AnsService } from '../../services/ans.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { EmailService } from '../../services/email.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\n\n@Component({\n selector: 'app-ans-page-main',\n templateUrl: './ans-page-main.component.html',\n styleUrls: ['./ans-page-main.component.css']\n})\nexport class AnsPageMainComponent implements OnInit {\n ans: any[] = [];\n filter: string = '';\n filterSelect: number = 0;\n configColumnsTable: ConfigTable[] = [\n { name: '', key: 'actions', type: 'events' },\n { name: 'Cuenta de correo', key: 'email' },\n { name: 'Nombre de ANS', key: 'name' },\n { name: 'Tiempo límite', key: 'time' },\n ];\n configPaginator: Paginator = { length: 0, pageIndex: 0, pageSize: 5 };\n userLogin: any = null;\n emailsConfig: any[] = [];\n\n constructor(\n private matDialog: MatDialog,\n private ansService: AnsService,\n private matSnackBar: MatSnackBar,\n private emailService: EmailService,\n private authService: AuthService\n ) { }\n\n ngOnInit(): void {\n this.getEmailsConfigByRol();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que trae los ANS registrados en el sistema. \n */\n getAns(): void {\n if (this.filterSelect !== 0) {\n this.ansService.getAns(this.configPaginator, this.filter, this.filterSelect).subscribe(res => {\n this.ans = res.data.data.map((item: any) => {\n return {\n ...item,\n name: item.name,\n email: item.user_name_email_entrada,\n time: `Dia: ${item.day} - Hora: ${item.hour} - Minutos: ${item.minutes}`\n };\n });\n this.configPaginator.length = res.data.total;\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que setea el filtro emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilter($event: string) {\n this.filter = $event;\n this.configPaginator.pageIndex = 0;\n this.getAns();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que actualiza el estado de un ANS. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeStateValueAns($event: any): void {\n const setDataState = { ...$event.item, state: $event.state };\n this.ansService.storeAns(setDataState).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.getAns();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que permite ejecutar la modal para crear o actualizar un ANS. \n * @param state Estado seleccionada de la tabla. \n * @param titleDialog Titulo que va a tener la modal. \n * @param viewOnly Modo de vizualizacion de la modal. \n */\n onClickShowAns(ans: any = null, titleDialog: string = 'Crear ANS', viewOnly: boolean = false): void {\n this.matDialog.open(AnsComponent, {\n width: '50%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-ans',\n data: {\n titleDialog,\n ans,\n viewOnly,\n emailsConfig: this.emailsConfig\n }\n }).afterClosed().subscribe(res => {\n if (res) this.getAns();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que permite actualizar la configuracion de la paginacion.\n * @param $event Evento emitido por el componente hijo. \n */\n onChangePage($event: Paginator): void {\n this.configPaginator = $event;\n this.getAns();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-23\n * Metodo que setea el filtro del select emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilterSelect($event: number) {\n this.filterSelect = $event;\n this.configPaginator.pageIndex = 0;\n this.getAns();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n}","\n","import { Component, Inject } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-transfer-form',\n templateUrl: './transfer-form.component.html',\n styleUrls: ['./transfer-form.component.sass'],\n})\nexport class PhoneTransferFormComponent {\n phoneForm: FormGroup;\n\n constructor(\n fb: FormBuilder,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n this.phoneForm = fb.group({\n client_nic: ['', [Validators.required]],\n client_email: ['', [Validators.required, Validators.email]],\n });\n }\n\n transfer() {\n let data = this.data;\n data.client_email = this.phoneForm.get('client_email')?.value;\n data.client_nic = this.phoneForm.get('client_nic')?.value;\n this.dialogRef.close(data);\n }\n}\n","

Información para transferencia

\n\n
\n \n \n \n Este campo es requerido\n \n \n \n \n \n Este campo es requerido\n \n \n Debe ingresar un email Valido\n \n \n\n
\n \n save\n Transferir\n \n
\n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Store } from '@ngrx/store';\nimport * as moment from 'moment';\nimport { Observable } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { HistorialModel } from 'src/app/modules/coaching/core/interfaces/historial.interface';\nimport { selectHistorial } from 'src/app/modules/coaching/state/selectors/historial.selector';\nimport { listCampañas, listCausas, listCompromisos, listCuartiles, listEstados, listEvoluciones, listIndicadores, listProcesos } from 'src/app/modules/coaching/state/selectors/selects.selector';\n\n@Component({\n selector: 'app-dialog-historico',\n templateUrl: './dialog-historico.component.html',\n styleUrls: ['./dialog-historico.component.sass']\n})\nexport class DialogHistoricoComponent implements OnInit {\n\n historicoForm:FormGroup;\n historial$:Observable = new Observable();\n causas$:Observable = new Observable();\n compromisos$:Observable = new Observable();\n evoluciones$:Observable = new Observable();\n cuartiles$:Observable = new Observable();\n indicadores$:Observable = new Observable();\n procesos$:Observable = new Observable();\n campaigns$:Observable = new Observable();\n estados$:Observable = new Observable();\n acompanamientos:boolean;\n campaignJefe:boolean = false;\n constructor(\n private fb:FormBuilder,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private store:Store,\n private authService:AuthService\n ) { }\n\n ngOnInit(): void {\n this.getSelects();\n this.createForm();\n this.loadData();\n this.getFilterParam();\n }\n\n getSelects(){\n this.causas$ = this.store.select(listCausas);\n this.compromisos$ = this.store.select(listCompromisos);\n this.evoluciones$ = this.store.select(listEvoluciones);\n this.cuartiles$ = this.store.select(listCuartiles);\n this.indicadores$ = this.store.select(listIndicadores);\n this.procesos$ = this.store.select(listProcesos);\n this.campaigns$ = this.store.select(listCampañas);\n this.estados$ = this.store.select(listEstados);\n }\n \n /**\n * @author Cristian Gallo\n * @createdate 2022-01-26\n * Se encargar de llamar y llenar los datos del formulario.\n */\n\n loadData(){\n this.historial$ = this.store.select(selectHistorial);\n this.historial$.forEach((historial) => {\n if (historial) {\n this.acompanamientos = historial[0].masAcompanamientos;\n this.historicoForm.setValue({\n nombre_coachee:historial[0].acompanamiento.nombreCoaching,\n cedula_coachee:historial[0].acompanamiento.cedulaCoaching,\n nombre_coach:historial[0].supervisor.rrhh.first_name + ' ' + historial[0].supervisor.rrhh.last_name,\n cedula_coach:historial[0].supervisor.rrhh.id_number,\n fecha_creacion:moment(historial[0].acompanamiento.fechaCreacion).format(),\n proximo_seguimiento:moment(historial[0].acompanamiento.proximoSeguimiento).format(),\n fecha_ejecucion:historial[0].acompanamiento.created_at,\n dias:historial[0].acompanamiento.dias_restantes,\n estado:historial[0].acompanamiento.estado,\n indicador:historial[0].acompanamiento.indicador,\n tipo_proceso:historial[0].acompanamiento.tipoProceso,\n campaing:historial[0].campaign.id,\n indicador_inicial:historial[0].acompanamiento.indicadorInicial,\n cuartil_inicial:historial[0].acompanamiento.cuartilInicial,\n objetivo_kpi:historial[0].acompanamiento.objetivoPlanteado == null ? historial[0].acompanamiento.objetivoKPI:historial[0].acompanamiento.objetivoPlanteado,\n causa_raiz:historial[0].acompanamiento.causaRaiz,\n conclusion_sesion:historial[0].acompanamiento.conclusionSesion,\n cumpleCompromiso:historial[0].acompanamiento.cumpleCompromiso === null ? 'na':historial[0].acompanamiento.cumpleCompromiso,\n presentaEvolucion:historial[0].acompanamiento.presentaEvolucion === null ? 'na':historial[0].acompanamiento.presentaEvolucion,\n seguimiento:historial[0].acompanamiento.objetivoPlanteado == null ? 'No aplica':historial[0].acompanamiento.objetivoKPI,\n estado_asesor:historial[0].acompanamiento.estado_asesor === null ? 'na':historial[0].acompanamiento.estado_asesor.id,\n comentario_asesor:historial[0].acompanamiento.comentario_asesor,\n });\n }\n });\n }\n\n createForm(){\n this.historicoForm = this.fb.group({\n nombre_coachee:[{value:'',disabled:true}],\n cedula_coachee:[{value:'',disabled:true}],\n nombre_coach:[{value:'',disabled:true}],\n cedula_coach:[{value:'',disabled:true}],\n estado:[{value:'',disabled:true}],\n fecha_creacion:[{value:'',disabled:true}],\n proximo_seguimiento:[{value:'',disabled:true}],\n fecha_ejecucion:[{value:'',disabled:true}],\n dias:[{value:'',disabled:true}],\n indicador:[{value:'',disabled:true}],\n tipo_proceso:[{value:'',disabled:true}],\n campaing:[{value:'',disabled:true}],\n indicador_inicial:[{value:'',disabled:true}],\n cuartil_inicial:[{value:'',disabled:true}],\n objetivo_kpi:[{value:'',disabled:true}],\n causa_raiz:[{value:'',disabled:true}],\n conclusion_sesion:[{value:'',disabled:true}],\n cumpleCompromiso:[{value:'',disabled:true}],\n presentaEvolucion:[{value:'',disabled:true}],\n seguimiento:[{value:'',disabled:true}],\n estado_asesor:[{value:'',disabled:true}],\n comentario_asesor:[{value:'',disabled:true}],\n });\n }\n\n getFilterParam(){\n this.authService.getUser().roles.forEach(rol => {\n if ((rol == 'coaching::jefe' || rol == 'coaching::gerente') || rol == 'coaching::asesor') {\n this.campaignJefe = true;\n }\n });\n }\n\n}\n","\n
\n

Histórico de la solicitud\n \n

\n
\n \n
\n
\n
\n \n Nombre del Coachee\n \n \n \n Cédula del Coachee\n \n \n \n Nombre del Coach\n \n \n \n Cédula del Coach\n \n \n \n Estado\n \n {{estado.nombre}}\n \n \n \n Fecha de creación\n \n \n \n \n \n \n \n Próximo seguimiento\n \n \n \n \n \n \n \n Fecha de ejecución\n \n \n \n \n \n \n \n Días restantes\n \n \n \n Indicador\n \n {{indicador.nombre}}\n \n \n \n Tipo de proceso\n \n {{proceso.nombre}}\n \n \n \n Campaña\n \n \n {{campaign.name | uppercase }}\n \n \n {{campaign.name | uppercase }}\n \n \n \n \n Indicador inicial\n \n \n \n Cuartil\n \n {{cuartil.nombre}}\n \n \n \n Objetivo KPI\n \n \n \n Causa raíz\n \n {{causa.nombre}}\n \n \n \n Conclusiones de la sesión\n \n \n \n Cumple compromiso\n \n No aplica\n {{compromiso.nombre}}\n \n \n \n Presenta evolución\n \n No aplica\n {{evolucion.nombre}}\n \n \n \n Seguimiento\n \n \n \n Estado asesor\n \n No aplica\n {{estado.nombre}}\n \n \n \n Comentario asesor\n \n \n
\n
\n
","import { SharedModule } from 'src/app/shared/shared.module';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ReportsRoutingModule } from './reports-routing.module';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n\n//components\nimport { ReportsComponent } from './reports.component';\nimport { UserAssignmentReportComponent } from './modules/admin/user-assignment-report/user-assignment-report.component';\nimport { ReportShowComponent } from './modules/report/report-show/report-show.component';\nimport { AddReportFormComponent } from './modules/admin/add-report-form/add-report-form.component';\n\n\n@NgModule({\n declarations: [\n ReportsComponent,\n UserAssignmentReportComponent,\n ReportShowComponent,\n AddReportFormComponent\n ],\n imports: [\n CommonModule,\n ReportsRoutingModule,\n MaterialModule,\n SharedModule,\n ReactiveFormsModule\n ]\n})\nexport class ReportsModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { GroupsRoutingModule } from './groups-routing.module';\nimport { GroupsListComponent } from './pages/groups-list/groups-list.component';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { AdminGroupsComponent } from './pages/admin-groups/admin-groups.component'; \n\n\n@NgModule({\n declarations: [GroupsListComponent, AdminGroupsComponent],\n imports: [\n CommonModule,\n GroupsRoutingModule,\n MaterialModule\n ]\n})\nexport class GroupsModule { }\n","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\nimport { FormBuilder, FormGroup, FormArray, FormControl, Validators } from '@angular/forms';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { MatChipList, MatChipInputEvent } from '@angular/material/chips';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { StateService } from '../../services/state.service';\nimport * as moment from 'moment';\n\n@Component({\n selector: 'app-advance-filter-emails',\n templateUrl: './advance-filter-emails.component.html',\n styleUrls: ['./advance-filter-emails.component.css']\n})\nexport class AdvanceFilterEmailsComponent implements OnInit {\n @ViewChild('chipListFrom') chipListFrom: MatChipList;\n @ViewChild('chipListTo') chipListTo: MatChipList;\n\n formFilters: FormGroup = new FormGroup({\n from: this.formBuilder.array([], [this.validateIsEmails]),\n to: this.formBuilder.array([], [this.validateIsEmails]),\n affair: new FormControl(null, [Validators.maxLength(100)]),\n containsWords: new FormControl(null, [Validators.maxLength(200)]),\n state: new FormControl(null),\n dateStart: new FormControl(null),\n dateEnd: new FormControl(null)\n });\n separatorKeysCodes: number[] = [ENTER, COMMA];\n states: any[] = [];\n\n constructor(\n private formBuilder: FormBuilder,\n private matDialogRef: MatDialogRef,\n private stateService: StateService,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n ngOnInit(): void {\n this.formFilters.get('from').statusChanges.subscribe(status => { this.chipListFrom.errorState = status === 'INVALID'; });\n this.formFilters.get('to').statusChanges.subscribe(status => { this.chipListTo.errorState = status === 'INVALID'; });\n this.getStates();\n this.preloadFilters();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-28\n * Metodo que agrega una cadena de texto a cada uno de los chip list.\n * @param event Manejador de eventos de los mat chip.\n * @param typeList Nombre del list chip en el cual se van agregar una cadena de texto. \n */\n addEmail($event: MatChipInputEvent, typeList: string): void {\n const input = $event.input;\n const value = ($event.value || '').trim();\n if (value && value !== '') {\n const newFormGroup = this.formBuilder.group({ name: new FormControl(value, [Validators.email]) });\n const arrayForm = this.formFilters.get(typeList) as FormArray;\n arrayForm.push(newFormGroup);\n if (input) input.value = '';\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-28\n * Metodo que elimina una cadena de texto dentro un chip list.\n * @param index Cadena de texto seleccionada dentro del chip list. \n * @param typeList Nombre del chip list en el cual se va a remover el elemento.\n */\n removeEmail(index: number, typeList: string): void {\n const arrayForm = this.formFilters.get(typeList) as FormArray;\n arrayForm.removeAt(index);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-27\n * Metodo que permite enviar los filtros a la pagina principal. \n */\n sendFilters(): void {\n if (this.formFilters.valid) this.matDialogRef.close(this.formFilters.value);\n else this.formFilters.markAllAsTouched();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-28\n * @param control Campo del formulario. \n */\n validateIsEmails(control: FormArray): any {\n if (control.value) {\n const filterByStatus = control.controls.filter(field => field.status === 'INVALID');\n return filterByStatus.length > 0 ? { validateIsEmails: { valid: false } } : null;\n }\n return null;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-28\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formFilters.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-15\n * Metodo que retorna los estados registrados en el sistema. \n */\n getStates(): void {\n this.stateService.getStates().subscribe(res => {\n this.states = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-04\n * Metodo que precarga los filtros seleccionados. \n */\n preloadFilters(): void {\n this.formFilters.get('affair').setValue(this.data.filters.asunto);\n this.formFilters.get('containsWords').setValue(this.data.filters.contiene_palabras);\n this.formFilters.get('state').setValue(this.data.filters.id_email_state);\n this.formFilters.get('dateStart').setValue(this.data.filters.date_in && moment(this.data.filters.date_in).format());\n this.formFilters.get('dateEnd').setValue(this.data.filters.date_end && moment(this.data.filters.date_end).format());\n if (this.data.filters.de && this.data.filters.de.length > 0) this.preloadFieldsList('from', this.data.filters.de);\n if (this.data.filters.para && this.data.filters.para.length > 0) this.preloadFieldsList('to', this.data.filters.para);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-04\n * Metodo que precarga los filtros en los campos tipo array.\n * @param nameField Nombre del campo. \n * @param listValues Lista con los correos que se van a precargar. \n */\n preloadFieldsList(nameField: string, listValues: string[]): void {\n const arrayForm = this.formFilters.get(nameField) as FormArray;\n listValues.forEach(item => {\n const newFormGroup = this.formBuilder.group({ name: new FormControl(item, [Validators.email]) });\n arrayForm.push(newFormGroup);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-04\n * Metodo que limpia los filtros del formulario. \n */\n onClickClearFilters(): void {\n this.matDialogRef.close({ clearFilters: true });\n }\n}","\n
\n
\n
\n \n \n \n {{ item.value.name }}\n cancel\n \n \n \n \n Correo invalido\n \n \n
\n
\n \n \n \n {{ item.value.name }}\n cancel\n \n \n \n \n Correo invalido\n \n \n
\n
\n \n Asunto\n \n \n Máximo 100 caracteres\n \n \n
\n
\n \n Contiene palabras\n \n \n Máximo 200 caracteres\n \n \n
\n
\n \n Estado\n \n Todos\n {{ item.name }}\n \n \n
\n
\n \n Rango de fechas\n \n \n \n \n \n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AdminTemplateComponent } from './admin-template/admin-template.component';\n\n\nconst routes: Routes = [\n { path: '', component: AdminTemplateComponent},\n { path: 'adminTemplates', component: AdminTemplateComponent},\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class TemplatesRoutingModule { }\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[appBlockCopyPaste]'\n})\nexport class BlockCopyPasteDirective {\n\n constructor() { }\n\n @HostListener('paste', ['$event']) blockPaste(e: KeyboardEvent) {\n e.preventDefault();\n }\n\n @HostListener('copy', ['$event']) blockCopy(e: KeyboardEvent) {\n e.preventDefault();\n }\n\n @HostListener('cut', ['$event']) blockCut(e: KeyboardEvent) {\n e.preventDefault();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdminTemplateComponent } from './admin-template/admin-template.component';\nimport { SaveTemplateComponent } from './save-template/save-template.component';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { GenerateTemplateComponent } from './generate-template/generate-template.component';\nimport { TemplatesRoutingModule } from './templates.routing.module';\n\n@NgModule({\n declarations: [AdminTemplateComponent,\n SaveTemplateComponent,\n GenerateTemplateComponent],\n imports: [\n CommonModule,\n MaterialModule,\n SharedModule,\n TemplatesRoutingModule\n ]\n})\nexport class TemplatesModule { }\n","import { environment } from 'src/environments/environment';\nimport { IMqttServiceOptions } from \"ngx-mqtt\";\n\nexport const MQTT_SERVICE_OPTIONS: IMqttServiceOptions = {\n hostname: environment.MQTT_CONFIG.SERVER,\n port: environment.MQTT_CONFIG.PORT,\n username:environment.MQTT_CONFIG.USERNAME,\n password: environment.MQTT_CONFIG.PASSWORD ,\n protocol: \"wss\",\n path: '/mqtt',\n \n};","import { Component, OnInit, Input, Output, ViewChild, EventEmitter, HostListener } from '@angular/core';\nimport { FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { QuestionControlService } from 'src/app/core/services/utils/question-control.service';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { AlertsService } from '../alerts/alerts.service';\nimport { secondSection, education, personal_references, jobs_references, civilStates } from './edit-questions';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n\n@Component({\n selector: 'shared-cv-view',\n templateUrl: './cv-view.component.html',\n styleUrls: ['./cv-view.component.sass']\n})\nexport class CvViewComponent implements OnInit {\n _person: any;\n startDate:any\n emailInput: boolean = false\n email = new FormControl(null, Validators.email)\n @Input() canUpdateEmail = false\n @Input() candidateStatus: any = null\n @Input() edit: any = false\n @Input()\n public set person(data:any)\n {\n this._person = data\n if(this._person.agreementRules){\n this.startDate = data.agreementRules['fecha_de_ingreso']\n }\n this.email.setValue(this._person.email)\n this.findPhoto(this._person?.attachements)\n\n }\n @Output() editEvent = new EventEmitter();\n showEdit:boolean= false\n secordGroup:FormGroup\n\n _secondSection:any[] = secondSection\n _education= education\n _personal_references= personal_references\n _jobs_references= jobs_references\n _civilStates= civilStates\n photo:any\n constructor(private fb:FormBuilder, private serviceCandidate: CandidatesService, private sanitizer: DomSanitizer,\n private qcs: QuestionControlService, public alertService:AlertsService) { }\n\n ngOnInit(): void {\n this.checkDependencies()\n }\n checkDependencies(){\n this._secondSection.forEach(question => {\n if(question.dependencies.length > 0 && (question.value == \"\" || question.value == null) ){\n question.disabled = true\n }\n });\n }\n /**\n * @author Karol García\n * @createdate 2021-06-02\n * Añade nuevos items \n */\n addDependencies(event){\n if(event && event.isFather){\n this._secondSection.forEach(question => {\n question.dependencies.forEach(element => {\n if(element.idField == event.idFather && element.name == event.name){\n this.secordGroup.get(question.key).enable();\n }\n if(element.idField == event.idFather && element.name != event.name){\n question.disabled = true\n question.value = \"\"\n this.secordGroup.get(question.key).disable();\n this.secordGroup.get(question.key).setValue(question.value);\n }\n });\n });\n }\n\n }\n findPhoto(documents){\n if(documents && this._person.id){\n \n const found = documents.find(element => element.file_attachment_id == 8);\n if(found){\n let direction= `candidate/download/attachment/${this._person.id}/${found.id}`\n this.serviceCandidate.downdloadFile(direction).subscribe( (file) =>{\n this.photo= file\n })\n }\n \n }\n \n }\n /**\n * @author Karol García\n * @createdate 2021-05-27\n * Añade nuevos items \n */\n addItem(type:string){\n if(this.person[type] == null) this.person[type]=[]\n switch (type) {\n case 'education':\n this.person[type].push(this._education)\n break;\n case 'personal_references':\n this.person[type].push(this._personal_references)\n break;\n case 'jobs_references':\n this.person[type].push(this._jobs_references)\n break;\n }\n\n }\n /**\n * @author Karol García\n * @createdate 2021-05-27\n * Remueve items \n */\n removeItem(type:string, pos:number){\n this.person[type].splice(pos, 1)\n }\n /**\n * @author Karol García\n * @createdate 2021-05-27\n * Activa la opción de editar la hoja de vida\n */\n editData(){\n this.secordGroup = this.qcs.toFormGroup(this._secondSection);\n if(this._person.personal_data != null)this.secordGroup.patchValue(this._person.personal_data)\n this.showEdit= true\n }\n /**\n * @author Karol García\n * @createdate 2021-06-02\n * Remueve items \n */\n submitData(){\n let response =this._person\n response.personal_data= this.secordGroup.getRawValue()\n let confirm = this.alertService.alertConfirm('¿Estás seguro que deseas actualizar la hoja de vida?')\n confirm.then(res=>{\n if(res.isConfirmed){\n this.editEvent.emit(response)\n this.showEdit= false\n }\n })\n }\n /**\n * @author Karol García\n * @createdate 2021-06-02\n * Remueve items \n */\n cancelAction(){\n let confirm = this.alertService.alertConfirm('¿Estás seguro que deseas cancelar la edición?')\n confirm.then(res=>{\n if(res.isConfirmed){\n this.showEdit= false\n }\n })\n }\n\n @ViewChild('target') target\n\n @HostListener('document:click', ['$event.target'])\n onClick(targetElement) {\n if (this.emailInput) {\n const clickedInside = this.target.nativeElement.contains(targetElement);\n if (!clickedInside) {\n this.saveEmail()\n }\n }\n }\n\n saveEmail() {\n if (this.email.valid) {\n\n if (this._person.email !== this.email.value) {\n this.serviceCandidate.changeCandidateEmail(this._person.id, {email: this.email.value}).subscribe(\n res => {\n const message: any = res\n this.alertService.alertSuccess('¡Bien!', message)\n this._person.email = this.email.value\n this.emailInput = false\n }\n )\n }\n else {\n this.emailInput = false\n }\n }\n else {\n this.email.markAsTouched()\n }\n \n }\n}\n","\n
\n
\n
\n \n
\n\n
\n

{{_person?.fullname}}

\n

{{_person?.documentId}}

\n
\n
\n
\n \n Email Corporativo\n \n \n Email\n \n \n \n

{{_person?.email}}

\n Si existe un email corporativo ¡actualízalo!\n
\n
\n \n Email corporativo\n \n Por favor ingrese un email válido \n \n
\n \n
\n
\n Celular\n

{{_person?.mobile_phone}}

\n
\n
\n Fecha de nacimiento\n

{{_person?.birth_date | date}}

\n
\n
\n Estado civil\n

{{_person?.civil_name}}

\n
\n
\n
\n \n Email\n \n \n \n \n Celular\n \n \n \n Fecha de nacimiento\n \n \n \n \n \n estado civil\n \n \n {{state.name}}\n \n \n \n
\n \n
\n
\n \n\n
\n\n \n \n \n

Datos personales

\n
\n\n
\n
\n
\n Fecha expedición doc.\n

{{_person.personal_data?.expedition_date_id | date}}

\n
\n
\n Ciudad exped. doc.\n

{{_person.personal_data?.city_document_id}}

\n
\n
\n Email Personal\n

{{_person.email2}}

\n
\n
\n Edad\n

{{_person.personal_data?.age}}

\n
\n
\n Género\n

{{_person.personal_data?.gender}}

\n
\n
\n Grupo social\n

{{_person.personal_data?.social_group}}

\n
\n
\n Lugar de nacimiento\n

{{_person.personal_data?.place_of_birth}}

\n
\n
\n Nacionalidad\n

{{_person.personal_data?.nationality}}

\n
\n
\n Ciudad de residencia\n

{{_person.personal_data?.city_of_residence}}

\n
\n
\n Dirección\n

{{_person.personal_data?.adress}}

\n
\n
\n Localidad\n

{{_person.personal_data?.location}}

\n
\n
\n Barrio\n

{{_person.personal_data?.neighborhood}}

\n
\n
\n Estrato\n

{{_person.personal_data?.stratum}}

\n
\n
\n Tipo de vivienda\n

{{_person.personal_data?.housing_Type}}

\n
\n
\n Grupo sanguineo\n

{{_person.personal_data?.blood_type}} {{_person.personal_data?.rh}}

\n
\n
\n Contacto de emergencia\n

{{_person.personal_data?.emergency_contact}}

\n
\n
\n Número contacto emerg.\n

{{_person.personal_data?.emergency_number}}

\n
\n
\n Situación Militar\n

{{_person.personal_data?.military_situation}}

\n
\n
\n Clase de Libreta\n

{{_person.personal_data?.notebook_class}}

\n
\n
\n Número de libreta\n

{{_person.personal_data?.notebook_number}}

\n
\n
\n Distrito Militar\n

{{_person.personal_data?.military_district_number}}

\n
\n
\n Tiempo de Desplazamiento\n

{{_person.personal_data?.travel_time}}

\n
\n
\n Tiene vehículo\n

{{_person.personal_data?.vehicle}}

\n
\n
\n Tipo de desplazamiento\n

{{_person.personal_data?.vehicle_type}}

\n
\n
\n Número de licencia\n

{{_person.personal_data?.licence_number}}

\n
\n
\n Tipo de licencia\n

{{_person.personal_data?.licence_type}}

\n
\n
\n Número de cuenta\n

{{_person.personal_data?.account_number}}

{{_person.personal_data?.bank}}

\n
\n
\n Hobbies\n

{{_person.personal_data?.hobbie}}

\n
\n
\n Talla de pantalón\n

{{_person.personal_data?.pants_size}}

\n
\n
\n Talla de camisa\n

{{_person.personal_data?.shirt_size}}

\n
\n
\n Talla de zapatos\n

{{_person.personal_data?.shoe_size}}

\n
\n
\n Número de personas a cargo\n

{{_person.personal_data?.number_people_charge}}

\n
\n
\n Número de personas que viven en su residencia\n

{{_person.personal_data?.number_people_at_home}}

\n
\n
\n EPS\n

{{_person.personal_data?.eps?.name}}

\n
\n
\n Fondo de pensiones\n

{{_person.personal_data?.caja_de_pensiones?.name}}

\n
\n \n
\n
\n
\n \n \n \n
\n
\n
\n\n 0\">\n \n \n

Hijos

\n
\n
\n
\n
\n
\n Nombre\n

{{child?.name}}

\n
\n
\n Edad\n

{{child?.age}}

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

Datos de contratación

\n
\n
\n
\n
\n Cargo\n

{{_person.agreementRules?.cargo?.name}}

\n
\n
\n Área\n

{{_person.agreementRules?.area?.name}}

\n
\n
\n Empresa\n

{{_person.agreementRules?.companies?.name}}

\n
\n
\n Tipo de contrato\n

{{_person.agreementRules?.contractType?.name}}

\n
\n
\n Fecha de ingreso\n

{{_person.agreementRules['fecha_de_ingreso'] | date}}

\n
\n
\n Salario\n

${{_person.agreementRules?.salario | number}}

\n
\n
\n EPS\n

{{_person.agreementRules?.eps?.name}}

\n
\n
\n Fondo de pensiones\n

{{_person.agreementRules['caja_de_pensiones']?.name}}

\n
\n
\n ARL\n

{{_person.agreementRules?.arl?.name}}

\n
\n
\n Caja de compensación\n

{{_person.agreementRules['caja_de_compensacion']?.name}}

\n
\n
\n Cesantías\n

{{_person.agreementRules?.cesantias?.name}}

\n
\n
\n Banco\n

{{_person.agreementRules?.banco?.name}}

\n
\n
\n Número de cuenta\n

{{_person.agreementRules?.bank_account}}

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

Experiencia Laboral

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

{{job.company_name}}

\n
{{job.position_hired}}
\n

{{job.start_date | date}} - {{job.end_date | date}}

\n
Jefe Directo {{job.boss_name}}     {{job.boss_phone}}
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n \n Empresa\n \n \n \n Cargo\n \n \n \n Fecha Inicio\n \n \n \n \n \n Fecha Fin\n \n \n \n \n \n Jefe directo\n \n \n \n Teléfono del contacto\n \n \n
\n \n
\n
\n \n
\n
\n\n
\n\n \n \n \n \n

Estudios

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

{{education.obtained_title}}

\n
{{education.institution}}
\n

{{education.finish_date | date}}     {{education.periods_completed}} Semestres

\n
Nivel {{education.education_level}} | {{education.study_city}}
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n Título obtenido\n \n \n \n Institución\n \n \n \n \n Fecha Inicio\n \n \n \n \n \n Fecha Fin\n \n \n \n \n \n Nivel\n \n \n \n Ciudad\n \n \n
\n \n \n \n
\n
\n \n
\n
\n\n
\n \n \n \n

Referencias Personales

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

{{reference.first_name}} {{reference.last_name}}

\n
{{reference.occupation}}
\n

{{reference.relationship}}

\n
{{reference.mobile_phone}} | {{reference.city}}
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n Nombres\n \n \n \n Apellidos\n \n \n \n Ocupación\n \n \n \n Teléfono\n \n \n \n Ciudad\n \n \n
\n \n
\n
\n \n
\n
\n \n
\n\n
\n
\n \n \n
\n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SpeechAnalyticsRoutingModule } from './speech-analytics-routing.module';\nimport { SpeechAnalyticsComponent } from './speech-analytics.component';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { SharedModule } from \"../../shared/shared.module\";\nimport { StrategyMenuComponent } from './modules/strategy/strategy-menu/strategy-menu.component';\nimport { MatSortModule } from '@angular/material/sort';\nimport { AdherenciaModalComponent } from './modules/search-speech/adherencia-modal/adherencia-modal.component';\nimport { AudioPlayerComponent } from './modules/search-speech/audio-player-modal/audio-player-modal.component';\nimport { AdminComponent } from './modules/configuration-administrator/admin/admin.component';\nimport { ConnectsComponent } from './modules/configuration-administrator/connection/connects/connects.component';\nimport { ConfigCampainComponent } from './modules/configuration-administrator/campaign/config-campain/config-campain.component';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatIconModule } from '@angular/material/icon';\nimport { StrategyModalComponent } from './modules/strategy/strategy-modal/strategy-modal.component';\nimport { EditConnectionComponent } from './modules/configuration-administrator/connection/edit-connection/edit-connection.component';\nimport { EditCampaignComponent } from './modules/configuration-administrator/campaign/edit-campaign/edit-campaign.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NodirigidoComponent } from './modules/nodirigido/nodirigido.component';\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\nimport { ModuleComponent } from './modules/search-speech/search-module/search-module.component';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { SpeechmenuComponent } from './modules/search-speech/speech-menu/speech-menu.component';\nimport { CreateCampaignComponent } from './modules/configuration-administrator/campaign/create-campaign/create-campaign.component';\nimport { AssignCampaignComponent } from './modules/configuration-administrator/assign-campaign/assign-campaign.component';\nimport { DndDirective } from './modules/nodirigido/direcitves/dnd.directive';\nimport { TranscricpcionStrategyComponent } from './modules/search-speech/transcription-strategy-modal/transcription-strategy-modal.component';\nimport { CretateConnectionsComponent } from './modules/configuration-administrator/connection/create-connection/create-connection.component';\nimport { SpeechUploadchatComponent } from './modules/chat-speech/speech-uploadchat/speech-uploadchat.component';\nimport { SpeechChatMainComponent } from './modules/chat-speech/speech-chat-main/speech-chat-main.component';\nimport { SearchChatComponent } from './modules/chat-speech/search-chat/search-chat.component';\nimport { UploadChatsModalComponent } from './modules/chat-speech/upload-chats-modal/upload-chats-modal.component';\nimport { ChatViewModalComponent } from './modules/chat-speech/chat-view-modal/chat-view-modal.component';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { AnalyticsModalComponent } from './modules/search-speech/analytics-modal/analytics-modal.component';\nimport { AnalyticsChatModalComponent } from './modules/chat-speech/analytics-chat-modal/analytics-chat-modal.component';\nimport { AnalyticsVoiceGeneralComponent } from './modules/search-speech/analytics-voice-general-modal/analytics-voice-general-modal.component';\nimport { AdherenciaChatModalComponent } from './modules/chat-speech/adherencia-chat-modal/adherencia-chat-modal.component';\nimport { TranscChatModalComponent } from './modules/chat-speech/transc-chat-modal/transc-chat-modal.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { HistoryChatComponent } from './modules/search-history/history-chat/history-chat.component';\nimport { HistoryMainMenuComponent } from './modules/search-history/history-main-menu/history-main-menu.component';\nimport { SearchHistoryNodirigidoComponent } from './modules/search-history/search-history-nodirigido/search-history-nodirigido.component';\nimport { SearchHistoryhModuleComponent } from './modules/search-history/search-history-module/search-history-module.component';\nimport { ManagerListEmailsComponent } from './modules/email-manager/pages/manager-list-emails/manager-list-emails.component';\nimport { EmailManagerModule } from 'src/app/modules/email-manager/email-manager.module';\nimport { LimitTextPipe } from 'src/app/modules/speech-analytics/modules/email-manager/utils/pipes/limit-text.pipe';\nimport { AnalysisResultComponent } from './modules/email-manager/components/analysis-result/analysis-result.component';\n\n@NgModule({\n declarations: [\n SpeechAnalyticsComponent,\n CretateConnectionsComponent,\n CreateCampaignComponent,\n StrategyMenuComponent,\n AdherenciaModalComponent,\n StrategyModalComponent,\n AudioPlayerComponent,\n AdminComponent,\n ConnectsComponent,\n ConfigCampainComponent,\n EditConnectionComponent,\n EditCampaignComponent,\n NodirigidoComponent,\n ModuleComponent,\n SpeechmenuComponent,\n AssignCampaignComponent,\n DndDirective,\n TranscricpcionStrategyComponent,\n SearchHistoryhModuleComponent,\n HistoryMainMenuComponent,\n SearchHistoryNodirigidoComponent,\n SpeechUploadchatComponent,\n SpeechChatMainComponent,\n SearchChatComponent,\n UploadChatsModalComponent,\n ChatViewModalComponent,\n AnalyticsModalComponent,\n AnalyticsChatModalComponent,\n AnalyticsVoiceGeneralComponent,\n AdherenciaChatModalComponent,\n TranscChatModalComponent,\n HistoryChatComponent,\n ManagerListEmailsComponent,\n LimitTextPipe,\n AnalysisResultComponent\n ],\n imports: [\n CommonModule,\n SpeechAnalyticsRoutingModule,\n MaterialModule,\n MatDialogModule,\n SharedModule,\n MatSortModule,\n MatExpansionModule,\n FormsModule,\n NgxChartsModule,\n MatTabsModule,\n ReactiveFormsModule,\n MatIconModule,\n MatChipsModule,\n MatTooltipModule,\n EmailManagerModule\n ]\n})\nexport class SpeechAnalyticsModule { }\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { CreateCampaignComponent } from '../create-campaign/create-campaign.component';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { CampaignService } from 'src/app/modules/speech-analytics/services/campaign.service';\nimport { EditCampaignComponent } from '../edit-campaign/edit-campaign.component';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-config-campain',\n templateUrl: './config-campain.component.html',\n styleUrls: ['./config-campain.component.sass']\n})\nexport class ConfigCampainComponent implements OnInit {\n\n filter: string = '';\n formFilters:FormGroup;\n textInputFilter: string = '';\n configPaginator: any = { length: 0, pageSize: 5, pageIndex: 0, previousPageIndex: 0 };\n pageSizeOptions = [5, 10, 25, 50, 100];\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n\n //configuracion informacion a mostar\n configColumnsTable: any[] = [\n { key: 'actions', name: 'Acciones' },\n { key: 'name', name: 'Nombre' },\n { key: 'campaign_id', name: 'Campaña vicidial' },\n { key: 'connection_name', name: 'Conexión' },\n { key: 'dead_time', name: 'Tiempo muerto' },\n ];\n\n //configuracion columnas tabla\n keysColumnsTable: string[] = [];\n displayedColumns: string[] = ['actions', 'name', 'campaign_id', 'connection_name', 'dead_time'];\n\n//datasoure para manejo informacion en la tabla\n dataSource = new MatTableDataSource();\n\n//marsort para ordenar los datos cargados por la tabla\n @ViewChild(MatSort) sort: MatSort;\n\n ngOnInit(): void {\n this.getCampaigns();\n this.keysColumnsTable = this.configColumnsTable.map((item: any) => item.key);\n }\n\n constructor(\n private dialog:MatDialog,\n private campaignService: CampaignService,\n ) { }\n\n\n /**\n * Modal para crear nueva campaña\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n createCampaing(): void {\n const dialogRef= this.dialog.open(CreateCampaignComponent, {\n width: '50%',\n maxWidth: '80vw',\n maxHeight: '95vh',\n });\n dialogRef.afterClosed().subscribe(result => {\n this.getCampaigns();\n });\n }\n\n /**\n * Metodo para modal editar\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n editCampaign(id: number): void {\n const dialogRef = this.dialog.open(EditCampaignComponent, {\n width: '50%',\n maxHeight: '95vh',\n data: { id: id }\n });\n dialogRef.afterClosed().subscribe(result => {\n this.getCampaigns();\n });\n }\n\n /**\n * Modal para probar la conexion\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n openTestModal(id: number): void {\n Swal.fire({\n title: 'Selecciona una opción',\n text: \"¿Deseas hacer el test de alcance al backend o a la IA?\",\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n confirmButtonText: 'Back de Speech',\n cancelButtonText: 'Inteligencia Artificial'\n }).then((result) => {\n if (result.isConfirmed) {\n this.campaignService.getVerifyScopeSOUL(id).subscribe(res => {\n Swal.fire({\n title: 'Validación alcances SOUL',\n text: res.data,\n icon: 'info',\n timer: 5000,\n showConfirmButton: false\n });\n }, error => {\n console.log('Error en la verificación:', error.error);\n Swal.fire({\n title: 'Error',\n text: 'Ocurrió un error en la verificación del alcance al backend.',\n icon: 'error',\n timer: 2000,\n showConfirmButton: false\n });\n });\n } else if (result.dismiss === Swal.DismissReason.cancel) {\n this.campaignService.getVerifyScopeIA(id).subscribe(res => {\n const message = res.data.message\n .replace(/True/g, 'true')\n .replace(/False/g, 'false')\n .replace(/None/g, 'null');\n\n const data = JSON.parse(message.replace(/'/g, '\"'));\n const ipStatusMap = new Map();\n\n // Procesar los datos\n data.forEach(item => {\n if (!ipStatusMap.has(item.ip)) {\n ipStatusMap.set(item.ip, { allPortsOk: true, anyPortFail: false });\n }\n const status = ipStatusMap.get(item.ip);\n if (item.estado === false) {\n status.allPortsOk = false;\n status.anyPortFail = true;\n }\n });\n\n let todasConexionesEstablecidas = true;\n let conexionesParciales = [];\n let sinConexion = [];\n\n ipStatusMap.forEach((status, ip) => {\n if (status.allPortsOk) {\n //odas las conexiones están bien para esta IP\n } else if (status.anyPortFail) {\n conexionesParciales.push(ip);\n } else {\n sinConexion.push(ip);\n }\n\n if (!status.allPortsOk) {\n todasConexionesEstablecidas = false;\n }\n });\n\n let resultado = '';\n if (todasConexionesEstablecidas) {\n resultado = 'Conexión establecida correctamente. El servidor está accesible desde el back IA.';\n } else if (conexionesParciales.length > 0) {\n resultado = `Alcance Incompleto. No se pudo establecer conexión completa en las siguientes IPs: ${conexionesParciales.join(', ')}`;\n } else {\n resultado = `Sin conexión: No se pudo establecer conexión en ninguna de las IPs.`;\n }\n\n Swal.fire({\n title: 'Validación alcances IA',\n text: resultado,\n icon: 'info',\n timer: 5000,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: 'Aceptar',\n });\n }, error => {\n console.log('Error en la verificación:', error.message);\n Swal.fire({\n title: 'Error',\n text: 'Ocurrió un error en la verificación del alcance al backend de la IA.',\n icon: 'error',\n timer: 5000,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: 'Aceptar',\n });\n });\n }\n });\n }\n\n /**\n * Metodo que pagina la informacion de la tabla.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * @param $event Evento emitido por el paginador.\n */\n changePage($event: PageEvent): void {\n this.configPaginator = $event;\n this.getCampaigns();\n }\n\n /**\n * Metodo que filtra los datos de la tabla.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * @param $event Evento emitido por el input.\n */\n\n onSearchClick(value: string): void {\n this.configPaginator.pageIndex= 0;\n this.paginator.firstPage();\n this.filter = value;\n this.getCampaigns();\n }\n\n /**\n * Metodo que trae todos los servidores registrados.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n getCampaigns(): void {\n this.campaignService.getCampaign(this.configPaginator, this.filter).subscribe(res => {\n this.dataSource.data = res.data.data.map(item => ({\n ...item,\n connection_name: item.connection.name //signa el nombre de la base de datos al campo connection_id\n }));\n this.dataSource.sort = this.sort;\n this.configPaginator.length = res.data.total;\n });\n }\n\n /**\n * Metodo cambiar de estado el toggle\n * @author Yeison Sepulevda\n * @createdate 2024-02-15\n */\n toggleStateChanged(element: any): void {\n let confirmationMessage = '';\n if (!element.active) {\n confirmationMessage = '¿Estás seguro de deshabilitar la campaña?';\n } else {\n confirmationMessage = '¿Estás seguro de habilitar la campaña?';\n }\n\n Swal.fire({\n title: '¿Estás seguro?',\n icon: 'warning',\n text: confirmationMessage,\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.changeState(element);\n } else {\n element.active = !element.active;\n }\n });\n }\n\n /**\n * Metodo actualizar el estado de la campaña\n * @author Yeison Sepulevda\n * @createdate 2024-02-15\n *\n */\n changeState(element: any): void {\n this.campaignService.stateCampaign({ id: element.id })\n .subscribe(\n () => {\n let confirmationMessage = '';\n if (!element.active) {\n confirmationMessage = 'Se ha deshabilitado la campaña con éxito.';\n } else {\n confirmationMessage = 'Se ha habilitado la campaña con éxito.';\n }\n Swal.fire({\n icon: 'success',\n title: '¡Excelente!',\n text: confirmationMessage,\n timer: 3000,\n showConfirmButton: false,\n willClose: () => {\n this.getCampaigns();\n }\n });\n },\n (error) => {\n console.error('Error al cambiar de estado', error.error)\n Swal.fire({\n icon: 'error',\n title: 'No se pudo cambiar el estado',\n text: error.error.error,\n confirmButtonText: 'Aceptar',\n confirmButtonColor: '#2CABBC',\n }).then(() => {\n this.getCampaigns();\n });\n }\n );\n }\n\n}\n","
\n
\n \n Buscar\n \n \n \n
\n
\n
\n \n
\n
\n\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ column.name }} {{ element[column.key] }} {{ column.name }} \n \n \n \n
No existe información relacionada
\n\n \n \n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport {DashboardService} from '../../services/dashboard.service'\nimport { DashboardInterface } from '../../interfaces/DashboardInterface';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-show-report',\n templateUrl: './show-report.component.html',\n styleUrls: ['./show-report.component.sass']\n})\nexport class ShowReportComponent implements OnInit {\n reportForm : FormGroup;\n actual_url : SafeResourceUrl\n base_url \t : string = environment.JUPYTER_URL;\n reports : any[] = ['interactive_dashboard','sample']\n isLoading : boolean = false\n\n constructor(private sanitizer : DomSanitizer,\n private authService : AuthService,\n private fb : FormBuilder,\n private location : Location,\n private dashboardService : DashboardService) { }\n\n ngOnInit(): void {\n this.actual_url = this.sanitizer.bypassSecurityTrustResourceUrl('');\n //Consulta los reportes a los que tiene acceso el rol logueado\n const rrhhInfo = this.authService.decryptToken();\n this.dashboardService.getReportByRol(rrhhInfo.rrhh.campaign_id, rrhhInfo.rrhh.position , rrhhInfo.rrhh_id).subscribe( (dash:DashboardInterface[]) => {\n this.reports = dash\n });\n\n this.reportForm = this.fb.group({\n reportSelect: ['']\n });\n\n // Suscribirse a los cambios en el select de campañas\n this.reportForm.get('reportSelect').valueChanges.subscribe(value => {\n this.isLoading = true;\n let url = `${this.base_url}/index?notebook=${this.reports[value].key}`\n for (const filter of this.reports[value].filters) {\n url += `&${filter.column}=${filter.value}`\n }\n this.actual_url = this.sanitizer.bypassSecurityTrustResourceUrl(url);\n });\n }\n backRoute(){\n this.location.back();\n }\n fullScreen(){\n const iframe = document.getElementById('iframe_dashboard');\n if (iframe.requestFullscreen) {\n iframe.requestFullscreen();\n }\n }\n onIframeLoad(){\n if(this.actual_url[\"changingThisBreaksApplicationSecurity\"] != \"\"){\n this.isLoading = false;\n }\n }\n \n}\n","
\n\n
\n \n
\n
\n

Dahsboard

\n

En este espacio podrás visualizar graficas con datos importantes

\n
\n
\n
\n \n \n Reporte\n \n \n {{report.nombre}}\n \n \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
","import { createReducer, on } from \"@ngrx/store\";\nimport { AcompañamientoState } from \"../../core/states/acompañamiento.state\";\nimport { loadedAcompañamientos } from \"../actions/acompañamiento.actions\";\n\nexport const initialState: AcompañamientoState = { acompañamientos:null };\n\nexport const acompañamientoReducer = createReducer(\n initialState,\n on(loadedAcompañamientos,( state, { acompañamientos } )=>{\n return {...state, acompañamientos}\n })\n);","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { SharedModule } from '../../shared/shared.module';\nimport { CarteraWomRoutingModule } from './cartera-wom-routing.module';\n\nimport { CarteraWomComponent } from './cartera-wom.component';\nimport { ChooseCampaignComponent } from './modules/shared/dialogs/choose-campaign/choose-campaign.component';\n\n\n@NgModule({\n\tdeclarations: [CarteraWomComponent, ChooseCampaignComponent],\n\timports: [CommonModule, CarteraWomRoutingModule, SharedModule]\n})\nexport class CarteraWomModule {}\n","import { Injectable } from '@angular/core';\nimport { CanActivateChild } from '@angular/router';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DocumentSignatureDialogComponent } from 'src/app/auth/document-signature-dialog/document-signature-dialog.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DocumentSignatureGuard implements CanActivateChild {\n constructor(\n private matDialog: MatDialog,\n private authService: AuthService\n ) { }\n\n canActivateChild(): Promise {\n const user = this.authService.getUser();\n return new Promise((resolve) => {\n this.authService.verifyUserDescount(user.rrhh.ID_number).subscribe((res) => {\n if (res.state === 1 && !this.isDialogOpen('document-signature-dialog')) {\n this.matDialog.open(DocumentSignatureDialogComponent, {\n width: '70%',\n autoFocus: false,\n height: '60%',\n disableClose: true,\n panelClass: 'dialog-document-signature',\n id: 'document-signature-dialog',\n data: {\n document: user.rrhh.ID_number,\n isRequiredSignature: res.obligatorio\n }\n });\n }\n resolve(true);\n });\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-08-13\n * Metodo que valida si una modal esta o no renderizada en el DOM.\n * @param dialogId Id de la modal a validar.\n */\n private isDialogOpen(dialogId: string): boolean {\n return this.matDialog.getDialogById(dialogId) !== undefined;\n }\n}","import { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DobbleAuthService } from './../../core/services/rest/dobble-auth.service';\nimport { LoginComponent } from './../login/login.component';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Component, OnInit, Inject, OnDestroy } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\n\n\n@Component({\n selector: 'app-dobble-auth',\n templateUrl: './dobble-auth.component.html',\n styleUrls: ['./dobble-auth.component.sass']\n})\nexport class DobbleAuthComponent implements OnInit, OnDestroy {\n public showCode: boolean = false;\n public showEmail: boolean = false;\n public showSms: boolean = false;\n public email: string;\n public validEmail: boolean = true;\n public cellphone: string;\n public codeForm: FormGroup;\n\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialog: MatDialog,\n public matDialogRef: MatDialogRef,\n private dobbleAuthService: DobbleAuthService,\n private authService: AuthService,\n private destroyService: DestroyComponentService\n ) { }\n\n ngOnInit(): void {\n this.hideEmail();\n this.hideSms();\n this.formControl();\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n get error(): any { return this.codeForm.controls; }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-10\n * Metodo que crea el formGroup con cada campo y su respectiva validacion\n */\n formControl(): void {\n this.codeForm = new FormGroup({\n code: new FormControl('', [Validators.required, Validators.minLength(5)])\n });\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-16\n * @param codeForm Formulario diligenciado con el campo code\n */\n sendCode(codeForm): void {\n let json = { 'token': codeForm.value.code, 'user_id': this.data.user_id }\n this.dobbleAuthService.validateToken(json).subscribe(\n response => {\n this.matDialogRef.close(response['data'].valid);\n },\n error => {\n this.matDialogRef.close(false);\n }\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-10\n * metodo que envia nuevamente el codigo\n */\n resendCode() {\n this.showEmail == true ? this.sendEmail() : this.sendSms();\n }\n\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-18\n * Servicio que envia el email con el codigo para el doble login\n * y cambia la pantalla del modal\n */\n sendEmail() {\n this.showCode = true;\n this.showSms = false;\n this.showEmail = true;\n let json = { 'rrhh_id': this.data.user_id, 'email': this.data.email }\n this.authService.sendEmailToDobbleAuth(json).subscribe();\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-18\n * funcion que oculta los datos del email\n * o registra si el email si esta guardado en bd\n */\n hideEmail() {\n if (this.data.email != '') {\n this.validEmail = true;\n let array = this.data.email.split(\"@\");\n let firstFour = array[0].substring(0, 4);\n this.email = `${firstFour}****@${array[1]}`;\n } else {\n this.validEmail = false;\n this.email = \"No hay correo registrado\";\n }\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-18\n * Servicio que envia el sms con el codigo para el doble login\n * y cambia la pantalla del modal\n */\n sendSms() {\n this.showCode = true;\n this.showEmail = false;\n this.showSms = true;\n let json = { 'rrhh_id': this.data.user_id, 'cellphone': this.data.phoneNumber }\n this.authService.sendSmsToDobbleAuth(json).subscribe();\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-18\n * funcion que oculta los datos del telefono\n * o registra si el telefono si esta guardado en bd\n */\n hideSms() {\n if (this.data.phoneNumber != false) {\n let cellphone = this.data.phoneNumber\n let lastNumbers = cellphone.substring(4, 10);\n this.cellphone = `****${lastNumbers}`;\n } else {\n this.cellphone = 'No hay número celular registrado'\n }\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-18\n * funcion que devuelve la pantalla a la seleccion de opciones\n */\n back() {\n this.showCode = false;\n this.formControl();\n }\n\n}\n","\n
\n
\n \n
\n
\n \n

Verifica tu ingreso

\n

Selecciona el metodo de verificación que prefieras\n para acceder a tu cuenta.\n

\n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n \n Por favor comunicate con el administrador para validar tus datos.\n \n
\n
\n
\n
\n \n

Verifica tu ingreso

\n

Ingresa el codigo que te hemos enviado al correo {{email}}

\n

Ingresa el codigo que te hemos envíado por SMS al {{cellphone}}

\n
\n \n Codigo de Ingreso\n \n {{Code.value.length}} / 5\n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo 5\n caracteres\n \n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\nimport { DashboardInterface } from '../interfaces/DashboardInterface';\nimport { map } from 'rxjs/operators';\nimport { PaginatorInterface } from '../interfaces/PaginatorInterface';\n\n\nconst SOULBI_URL = environment.REPORTS_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DashboardService {\n\n headersFile;\n headers;\n\n constructor(private http: HttpClient, private authService: AuthService) {\n this.headersFile = {\n responseType: \"blob\"\n };\n }\n\n /**\n * Consulta todos los dashboard activos\n * @returns\n */\n getDashboards(url = null , params ={}): Observable {\n const dest = url == null ? `${SOULBI_URL}dashboards/` : url;\n\n return this.http.post(dest , params)\n .pipe( map( (dashes:DashboardInterface[]) => dashes ));\n }\n\n\n /**\n * Almacena una nueva configuración\n * @param data\n * @returns\n */\n guardar(data:DashboardInterface ):Observable{\n return this.http.post(`${SOULBI_URL}dashboard/` , data)\n .pipe( map( (dash:DashboardInterface) => dash ));\n }\n\n /**\n * Almacena una nueva configuración\n * @param data\n * @returns\n */\n actualizar(dash:DashboardInterface , id:number ):Observable{\n return this.http.put(`${SOULBI_URL}dashboard/${id}` , dash)\n .pipe( map( (dash:DashboardInterface) => dash ));\n }\n\n\n /**\n * Consulta los reportes asociados al rol logueado\n * @param campaign_id : campaña del usuario\n * @param position : cargo del usuario\n */\n getReportByRol( campaign_id:number, position:string , rrhh_id:number ) : Observable {\n return this.http.post(`${SOULBI_URL}dashboard/get_by_rol/` , {campaign_id: campaign_id , position:position, rrhh_id: rrhh_id })\n .pipe( map( (dashes:DashboardInterface[]) => dashes[\"data\"] ));\n }\n\n /**\n * Consulta los reportes asociados al usuario logueado\n * @param rrhh_id : campaña del usuario\n * @param position : cargo del usuario\n */\n getReportByuser( rrhh_id:number) : Observable {\n return this.http.get(`${SOULBI_URL}dashboard/get_by_user/${rrhh_id}`)\n .pipe( map( (dashes:DashboardInterface[]) => dashes[\"data\"] ));\n }\n\n\n eliminar( dash:DashboardInterface ): Observable {\n return this.http.delete(`${SOULBI_URL}dashboard/${dash.id}`);\n }\n\n getToken(reportKey): Observable {\n return this.http.get(`https://backendreportes.groupcos.com/api/report/tokens?key=${reportKey}`);\n\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { PageEvent } from '@angular/material/paginator';\nimport { Router } from \"@angular/router\";\nimport { SableService } from '../services/sable.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport * as moment from 'moment';\nimport { NAMES_STATES_DOWNLOAD } from '../constantes/states-downloads';\nimport { DialogStatePackagesComponent } from '../dialog-state-packages/dialog-state-packages.component';\nimport { MatDialog } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-gestor',\n templateUrl: './gestor.component.html',\n styleUrls: ['./gestor.component.css']\n})\n\nexport class GestorComponent implements OnInit {\n dateSelected: string = null;\n stateSelected: string = '';\n filtersDownloads: any = { date: '', state: null };\n downloads: any[] = [];\n estados: any = [];\n paginator: any = { length: 0, pageSize: 5, pageIndex: 0, previousPageIndex: 0 };\n namesStatesDownloads: string[] = NAMES_STATES_DOWNLOAD;\n maxDate: Date = new Date();\n\n constructor(\n private router: Router,\n private SableService: SableService,\n private alertService: AlertsService,\n private matDialog: MatDialog\n ) { }\n\n ngOnInit(): void {\n this.getDownloads();\n this.SableService.GetDataSelects('get_estados').subscribe(resp => {\n this.estados = resp.data;\n });\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-06-15\n * Metodo que trae las descargas registradas. \n */\n getDownloads(): void {\n this.SableService.getDownloads(this.paginator, this.filtersDownloads).subscribe(res => {\n this.downloads = res.data.data;\n this.paginator.length = res.data.total;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-15\n * Metodo que se ejecuta al cambiar la fecha en el filtro. \n * @param $event Parametro emitido por el campo fecha. \n */\n onChangeDate($event: any): void {\n const date = moment($event.value);\n this.filtersDownloads.date = date;\n this.getDownloads();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-15\n * Metodo que se ejecuta al cambiar el estado en el filtro. \n * @param $event Parametro emitido por el campo estado. \n */\n onChangeState($event: any): void {\n this.filtersDownloads.state = $event.value;\n this.getDownloads();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-15\n * Metodo que redirecciona a la pagina de crear descarga. \n */\n goToCreateDownloadPage(): void {\n this.router.navigate(['mios/sable/crear_descarga']);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-15\n * Metodo que descarga un archivo registrado.\n * @param id Id de la descarga seleccionada. \n */\n downloadFile(id: number): void {\n this.SableService.downloadFile(id).subscribe(res => {\n importedSaveAs(res);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-15\n * Metodo que elimina un archivo registrado. \n * @param id Id de la descarga seleccionada.\n */\n deleteFile(id: number): void {\n this.alertService.alertWarning('¿Está seguro?', '¿De eliminar la descarga seleccionada?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.SableService.deleteDownload(id).subscribe(res => {\n this.alertService.alertSuccess('Correcto', res.data);\n this.getDownloads();\n });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-15\n * Metodo que actualiza el estado de la paginacion.\n * @param $event Evento emitido por el componente de paginación. \n */\n onChangePage($event: PageEvent): void {\n this.paginator = $event;\n this.getDownloads();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-17\n * Metodo que limpia los filtros de busqueda.\n */\n clearFilters(): void {\n this.filtersDownloads = { date: '', state: null };\n this.dateSelected = '';\n this.stateSelected = null;\n this.getDownloads();\n }\n /**\n * @author Fabian Duran\n * @createdate 2025-01-15\n * Metodo que ejecuta la modal para ver el estado de los paquetes.\n * @param download Descarga seleccionada\n */\n onClickShowStatePackages(download: any): void {\n this.matDialog.open(DialogStatePackagesComponent, {\n width: '70%',\n autoFocus: false,\n panelClass: 'dialog-global-app',\n maxHeight: '95vh',\n data: { download }\n });\n }\n}","
\n
\n
\n Gestor de descargas\n
\n
\n

\n En este espacio podrás revisar y/o realizar la gestión para programar descargas
\n de las llamadas registradas en Vicidial, no olvides, “El respeto y empatía son clave”.\n

\n
\n
\n
\n
\n
\n \n Fecha\n \n \n \n \n
\n
\n \n Estado\n \n {{ rw.nombre }}\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n

\n Nota: Recuerda que cuando la descarga este completa tienes solo\n 24 horas \n para realizar la descarga, después de esto se eliminara automáticamente. Ten presente que cuando la\n descarga es fallida no se completara la descarga y podrás ver el detalle de los errores.\n

\n
\n
\n
0; else notRegisters\">\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n

{{ item.state_download }}

\n

{{ item.name_file }}

\n
\n
    \n
  • Fecha de creación: {{ item.created_at | date:\n 'dd/MM/yyyy - HH:mm' }}
  • \n
  • Nombre del solicitante: {{ item.userdata.name\n }}\n
  • \n
  • Camapaña: {{\n item.campaign }}
  • \n \n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n No existen registros almacenados\n
\n
\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BookingsMainComponent, TypeResources } from './bookings-main/bookings-main.component';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { BookingCreateComponent, ReserveResource } from './booking-create/booking-create.component';\nimport { BookingsAdminComponent , StatusBooking} from './bookings-admin/bookings-admin.component';\nimport { StatusPipe } from './bookings-main/status.pipe';\nimport { DaysPipe } from './booking-create/days.pipe';\nimport { BookingCrmComponent } from './booking-crm/booking-crm.component';\n\n\n\n@NgModule({\n declarations: \n [BookingsMainComponent, \n TypeResources, \n BookingCreateComponent, \n ReserveResource, \n BookingsAdminComponent, \n StatusPipe, \n StatusBooking, \n DaysPipe, \n BookingCrmComponent\n ],\n imports: [\n CommonModule,\n SharedModule,\n MaterialModule\n ]\n})\nexport class BookingsModule { }\n","import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\nimport { Component, Input, OnInit, Output, EventEmitter, OnDestroy, AfterViewInit, AfterContentInit, AfterContentChecked, AfterViewChecked, OnChanges, SimpleChanges, DoCheck, forwardRef } from '@angular/core';\nimport { FormArray, FormArrayName, FormBuilder, FormGroup, Validators,ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { DataAuditoria, ItemModel, ModuloModel } from 'src/app/modules/calidad/interfaces/dataAuditoria.interface';\nimport { AuditoriaService } from 'src/app/modules/calidad/services/auditoria.service';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n\tselector: 'app-calificacion-auditoria',\n\tproviders:[{\n\t\tprovide: NG_VALUE_ACCESSOR,\n\t\tuseExisting: forwardRef(() => CalificacionAuditoriaComponent),\n\t\tmulti: true\n\t}],\n\ttemplateUrl: './calificacion-auditoria.component.html',\n\tstyleUrls: ['./calificacion-auditoria.component.sass']\n})\nexport class CalificacionAuditoriaComponent implements OnInit, OnDestroy, ControlValueAccessor {\n private uuid = '7416e410-92b2-11ee-b9d1-0242ac120002';\n public config: any;\n\n\t@Input() data: DataAuditoria;\n\t@Output() calificacionModulos = new EventEmitter();\n\n\t//Variables para el calcular la calificación\n\tnum_items = 0;\n\tcumple = 0;\n\tno_cumple = 0;\n\tpeso_modulo = 0;\n\titemSi = 0;\n\titemNo = 0;\n\tpesoItems = 0;\n\tis_critico = 0;\n\titems_na = 0;\n\tdecimales: boolean = false;\n\tscreen_md: boolean = false;\n\t@Input() tipo_auditar = { interna: 0, cliente: 0 };\n\n\tis_inicio: boolean = true;\n\n\tcalificacion: number = 0;\n\treadyCalificacion: boolean = false;\n\tmoduloForm: FormGroup;\n\tconteo = 0;\n\twithRadio = '';\n\t//Observable para los cambios en los servicios de auditoria\n\tsubscription: Subscription;\n\tconstructor(\n\t\tprivate fb: FormBuilder,\n\t\tprivate auditoriaService: AuditoriaService,\n private configService: TranslatesService,\n\t) { }\n selected:string;\n\n\tvalue: string;\n onChange = (value: any) => {};\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {}\n\n setDisabledState?(isDisabled: boolean): void {}\n\n\tngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n this.verModulos(this.config);\n });\n\t\tthis.createForm();\n\t\tthis.cantidadDecimales();\n\t\tthis.subscription = this.auditoriaService.refresh$.subscribe(() => {\n\t\t\tthis.verModulos(this.config);\n\t\t\tthis.cantidadDecimales();\n\t\t\tthis.tipo_auditar = { interna: 0, cliente: 0 };\n\t\t});\n\t\tconsole.log(this.data);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.subscription.unsubscribe();\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2022-02-24\n\t* Metodo que se encarga habilitar y desabilidar los sub items dependiendo la calificación que se de en el item\n\t*/\n\tcalificacionItem(iModulo, iItem) {\n\t\tthis.is_inicio=false;\n\t\tlet item_calificado = ((this.moduloForm.get('modulos') as FormArray).at(iModulo).get('items_modulo') as FormArray).at(iItem).get('calificacion').value;\n\t\tlet subItems = (((this.moduloForm.get('modulos') as FormArray).at(iModulo).get('items_modulo') as FormArray).at(iItem).get('sub_items') as FormArray);\n\t\tlet itemModulo = ((this.moduloForm.get('modulos') as FormArray).at(iModulo).get('items_modulo') as FormArray).at(iItem).get('comments');\n\t\titemModulo.disable();\n\t\t\n\t\tif(this.data.comment_is_mandatory_for.includes('0') && item_calificado == 'no' ){\n\t\t\titemModulo.enable();\n\t\t}\n\t\tif(this.data.comment_is_mandatory_for.includes('1') && item_calificado == 'si' ){\n\t\t\titemModulo.enable();\n\t\t}\n\t\tif(this.data.comment_is_mandatory_for.includes('2') && item_calificado == 'na' ){\n\t\t\titemModulo.enable();\n\t\t}\n\t\tif(this.data.comment_is_mandatory_for.includes('3') && item_calificado == 'cp' ){\n\t\t\titemModulo.enable();\n\t\t}\n\t\t\n\t\tif (item_calificado == 'no_cumple' || item_calificado == 'no') {\n\t\t\tsubItems.controls.forEach((subItem: FormGroup) => {\n\t\t\t\tsubItem.controls['calificacion'].setValue('no_cumple');\n\t\t\t\tsubItem.controls['calificacion'].enable();\n\t\t\t});\n\t\t} else {\n\t\t\tsubItems.controls.forEach((subItem: FormGroup) => {\n\t\t\t\tsubItem.controls['calificacion'].setValue('');\n\t\t\t\tsubItem.controls['calificacion'].disable();\n\t\t\t});\n\t\t}\n\t\t//this.calificacionModulos.emit({ modulos: this.moduloForm.get('modulos').value, calificacion: this.calculateCalificacion() });\n\t\tthis.calificacionModulos.emit({ modulos: this.moduloForm.get('modulos').value, calificacion: this.calculateCalificacion() });\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2022-03-07\n\t* Metodo que se encarga validar cuando los sub items se califican como cumple o N/A\n\t* cambiando la calificación del item a cumple, si o N/A si es requerido\n\t*/\n\n\tcalificacionSubItem(iModulo, iItem, iSubItem) {\n\t\tthis.is_inicio=false;\n\t\tlet cantidadCumple = 0;\n\t\tlet cantidadNA = 0;\n\t\tlet cantidadNoCumple = 0;\n\t\tlet subItem = ((this.moduloForm.get('modulos') as FormArray).at(iModulo).get('items_modulo') as FormArray).at(iSubItem);\n\t\tlet item = ((this.moduloForm.get('modulos') as FormArray).at(iModulo).get('items_modulo') as FormArray).at(iItem);\n\t\tconst sub_items = item.get('sub_items') as FormArray;\n\t\tsub_items.controls.forEach((subItem: FormGroup) => {\n\t\t\tif (subItem.get('calificacion').value == 'cumple') {\n\t\t\t\tcantidadCumple++\n\t\t\t}\n\t\t\tif (subItem.get('calificacion').value === null) {\n\t\t\t\tcantidadNA++\n\t\t\t}\n\t\t\tif (subItem.get('calificacion').value === 'no_cumple') {\n\t\t\t\tcantidadNoCumple++\n\t\t\t}\n\t\t});\n\t\tif (cantidadCumple == sub_items.length) {\n\t\t\tif (this.data.tipo_matriz == 'Cumplimiento' || this.data.tipo_matriz == 'Compliance') {\n\t\t\t\titem.get('calificacion').setValue('cumple');\n\t\t\t} else {\n\t\t\t\titem.get('calificacion').setValue('si');\n\t\t\t}\n\t\t\tsub_items.controls.forEach((subItem: FormGroup) => {\n\t\t\t\tsubItem.get('calificacion').setValue('');\n\t\t\t\tsubItem.get('calificacion').disable();\n\t\t\t\tsubItem.markAllAsTouched();\n\t\t\t});\n\t\t\titem.get('calificacion').setValue('si');\n\t\t}\n\t\tif (cantidadNA == sub_items.length) {\n\t\t\titem.get('calificacion').setValue(null);\n\t\t\tsub_items.controls.forEach((subItem: FormGroup) => {\n\t\t\t\tsubItem.get('calificacion').setValue('');\n\t\t\t\tsubItem.get('calificacion').disable();\n\t\t\t\tsubItem.markAllAsTouched();\n\t\t\t});\n\t\t}\n\t\tif (cantidadNoCumple == 0) {\n\t\t\tif (this.data.tipo_matriz == 'Cumplimiento' || this.data.tipo_matriz == 'Compliance') {\n\t\t\t\titem.get('calificacion').setValue('cumple');\n\t\t\t} else {\n\t\t\t\titem.get('calificacion').setValue('si');\n\t\t\t}\n\t\t\tsub_items.controls.forEach((subItem: FormGroup) => {\n\t\t\t\tsubItem.get('calificacion').setValue('');\n\t\t\t\tsubItem.get('calificacion').disable();\n\t\t\t\tsubItem.markAllAsTouched();\n\t\t\t});\n\t\t}\n\t\tthis.calificacionModulos.emit({ modulos: this.moduloForm.get('modulos').value, calificacion: this.calculateCalificacion() });\n\t}\n\n\t/**\n\t * Metodo que se encarga de calcular la calificacion total de del los modulos\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 05/07/2022\n\t * @returns number : numero con el total de la clificaicon para los modulos\n\t */\n\tcalculateCalificacion() {\n\t\t//variable que contiene el total de la calificacion\n\t\tthis.calificacion = 0;\n\t\t//Variable que indica si se debe alnular toda la clificacipn o no (esto depende de si el el modulo es crtico total)\n\t\tlet anulaTotal: boolean = false;\n\n\n\t\t//Se realiza validacion para determinar como se calculara la nota\n\t\tif (this.data.tipo_matriz == 'Cumplimiento' || this.data.tipo_matriz == 'Compliance') {\n\t\t\tlet pesoCriticoRest = 0;//Peso de modulos criticos parciales a restar dentro de la nota\n\t\t\tlet no_cumpleCritico: number = 0; //contador de items que no cumplen dentro de los modulos critocs\n\t\t\tlet sumatoria = 0; //Variable que contendra la sumtarios de los modulos y servira de variable de opraciones apra los calculos\n\t\t\t/****************************************************\n\t\t\tPara el calculo de la calificacion por modulo se determina esta formula por el cliente\n\t\t\tEn este escenario los items N/A no forman parte de la calificaicon por lo 2ue no se tienen encuanta para el calculo\n\t\t\titemsCumple + itemsNocumple = totalRegistrosEvaluados\n\t\t\titemsCumple / totalRegistrosEvaluados = porcentajeCumplimientoModulo\n\t\t\tporcentajeCumplimientoModulo * PesoModulo = Calificacion del modulo\n\t\t\t****************************************************/\n\t\t\tlet cumple=0 //items que cumplen dentro del modulo\n\t\t\tlet no_cumple = 0 //items que no cumplen\n\t\t\t//Se realiza itracion por cada modulo de la matriz\n\t\t\tthis.moduloForm.get('modulos').value.forEach(modulo => {\n\t\t\t\tcumple=0\n\t\t\t\tno_cumple=0\n\t\t\t\t//Si el modulo no es de Error critico se asigna el peso para la sumatoria\n\t\t\t\tif (modulo.error_critico == 0) {\n\t\t\t\t\tthis.peso_modulo = modulo.peso;\n\t\t\t\t} else {//En caso de que el modulo sea critico este no afecta la sumatoria total de la nota por lo que se deja en 0\n\t\t\t\t\tthis.peso_modulo = 0;\n\t\t\t\t}\n\t\t\t\t//iteramos los items de cada modulo\n\t\t\t\tmodulo.items_modulo.forEach(item => {\n\t\t\t\t\tObject.assign(item, { puntaje: 0 });//Se le asigna atributo puntaje para registro\n\t\t\t\t\t//Se realiza la validacion del estado de cada item dentro de los modulos\n\n\t\t\t\t\t//item NA -> por defecto no resta a la suma y su valor se pone como positivo\n\t\t\t\t\t//if (item.calificacion == 'null') { cumple++; }\n\n\t\t\t\t\tif (item.calificacion == 'cumple') {\n\t\t\t\t\t\tcumple++\n\t\t\t\t\t} else if (item.calificacion == 'no_cumple') {\n\t\t\t\t\t\tno_cumple++\n\n\t\t\t\t\t}//Si no se registra calificaicon como (cumple - no cumple) este no se debe tener en cuenta para el calculo de l total del modulo\n\n\t\t\t\t\t//Se asigna el puntaje a cada item\n\t\t\t\t\tmodulo.items_modulo.forEach(item => {\n\t\t\t\t\t\tif (item.calificacion === null) {\n\t\t\t\t\t\t\tif (item.calificacion == 'cumple') {\n\t\t\t\t\t\t\t\titem.puntaje = this.peso_modulo / (cumple + no_cumple);\n\t\t\t\t\t\t\t} else if (item.calificacion == 'no_cumple') {\n\t\t\t\t\t\t\t\titem.puntaje = 0;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//item.puntaje = this.peso_modulo / (cumple + no_cumple);\n\t\t\t\t\t\t\t\titem.puntaje = 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\n\t\t\t\t\t//Validamos si el modulo es de error critico (error_critico = 1)\n\t\t\t\t\t//Si el modulo.peso es igual a null se asume que es un critico total, es decir dejara la nota en 0 sin importar cuantos items con cumple tenga\n\t\t\t\t\t//Se valida que almenos un item dentro del modulo critico total no cumpla para que se pueda anular la calificacion\n\t\t\t\t\tif (modulo.error_critico == 1 && (modulo.peso === null || modulo.peso === \"\" || modulo.peso == undefined) && item.calificacion == 'no_cumple') {\n\t\t\t\t\t\tanulaTotal = true;\n\t\t\t\t\t}\n\t\t\t\t\t//Validamos si es error critico pero si se registra algun valor en modulo.peso se asume que es un critico parcial, y envez de afectar toda la nota solo afectara el valor del modulo al que pertenece\n\t\t\t\t\tif (modulo.error_critico == 1 && modulo.peso && item.calificacion == 'no_cumple') {\n\t\t\t\t\t\tno_cumpleCritico++;//Se realiza conteo de item que no cumplan dentro del modulo critico parcial\n\n\t\t\t\t\t}\n\n\t\t\t\t});//FINALIZA ITERACION DE ITEMS DEL MODULO\n\n\t\t\t\t//Si el modulo es critico parcial, y almenos un item del modulo parcial no cumple, se se asigna a la variable el valor a restar por el modulo\n\t\t\t\tif (modulo.error_critico == 1 && modulo.peso && no_cumpleCritico > 0) {\n\t\t\t\t\tpesoCriticoRest = pesoCriticoRest + modulo.peso;\n\t\t\t\t}\n\t\t\t\t//Se seta en 0 el contador para el conteno del siguiente modulo\n\t\t\t\tno_cumpleCritico = 0;\n\n\t\t\t\t//Se realiza el calculo de la nota segun comentario inicial del metodo\n\t\t\t\tif((cumple > 0 || no_cumple > 0) && modulo.error_critico == 0){\n\t\t\t\t\tlet totalRegistrosEvaluados = cumple + no_cumple\n\t\t\t\t\tlet porcentajeCumplimientoModulo = cumple / totalRegistrosEvaluados\n\t\t\t\t\tsumatoria += porcentajeCumplimientoModulo * this.peso_modulo\n\t\t\t\t}\n\t\t\t}\n\t\t\t);//FINALIZA ITERACION DE MODULOS\n\t\t\t//Se asigna el valor de la variable sumatoria a la variabe de calificaion asumiendo que esta variab solo tiene la sumatoria de los calculos por modulo y no se la a hecho los descuentos por modulos criticos\n\t\t\tthis.calificacion = sumatoria\n\n\t\t\t//Si se registro algun peso de los modulos criticos parciales, se hace la resta de ese modulo dentro de la clificacion\n\t\t\tif (pesoCriticoRest > 0) {\n\t\t\t\tthis.calificacion = this.calificacion - pesoCriticoRest\n\t\t\t}\n\n\t\t\t//Si un modulo critico total tiene un item con no_cumple y anula_total queda en true, la califiacion se anula por lo que queda en 0\n\t\t\tif (anulaTotal) {\n\t\t\t\tthis.calificacion = 0;\n\t\t\t}\n\n\t\t\t//Ninguna calificaicon puede ser menor de 0\n\t\t\tif (this.calificacion <= 0) {\n\t\t\t\tthis.calificacion = 0;\n\t\t\t}\n\n\t\t\t//console.log(this.is_inicio);\n\t\t\tif(this.is_inicio==true){\n\t\t\t\tthis.calificacion = 100;\n\t\t\t\t//this.is_inicio=false;\n\t\t\t}\n\n\t\t} else {\n\t\t\tif (this.data.tipo_peso == 'Peso en Módulos' || this.data.tipo_peso == 'Weight in Modules') {\n\t\t\t\tlet pesoCriticoRest = 0;\n\t\t\t\tlet no_cumpleCritico: number = 0;\n\t\t\t\tlet sumatoria=0;\n\t\t\t\tthis.moduloForm.get('modulos').value.forEach(modulo => {\n\n\t\t\t\t\tif (modulo.error_critico == 0) {\n\t\t\t\t\t\tthis.peso_modulo = modulo.peso;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.peso_modulo = 0;\n\t\t\t\t\t}\n\t\t\t\t\tmodulo.items_modulo.forEach(item => {\n\t\t\t\t\t\tif (item.calificacion) {\n\n\t\t\t\t\t\t\t//item NA -> por defecto no resta a la suma y su valor se pone como positivo\n\t\t\t\t\t //if (item.calificacion == 'null') { this.itemSi++; }\n\n\t\t\t\t\t\t\tObject.assign(item, { puntaje: 0 });\n\t\t\t\t\t\t\tif (item.calificacion == 'si') {\n\t\t\t\t\t\t\t\tthis.itemSi++;\n\t\t\t\t\t\t\t} else if (item.calificacion == 'no') {\n\t\t\t\t\t\t\t\tthis.itemNo++;\n\t\t\t\t\t\t\t} else{\n\t\t\t\t\t\t\t\tthis.itemSi++;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (modulo.error_critico == 1 && (modulo.peso === null || modulo.peso === \"\" || modulo.peso == undefined) && item.calificacion == 'no') {\n\t\t\t\t\t\t\t\tanulaTotal = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (modulo.error_critico == 1 && modulo.peso && item.calificacion == 'no') {\n\t\t\t\t\t\t\t\tno_cumpleCritico++;\n\t\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tif (modulo.error_critico == 1 && modulo.peso && no_cumpleCritico > 0) {\n\t\t\t\t\t\tpesoCriticoRest = pesoCriticoRest + Number(modulo.peso);\n\t\t\t\t\t}\n\n\t\t\t\t\tmodulo.items_modulo.forEach(item => {\n\t\t\t\t\t\tif (item.calificacion === null) {\n\t\t\t\t\t\t\tif (item.calificacion == 'si') {\n\t\t\t\t\t\t\t\titem.puntaje = this.peso_modulo / this.num_items;\n\t\t\t\t\t\t\t} else if (item.calificacion == 'no') {\n\t\t\t\t\t\t\t\titem.puntaje = 0;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\titem.puntaje = 0;\n\t\t\t\t\t\t\t\t//item.puntaje = this.peso_modulo / this.num_items;\n\t\t\t\t\t\t\t\tthis.items_na++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tif(this.itemSi === modulo.items_modulo.length ){\n\t\t\t\t\t\tsumatoria = sumatoria + this.peso_modulo\n\t\t\t\t\t}else if(this.itemNo > 0){\n\t\t\t\t\t\tsumatoria = sumatoria + 0\n\t\t\t\t\t}else if(this.items_na > 0){\n\t\t\t\t\t\tsumatoria = sumatoria + this.peso_modulo\n\t\t\t\t\t}\n\n\n\t\t\t\t\tthis.itemSi = 0;\n\t\t\t\t\tthis.itemNo = 0;\n\t\t\t\t\tthis.items_na = 0;\n\t\t\t\t\tno_cumpleCritico = 0;\n\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tthis.calificacion = sumatoria\n\n\n\t\t\t\tif (pesoCriticoRest > 0) {\n\t\t\t\t\tthis.calificacion = this.calificacion - pesoCriticoRest\n\t\t\t\t}\n\n\t\t\t\tif (this.calificacion <= 0) {\n\t\t\t\t\tthis.calificacion = 0;\n\t\t\t\t}\n\t\t\t} else if (this.data.tipo_peso == 'Peso en Items' || this.data.tipo_peso == 'Weight in Items') {\n\t\t\t\t// console.log('Peso en Items');\n\t\t\t\tlet pesoCriticoRest = 0;\n\t\t\t\tlet pesoCriticoSum = 0;\n\t\t\t\tthis.moduloForm.get('modulos').value.forEach(modulo => {\n\t\t\t\t\tmodulo.items_modulo.forEach(item => {\n\t\t\t\t\t\tif (item.calificacion) {\n\t\t\t\t\t\t\tObject.assign(item, { puntaje: 0 });\n\t\t\t\t\t\t\tif (item.calificacion == 'si') {\n\t\t\t\t\t\t\t\tthis.pesoItems = this.pesoItems + item.peso;\n\t\t\t\t\t\t\t\titem.puntaje = item.peso;\n\t\t\t\t\t\t\t} else if (item.calificacion == 'no') {\n\t\t\t\t\t\t\t\tthis.pesoItems = this.pesoItems + 0;\n\t\t\t\t\t\t\t\titem.puntaje = 0;\n\t\t\t\t\t\t\t} else if (item.calificacion == 'cp') {\n\t\t\t\t\t\t\t\tthis.pesoItems = (item.peso / 2) + this.pesoItems;\n\t\t\t\t\t\t\t\titem.puntaje = item.peso / 2;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//item.puntaje = 0;\n\t\t\t\t\t\t\t\t// Cambio para que los NA no resten\n\t\t\t\t\t\t\t\tthis.pesoItems = this.pesoItems + item.peso;\n\t\t\t\t\t\t\t\titem.puntaje = item.peso;\n\t\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\t\tif (modulo.error_critico == 1 && (modulo.peso === null || modulo.peso === \"\" || modulo.peso == undefined) && item.calificacion == 'no') {\n\t\t\t\t\t\t\t\tanulaTotal = true;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (modulo.error_critico == 1 && modulo.peso && item.calificacion == 'no') {\n\t\t\t\t\t\t\t\tlet sizeItems = modulo.items_modulo.length\n\t\t\t\t\t\t\t\tpesoCriticoRest = pesoCriticoRest + (Number(modulo.peso) / sizeItems)\n\n\t\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (item.calificacion === null) {\n\t\t\t\t\t\t\tthis.pesoItems = this.pesoItems + item.peso;\n\t\t\t\t\t\t\titem.puntaje = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.calificacion = this.calificacion + this.pesoItems;\n\n\n\t\t\t\t\t\tthis.pesoItems = 0;\n\t\t\t\t\t\tthis.items_na = 0;\n\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t});\n\n\t\t\t\tif (pesoCriticoRest > 0) {\n\t\t\t\t\tthis.calificacion = this.calificacion - pesoCriticoRest;\n\t\t\t\t}\n\n\t\t\t\tif (this.calificacion <= 0) {\n\t\t\t\t\tthis.calificacion = 0;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif (anulaTotal) {\n\t\t\t\tthis.calificacion = 0;\n\t\t\t}\n\n\n\n\t\t}\n\t\treturn this.calificacion;\n\n\t}\n\t/**\n\t * Funcion valida cantidad de decimales \n\t */\n\tcantidadDecimales() {\n\t\tlet calificacion: string = this.calculateCalificacion().valueOf().toLocaleString();\n\t\tlet cantidadDecimales = 0;\n\t\tif (calificacion.indexOf(',') >= 2 && calificacion.indexOf(',') <= 3) {\n\t\t\tfor (let index = calificacion.indexOf(',') + 1; index < calificacion.length; index++) {\n\t\t\t\tcantidadDecimales++\n\t\t\t}\n\t\t}\n\t\tif (cantidadDecimales > 1) {\n\t\t\tthis.decimales = true;\n\t\t\tif (window.screen.width > 1060 && window.screen.width < 1660) {\n\t\t\t\tthis.screen_md = true;\n\t\t\t} else {\n\t\t\t\tthis.screen_md = false;\n\t\t\t}\n\t\t} else {\n\t\t\tif (window.screen.width > 1060 && window.screen.width < 1660) {\n\t\t\t\tthis.screen_md = true;\n\t\t\t} else {\n\t\t\t\tthis.screen_md = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tcreateForm() {\n\t\tthis.moduloForm = this.fb.group({\n\t\t\tmodulos: this.fb.array([]),\n\t\t});\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2022-02-24\n\t* Metodo que se encarga de llenar los modulos, items y subitems con sus respectivos formcontrol\n\t* agregando el valor en la calificación en si o cumple\n\t*/\n\tverModulos(config) {\n\t\tconst modulos = this.moduloForm.controls['modulos'];\n\t\tmodulos.clear();\n\t\tthis.data.modulos.forEach((modulo: ModuloModel, iModule) => {\n\t\t\tmodulo.items_modulo.forEach(item => {\n\t\t\t\tif (this.data.tipo_matriz == 'Cumplimiento' || this.data.tipo_matriz == 'Compliance') {\n\t\t\t\t Object.assign(item, { calificacion: 'null' });\n\t\t\t\t\t//Object.assign(item, { calificacion: 'cumple' });\n\t\t\t\t} else {\n\t\t\t\t\tObject.assign(item, { calificacion: 'si' });\n\t\t\t\t\t//Object.assign(item, { calificacion: 'null' });\n\t\t\t\t}\n\t\t\t\titem.sub_items.forEach(sub_item => {\n\t\t\t\t\tObject.assign(sub_item, { calificacion: { value: '', disabled: true },\n\t\t\t\t\t\taspectosToltip : config.tooltip.description + (sub_item.descripcion || config.tooltip.undefined) +\n\t\t\t\t\t\t\"\\n\" + config.tooltip.positiveAspects + (sub_item.aspectoPositivo || config.tooltip.undefined) +\n\t\t\t\t\t\t\"\\n\" + config.tooltip.negativeAspects + (sub_item.aspectoNegativo || config.tooltip.undefined) +\n\t\t\t\t\t\t\"\\n\" + config.tooltip.naAspects + (sub_item.aspectoNa || config.tooltip.undefined)});\n\t\t\t\t});\n\t\t\t});\n\t\t\tmodulos.push(this.fb.group({\n\t\t\t\tcreated_at: modulo.created_at,\n\t\t\t\tdescripcion: modulo.descripcion,\n\t\t\t\terror_critico: modulo.error_critico,\n\t\t\t\tid: modulo.id,\n\t\t\t\titems_modulo: this.fb.array([]),\n\t\t\t\tmatriz_id: modulo.matriz_id,\n\t\t\t\tnivel: modulo.nivel,\n\t\t\t\tnombre: modulo.nombre,\n\t\t\t\tpadre_id: modulo.padre_id,\n\t\t\t\tpeso: modulo.peso,\n\t\t\t\tpremium: modulo.premium,\n\t\t\t\tsigla: modulo.sigla,\n\t\t\t\ttype_select: modulo.type_select,\n\t\t\t\tupdated_at: modulo.updated_at,\n\t\t\t\tusuario_actualizacion_id: modulo.usuario_actualizacion_id,\n\t\t\t\tusuario_creador_id: modulo.usuario_creador_id,\n\t\t\t\tactivo: modulo.activo,\n\t\t\t}));\n\t\t\tmodulo.items_modulo.forEach((item: ItemModel, index: number) => {\n\t\t\t\t(this.getModulos().at(iModule).get('items_modulo') as FormArray).push(this.fb.group({\n\t\t\t\t\tcalificacion: item.calificacion,\n\t\t\t\t\tpuntaje: item.puntaje,\n\t\t\t\t\tactivo: item.activo,\n\t\t\t\t\tdescripcion: item.descripcion,\n\t\t\t\t\terror_critico: item.error_critico,\n\t\t\t\t\tid: item.id,\n\t\t\t\t\tmatriz_id: item.matriz_id,\n\t\t\t\t\tnivel: item.nivel,\n\t\t\t\t\tnombre: item.nombre,\n\t\t\t\t\tpadre_id: item.padre_id,\n\t\t\t\t\tpeso: item.peso,\n\t\t\t\t\tpremium: item.premium,\n\t\t\t\t\tsigla: item.sigla,\n\t\t\t\t\tcomments: item.comments,\n\t\t\t\t\tsub_items: this.fb.array([]),\n\t\t\t\t\ttype_select: item.type_select,\n\t\t\t\t\tupdated_at: item.updated_at,\n\t\t\t\t\tusuario_actualizacion_id: item.usuario_actualizacion_id,\n\t\t\t\t\tusuario_creador_id: item.usuario_creador_id,\n\t\t\t\t\tcreated_at: item.created_at,\n\t\t\t\t\taspectNa: item.aspectoNa,\n\t\t\t\t\taspecPos: item.aspectoPositivo,\n\t\t\t\t\taspectNeg: item.aspectoNegativo,\n\t\t\t\t\taspectosToltip :config.tooltip.description + (item.descripcion || config.tooltip.undefined)+\n\t\t\t\t\t\"\\n\" + config.tooltip.positiveAspects + (item.aspectoPositivo || config.tooltip.undefined) +\n\t\t\t\t\t\"\\n\" + config.tooltip.negativeAspects + (item.aspectoNegativo || config.tooltip.undefined) +\n\t\t\t\t\t\"\\n\" + config.tooltip.naAspects + (item.aspectoNa || config.tooltip.undefined) +\n\t\t\t\t\t\"\\n\" + (this.data.aplica_para_cp === 1 && item.aspectocp ? `${config.tooltip.cpAspects} ${item.aspectocp}` : '')\n\n\n\t\t\t\t}));\n\t\t\t\tconsole.log(item);\n\t\t\t\titem.sub_items.forEach((sub_item: ItemModel, index1: number)=>{\n\t\t\t\t\tconsole.log(iModule,index,index1);\n\t\t\t\t\t(this.getItems(iModule).at(index).get('sub_items') as FormArray).push(this.fb.group({\n\t\t\t\t\t\tcalificacion: sub_item.calificacion,\n\t\t\t\t\t\tpuntaje: sub_item.puntaje,\n\t\t\t\t\t\tactivo: sub_item.activo,\n\t\t\t\t\t\tdescripcion: sub_item.descripcion,\n\t\t\t\t\t\terror_critico: sub_item.error_critico,\n\t\t\t\t\t\tid: sub_item.id,\n\t\t\t\t\t\tmatriz_id: sub_item.matriz_id,\n\t\t\t\t\t\tnivel: sub_item.nivel,\n\t\t\t\t\t\tnombre: sub_item.nombre,\n\t\t\t\t\t\tpadre_id: sub_item.padre_id,\n\t\t\t\t\t\tpeso: sub_item.peso,\n\t\t\t\t\t\tpremium: sub_item.premium,\n\t\t\t\t\t\tsigla: sub_item.sigla,\n\t\t\t\t\t\tcomments: sub_item.comments,\n\t\t\t\t\t\ttype_select: sub_item.type_select,\n\t\t\t\t\t\tupdated_at: sub_item.updated_at,\n\t\t\t\t\t\tusuario_actualizacion_id: sub_item.usuario_actualizacion_id,\n\t\t\t\t\t\tusuario_creador_id: sub_item.usuario_creador_id,\n\t\t\t\t\t\tcreated_at: sub_item.created_at,\n\t\t\t\t\t\taspectNa: sub_item.aspectoNa,\n\t\t\t\t\t\taspecPos: sub_item.aspectoPositivo,\n\t\t\t\t\t\taspectNeg: sub_item.aspectoNegativo,\n\t\t\t\t\t\taspectosToltip :config.tooltip.description + (sub_item.descripcion || config.tooltip.undefined)+\n\t\t\t\t\t\t\"\\n\" + config.tooltip.positiveAspects + (sub_item.aspectoPositivo || config.tooltip.undefined) +\n\t\t\t\t\t\t\"\\n\" + config.tooltip.negativeAspects + (sub_item.aspectoNegativo || config.tooltip.undefined) +\n\t\t\t\t\t\t\"\\n\" + config.tooltip.naAspects + (sub_item.aspectoNa || config.tooltip.undefined) +\n\t\t\t\t\t\t\"\\n\" + (this.data.aplica_para_cp === 1 && sub_item.aspectocp ? `${config.tooltip.cpAspects} ${sub_item.aspectocp}` : '')\n\t\t\t\t\t}));\n\t\t\t\t});\n\n\t\t\t});\n\t\t});\n\t\tthis.calificacionModulos.emit({ modulos: this.moduloForm.get('modulos').value, calificacion: this.calculateCalificacion() });\n\t}\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2022-02-24\n\t* Metodo que retorna los modulos con sus controls\n\t*/\n\tgetModulos(): FormArray {\n\t\treturn this.moduloForm.get('modulos') as FormArray;\n\t}\n\n\t/**\n * @author Cristian Gallo\n * @createdate 2022-02-24\n * Metodo que retorna los items con sus controls\n */\n\tgetItems(indexModulo: number): FormArray {\n\t\treturn this.getModulos().at(indexModulo).get('items_modulo') as FormArray;\n\t}\n\n}\n","\n \n \n

{{ config.calificacionCampanha.titulo }}

\n

{{ calculateCalificacion() | number:'1.0-2' }}

\n

{{ calculateCalificacion() | number:'1.0-2' }}%

\n
\n \n
\n

{{ config.gestionResumida.titulo }}

\n
\n
\n
\n

{{ config.gestionResumida.auditoriaInterna }}

\n

{{ tipo_auditar.interna }}

\n
\n
\n

{{ config.gestionResumida.auditoriaCliente }}

\n

{{ tipo_auditar.cliente }}

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

\n {{modulo.get('sigla').value}}

\n

\n {{ modulo.get('nombre').value | cutText:0:35 }}

\n  \n

{{ config.peso.titulo }}: {{modulo.get('peso').value}}

\n

{{ config.peso.titulo }}: {{modulo.get('peso').value}}%

\n
\n
\n \n \n  \n {{ config.critico.tooltip }} \n \n \n\n
\n
\n \n \n
\n
\n
\n \n \n \n

\n {{item.get('sigla').value}}

\n \n

\n {{item.get('nombre').value | cutText:0:10}}\n

\n
\n \n
\n \n \n {{ config.radio.cumple }} \n \n {{ config.radio.noCumple }} \n \n {{ config.na }}\n \n \n \n
\n
\n \n \n {{ config.yes }}\n \n \n {{ config.no }}\n \n \n {{ config.na }}\n \n \n {{ config.cp }}\n \n \n \n \n\n
\n
\n \n \n {{ config.yes }}\n \n \n {{ config.no }}\n \n \n {{ config.na }}\n \n \n \n
\n \n
\n

{{ config.peso.titulo }}: {{item.get('peso').value |number :'1.0-3'}}

\n
\n \n {{config.comentario}}\n \n {{ config.labels.requiredObservation }}\n {{ config.labels.minCharacters }}\n \n
\n
\n \n \n \n

\n {{subtItem.get('sigla').value}}

\n \n \n

\n {{subtItem.get('nombre').value | cutText:0:3}}

\n
\n \n

\n {{subtItem.get('nombre').value | cutText:0:10}}

\n
\n
\n \n \n \n {{ config.radio.cumple }}\n \n \n {{ config.radio.noCumple }}\n \n \n {{ config.radio.na }}\n \n \n \n \n
\n \n {{config.comentario}}\n \n {{ config.labels.requiredObservation }}\n {{ config.labels.minCharacters }}\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-crear-item',\n templateUrl: './crear-item.component.html',\n styleUrls: ['./crear-item.component.sass']\n})\nexport class CrearItemComponent implements OnInit {\n private uuid = '81a84074-9131-11ee-b9d1-0242ac120002';\n public config: any;\n\n itemForm:FormGroup;\n items = [];\n filteredOptions: Observable;\n verError:boolean = true;\n continue:boolean = true;\n nuevo:boolean = false;\n peso:boolean = false;\n descripcion:boolean = false;\n mostarDescripciones:boolean = false\n\n constructor(\n public itemRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private fb:FormBuilder,\n private matrizService:MatrizService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.createForm();\n console.log(this.datos);\n\n }\n\n createForm(){\n this.itemForm = this.fb.group({\n nombre:['',Validators.required],\n peso:['',[Validators.required]],\n descripcion:[''],\n aspectoPositivo:['',Validators.maxLength(100)],\n aspectoNegativo:['',Validators.maxLength(100)],\n aspectoNa:['',Validators.maxLength(100)],\n aspectoCp: ['', Validators.maxLength(100)]\n })\n }\n\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.items.filter(option => option.nombre.toLowerCase().includes(filterValue));\n }\n\n displayFn(module: any): string {\n return module && module ? module : '';\n }\n\n getItems(){\n this.matrizService.getItems(this.itemForm.get('nombre').value).subscribe((resp:any)=>{\n if (resp.length == 0) {\n this.verError = true\n this.itemForm.get('nombre').setErrors({invalid:true});\n this.nuevo = true;\n this.continue = true;\n this.descripcion = false;\n this.peso = false;\n this.mostarDescripciones=false\n }else{\n this.newItem();\n this.mostarDescripciones=true\n this.descripcion = true;\n this.verError = false;\n this.nuevo = false;\n this.items = resp\n this.filteredOptions = this.itemForm.get('nombre').valueChanges.pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n }\n })\n }\n\n newItem(){\n this.nuevo = false;\n this.itemForm.get('nombre').setErrors(null);\n this.descripcion = true;\n this.mostarDescripciones =true;\n if (this.datos.tipo_matriz == \"Cumplimiento\" || this.datos.tipo_matriz == \"Compliance\") {\n this.peso = false\n this.itemForm.get('peso').setValue(null);\n this.itemForm.get('peso').setErrors(null);\n }else{\n if (this.datos.tipo_peso == 'Peso en Items' || this.datos.tipo_peso == 'Weight in Items') {\n if (this.datos.error_critico) {\n this.peso = false;\n this.itemForm.get('peso').setValue(null);\n this.itemForm.get('peso').setErrors(null);\n }else{\n this.peso = true;\n }\n }else{\n this.peso = false;\n this.itemForm.get('peso').setValue(null);\n this.itemForm.get('peso').setErrors(null);\n }\n }\n this.descripcion = true;\n this.mostarDescripciones =true;\n this.continue = false;\n }\n\n saveItem(){\n if (this.itemForm.invalid) {\n return\n }\n const data = {\n idMatriz: this.datos.id_matriz,\n nivel: 2,\n sigla: this.datos.sigla,\n padre_id: this.datos.id_modulo,\n error_critico: this.datos.error_critico,\n }\n Object.assign(data,this.itemForm.value);\n this.matrizService.newItem(data).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess(this.config.modal.excellent,this.config.modal.createOk);\n this.itemRef.close();\n }else if (resp.respuesta.codigo > 400) {\n Tools.swalError('¡Oops!', this.config.modal.createError);\n }\n },(err:any)=>{\n }\n );\n }\n}\n","\n
\n

{{config.labels.createItem}}

\n \n \n {{config.labels.name}}\n \n \n \n \n {{option.nombre}}\n \n \n {{config.errors.noMatches}}\n \n \n \n {{config.labels.weight}}\n \n {{config.errors.enterWeight}}\n \n \n {{config.labels.description}}\n \n \n \n {{config.labels.positiveAspect}}\n \n {{config.errors.maxLengthExceeded}}\n \n \n {{config.labels.negativeAspect}}\n \n {{config.errors.maxLengthExceeded}}\n \n \n {{config.labels.naAspect}}\n \n {{config.errors.maxLengthExceeded}}\n \n \n {{config.labels.cpAspect}}\n \n {{config.errors.maxLengthExceeded}}\n \n
\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { UsersService } from '../../../services/users.service';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { TrainingGroupsService } from '../../../services/training-groups.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { AuthService } from '../../../../../core/services/rest/auth.service';\nimport { AssingUserComponent } from '../../assign-user/assing-user/assing-user.component';\n\n@Component({\n selector: 'app-groups-create',\n templateUrl: './groups-create.component.html',\n styleUrls: ['./groups-create.component.sass']\n})\nexport class GroupsCreateComponent implements OnInit {\n trainerGroupForm: FormGroup;\n\n trainers: any = [];\n sites: any = [];\n groupType:any = [];\n constructor(private usersService: UsersService,\n private groupsService: TrainingGroupsService,\n private fb: FormBuilder,\n private alert: AlertsService,\n private dialogRef: MatDialogRef,\n private auth:AuthService,\n public dialog: MatDialog) { }\n\n ngOnInit(): void {\n this.groupsService.getValidGroups(`formation/grouptype`).subscribe(res=>{\n this.groupType= res\n })\n this.getTrainerList();\n this.getSites();\n this.validateForm();\n }\n\n validateForm(){\n this.trainerGroupForm = this.fb.group({\n name: ['', [Validators.required, ]],\n modality: ['', [Validators.required, ]],\n capacity: ['', [Validators.required, ]],\n mode_rescue: ['', [Validators.required, ]],\n start: ['', [Validators.required, ]],\n end: ['', [Validators.required, ]],\n ubication: ['', [Validators.required, ]],\n user_trainer_id: ['', [Validators.required, ]],\n description: ['', [Validators.required, ]],\n group_type_id:[null],\n segment:[null],\n case_glpi:[null],\n user_responsable_id: [this.auth.getUser().rrhh_id],\n });\n }\n\n getTrainerList() {\n this.usersService.getUserByRole('formador').subscribe(resp => {\n this.trainers = resp;\n });\n }\n\n getSites(){\n this.usersService.getSites().subscribe(resp => {\n this.sites = resp;\n });\n }\n\n groupRegister() {\n this.groupsService.createGroup(this.trainerGroupForm.getRawValue()).subscribe( resp => {\n this.alert.alertSuccess('¡Hecho!', 'Grupo creado con éxito!');\n this.dialogRef.close(true);\n });\n }\n user_trainer_name = null;\n searchUsers(rol){\n const saerchDialog = this.dialog.open( AssingUserComponent, {\n data: { role: rol}\n });\n saerchDialog.afterClosed().subscribe(res=>{\n if(res){\n this.trainerGroupForm.get(`user_trainer_id`).setValue(res.user.rrhh_id)\n this[`user_trainer_name`]= res.user.name\n }\n })\n }\n\n}\n","\n\n

Crear grupo

\n\n\n
\n
\n
\n
\n \n Nombre\n \n \n
\n
\n \n Modalidad\n \n Presencial\n Remota\n Mixta\n \n \n
\n
\n\n
\n
\n \n Capacidad\n \n\n \n
\n
\n \n Rescate\n \n Si\n No\n \n \n
\n
\n\n
\n
\n \n Fecha Inicio\n \n \n \n \n
\n
\n \n Fecha Fin\n \n \n \n \n
\n
\n\n
\n
\n \n Ubicación\n \n {{site.name}}\n \n \n
\n
\n \n \n Formador\n \n \n \n
\n
\n
\n
\n \n Caso GLPI\n \n \n
\n
\n \n Tipo de grupo\n \n \n {{group.name}}\n \n \n\n \n
\n
\n\n
\n \n Segmento \n \n\n \n
\n
\n \n Descripción\n \n \n
\n\n
\n
\n
\n\n \n \n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/auditoria/services/matriz.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\n\n@Component({\n selector: 'app-crear-sub-item',\n templateUrl: './crear-sub-item.component.html',\n styleUrls: ['./crear-sub-item.component.sass']\n})\nexport class CrearSubItemComponent implements OnInit {\n\n subItemForm:FormGroup\n items = [];\n filteredOptions: Observable;\n verError:boolean = true;\n continue:boolean = true;\n nuevo:boolean = false;\n descripcion:boolean = false;\n\n constructor(\n private fb:FormBuilder,\n public subItemRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private matrizService:MatrizService,\n ) { }\n\n ngOnInit(): void {\n this.createForm();\n }\n\n createForm(){\n this.subItemForm = this.fb.group({\n nombre:['',Validators.required],\n descripcion:[''],\n })\n }\n\n\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.items.filter(option => option.nombre.toLowerCase().includes(filterValue));\n }\n\n displayFn(module: any): string {\n return module && module ? module : '';\n }\n\n getSubItems(){\n this.matrizService.getSubtItems(this.subItemForm.get('nombre').value).subscribe((resp:any)=>{\n if (resp.length == 0) {\n this.verError = true\n this.subItemForm.get('nombre').setErrors({invalid:true});\n this.nuevo = true;\n this.descripcion = false;\n this.continue = false;\n }else{\n this.verError = false;\n this.nuevo = false;\n this.items = resp\n this.filteredOptions = this.subItemForm.get('nombre').valueChanges.pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n }\n })\n }\n\n\n newSubItem(){\n this.nuevo = false;\n this.subItemForm.get('nombre').setErrors(null);\n this.descripcion = true;\n this.continue = true;\n }\n\n saveSubItem(){\n if (this.subItemForm.invalid) {\n return\n }\n const data = {\n idMatriz: this.datos.id_matriz,\n nivel: 3,\n sigla: this.datos.sigla,\n padre_id: this.datos.id_item,\n error_critico: this.datos.error_critico,\n }\n Object.assign(data,this.subItemForm.value);\n this.matrizService.newSubItem(data).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess('¡Excelente!','Se ha creado el subítem correctamente.');\n this.subItemRef.close();\n }else if (resp.respuesta.codigo > 400) {\n Tools.swalError('¡Oops!','Lo sentimos, ha ocurrido un error inesperado y no fue posible crear el subítem, por favor intenta nuevamente.');\n }\n });\n }\n\n\n}\n","\n
\n

Crear Subítem

\n \n \n Nombre\n \n \n \n \n {{option.nombre}}\n \n \n No se encontraron coincidencias con el nombre que acabas de ingresar\n Por favor ingrese un nombre\n \n \n \n Descripción\n \n \n\n
\n \n \n
\n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { TemplatesService } from '../../../services/templates.service';\nimport { TagsNewComponent } from '../tags-new/tags-new.component';\nimport { MatDialog } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-tags-list',\n templateUrl: './tags-list.component.html',\n styleUrls: ['./tags-list.component.sass']\n})\nexport class TagsListComponent implements OnInit {\n TagsColumns: string[] = ['actions', 'key', 'description', 'contrato', 'origin'];\n TagsSource: any;\n // Paginate\n @ViewChild(MatPaginator) paginator: MatPaginator;\n page = 1;\n length = 0;\n pageSize = 5;\n pageSizeOptions: number[] = [5, 15, 25, 50, 100];\n // Filters\n contractType = new FormControl();\n contractTypes: any[] = [];\n contractTypeSelected: number;\n contractOrigin = new FormControl();\n contractOrigins: any[] = [];\n contractOriginSelected: number;\n\n constructor(\n private templateService: TemplatesService,\n public dialog: MatDialog,\n ) { }\n\n ngOnInit(): void {\n this.getTags();\n\n this.templateService.getTemplates().subscribe((response: any) => {\n this.contractTypes = response;\n });\n\n this.templateService.getOrigins().subscribe((response: any) => {\n this.contractOrigins = response;\n });\n\n // Filters\n this.contractType.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.contractTypeSelected = resp;\n this.getTags();\n });\n\n this.contractOrigin.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.contractOriginSelected = resp;\n this.getTags();\n });\n }\n\n getTags() {\n const body = {\n perPage: this.pageSize || 5,\n page: this.page || 1,\n contract_type_id: this.contractTypeSelected,\n origin: this.contractOriginSelected,\n };\n this.templateService.getTags(body).subscribe((resp: any) => {\n if (resp.data.length === 0) {\n this.TagsSource = null;\n } else {\n this.TagsSource = resp.data;\n }\n this.length = resp.total;\n });\n }\n\n onPageChange(event: any) {\n this.page = event.pageIndex + 1;\n this.pageSize = event.pageSize;\n\n this.getTags();\n }\n\n resetPaginator(): void {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n if (this.paginator) {\n this.paginator.firstPage();\n }\n }\n\n resetFilters() {\n this.contractType.setValue(null);\n this.contractOrigin.setValue(null);\n\n this.contractTypeSelected = null;\n this.contractOriginSelected = null;\n\n this.getTags();\n }\n\n downloadTagsReport() {\n const body = {\n perPage: this.pageSize || 5,\n page: this.page || 1,\n contract_type_id: this.contractTypeSelected,\n origin: this.contractOriginSelected,\n };\n this.templateService.getTagsReport(body).subscribe((resp: Blob) => {\n // Crea un Blob URL para el objeto Blob\n const blobUrl = URL.createObjectURL(resp);\n\n // Crea un elemento oculto para iniciar la descarga\n const a = document.createElement('a');\n a.style.display = 'none';\n a.href = blobUrl;\n a.download = 'contract_template_tags.xlsx';\n document.body.appendChild(a);\n\n // Inicia la descarga\n a.click();\n\n // Limpia el elemento y libera el Blob URL\n window.URL.revokeObjectURL(blobUrl);\n document.body.removeChild(a);\n });\n }\n\n newTag() {\n const dialogRef = this.dialog.open(TagsNewComponent, {\n width: '800px',\n data: {\n tag: null,\n contractOrigins: this.contractOrigins\n }\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) this.ngOnInit();\n });\n }\n\n onClickEditTag(tag: any): void {\n this.templateService.getTag(tag.id).subscribe(res => {\n this.dialog.open(TagsNewComponent, {\n width: '800px',\n data: {\n tag: res,\n contractOrigins: this.contractOrigins\n }\n }).afterClosed().subscribe(res => {\n if (res) this.getTags();\n });\n });\n }\n}","
\n \n Tipos de contrato\n \n {{item?.name}}\n \n \n \n Origen\n \n {{item?.name}}\n \n \n
\n \n \n
\n
\n
\n
\n \n
\n
\n

No existen coincidencias

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Acciones\n \n Origen {{element.origin}} Variable {{element.key}} Contrato relacionado {{ element.contrato ? element.contrato : 'TODOS' }} Descripción {{element.description }}
\n \n



\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-bpms',\n templateUrl: './bpms.component.html',\n styleUrls: ['./bpms.component.sass']\n})\nexport class BpmsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpParams, } from '@angular/common/http';\n\nconst AGENDAMIENTOS_URL = environment.AGENDAMIENTOS_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ResourcesService {\n\n constructor(private http: HttpClient) { }\n getResources(direction, entries){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${AGENDAMIENTOS_URL}${direction}`, {params} );\n }\n\n\n /**\n * Consulta las reservas realizadas por medio del crm\n * @returns\n */\n getCrmResources(formId:number){\n const params = {}\n return this.http.get(`${AGENDAMIENTOS_URL}booking/crm/${formId}`, params );\n }\n\n\n /**\n * Consulta las reservas realizadas por medio del crm\n * @returns\n */\n getCrmResourcesCrm2(formId:number){\n const params = {}\n return this.http.get(`${AGENDAMIENTOS_URL}booking/crm2/${formId}`, params );\n }\n\n createResources(form){\n return this.http.post(`${AGENDAMIENTOS_URL}resources`, form);\n }\n\n updateResources(id, form){\n return this.http.put(`${AGENDAMIENTOS_URL}resources/${id}`, form);\n }\n\n removeResources(id){\n return this.http.delete(`${AGENDAMIENTOS_URL}resources/${id}`);\n }\n\n getResourceTypes(all:boolean = false){\n let allRec = all ? \"?idForm=all\" : \"\";\n return this.http.get(`${AGENDAMIENTOS_URL}resourcetypes${allRec}`);\n }\n\n createResourceTypes(form){\n return this.http.post(`${AGENDAMIENTOS_URL}resourcetypes`, form);\n }\n\n updateResourceTypes(id, form){\n return this.http.put(`${AGENDAMIENTOS_URL}resourcetypes/${id}`, form);\n }\n\n getResourceRules(id){\n return this.http.get(`${AGENDAMIENTOS_URL}resource/rules/${id}`);\n }\n\n createResourceRules(form){\n return this.http.post(`${AGENDAMIENTOS_URL}resource/rules`, form);\n }\n\n removeResourceRules(id){\n return this.http.delete(`${AGENDAMIENTOS_URL}resource/rules/${id}`);\n }\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { TrayService } from '../../services/tray.service';\n\n@Component({\n selector: 'app-tray',\n templateUrl: './tray.component.html',\n styleUrls: ['./tray.component.css']\n})\nexport class TrayComponent implements OnInit {\n formTray: FormGroup = new FormGroup({\n id: new FormControl(null, []),\n name: new FormControl('', [Validators.required, Validators.maxLength(30)]),\n icon: new FormControl({ \n value: this.data.hasOwnProperty('folder') ? 'fi-rr-folder' : '', \n disabled: this.data.hasOwnProperty('folder') ? true : false }, \n [Validators.required]),\n orden: new FormControl('', [Validators.required, Validators.min(0), Validators.max(999)]),\n id_email_config: new FormControl('', [Validators.required]),\n type: new FormControl(this.data.hasOwnProperty('folder') ? '2' : '1', [])\n });\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alertService: AlertsService,\n private matDialogRef: MatDialogRef,\n private matSnackBar: MatSnackBar,\n private trayService: TrayService\n ) { }\n\n ngOnInit(): void {\n if (this.data.tray) {\n this.formTray.get('id').setValue(this.data.tray.id);\n this.formTray.get('name').setValue(this.data.tray.name);\n this.formTray.get('icon').setValue(this.data.tray.icon);\n this.formTray.get('orden').setValue(this.data.tray.orden);\n this.formTray.get('id_email_config').setValue(this.data.tray.id_email_config);\n this.formTray.get('type').setValue(this.data.tray.type);\n if (this.data.tray.id_email_config === 0) this.formTray.removeControl('id_email_config');\n }\n if (this.data.folder) {\n this.formTray.get('id').setValue(this.data.folder.id);\n this.formTray.get('name').setValue(this.data.folder.name);\n this.formTray.get('icon').setValue('fi-rr-folder');\n this.formTray.get('orden').setValue(this.data.folder.orden);\n this.formTray.get('id_email_config').setValue(this.data.folder.id_email_config);\n this.formTray.get('type').setValue(this.data.folder.type);\n this.formTray.get('icon').disable();\n }\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-18\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formTray.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-18\n * Metodo que guarda o actualiza una bandeja. \n */\n saveTray(): void {\n if (this.formTray.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.trayService.storeTray(this.formTray.getRawValue()).subscribe(res => {\n const messageCreate = this.data.hasOwnProperty('tray') ? 'Se ha creado una nueva bandeja con éxito' : 'Se ha creado una nueva carpeta con éxito';\n const messageUpdate = this.data.hasOwnProperty('tray') ? 'Se ha actualizado la bandeja con éxito' : 'Se ha actualizado la carpeta con éxito';\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: this.formTray.value.id === null ? messageCreate : messageUpdate\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(res);\n });\n }\n });\n } else {\n this.formTray.markAllAsTouched();\n }\n }\n}","
\n
\n \n
\n
\n
\n
\n {{ data.tray === null ? 'Crear bandeja' : 'Editar bandeja' }}\n
\n
\n {{ data.folder === null ? 'Crear folder' : 'Editar folder' }}\n
\n \n
\n
\n
\n \n {{ data.hasOwnProperty('tray') ? 'Nombre de la bandeja' : 'Nombre de la carpeta' }}\n \n \n El campo es requerido\n Máximo 30 caracteres\n \n \n
\n
\n \n Nombre del icono\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n Orden\n \n \n El campo es requerido\n Solo valores positivos\n Máximo tres digitos\n \n \n
\n
\n
\n
\n \n Cuenta de correo\n \n {{ email.name\n }}\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n Cuenta de correo\n \n {{ email.name\n }}\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MiosRoutingModule } from './mios-routing.module';\nimport { MiosComponent } from './mios.component';\nimport { SideBarComponent } from './side-bar/side-bar.component';\nimport { MaterialModule } from '../shared/material/material.module';\nimport { LeftNavComponent } from './left-nav/left-nav.component';\nimport { ModalPasswordComponent } from './modal-password/modal-password.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { ModalSurveysUserComponent } from './modal-surveys-user/modal-surveys-user.component';\n\n@NgModule({\n declarations: [\n MiosComponent,\n SideBarComponent,\n LeftNavComponent,\n ModalPasswordComponent,\n ModalSurveysUserComponent,\n ],\n imports: [\n CommonModule,\n MiosRoutingModule,\n MaterialModule,\n SharedModule\n ]\n})\nexport class MiosModule { }\n","export const NAMES_DAYS_OF_WEEK: string[] = [\n 'Lunes',\n 'Martes',\n 'Miercoles',\n 'Jueves',\n 'Viernes',\n 'Sabado',\n 'Domingo'\n];\n\nexport const OMIT_ACTIVITIES_WORK: string[] = [\n 'Baño',\n 'Pausa activa',\n 'Capacitación'\n];","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClienteSectorService {\n\n CRM_CIAL = environment.CRM_CIAL;\n COMPRAS_URL = environment.COMPRAS_URL;\n\n constructor(private http: HttpClient, private authService: AuthService) {\n\n\n }\n /**\n * @author javier Castañeda\n * @createdate 2022-10-29\n * Captura los errores en las peticiones \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author javier Castañeda\n * @createdate 2022-10-29\n * Servicio que lista el tipo de sector registrados.\n * @returns JSON\n */\n getSector(): Observable {\n let heades = new HttpHeaders().set('Type-content', 'aplication/json')\n return this.http.get(this.CRM_CIAL + 'sector', {\n headers: heades\n });\n }\n\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { DatePipe } from '@angular/common';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { UsersService } from 'src/app/modules/ciu/services/rest/users.service';\nimport { CampaignsService } from 'src/app/modules/nomina/services/rest/campaigns.service';\nimport { VacationsResponseComponent } from '../vacations-response/vacations-response.component';\nimport { VacationsViewComponent } from '../vacations-view/vacations-view.component';\nimport { VacationsService } from 'src/app/modules/nomina/services/rest/vacations.service';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { ReverseVacationsComponent } from '../reverse-vacations/reverse-vacations.component';\nimport { CancelVacationsComponent } from '../cancel-vacations/cancel-vacations.component';\n\n@Component({\n selector: 'app-vacation-boss',\n templateUrl: './vacation-boss.component.html',\n styleUrls: ['./vacation-boss.component.sass']\n})\nexport class VacationBossComponent implements OnInit {\n // MatPaginator Inputs solicitudes\n length;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n displayedColumns: string[] = [ 'acciones', 'fecha', 'nombre', 'numero','tipo', 'estado', 'campana' ];\n dataSource = new MatTableDataSource();\n\n reportForm: FormGroup;\n Campaings: any;\n filterControl = new FormControl();\n filterControl2 = new FormControl();\n states: any = [{ id: 1, name: 'En revisión' }, { id: 2, name: 'Aprobado' }, { id: 3, name: 'Rechazado' }];\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n document: any = '';\n startDate: any = '';\n endDate: any = '';\n idCampaing: any;\n idState: any = 1;\n\n documents: any = [];\n idTypeDoc: any;\n\n typeDocument = new FormControl();\n\n //vacaciones aprobadas variables\n lengthVacation;\n pageSizeVacation = 5;\n pageVacation = 1;\n isPageVacation = 1;\n pageSizeOptionsVacation: number[] = [5, 10, 25, 100];\n\n statesVacation: any = [{ id: 1, name: 'En vacaciones' }, { id: 2, name: 'Interrumpidas' }, { id: 3, name: 'Finalizadas' }, { id: 4, name: 'Vaciones aprobadas' }];\n displayedColumnsVacation: string[] = ['acciones', 'nombre', 'numero', 'fecha', 'fechaFin', 'campana' ,'estado'];\n dataSourceVacation = new MatTableDataSource();\n reportFormVacation: FormGroup;\n @ViewChild(MatPaginator, { static: true }) paginatorVacation: MatPaginator;\n\n idTypeDocVacation: any;\n documentVacation: any = '';\n startDateVacation: any = '';\n endDateVacation: any = '';\n idCampaingVacation: any;\n idStateVacation: any = '';\n\n\n constructor(public dialog: MatDialog,\n private service: CampaignsService,\n public userService: UsersService,\n private vacation: VacationsService,\n private users: CandidatesService\n ) {\n }\n\n ngOnInit() {\n this.iniciarVariablesSolicitudes();\n this.iniciarVariablesVacaciones();\n }\n\n iniciarVariablesSolicitudes() {\n this.filterControl2.setValue(1);\n this.service.getAllCampaigns().subscribe(resp => {\n this.Campaings = resp.data;\n });\n this.reportForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.idTypeDoc = resp;\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n this.typeDocument.setValue(1);\n\n this.filterControl.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idCampaing = resp;\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n this.filterControl2.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idState = resp;\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n }\n\n iniciarVariablesVacaciones() {\n this.reportFormVacation = new FormGroup({\n start: new FormControl(''),\n end: new FormControl(''),\n typeDocument: new FormControl(1),\n state: new FormControl('')\n });\n\n this.reportFormVacation.controls.typeDocument.valueChanges.subscribe(resp => {\n this.idTypeDocVacation = resp;\n this.getVacationsActive(this.idStateVacation, this.pageSizeVacation, this.pageVacation);\n })\n\n this.reportFormVacation.controls.state.valueChanges.subscribe(resp => {\n this.idStateVacation = resp;\n this.getVacationsActive(this.idStateVacation, this.pageSizeVacation, this.pageVacation);\n })\n\n this.getVacationsActive(this.idStateVacation, this.pageSizeVacation, this.pageVacation);\n }\n\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-29\n * Metodo de paginación\n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getVacations(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-29\n * Modal de justificación\n */\n viewJustification(element?): void {\n const dialogNewgroup = this.dialog.open(VacationsResponseComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-29\n * Modal de justificación rechazada\n */\n viewJustification2(element?): void {\n const dialogNewgroup = this.dialog.open(VacationsViewComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-10-22\n * Modal de reversion de vacaciones\n */\n showModalToReverseVacation(element): void {\n const dialogReversion = this.dialog.open(ReverseVacationsComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'edit',\n title: 'Proceso de reversion',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogReversion.afterClosed().subscribe(() => {\n this.getVacations(this.idState, this.pageSize, this.page);\n });\n\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-29\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e) {\n this.resetPaginator(1);\n this.document = e;\n this.getVacations(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-29\n * Metodo para capturar el rango de fechas a filtrar\n */\n dateRangeChange() {\n this.resetPaginator(1);\n const date1: Date = this.reportForm.controls.start.value;\n const date2: Date = this.reportForm.controls.end.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n this.getVacations(this.idState, this.pageSize, this.page);\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-29\n * Metodo para filtrar fecha, campaña y rango de fechas\n */\n getVacations(state, pageSi, page, exportData: boolean = false) {\n this.vacation.getVacationsBy({\n state,\n idTipDoc: this.idTypeDoc,\n document: this.document,\n campaign_id: this.idCampaing,\n startDate: this.startDate,\n endDate: this.endDate,\n forBossView: 1,\n exportData\n }, pageSi, page).subscribe(resp => {\n if (!exportData) {\n this.dataSource = resp.data.data;\n this.length = resp.data.total;\n } else {\n importedSaveAs(resp, 'reporte_vacaciones_jefe.xlsx');\n }\n });\n }\n\n resetPaginator(numPaginator): void {\n if (numPaginator === 1) {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n }else {\n this.lengthVacation = 0;\n this.pageSizeVacation = 5;\n this.pageVacation = 1;\n this.paginatorVacation.firstPage();\n }\n }\n\n /**\n * @author Johan Soler \n * @createDate 15-Jun-2022\n * Metodo decidir si algun empleado se encuentran las vacaciones validas para cancelar\n */\n inTime(element) {\n const currentTime = new DatePipe('en-US').transform(new Date, 'yyyy-MM-dd'); \n if(element.stateName == 'Interrumpidas'){\n return false;\n }\n return element.fechaFinSolicitud >= currentTime;\n }\n\n /**\n * @author Johan Soler \n * @createDate 15-Jun-2022\n * Metodo para abrir el modal con el formulario para cancelar\n */\n cancelVacation(element, type?) {\n if(type){\n const dialogReversion = this.dialog.open(CancelVacationsComponent, {\n width: '60%',\n disableClose: true,\n data: element,\n panelClass: 'custom-dialog-container',\n });\n \n dialogReversion.afterClosed().subscribe(() => {\n this.getVacationsActive(this.idStateVacation, this.pageSizeVacation, this.pageVacation);\n });\n }else{\n const dialogReversion = this.dialog.open(CancelVacationsComponent, {\n width: '60%',\n disableClose: true,\n data: element,\n panelClass: 'custom-dialog-container',\n });\n \n dialogReversion.afterClosed().subscribe(() => {\n this.getVacationsActive(this.idStateVacation, this.pageSizeVacation, this.pageVacation);\n });\n }\n }\n\n /**\n * @author Johan Soler\n * @createdate 2022-06-16\n * Metodo para capturar el rango de fechas a filtrar\n */\n dateRangeChangeVacation() {\n this.resetPaginator(2);\n const date1: Date = this.reportFormVacation.controls.start.value;\n const date2: Date = this.reportFormVacation.controls.end.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDateVacation = dateStart;\n this.endDateVacation = dateEnd;\n this.getVacationsActive(this.idStateVacation, this.pageSizeVacation, this.pageVacation);\n }\n\n /**\n * @author Johan Soler\n * @createdate 2022-06-16\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethodVacation(e) {\n this.resetPaginator(2);\n this.documentVacation = e;\n this.getVacationsActive(this.idStateVacation, this.pageSizeVacation, this.pageVacation);\n }\n\n /**\n * @author Johan Soler\n * @createdate 2022-06-16\n * Metodo para filtrar fecha, campaña y rango de fechas\n */\n getVacationsActive(state, pageSi, page, exportData: boolean = false) {\n this.vacation.getVacationsActive({\n state,\n idTipDoc: this.idTypeDocVacation,\n document: this.documentVacation,\n campaign_id: this.idCampaingVacation,\n startDate: this.startDateVacation,\n endDate: this.endDateVacation,\n forBossView: 1,\n exportData\n }, pageSi, page).subscribe(resp => {\n if (!exportData) {\n this.dataSourceVacation = resp.data.data; \n this.lengthVacation = resp.data.total;\n } else {\n importedSaveAs(resp, 'reporte_vacaciones_activas_jefe.xlsx');\n }\n });\n }\n\n /**\n * @author Johan Soler\n * @createdate 2022-06-16\n * Metodo de paginación\n */\n pageEventVacation(event: any): void {\n this.pageSizeVacation = event.pageSize;\n this.pageVacation = event.pageIndex + 1;\n this.getVacationsActive(this.idStateVacation, this.pageSizeVacation, this.pageVacation);\n }\n}\n","
\n
\n

Novedades de vacaciones

\n

En este espacio podrás revisar y/o gestionar las novedades de vacaciones de
los trabajadores, no olvides,\"El\n respeto y la\n empatiá son clave\"

\n
\n \n \n
\n \n Filtrar por fecha\n \n \n \n \n \n \n \n \n Filtrar por identificación\n \n \n {{item.key}}\n \n \n\n \n Filtrar por estado\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n\n \n\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n \n \n Fecha {{element.fechaSolicitud | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}}Tipo de vacaciones{{element.vacationsType}} Estado{{element.noveltyState}} Campaña{{element.campaignName}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n\n
\n
\n
\n \n
\n
\n \n Filtrar por fecha\n \n \n \n \n \n \n \n \n Filtrar por identificación\n \n \n {{item.key}}\n \n \n \n \n Filtrar por estado\n \n Todos\n \n {{item?.name}}\n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n Fecha inicio {{element.fechaSolicitud | date:\"dd-MM-yyyy\"}} Fecha fin {{element.fechaFinSolicitud | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}} Estado{{element.stateName}} Campaña{{element.campaignName}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n \n
\n
\n
\n
\n
\n
\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MeetingsService } from '../../services/meetings.service';\nimport { AttentionRangeFormComponent } from './dialogs/attention-range-form/attention-range-form.component';\nimport {\n MeetingsAttentionRangeInterface,\n MeetingsAttentionRangePaginator,\n MeetingsAttentionRangeResponse,\n} from './interfaces/meetings-attention-range.interface';\n\n@Component({\n selector: 'app-meetings-attention-range',\n templateUrl: './meetings-attention-range.component.html',\n styleUrls: ['./meetings-attention-range.component.sass'],\n})\nexport class MeetingsAttentionRangeComponent implements OnInit {\n // Initializated variables\n campaigns: any[] = [];\n displayedColumns: string[] = [\n 'actions',\n 'id',\n 'campaign_name',\n 'interval_rooms',\n 'background_url',\n ];\n\n // Table Data\n page: number = 1;\n length: number = 0;\n pageSize: number = 5;\n pageSizeOptions: number[] = [5, 10, 50, 100];\n dataSource = new MatTableDataSource();\n @ViewChild(MatSort) sort: MatSort;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n constructor(\n private meetingsService: MeetingsService,\n private dialog: MatDialog\n ) {}\n\n ngOnInit(): void {\n this.setCampaigns();\n }\n\n /**\n * Metodo que obtiene la lista de campañas de la base de datos\n * @author Sergio Cortés\n * @createdate 26-12-2024\n */\n setCampaigns(): void {\n const paginator: MeetingsAttentionRangePaginator = {\n per_page: this.pageSize,\n page: this.page,\n };\n\n this.meetingsService.getCampaignsForRange(paginator).subscribe({\n next: (resp: MeetingsAttentionRangeResponse) => {\n this.dataSource = new MatTableDataSource(resp.data);\n this.length = resp.data.length;\n this.dataSource.sort = this.sort;\n },\n });\n }\n\n /** Método que controla la paginación de la tabla\n * @author Sergio Cortés\n * @createdate 26-12-2024\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.length = event.length;\n }\n\n openRescheduleForm(data: MeetingsAttentionRangeInterface) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.width = '70%';\n dialogConfig.height = 'auto';\n dialogConfig.data = { data };\n\n const dialogRef = this.dialog.open(\n AttentionRangeFormComponent,\n dialogConfig\n );\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n if (result.updated) this.setCampaigns();\n }\n });\n }\n}\n","
\n
\n
\n

Administrador de videollamadas

\n
\n

\n Aquí podrás administrar algunas configuraciones de las videollamadas\n
\n como los rangos de atención y fondos virtuales.\n

\n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n
Acciones\n \n \n \n ID{{ element.id }}Campaña{{ element.campaign_name }}\n Administrador de videollamadas\n \n {{ element.interval_rooms }} Minuto{{\n element.interval_rooms > 1 ? \"s\" : \"\"\n }}\n \n ¿Tiene fondo asignado?\n \n {{ element.background_url ? \"Sí\" : \"No\" }}\n
\n No se encontraron campañas que coincidan con los criterios de búsqueda\n
\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { SolicitudesService } from 'src/app/modules/compras/services/rest/solicitudes.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { Solicitud } from '../../../Class/solicitud';\nimport { AprobarSolcitudComponent } from '../aprobar-solcitud/aprobar-solcitud.component';\nimport { ConsultarProveedorComponent } from '../consultar-proveedor/consultar-proveedor.component';\nimport { CrearSolicitudComponent } from '../crear-solicitud/crear-solicitud.component';\nimport { DescargaComponent } from '../historial-aprobador/descarga/descarga.component';\nimport { ProcesarSolicitudComponent } from '../procesar-solicitud/procesar-solicitud.component';\nimport { BlockRequestsComponent } from '../block-requests/block-requests.component';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-gestion-inicial-cards',\n templateUrl: './gestion-inicial-cards.component.html',\n styleUrls: ['./gestion-inicial-cards.component.sass']\n})\nexport class GestionInicialCardsComponent implements OnInit {\n\n user: any;\n length = 0;\n rol = 2;\n pageSize = 8;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [4, 8, 24, 100];\n newRolComponent: boolean = false;\n requestStates: any = [];\n filterDate: string = null;\n filterStates: any[] = null;\n public solicitudes: [] = [];\n defaultStates = [1,2,3,4,5,6,8,9,11,12,13,14];\n filters: any = [];\n filterNameRequest: string = null;\n filterNameApplicant: string = null;\n filterConsecutiveRequests: number = null;\n\n\n constructor(\n private solicitudService: SolicitudesService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n private authService: AuthService,\n public dialog: MatDialog\n ) { }\n\n ngOnInit(): void {\n this.user = this.authService.getUser().rrhh_id;\n this.solicitudService.getRequestStates().subscribe(resp => {\n //this.requestStates = resp.data;\n this.requestStates= resp.data.filter(state =>{\n let flag = false;\n this.defaultStates.map(s =>{\n if(s === state.id) flag = true;\n })\n return flag;\n });\n });\n const filterSaveIntoStorage = JSON.parse(localStorage.getItem('filter_request'));\n if (filterSaveIntoStorage && filterSaveIntoStorage.length > 0) {\n this.filterStates = filterSaveIntoStorage;\n this.filters = filterSaveIntoStorage;\n } else {\n this.filterStates = this.defaultStates;\n }\n this.getSolicitudes();\n }\n\n getSolicitudes() {\n for (let index = 0; index < this.filterStates.length; index++) this.filterStates = this.filterStates[index] == 12 ? [] : this.filterStates;\n const params = {\n isPage: this.isPage,\n size: this.pageSize,\n page: this.page,\n states: this.filterStates,\n fecha: this.filterDate,\n rol : this.rol,\n nameRequest: this.filterNameRequest,\n nameApplicant: this.filterNameApplicant,\n ConsecutiveRequest: this.filterConsecutiveRequests\n }\n this.solicitudService.getSoliciudesPaginate( params)\n .subscribe(resp => {\n this.solicitudes = resp.data.sort((a, b) => {\n if (Number(a.id) > Number(b.id)) {\n return -1;\n }\n if (Number(a.id) < Number(b.id)) {\n return 1;\n }\n return 0;\n });\n\n this.length = resp.total;\n this.pageSize = resp.per_page;\n });\n }\n\n newSolicitud() {\n const dialogNewRol = this.dialog.open(CrearSolicitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Solicitud',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n //this.pageSize=5;\n this.ngOnInit();\n });\n }\n\n viewSolicitud(solicitud: Solicitud) {\n\n const dialogNewRol = this.dialog.open(AprobarSolcitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'view',\n title: 'Detalle solicitud',\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n //this.pageSize=5;\n //this.ngOnInit();\n });\n }\n\n\n editSolicitud(solicitud: Solicitud): void {\n const dialogNewRol = this.dialog.open(ProcesarSolicitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Detalles solicitud',\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.getSolicitudes();\n });\n }\n\n procesarSolictud(solicitud: Solicitud): void {\n const dialogNewRol = this.dialog.open(ProcesarSolicitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'Procesar',\n title: 'Detalles de la solicitud',\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.getSolicitudes();\n });\n }\n\nanularSolicitud(solicitud){\n Swal.fire({\n icon:'warning',\n title:'¿Estás seguro?',\n html: '¿En verdad deseas anular esta solicitud?, recuerda que esta acción será definitiva y no se podrá deshacer.',\n showCancelButton: true,\n showCloseButton: true,\n reverseButtons: true,\n confirmButtonText: \"Aceptar\",\n cancelButtonText: `Cancelar`,\n width: 650,\n input: 'text',\n confirmButtonColor: '#00ACC1',\n inputValidator: function(value) {\n if(value === '') {\n return 'Por favor ingrese una observación'\n }\n if(value.length >= 600){\n return '¡Advertencia! No puede ser superior a 600 caracteres'\n }\n },\n inputAttributes: {\n autocapitalize: 'off',\n placeholder:'Observaciones',\n class:'alert-input',\n autofocus:'false',\n required: 'true'\n },\n customClass: {\n confirmButton: 'mat-raised-button mat-primary alert-btn',\n cancelButton: 'mat-stroked-button mat-primary mat-button-disabled alert-btn'\n },\n buttonsStyling: false,\n }).then((result) => {\n if(result.isConfirmed){\n const observation = result.value\n const state = 13\n const requests = [{\n cotizacion: null,\n id: solicitud.id\n }];\n this.solicitudService.massiveRequestApproveOrDecline({observation,state,requests}).subscribe(resp => {\n this.alertsService.alertWithAnyProperties(\n '¡Excelente!',\n `La solicitud ${solicitud.title} ha quedado anulada exitosamente`,\n 'success',\n 'Continuar'\n ).then(res=>{\n if(res.isConfirmed)this.getSolicitudes()\n })\n })\n }\n })\n}\n\n generarSolicitud(solicitud: Solicitud): void {\n const dialogNewRol = this.dialog.open(ConsultarProveedorComponent, {\n width: '50%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar Solicitudes',\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.getSolicitudes();\n });\n }\n\n\n viewSolicitudAprobada(solicitud: Solicitud): void {\n const dialogNewRol = this.dialog.open(AprobarSolcitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'view',\n title: 'Detalles solicitudes',\n coordinador: false,\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n }\n\n applyFilter($event) {\n\n }\n\n filterBydate(event) {\n this.filterDate = (event.target as HTMLInputElement).value;\n this.getSolicitudes();\n }\n\n filterByState(event) {\n this.filterStates = event;\n localStorage.setItem('filter_request', JSON.stringify(this.filterStates));\n this.getSolicitudes();\n\n }\n\n bloqueoSolicitudes () {\n this.dialog.open( BlockRequestsComponent, {\n width: '60%',\n autoFocus: false\n })\n }\n\n filterByNameRequest(event) {\n this.filterNameRequest = event.target.value\n this.getSolicitudes();\n }\n\n filterByNameApplicant(event) {\n this.filterNameApplicant = event.target.value\n this.getSolicitudes();\n }\n\n filterByConsecutiveRequests(event) {\n this.filterConsecutiveRequests = event.target.value\n this.getSolicitudes();\n }\n\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que se encarga del movimiento del paginador\n * @param event cuando se da click en el paginador trae este evento\n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getSolicitudes();\n\n }\n\n\n downloadManagement () {\n this.dialog.open( DescargaComponent , {\n width : '60%',\n data:{\n type:\"solicitud\"\n }\n } )\n\n\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","
\n\n \n Fecha de creación\n \n \n \n \n \n \n\n \n Estado\n \n {{state.name}}\n \n \n\n \n Nombre de la solicitud\n \n \n \n Nombre del solicitante\n \n \n
\n\n
\n \n Consecutivo solicitudes\n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n\n
\n\n
\n \n \n\n
\n \n
\n
\n {{solicitud.request_state.name}} \n \n {{solicitud.title}}\n 30\">...\n\n \n Detalle de la solicitud\n \n \n \n
\n
\n

SO-{{solicitud.id}}

\n

SO-{{solicitud.request_id}}-{{solicitud.associated_consecutive}}

\n
\n\n
\n \n\n\n\n
\n \n
\n
\n
\n Solicitante: {{solicitud.created_by}}\n Empresa: {{solicitud.company.name}}\n Fecha de creación: {{solicitud.created_at|date:'dd/MM/yyyy': 'UTC'}}\n \n
\n
\n \n \n \n \n \n\n\n
\n
\n\n
\n
\n \n \n\n\n\n
\n","import { Injectable } from \"@angular/core\";\nimport {\n HttpClient,\n HttpHeaders,\n HttpErrorResponse,\n HttpParams,\n} from \"@angular/common/http\";\nimport { AuthService } from \"../../../../core/services/rest/auth.service\";\nimport { throwError, Observable } from \"rxjs\";\nimport { environment } from \"src/environments/environment\";\nimport { catchError } from \"rxjs/operators\";\nimport { Campaings } from \"../../modules/class/Campaigns\";\n\nconst NOMINA_URL = environment.NOMINA_URL;\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class CampaignsService {\n constructor(private http: HttpClient, private authService: AuthService) {}\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author José Vicente Silva\n * @createdate 2021-02-02\n * Servicio que lista todos los groupes del aplicativo ciu\n * @param size tamaño de los datos a traer\n * @param page numero de pagina en la que se ubicara la tabla\n */\n getCampaigns(isPage: number, size: number, page: number): Observable {\n return this.http\n .get(\n `${NOMINA_URL}campaigns/?paginate=${isPage}&n=${size}&page=${page}`\n )\n .pipe(catchError(this.handleError));\n }\n\n /**\n * Exportar campañas\n * @author Andres Buitrago\n */\n exportCampaigns(): Observable {\n return this.http\n .get(`${NOMINA_URL}campaigns/export`, {\n responseType: \"blob\" as \"json\",\n })\n .pipe(catchError(this.handleError));\n }\n\n /**\n * @author José Vicente Silva Rivera\n * @createdate 2021-03-12\n * Servicio que realiza una busqueda avanzada de groupes por un valor\n * @param size tamaño de los datos a traer\n * @param value valor a buscar\n */\n searchCampaigns(size: number, page: number, value: any): Observable {\n return this.http\n .get(\n `${NOMINA_URL}campaignssearch?n=${size}&page=${page}&q=${value}`\n )\n .pipe(catchError(this.handleError));\n }\n\n /**\n * @author José Vicente Silva Rivera\n * @createdate 2021-02-03\n * Servicio que guarda un group en su respectiva tabla\n * @param campaign campaign a guardarse\n */\n saveCampaign(campaign: Campaings): Observable {\n return this.http\n .post(`${NOMINA_URL}campaigns`, campaign)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * @author José Vicente Silva Rivera\n * @createdate 2021-03-12\n * Servicio que edita un group en su respectiva tabla\n * @param campaign campaign a editarse\n */\n editCampaign(campaign: Campaings): Observable {\n return this.http\n .put(`${NOMINA_URL}campaigns/update`, campaign)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * @author José Vicente Silva Rivera\n * @createdate 2021-02-04\n * Servicio que borra una campaña en su respectiva tabla modo logico\n * @param campaign id del group a eliminarse\n * @param idcampaign id del group a eliminarse\n */\n deleteCampaing(campaign: Campaings, idcampaign: number): Observable {\n return this.http\n .put(`${NOMINA_URL}campaigns/${idcampaign}/updateState`, campaign)\n .pipe(catchError(this.handleError));\n }\n /**\n * @author Javier Alejandro Castañeda Celis\n * @createdate 2021-02-04\n * Servicio que obtiene todas las campañas\n */\n\n getAllCampaigns(): Observable {\n return this.http\n .get(`${NOMINA_URL}campaigns?paginate=0`)\n .pipe(catchError(this.handleError));\n }\n\n getCampaingsBossList(\n documentType?: any,\n document?: any,\n perPage: any = 5,\n page: any = 1\n ): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set(\"document\", document || \"\")\n .set(\"documentType\", documentType || \"\")\n .set(\"perPage\", perPage)\n .set(\"page\", page),\n };\n return this.http\n .get(`${NOMINA_URL}campaingBoss`, httpOptions)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * @author Javier Alejandro Castañeda Celis\n * @createdate 2022-03-17\n * Servicio que obtiene todas las campañas con jefe asigna o sin jefe asignado\n */\n getAllCampaignsBoss(): Observable {\n return this.http\n .get(`${NOMINA_URL}campaingBoss/getAllCampaigns`)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * @author Javier Alejandro Castañeda Celis\n * @createdate 2022-03-17\n * Servicio que obtiene todas las campañas con jefe asigna o sin jefe asignado\n */\n getAllCampaignsWithoutBoss(): Observable {\n return this.http\n .get(`${NOMINA_URL}campaingBoss/searchUnassignedCampaigns`)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-03-17\n * Servico de consulta de usuario por documento y tipo de documento\n * @param document documento del usuario\n * @param documentType tipo de documento\n */\n getUserByDocument(document: any, documentType: any): Observable {\n return this.http\n .get(`${NOMINA_URL}userByDocument/${document}/${documentType}`)\n .pipe(catchError(this.handleError));\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-03-17\n * Servico de consulta de campañas por id de gerente\n * @param id id de gerente de cuentas\n */\n getCampaingsByBoss(id: any): Observable {\n const httpOptions = {\n params: new HttpParams().set(\"boss_id\", id || \"\"),\n };\n return this.http\n .get(\n `${NOMINA_URL}campaingBoss/searchCampaignsByAccountManager`,\n httpOptions\n )\n .pipe(catchError(this.handleError));\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-03-17\n * Servico para la asignación de campañas a un gerente\n * @param id id de gerente de cuentas\n */\n assignCampaign(body: any) {\n return this.http\n .post(`${NOMINA_URL}campaingBoss`, body)\n .pipe(catchError(this.handleError));\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-03-17\n * Servico para la asignación de campañas a un gerente\n * @param id id de gerente de cuentas\n */\n updateCampaingBoss(body: any): Observable {\n return this.http\n .put(`${NOMINA_URL}campaingBoss/update`, body)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-05-19\n * Servicio que retorna todas las empresas registradas.\n */\n getCompanies(): Observable {\n return this.http.get(``).pipe(catchError(this.handleError));\n }\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { EmailService } from '../../services/email.service';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatOptionSelectionChange } from '@angular/material/core';\n\n@Component({\n selector: 'app-assign-email',\n templateUrl: './assign-email.component.html',\n styleUrls: ['./assign-email.component.css']\n})\nexport class AssignEmailComponent implements OnInit {\n advisersToRolManagerEmail: any[] = [];\n filteredOptions: Observable = null;\n nameAdviser: string = '';\n formAssignEmail: FormGroup = new FormGroup({\n ids_email: new FormControl(null, []),\n id_user_asignado: new FormControl(null, [Validators.required]),\n name_user_asignado: new FormControl('', [Validators.required]),\n observacion_asignacion: new FormControl({ value: this.data.isEmailReassignment ? 'Este correo fue reasignado' : '', disabled: false }, [Validators.required, Validators.maxLength(500)]),\n email: new FormControl({ value: '', disabled: true }, [Validators.required])\n });\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alertService: AlertsService,\n private matDialogRef: MatDialogRef,\n private matSnackBar: MatSnackBar,\n private emailService: EmailService\n ) { }\n\n ngOnInit(): void {\n this.getAdviserssByRolManagerEmail();\n if (this.data.email) {\n const idListEmails = this.data.email.map((item: any) => item.id);\n const listNamesEmails = this.data.email.map((item: any) => item.de).toString();\n this.formAssignEmail.get('ids_email').setValue(JSON.stringify(idListEmails));\n this.formAssignEmail.get('email').setValue(listNamesEmails);\n }\n this.filteredOptions = this.formAssignEmail.get('name_user_asignado').valueChanges.pipe(\n startWith(''),\n map(value => this.filterAdviser(value))\n );\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-09-26\n * Filtra el array de asesores a traves de lo digitado en el input. \n */\n private filterAdviser(value: string): any[] {\n const filterValue = typeof value === 'string' ? value.toLowerCase() : '';\n return this.advisersToRolManagerEmail.filter(option => option.name_user_asignado.toLowerCase().includes(filterValue));\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-25\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formAssignEmail.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-25\n * Metodo que guarda la asignacion de un correo. \n */\n saveAssignMail(): void {\n if (this.formAssignEmail.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.emailService.assignUserToEmail(this.formAssignEmail.value).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: this.data.isEmailReassignment ? 'La reasignación se ha realizado con éxito.' : 'Se han asignado los correos con éxito'\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(res);\n })\n }\n });\n } else {\n this.formAssignEmail.markAllAsTouched();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-26\n * Metodo que trae los usuarios que tienen el rol de gestor de correos. \n */\n getAdviserssByRolManagerEmail(): void {\n this.emailService.getConfigEmailByUser(null, this.data.configEmailsSelected).subscribe(res => {\n this.advisersToRolManagerEmail = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-09-26\n * Metodo que busca el asesor para sacar el rrhh id. \n * @param $event Evento emitido por el option. \n */\n findAdviser($event: MatOptionSelectionChange): void {\n const adviser = this.advisersToRolManagerEmail.find(item => item.id_rrhh === $event.source.value);\n if (adviser) {\n this.formAssignEmail.get('id_user_asignado').setValue(adviser.id_rrhh);\n this.formAssignEmail.get('name_user_asignado').setValue(adviser.name_user_asignado);\n this.nameAdviser = adviser.name;\n }\n }\n}","
\n
\n \n
\n
\n
\n
\n {{ data.title }}\n
\n \n
\n
\n
\n \n Asesores\n \n \n \n \n {{ item.name_user_asignado }}\n \n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n Descripción\n \n \n El campo es requerido\n Máximo 500 caracteres\n \n \n
\n
\n
\n
\n \n Correo electrónico\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\nimport { CoachingState } from \"../coaching.state\";\n\nconst getCoachingState = createFeatureSelector('COACHING')\n\n// const selectAuditoriaFeature = (state:CoachingState) => state.auditorias;\n\nexport const selectedListAuditoria = createSelector(\n getCoachingState,\n (state) => state.auditorias.auditoria,\n);\n\nexport const selectedLoading = createSelector(\n getCoachingState,\n (state) => state.auditorias.loading,\n);","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-record-dialog',\n templateUrl: './record-dialog.component.html',\n styleUrls: ['./record-dialog.component.sass']\n})\nexport class RecordDialogComponent implements OnInit {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public dialog_data: any,\n private domSanitizer: DomSanitizer\n ) { }\n\n ngOnInit(): void {\n \n }\n\n /**\n * @author Fabian Duran\n * @createdate 2025-20-02\n * Metodo que valida si el contenido a mostrar es un video o no.\n */\n get isVideo(): boolean {\n return (this.dialog_data.hasOwnProperty('showVideoRecord') && this.dialog_data.urlVideo) ? true : false;\n }\n}","
\n
\n

{{ isVideo ? 'Ver grabación' : 'Escuchar grabación' }}

\n
\n
\n \n
\n
\n\n \n \n \n
\n
Quién finalizó: {{ dialog_data.hanging }}
\n
Transfiere o no: {{ dialog_data.transferred_campaigns }}
\n
Transferida a: {{ dialog_data.name_transferred_campaigns }}
\n
Encuesta de satisfacción:
\n
{{ dialog_data.survey_response }}
\n
\n
\n\n \n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Import } from '../../../interfaces/import';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { saveAs as importedSaveAs } from \"file-saver\";\nimport Swal from 'sweetalert2';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n@Component({\n selector: 'app-candidate-upload',\n templateUrl: './candidate-upload.component.html',\n styleUrls: ['./candidate-upload.component.sass']\n})\nexport class CandidateUploadComponent implements OnInit {\n\n @ViewChild('fileUpload', {static: false})\n fileUpload: ElementRef;\n\n requestId;\n fileUpdaloaded = false;\n candidateSummaryUpdated;\n userName;\n\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public datos: any,\n private candidateService: CandidatesService,\n public dialog: MatDialogRef,\n private alert: AlertsService,\n private authService: AuthService\n ) {\n this.requestId = datos.requestId;\n }\n\n ngOnInit(): void {\n this.alertCandidates();\n this.userName = this.authService.decryptToken();\n\n }\n\n onClick() {\n this.alert.alertConfirm('¿Deseas continúar?',`Recuerda, esta acción generará el cargue masivo de los candidatos`).then(\n res=>{\n if(res.isConfirmed)\n {\n const fileUpload = this.fileUpload.nativeElement; fileUpload.onchange = () => {\n for (let index = 0; index < fileUpload.files.length; index++) {\n const file = new Import( fileUpload.files[index]);\n this.uploadFile(file);\n }\n };\n fileUpload.click();\n }\n }\n );\n }\n\n uploadFile(file) {\n this.candidateService.importData(file , {requestId: this.requestId }).subscribe((resp: any) => {\n this.fileUpload.nativeElement.value = '';\n this.fileUpdaloaded = true;\n this.candidateSummaryUpdated = resp;\n },err=>{\n this.dialog.close()\n });\n }\n\n exportFormats(){\n this.candidateService.downloadFormat().subscribe( (e: any) => {\n importedSaveAs(e, 'carga-masiva-candidatos.xlsx');\n })\n }\n\n alertCandidates() {\n /* swal('Advertencia Señor usurio / a debe tener en cuenta antes de subir el archivo a importar:',\n 'La cédula no puede tener ni puntos ni comas y debe ser menor a 15 dígitos.', 'warning'); */\n let str = 'La cédula del candidato no pueden tener ni puntos ni comas y deben ser menores a 15 dígitos ' + '\\n' + 'El número de celular no debe tener más de 10 dígitos ej: 344556690'\n + '\\n' + 'El email debe ser ej: ejemplo@montechelo.com';\n Swal.fire({\n title: 'Advertencia carga masiva de archivos',\n html: '
 '+ str + ' 
',\n icon: 'warning',\n width: 'auto',\n // showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n /* cancelButtonColor: '#000',\n cancelButtonText: 'Cancelar', */\n confirmButtonText: 'Aceptar',\n reverseButtons: true,\n\n })\n }\n\n}\n","\n\n

Carga masiva de candidatos

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

Resumen

\n

  Total de Candidatos a Importar    {{ candidateSummaryUpdated.totalCandidates }}

\n

  Candidatos registrados con éxito   {{ candidateSummaryUpdated.candidateToSave }}

\n

  Candidatos ignorados para este proceso   {{ candidateSummaryUpdated.candidatesToIgnore.length }}

\n
\n

  Candidatos Ignorados   

\n
    \n
  • {{row.tipo_documento}} - {{row.numero}} | {{ row.primer_nombre }} {{ row.apellido }} ({{ row.reason }})
  • \n
\n
\n

  Candidatos referidos con éxito   {{ candidateSummaryUpdated.referdToSave }}

\n
0\">\n

  Documentos referidos no encontrados   

\n
    \n
  • {{row}}
  • \n
\n
\n
\n\n\n
\n\n \n \n\n","import { Injectable } from '@angular/core';\nimport { environment } from '../../../../environments/environment';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { AuthService } from '../../../core/services/rest/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportsService {\n user;\n private server = environment.RRHH_URL;\n constructor(private http: HttpClient, private authService: AuthService) { }\n downloadReport(entries){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}candidate/report`, {responseType:'blob', params});\n }\n\n\n downloadNewReports(entries){\n return this.http.post(`${this.server}reports/${entries.report}`, entries);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpErrorResponse} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nconst PQRS_URL = environment.PQRS_URL;\nconst CRM_URL = environment.CRM_URL;\nconst GESTION_CORREOS = environment.GESTION_CORREOS;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EscalationService {\n\n constructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que trae los canales de escalamiento\n * @returns canales\n */\n getCanal(): Observable{\n return this.http.get(`${PQRS_URL}canal/`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que trae las areas de escalamiento\n * @returns areas\n */\n getArea(): Observable{\n return this.http.get(`${PQRS_URL}area/`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getAreaAndUsers(idForm, idCampania): Observable{\n return this.http.get(`${PQRS_URL}area/list-with-responsible/${idForm}/${idCampania}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que trae los asuntos de escalamiento\n * @returns asuntos\n */\n getAsunto(): Observable{\n return this.http.get(`${PQRS_URL}asunto/`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que trae los estados del escalamiento\n * @returns estados\n */\n getEstado(): Observable{\n return this.http.get(`${PQRS_URL}estado/`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que trae los canales de escalamiento\n * @returns canales\n */\n getUsers(): Observable{\n return this.http.get(`${PQRS_URL}usuario/solucionadores`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que trae los datos de la grilla\n * @returns datos a mostrar en la grilla\n */\n getUsersGrid(perPage, page): Observable{\n return this.http.get(`${PQRS_URL}PQRS?page=${page}&perPage=${perPage}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que trae los datos filtrados a mostrar en la grilla\n * @returns datos de grilla\n */\n getFilter(data: any, perPage, page): Observable{\n return this.http.post(`${PQRS_URL}PQRS/avanzada?page=${page}&perPage=${perPage}`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-17\n * Metodo que trae el historico de una pqrs\n * @param idPqrs identificador de la pqrs\n * @param size tamaño de datos a traer\n * @param page pagina a traer\n * @returns retorna el historico de datos\n */\n getHistory(idPqrs: number, size: number, page: number): Observable{\n return this.http.get(`${PQRS_URL}observacion/showByPqrsId/${idPqrs}?&n=${size}&page=${page}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-17\n * Metodo que trae los usuarios por area seleccionada\n * @param id identificador del area\n * @returns retorna una lista de usuarios\n */\n getUserbyArea(id: number): Observable{\n return this.http.get(`${PQRS_URL}PQRS/showSolucionadoresByArea/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-17\n * Metodo que inserta la edicion del formulario de un escalamiento\n * @param data data a enviar\n * @param id identificador de un pqrs\n * @returns retorna un estado\n */\n postFormEscalation(data: FormData, id: number): Observable{\n return this.http.post(`${PQRS_URL}PQRS/${id}`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de traer los datos de un estado\n * @param size tamaño de los datos a traer\n * @param page pagina a traer\n * @returns lista de estados\n */\n getState(size: number, page: number): Observable{\n return this.http.get(`${PQRS_URL}estado/indexAll?&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de guardar un estado\n * @param data data a guardar\n * @returns mensaje de exito\n */\n putFormState(data: any): Observable{\n return this.http.put(`${PQRS_URL}estado`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de editar un estado\n * @param id id del estado\n * @param data data del estado\n * @returns mensaje de exito\n */\n editState(id: any, data: any): Observable{\n return this.http.put(`${PQRS_URL}estado/${id}`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * servicio encargado de inactivar o activar un estado\n * @param id id del estado\n * @param data true o false\n * @returns mensaje de exito\n */\n updateState(id: any, data: any): Observable{\n return this.http.post(`${PQRS_URL}estado/${id}/updateState`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio que trae los datos de un asunto\n * @param size tamaño de datos a traer\n * @param page pagina a traer\n * @returns lista de asuntos\n */\n getAsuntoIndex(size: number, page: number): Observable{\n return this.http.get(`${PQRS_URL}asunto/indexAll?&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio encargado de activar o inactivar un asunto\n * @param id id del asunto a activar\n * @param data true o false\n * @returns mensaje de exito\n */\n updateAsunto(id: any, data: any): Observable{\n return this.http.post(`${PQRS_URL}asunto/${id}/updateState`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio que trae los supervisores dependiendo del area\n * @param id id del area\n * @returns lista de supervisores\n */\n getSupervisorByArea(id: any): Observable{\n return this.http.get(`${PQRS_URL}PQRS/showSupervisoresByArea/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio que guarda un asunto\n * @param asunto asunto a guardar\n * @returns mensaje de exito\n */\n postAsunto(asunto: any): Observable{\n return this.http.put(`${PQRS_URL}asunto`, asunto)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio que edita un asunto\n * @param id id del asunto a editarr\n * @param asunto contenido del asunto\n * @returns mensaje de exito\n */\n postEditAsunto(id: any, asunto: any): Observable{\n return this.http.put(`${PQRS_URL}asunto/${id}`, asunto)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio que lista usuarios\n * @param size tamaño de datos a listar\n * @param page pagina a listar\n * @returns lista de usuarios\n */\n getUsuario(size: number, page: number): Observable{\n return this.http.get(`${PQRS_URL}usuario?&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio que edita un usuario\n * @param id id del usuario\n * @param data data a editar\n * @returns mensaje de exito\n */\n updateUsuario(id: any, data: any): Observable{\n return this.http.post(`${PQRS_URL}usuario/${id}/updateState`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Servicio que edita un usuario\n * @param id id del usuario\n * @param data data a editar\n * @returns mensaje de exito\n */\n editUsuario(id: any, data: FormData): Observable{\n return this.http.post(`${PQRS_URL}usuario/${id}/attachArea`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n createPqrs(data: FormData): Observable{\n return this.http.post(`${CRM_URL}escalations`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-06-16\n * Servicio para obtener correo de un escalamiento\n * @param id id del email del escalamiento\n * @returns datos del correo y adjuntos\n */\n getEmailPQRS(id: any): Observable{\n return this.http.get(`${PQRS_URL}email/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-07-07\n * Servicio para descargar adjunto de los correos\n * @param url del archivo en storage\n * @returns descarga del archivo\n */\n downloadEmailAttachment(data: any): Observable{\n const httpOptions = {responseType: 'blob' as 'json'};\n return this.http.get(`${PQRS_URL}email/descargarAdjunto?url=${data.url}`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n \n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-07-08\n * Servicio para guardar adjunto de pqrs\n * @returns descarga del archivo\n */\n savePqrsAttachment(data: FormData): Observable{\n return this.http.post(`${PQRS_URL}PQRS/adjuntarArchivoPqrs`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /** \n * @author Juan Carlos Alonso\n * @createdate 2022-07-08\n * Servicio para obtener los adjuntos del escalamiento\n * @param pqrs_id id del escalamiento para obtener los adjuntos correspondientes\n * @returns arreglo con los adjuntos\n */\n getPqrsAttachments(pqrs_id: any): Observable{\n return this.http.get(`${PQRS_URL}PQRS/obtenerAdjuntosPqrs?pqrs_id=${pqrs_id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que indica los adjuntos pára los adjuntos el correo de escalamientos\n * @param id_mail \n * @returns Observable\n */\n getAttachments(id_mail:any):Observable{\n return this.http.get(`${GESTION_CORREOS}email/${id_mail}/attachments`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /** \n * @author Juan Carlos Alonso\n * @createdate 2022-07-08\n * Servicio para eliminar el adjunto seleccionado del escalamiento\n * @returns mensaje de confirmación o error\n */\n deletePqrsAttachment(data: any): Observable{\n return this.http.post(`${PQRS_URL}PQRS/eliminarAdjuntoPqrs`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getEscalationInfo(): Observable{\n return this.http.get(`${PQRS_URL}PQRS/infoEscalamientos`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getEscalation(id): Observable{\n return this.http.get(`${PQRS_URL}PQRS/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2022-11-02\n * Metodo que retorna la lista de plantillas almacenadas. \n */\n getEmailsByExit(): Observable {\n return this.http.get(`${PQRS_URL}emails/external`).pipe(\n catchError(this.handleError)\n )\n }\n}","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\n\n@Component({\n selector: 'app-detalle-control',\n templateUrl: './detalle-control.component.html',\n styleUrls: ['./detalle-control.component.sass']\n})\nexport class DetalleControlComponent implements OnInit {\n\n title:string = '';\n tipo:string = '';\n creacion:string = '';\n minimo = 0;\n maximo = 0;\n peso_actual = 0;\n\n id_matriz;\n tipo_peso;\n campania;\n constructor(\n private aRoute:ActivatedRoute,\n private matrizService:MatrizService\n ) { }\n\n ngOnInit(): void {\n this.aRoute.paramMap.subscribe(params=>{\n this.id_matriz = params.get('id');\n });\n this.getMatrixById();\n }\n\n\n getMatrixById(){\n this.matrizService.getMatrixById(this.id_matriz).subscribe((resp:any)=>{\n this.title = resp[0].matriz.nombre;\n this.tipo = resp[0].matriz.tipo_matriz.nombre;\n this.creacion = resp[0].matriz.created_at;\n this.minimo = resp[0].matriz.valor_peso_validacion.minimo;\n this.maximo = resp[0].matriz.valor_peso_validacion.maximo;\n this.peso_actual = resp[0].matriz.peso_actual;\n if (resp[0].campaign.length == 0) {\n this.campania = {name: 'Ninguna'}\n }else{\n this.campania = resp[0].campaign;\n }\n });\n }\n\n}\n","
\n
\n \n
\n
\n

{{title}}

\n

Matriz de {{tipo}}

\n
{{ tipo_peso }}
\n
Creada el {{creacion | date:'dd/MM/yyyy hh:mm a'}}
\n
\n

Rango de peso ({{minimo}} - {{maximo}})

\n

Peso actual ({{peso_actual}})

\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-move-email-to-account',\n templateUrl: './move-email-to-account.component.html',\n styleUrls: ['./move-email-to-account.component.css']\n})\nexport class MoveEmailToAccountComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n \n }\n}","\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n\n@Component({\n selector: 'app-landing-page-crm',\n templateUrl: './landing-page-crm.component.html',\n styleUrls: ['./landing-page-crm.component.sass']\n})\nexport class LandingPageCrmComponent implements OnInit {\n\n userName: string;\n constructor(private authService: AuthService) { }\n\n ngOnInit(): void {\n this.userName = this.authService.getUser().rrhh.name;\n }\n\n}\n","
\n
\n
\n

Gestionador CRM

\n ¡Bienvenid@
{{userName}}!
\n

En el módulo de CRM podrás administrar
\n toda la gestión, crear formularios y ver el
\n dashboard de estado de las campañas.

\n \n \n
\n \n
\n
\n
\n
\n\n \n \n
","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { SPEECH_URL } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StrategyServersService {\n constructor(private httpClient: HttpClient) { }\n\n /**\n * Metodo que retorna los errores generados por HTTP. \n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Traer listado de estrategias paginado\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n * @param filter filtros para la búsqueda.\n * @param paginator configuración de paginación (pageSize y pageIndex).\n */\n paginateStrategies(filter: any, paginator: any): Observable {\n const body = { filter, per_page: paginator.pageSize, page: paginator.pageIndex };\n return this.httpClient.post(`${SPEECH_URL}strategy/paginate`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Obtener la estrategia por id\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n getStrategyById(id: number): Observable {\n return this.httpClient.get(`${SPEECH_URL}strategy/show/${id}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Listar las estrategias para selector\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n listStrategies(ids: number[]): Observable {\n const body = {channel: ids };\n return this.httpClient.post(`${SPEECH_URL}strategy/listStrategy`,body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Crear una nueva estrategia \n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n createStrategy(strategyData: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}strategy/create`, strategyData).pipe(\n catchError(this.handleError)\n );\n }\n \n /**\n * Actualizar la informacion de una estrategia\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n updateStrategy(strategyData: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}strategy/update`, strategyData).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Desactivar/inhabilitar las estrategias\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n desactiveStrategy(strategyData: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}strategy/inactivateStrategy`, strategyData).pipe(\n catchError(this.handleError)\n );\n } \n\n /**\n * Metodo que se encarga de asignar las estrategias a las grabaciones indicadas\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n * @returns {Observable} Observable\n */\n assignStrategys(strateyForm:any): Observable {\n return this.httpClient.post(`${SPEECH_URL}strategy/assignStrategy`, strateyForm).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Aplicar una estrategia a los analisis correspondientes\n * @author Yeison Sepulveda\n * @createdate 2024-04-30\n * @param recordings array con id de las grabaciones para descargar. \n */\n applyAdherencia(recordings: any[]): Observable {\n const body = { id_recordings: recordings };\n return this.httpClient.post(`${SPEECH_URL}strategy/percentageAdherencia`,body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Listar los canales disponibles\n * @author Yeison Sepulveda\n * @createdate 2024-04-08\n */\n listChannel(): Observable {\n return this.httpClient.get(`${SPEECH_URL}strategy/list_channels`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que se encarga de asignar las estrategias de los chats\n * @author Yeison Sepulveda\n * @createdate 2024-08-13\n * @returns {Observable} Observable\n */\n assignStrategyChat(strateyForm:any): Observable {\n return this.httpClient.post(`${SPEECH_URL}chatCases/assignStrategyChat`, strateyForm).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Aplicar una estrategia a los analisis correspondientes\n * @author Yeison Sepulveda\n * @createdate 2024-04-30\n * @param ids_cases array con id de los casos\n */\n applyAdherenciaChats(ids_cases: any[]): Observable {\n const body = { ids_cases: ids_cases };\n return this.httpClient.post(`${SPEECH_URL}chatCases/percentageAdherenciaChats`,body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo validar estado de adherencia de los audios\n * @author Yeison Sepulveda\n * @param cases array con los id de los casos\n * @createdate 2024-10-15\n */\n AdherenciaState(recordings: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}strategy/stateStrategy`,recordings).pipe(\n catchError(this.handleError)\n );\n }\n}","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { CrudService } from 'src/app/shared/basic-crud-page-service/crud.service';\nimport { SnackBarService } from 'src/app/shared/snack-bar-service/snack-bar.service';\n\n@Component({\n selector: 'app-label',\n templateUrl: './label.component.html',\n styleUrls: ['./label.component.css']\n})\nexport class LabelComponent implements OnInit {\n questions: any[] = [\n { typeInput: 'input', type: 'hidden', key: 'id', label: 'Id de la etiqueta', rules: null, value: null },\n { typeInput: 'input', type: 'text', key: 'name', label: 'Nombre de la etiqueta', rules: { required: true, maxLength: 45 }, value: null },\n { typeInput: 'select', key: 'idAccountEmail', label: 'Cuenta de correo', rules: { required: true }, value: null, options: this.data.emailsConfig },\n { typeInput: 'html', key: 'content', label: 'Contenido de la etiqueta', rules: { required: true }, value: null },\n { typeInput: 'input', type: 'hidden', key: 'state', label: 'Estado de la etiqueta', rules: null, value: null }\n ];\n\n constructor(\n private crudService: CrudService,\n private matDialogRef: MatDialogRef,\n private snackBarService: SnackBarService,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n ngOnInit(): void {\n if (this.data.label) {\n for (const key in this.data.label) {\n this.questions.forEach(question => {\n if (question.key === key) question.value = this.data.label[key];\n });\n }\n }\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-10-18\n * Metodo que guarda o actualiza una etiqueta.\n * @param $event Evento emitido por el componente hijo. \n */\n onSubmitFormLabel($event: any): void {\n if (!this.data.label) {\n this.crudService.postData({ url: `${this.data.url}labels/store`, formData: $event }).subscribe(res => {\n this.snackBarService.showNotification({ message: res.message });\n this.matDialogRef.close(res);\n });\n } else {\n this.crudService.putData({ url: `${this.data.url}labels/update/${$event.id}`, formData: $event }).subscribe(res => {\n this.snackBarService.showNotification({ message: res.message });\n this.matDialogRef.close(res);\n });\n }\n }\n}","
\n
\n \n
\n
\n
\n
\n {{ data.label ? 'Editar texto rápido' : 'Crear texto rápido' }}\n
\n \n
\n \n
\n
","import { Component, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { CalendarOptions, FullCalendarComponent } from '@fullcalendar/angular';\nimport esLocale from '@fullcalendar/core/locales/es';\nimport { HealthService } from '../../modules/schedules/services/health.service';\nimport { EventEmitter } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\n@Component({\n selector: 'shared-booking-reserve',\n templateUrl: './booking-reserve.component.html',\n styleUrls: ['./booking-reserve.component.sass']\n})\nexport class BookingReserveComponent implements OnInit {\n @Input () optionsBooking: {};\n @Output () daySelected: EventEmitter = new EventEmitter(); \n @Output () itemSelected: EventEmitter = new EventEmitter(); \n\n hours: Observable[]= [];\n details: Observable[]= [];\n minutes;\n newEventsItems;\n displayDetails=false;\n displayItems=false;\n @ViewChild('calendar') calendar: FullCalendarComponent;\n\n public calendarOptions: CalendarOptions = {};\n constructor(private healthService:HealthService) { }\n\n ngOnInit(): void {\n\n this.displayItems=false;\n this.calendarOptions = {\n initialView: 'dayGridMonth',\n locales: [esLocale],\n dateClick: this.dateClick.bind(this),\n showNonCurrentDates: false, \n locale: 'es', // the initial locale. of not specified, uses the first one\n headerToolbar: {\n left: 'title,prev,next',\n center: '',\n right: '' \n },\n titleFormat: {\n month: 'long',\n year: 'numeric'\n },\n events: this.optionsBooking['eventsCalendar'],\n handleWindowResize: true, \n windowResizeDelay: 200 // milliseconds before a rerender happens\n };\n\n if (this.optionsBooking['typeDetail']=='items'){\n this.showItems(); \n };\n\n \n }\n dateClick(arg): void {\n\n this.optionsBooking['daySelectedBooking']=arg.dateStr;\n this.daySelected.emit(arg.dateStr);\n\n }\n \n showItems(){\n let hours_1=[];\n let compareHour=\"\";\n this.optionsBooking['eventsItems'].forEach(element=>{\n let dato= (element['times']+\"\").substring(0,2);\n if (dato!=compareHour){\n hours_1.push(dato);\n compareHour=dato;\n }\n });\n this.hours=hours_1;\n this.displayItems=true;\n\n }\n\n showDetails(){\n \n }\n\n clickItem(id){\n this.itemSelected.emit(id);\n }\n\n}\n","
\n
\n\n \n
\n Convenciones:
\n
    \n
  • {{convention.label}}
  • \n
\n\n
\n
\n\n\n
\n
\n

\n {{(optionsBooking['daySelectedBooking'] | date:'EEEE d').charAt(0).toUpperCase()+(optionsBooking['daySelectedBooking'] | date:'EEEE d').slice(1).toLowerCase()}} de {{(optionsBooking['daySelectedBooking'] | date:'MMMM').charAt(0).toUpperCase()+(optionsBooking['daySelectedBooking']\n | date:'MMMM').slice(1).toLowerCase()}}\n
\n
Día no disponible\n

\n\n
\n
0\">\n

\n {{(optionsBooking['daySelectedBooking'] | date:'EEEE d').charAt(0).toUpperCase()+(optionsBooking['daySelectedBooking'] | date:'EEEE d').slice(1).toLowerCase()}} de {{(optionsBooking['daySelectedBooking'] | date:'MMMM').charAt(0).toUpperCase()+(optionsBooking['daySelectedBooking']\n | date:'MMMM').slice(1).toLowerCase()}}\n

\n
\n
\n \n
\n \n {{item.times}}\n \n
\n
\n
\n
\n
\n\n
\n\n\n
\n
\n {{(optionsBooking['daySelectedBooking'] | date:'EEEE, MMMM d, y').charAt(0).toUpperCase()+(optionsBooking['daySelectedBooking'] | date:'EEEE, MMMM d, y').slice(1).toLowerCase()}}

No hay citas agendadas
\n
\n
0\">\n {{(optionsBooking['daySelectedBooking'] | date:'EEEE, MMMM d, y').charAt(0).toUpperCase()+(optionsBooking['daySelectedBooking'] | date:'EEEE, MMMM d, y').slice(1).toLowerCase()}}

Citas agendadas
\n \n \n \n \n
{{item}}
\n
\n
\n\n\n
\n","import { DatePipe } from '@angular/common';\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { UsersService } from 'src/app/modules/ciu/services/rest/users.service';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\nimport { LiquidationsService } from 'src/app/modules/nomina/services/rest/liquidations.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { civilStates } from '../../../../../../shared/cv-view/edit-questions';\nimport { CandidatesService } from '../../../../../rrhh/services/candidates.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-liquidations-response',\n templateUrl: './liquidations-response.component.html',\n styleUrls: ['./liquidations-response.component.sass']\n})\nexport class LiquidationsResponseComponent implements OnInit {\n // MatPaginator Inputs\n length;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n displayedColumns: string[] = ['fecha', 'nombre', 'numero', 'tipo', 'estado', 'campana'];\n dataSource = new MatTableDataSource();\n reportForm: FormGroup;\n Campaings: any;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n // Hoja de vida\n candidate: any = null;\n healthForm: FormGroup;\n\n // liquidación\n startDate: any = '';\n endDate: any;\n date: any;\n dateLiquidation = new FormControl();\n document: any;\n idTypeDoc: any;\n idCampaing: any;\n filterControl2 = new FormControl();\n photo: any;\n civilStates = civilStates;\n\n constructor(private liquidationService: LiquidationsService,\n private fb: FormBuilder,\n private alert: AlertsService,\n public userService: UsersService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private novelties: NoveltiesService,\n private serviceCandidate: CandidatesService,\n public dialog: MatDialog,\n private snack: MatSnackBar,\n public dialogRef: MatDialogRef) {\n }\n\n ngOnInit(): void {\n this.reportForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n this.dateLiquidation.valueChanges.subscribe(resp => {\n const date1: string|null = new DatePipe('en-US').transform(resp, 'yyyy-MM-dd');\n this.date = date1;\n });\n\n this.healthForm = this.fb.group({\n 'tabaquismo': [null, Validators.required],\n 'alcohol': [null, Validators.required],\n 'sustancias_psicoactivas': [null, Validators.required],\n 'ejecicio': [null, Validators.required],\n 'antecedentes_de_accidentes_trabajo': [null, Validators.required],\n 'antecedentes_enfermedades_laborales': [null, Validators.required],\n 'antecedentes_patologicos_personales': [null, Validators.required]\n });\n this.getData();\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-12\n * Metodo de paginación\n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getNoveltiesRelatedToUser(this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-19\n * Metodo para obtener las novedades del usuario\n */\n getNoveltiesRelatedToUser(size: number, page: number): void {\n this.novelties.getNoveltiesBy(3, this.idTypeDoc, this.data.data.documento, this.data.data.campaign.id, this.startDate, this.endDate, size, page).subscribe(resp => {\n this.dataSource = resp.data.data;\n this.length = resp.data.total;\n });\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-12\n * Metodo para conseguir hoja vida del usuario\n */\n getData(): void {\n this.liquidationService.getCVUserLoggued(this.data.data.id).subscribe((resp: any) => {\n this.candidate = resp;\n this.idTypeDoc = resp.id_type.id;\n this.candidate.civilState = civilStates.find(element => element.id = resp.civil_state_id);\n this.findPhoto(resp?.attachements);\n this.getNoveltiesRelatedToUser(this.pageSize, this.page);\n });\n }\n\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-16\n * Metodo para liquidar un usuario\n */\n liquidations(): void {\n const body = {\n liquidation_date: this.date,\n user_id: this.data.data.id,\n campaign_id: this.data.data.campaign.id\n };\n const confirm = this.alert.alertConfirm('¿Esta seguro que desea liquidar el usuario ?');\n confirm.then(res => {\n if (res.isConfirmed) {\n this.liquidationService.createLiquidations(body).subscribe(resp => {\n this.alert.alertSuccess('Liquidación realizada', resp.data);\n this.dialogRef.close('');\n }, error => {\n this.alert.alertError('Error!', 'No se pudo realizar la gestión de liquidación correctamente');\n });\n }\n });\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-12\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e): void {\n this.document = e;\n this.getNoveltiesRelatedToUser(this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-05-13\n * Metodo para capturar el rango de fechas a filtrar\n */\n dateRangeChange(): void {\n const date1: Date = this.reportForm.controls.start.value;\n const date2: Date = this.reportForm.controls.end.value;\n const dateStart: string|null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string|null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n }\n\n /**\n * @author Andres Buitrago\n * @createdate 2021-12-27\n * Metodo para la descarga de novedades del usuario por rango de fecha\n */\n downloadReport(): void {\n const docNumber = this.data.data.documento;\n const date1: Date = this.reportForm.controls.start.value;\n const date2: Date = this.reportForm.controls.end.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.novelties.getNoveltiesReportForLiquidation(docNumber, this.idTypeDoc, dateStart, dateEnd).subscribe(resp => {\n importedSaveAs(resp, `reporte_novedades_nomina_${ docNumber }_.xlsx`);\n });\n }\n\n\n /**\n * Resetea el paginador\n */\n resetPaginator(): void {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n }\n\n /**\n * Busca la foto entre los documentos adjuntos\n * @param documents adjuntos\n */\n findPhoto(documents): any {\n if (documents) {\n const found = documents.find(element => element.file_attachment_id == 8);\n if (found) {\n const direction = `candidate/download/attachment/${ this.candidate.id }/${ found.id }`;\n this.serviceCandidate.downdloadFile(direction).subscribe((file) => {\n this.photo = file;\n }, error => {\n setTimeout(() => {\n this.snack.open('No tiene imagen asociada', '', {\n duration: 3500,\n verticalPosition: 'top',\n panelClass : ['red-snackbar']\n });\n }, 400);\n });\n }\n }\n }\n\n}\n","
\n\n

\n \n

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

Información de contacto

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

{{data?.data?.name}}

\n

{{candidate?.documentId}}

\n\n
\n
\n

Datos personales

\n
\n
\n\n
\n Fecha de Nacimiento\n

{{candidate?.birth_date | date}}

\n
\n
\n Estado civil\n

{{candidate?.civilState?.name || 'No especifica'}}

\n
\n
\n Correo\n

{{candidate?.email || 'No especifica'}}

\n
\n
\n Correo secundario\n

{{candidate?.email2 || 'No especifica'}}

\n
\n
\n Teléfono\n

{{candidate?.phone || 'No especifica'}}

\n
\n\n
\n\n
\n
\n Celular\n

{{candidate?.mobile_phone || 'No especifica'}}

\n
\n
\n Ciudad\n

{{candidate?.personal_data?.city_of_residence || 'No especifica'}}

\n
\n
\n Localidad\n

{{candidate?.personal_data?.location || 'No especifica'}}

\n
\n
\n Dirección\n

{{candidate?.personal_data?.adress || 'No especifica'}}

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

Novedades de nómina

\n

En este espacio podrás descargar las novedades del trabajador, no olvides,\"El respeto y la\n empatiá son clave\"

\n
\n \n\n \n Filtrar por fecha\n \n \n \n \n \n \n \n\n \n\n
\n \n \n\n
\n

Gestionar liquidación

\n
\n \n
\n \n Seleccione una fecha\n \n \n \n \n\n \n
\n\n\n
\n\n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { environment } from '../../../../../environments/environment';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AssingUserService {\n\n private server = environment.RRHH_URL;\n constructor(private http: HttpClient) {\n\n }\n\n getUser( documentId){\n return this.http.get(`${this.server}users/hired/${documentId}`);\n }\n assingUserRole(hiredUserId,role){\n return this.http.get(`${this.server}assign/hired/user/${hiredUserId}/${role}`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { SPEECH_URL } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ViewService {\n constructor(private httpClient: HttpClient) { }\n\n /**\n * Metodo que retorna los errores generados por HTTP.\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param error Instancia del httpErrorResponse.\n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Metodo que retorna campañas de vicidial (selector)\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param id Id del servidor seleccionado.\n */\n getCampaigns(id_server: number): Observable {\n return this.httpClient.get(`${SPEECH_URL}get_campaign/${id_server}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Listado de los grupos de la campaña (selector)\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param campaign_id id campaña seleccioada.\n */\n getGroups(campaign_id: number): Observable {\n return this.httpClient.get(`${SPEECH_URL}get_group/${campaign_id}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo para obtener listado de tipificaciones de vicidial (selector)\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param campaign_id Id de la campaña seleccionada.\n */\n getTipifications(campaign_id: number): Observable {\n return this.httpClient.get(`${SPEECH_URL}get_tipification/${campaign_id}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo para obtener listado skills de vicidial (selector)\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param id_typeCall id tipo de la llamada outboung o inboun.\n * @param campaign_id id de la campaña seleccionada.\n */\n getSkills(id_typeCall: number, campaign_id: number): Observable {\n return this.httpClient.get(`${SPEECH_URL}get_skills/${id_typeCall}/${campaign_id}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo busca segun filtros activos las grabaciones\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param paginator configuración de paginación (pageSize y pageIndex).\n * @param filters filtros de busqueda\n */\n searchVicidial( paginator: any, filters: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}buscar?page=${paginator.pageIndex}&perPage=${paginator.pageSize}`, filters).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo para solicitar la descarga de los audios y paginar la informacion\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param recordings array de recordings\n * @param descargarAudios boleano si hay qque realizar descarga\n * @param campaign_id campaña id\n * @param paginator configuración de paginación (pageSize y pageIndex).\n */\n searchDownload(paginator: any, recordings: any, descargarAudios: boolean, campaign_id: any): Observable {\n const body = { recording_ids: recordings, descargarAudios: descargarAudios, campaign_id: campaign_id };\n return this.httpClient.post(`${SPEECH_URL}buscarRecor?page=${paginator.pageIndex}&perPage=${paginator.pageSize}`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo para validar estado error\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param idrecordin array de objetos\n */\n analyticsState(recordings: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}state`,recordings).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo para validar estado de error en detalle\n * @author Yeison Sepulveda\n * @createdate 2024-09-19\n * @param idrecordin array de objetos\n */\n analyticsStateDetail(recording_id: any): Observable {\n return this.httpClient.get(`${SPEECH_URL}state/error-details/${recording_id}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Obtener los filtros y grabaciones e integracion de CRM2 y Vicidial\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param paginator configuración de paginación (pageSize y pageIndex).\n * @param filters filtros de busueda\n */\n getFilter(paginator: any, filters){\n return this.httpClient.post(`${SPEECH_URL}searchRecordingsCrm?page=${paginator.pageIndex }&perPage=${paginator.pageSize}`,filters).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Obtener los filtros y grabaciones e integracion de CRM2 y Vicidial\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param paginator configuración de paginación (pageSize y pageIndex).\n * @param filters filtros de busqueda\n */\n getFilter2(paginator: any, filters){\n return this.httpClient.post(`${SPEECH_URL}searchRecordingsCrm2?page=${paginator.pageIndex}&perPage=${paginator.pageSize}`,filters).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Descargar reporte de excel\n * @author Yeison Sepulveda\n * @createdate 2024-04-04\n * @param filters json de la informacion\n */\n downloadReport(filters){\n return this.httpClient.post(`${SPEECH_URL}downloadReport`,filters, {responseType: 'blob' as 'json'}).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que se encarga de obtener las campañas asociadas a carteras\n * @author Juan David Guerrer Vargas\n * @returns {Obseravble} Observable\n */\n getCampaignsCarteras():Observable{\n return this.httpClient.get(`${SPEECH_URL}speech/carteras/showcampaign`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que se encarga de obtener lis listados de carteras segun su campaña\n * @author Juan David Guerrer Vargas\n * @returns {Obseravble} Observable\n */\n getListCarteras(id_campaign):Observable{\n return this.httpClient.get(`${SPEECH_URL}speech/carteras/showlists/${id_campaign}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que se encarga de obtener el listado de grabaciones para carteras\n * @param filterSearch:any {any} filtrado { list_ids:[], phone:\"\", start_date:\"\",end_date:\"\", per_page:\"\", from_page:\"\" }\n * @author Juan David Guerrer Vargas\n * @returns {Obseravble} Observable\n */\n getRecordingsCarteras(filterSearch:any):Observable{\n return this.httpClient.post(`${SPEECH_URL}speech/carteras/paginateRecordingsCartera`, filterSearch).pipe(\n catchError(this.handleError)\n );\n }\n\n\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { CheckAttachmentComponent } from '../check-attachment/check-attachment.component';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { ContractCreationComponent } from '../contract-creation/contract-creation.component';\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\nimport { saveAs as importedSaveAs } from \"file-saver\";\nimport {Location} from '@angular/common';\nimport { FilesViewComponent } from 'src/app/shared/files-view/files-view.component';\nimport { SignaturePad } from 'angular2-signaturepad';\nimport { CandidateCommentsComponent } from '../candidate-comments/candidate-comments.component';\nimport {switchMap} from 'rxjs/operators';\nimport { FormControl } from '@angular/forms';\nimport { ModalCampaignEditComponent } from '../src/app/modules/rrhh/modules/candidates/modal-campaign-edit/modal-campaign-edit.component';\nimport { PaymentSlipService } from '../../../services/paymentSlip.service';\nimport { UsersService } from '../../../services/users.service';\nimport {AttachmentDeleteFormComponent} from '../attachment-delete-form/attachment-delete-form.component';\nimport {PersonalReferenceUpComponent} from '../personal-reference-up/personal-reference-up.component';\n\n@Component({\n selector: 'app-candidate-cv',\n templateUrl: './candidate-cv.component.html',\n styleUrls: ['./candidate-cv.component.sass']\n})\n\n\nexport class CandidateCvComponent implements OnInit {\n checkControl = new FormControl('1');\n fechaCita;\n identity_document: any = [];\n personal_reference: any = [];\n academic_reference: any = [];\n job_reference: any = [];\n adres_certified: any = [];\n ruaf_certified: any = [];\n bank_certified: any = [];\n photo: any = [];\n antecedentes_penales: any = [];\n eps: any = [];\n arl: any = [];\n afc: any = [];\n contrato: any = [];\n firma: any = [];\n codigo_qr: any = [];\n migracion_colombia:any = [];\n truora_aprobada:boolean = false;\n\n viewAgreement:boolean= false\n checkAgreement:boolean= false\n checkCredencials:boolean= true\n\n agreements:any = [];\n\n hiring:boolean= false\n candidateHistory: any = [];\n\n documentsCandidate: any = [];\n\n candidateId;\n candidateStatus = null;\n candidate: any = [];\n\n attachments: any = [];\n\n attachmentId;\n\n scheduledBtn = 'Agendar';\n contract:any;\n contractPhase= null\n documentToFilter = ['photo','identity_document','personal_reference','academic_reference','job_reference','adres_certified','ruaf_certified','bank_certified'];\n documentToOperationFilter = ['antecedentes_penales','eps','arl','afc', 'truora'];\n generateDocumentToActionsFilter = ['contrato','acuerdo_confidencialidad','acuerdo_imagen','consentimiento'];\n documentToActionsFilter = ['firma_contrato','firma_acuerdo_confidencialidad','firma_acuerdo_imagen','firma_consentimiento'];\n\n candidateDocuments:any = [];\n candidateOtherDocuments:any = [];\n candidateDocumentosEliminados:any = [];\n\n documentGeneratedByOperation: any = [];\n documentsToUploadToOperation:any = [];\n data:any\n now = new Date().toISOString().split('.')[0];\n displayedColumns: string[] = ['actions', 'file', 'name', 'state'];\n displayedDocumentsColumns: string[] = ['actions', 'file', 'name', 'state', 'templates'];\n disabledDocument:boolean= true\n validator=false\n selectCertifications = new FormControl('');\n selectYear = new FormControl('');\n certificationsType = [\n {key:'certificado-laboral', name:'Certificado Laboral'},\n {key:'desprendible-de-pago', name:'Desprendibles de pago'}\n ];\n public years: { id, name }[] = [];\n public paymentCertificates: any = [];\n public laborCertificates: any = [];\n public rrhh_id = null;\n public months: { id, name }[] = [\n { id: 1, name: 'ENERO' },\n { id: 2, name: 'FEBRERO' },\n { id: 3, name: 'MARZO' },\n { id: 4, name: 'ABRIL' },\n { id: 5, name: 'MAYO' },\n { id: 6, name: 'JUNIO' },\n { id: 7, name: 'JULIO' },\n { id: 8, name: 'AGOSTO' },\n { id: 9, name: 'SEPTIEMBRE' },\n { id: 10, name: 'OCTUBRE' },\n { id: 11, name: 'NOVIEMBRE' },\n { id: 12, name: 'DICIEMBRE' }\n ];\n\n constructor(private serviceCandidate: CandidatesService,\n private alertService: AlertsService,\n private route: ActivatedRoute,\n private dialog: MatDialog,\n public _location: Location,\n public auth:AuthService,\n public paymentSlipService: PaymentSlipService,\n private usersService: UsersService\n ) {}\n\n ngOnInit(): void {\n this.rrhh_id = this.auth.getUser().rrhh_id ?? null;\n this.route.paramMap.subscribe(params => {\n this.candidateId = params.get('id');\n });\n this.auth.getUser().roles.forEach(element => {\n if(element == 'rrhh::coordinador-de-contratacion' || element == 'rrhh::analista-de-contratacion'){\n this.hiring = true\n }\n if(element == 'rrhh::validador-documentos'){\n this.validator = true\n }\n });\n\n this.getCandidate();\n\n this.generateRangeYear(2022);\n let date = new Date();\n let year = date.getFullYear();\n this.selectYear.setValue(year);\n\n this.selectYear.valueChanges.subscribe(resp => {\n this.selectCertifications.setValue(this.selectCertifications.value);\n });\n\n this.selectCertifications.valueChanges.subscribe(resp => {\n switch (resp) {\n case 'certificado-laboral':\n this.serviceCandidate.getHiredUserID(this.candidateId).subscribe((resp: any) => {\n if (resp != false) this.getLaborCertication();\n });\n break;\n case 'desprendible-de-pago':\n this.serviceCandidate.getHiredUserID(this.candidateId).subscribe((resp: any) => {\n if (resp != false) this.getPaymentsSlipsCertifications(this.selectYear.value, resp.id);\n });\n break;\n }\n });\n }\n\n documentView(url, name, file?){\n const checkDialog = this.dialog.open( FilesViewComponent, {\n disableClose: true,\n data: { url: url, name:name, file:file}\n });\n }\n async getCandidate(credentials?) {\n this.serviceCandidate.candidateAll(this.candidateId).subscribe( (resp:any) => {\n this.candidate = resp;\n this.checkControl = this.candidate.passive_holiday;\n this.candidateStatus = this.candidate.state_id;\n if(this.candidate && this.candidate.id_type.key != 'CC'){\n this.documentToOperationFilter.push('migracion_colombia');\n }\n this.fechaCita = resp.scheduleToSign ? new Date(resp.scheduleToSign).toISOString().replace( 'Z', '' ) : null;\n if(resp.scheduleToSign){\n this.scheduledBtn = 'Reagendar';\n }\n if(this.candidate.agreementRules != null){\n this.viewAgreement= true\n this.disabledDocument = false\n }\n this.contractPhase = this.viewAgreement ? 'Ver condiciones del contrato': 'Crear condiciones del contrato'\n if(credentials)\n {\n this.checkCredencials = true;\n setTimeout((ref) => {\n let objDiv = document.getElementById('credentials');\n objDiv.scrollIntoView()\n }, 1500);\n }\n });\n }\n\n checkCanUpdateEmail(): boolean{\n if (this.hiring && this.candidate.state_id === 6) {\n return true;\n } else {\n return false;\n }\n }\n\n activar_documento(row){\n let obj = this;\n this.serviceCandidate.activarDocumentos(row.id).subscribe( (resp: any) => {\n obj.getDocuments(1);\n });\n }\n\n getDocuments(filter) {\n\n this.serviceCandidate.getDocumentosInactivos(this.candidateId).subscribe( (resp: any) => {\n this.candidateDocumentosEliminados = resp;\n });\n\n\n this.serviceCandidate.getAttachments(this.candidateId).subscribe( (resp: any) => {\n this.documentsCandidate = resp;\n\n const truora = this.documentsCandidate.find(element=>element.fileKey == 'truora');\n this.truora_aprobada=false;\n if(truora.state==\"Aprobado\"){\n this.truora_aprobada=true;\n }\n\n if(filter == OPTION_TO_FILTER.document){\n /**\n * Solo se filtraran documentos para el tab documentos\n */\n this.candidateDocuments = resp.filter( (elem:any) => {\n return this.documentToFilter.indexOf(elem.fileKey) > -1;\n })\n this.candidateOtherDocuments = resp.filter( (elem:any) => {\n return this.documentToOperationFilter.indexOf(elem.fileKey) > -1;\n })\n\n }else if(filter == OPTION_TO_FILTER.actions){\n /**\n * Solo se filtraran documentos para el tab Actions\n */\n this.documentGeneratedByOperation = resp.filter( (elem:any) => {\n return this.generateDocumentToActionsFilter.indexOf(elem.fileKey) > -1;\n })\n\n this.documentsToUploadToOperation = resp.filter( (elem:any) => {\n return this.documentToActionsFilter.indexOf(elem.fileKey) > -1;\n })\n /**\n * Revisa si se aprobó el contrato para habilitar la generacion de credenciales\n */\n\n\n const found1 = this.documentsToUploadToOperation.find(element=>element.fileKey == 'firma_contrato')\n if(found1 && found1.state == 'Pendiente'){\n this.checkAgreement = true\n }\n\n }else if(filter == OPTION_TO_FILTER.all){\n /**\n * Solo se filtraran documentos para el tab Todos\n */\n this.candidateDocuments = resp.filter( (elem:any) => {\n return this.documentToFilter.indexOf(elem.fileKey) > -1;\n })\n this.candidateOtherDocuments = resp.filter( (elem:any) => {\n return this.documentToOperationFilter.indexOf(elem.fileKey) > -1;\n })\n this.documentGeneratedByOperation = resp.filter( (elem:any) => {\n return this.generateDocumentToActionsFilter.indexOf(elem.fileKey) > -1;\n })\n\n this.documentsToUploadToOperation = resp.filter( (elem:any) => {\n return this.documentToActionsFilter.indexOf(elem.fileKey) > -1;\n })\n\n /**\n * Revisa si se aprobó el contrato para habilitar la generacion de credenciales\n */\n\n const found1 = this.documentsToUploadToOperation.find(element=>element.fileKey == 'firma_contrato')\n if(found1.state == 'Aprobado'){\n this.checkAgreement = false\n }\n\n }\n if(this.documentGeneratedByOperation.length > 0){\n this.documentGeneratedByOperation.forEach(element => {\n element['disabled']=true\n });\n this.contract = this.documentGeneratedByOperation.find(element=>element.fileKey == 'contrato')\n if(this.contract.state == 'Aprobado' && this.candidate.username == \"\"){\n this.checkCredencials = false\n }\n\n }\n this.checkSign('firma_acuerdo_confidencialidad')\n this.checkSign('firma_contrato')\n this.checkSign('firma_acuerdo_imagen')\n this.checkSign('firma_consentimiento')\n\n\n });\n\n }\n checkSign(fileKey){\n if(this.documentsToUploadToOperation.length > 0 && this.documentGeneratedByOperation.length >0){\n let fileKey2 = fileKey.split('firma_')[1]\n let found2 = this.documentGeneratedByOperation.find(element=>element.fileKey == fileKey2)\n let found = this.documentsToUploadToOperation.find(element=>element.fileKey == fileKey)\n if(found.state == 'Aprobado'){\n found2.disabled = false;\n }\n }\n }\n\n onTabChanged(event) {\n let idx = event.index;\n switch (idx) {\n case 0:\n this.getCandidate();\n case 1:\n this.getDocuments(OPTION_TO_FILTER.document);\n break;\n case 2:\n this.getHistory();\n break;\n case 3:\n this.getDocuments(OPTION_TO_FILTER.actions);\n break;\n }\n }\n\n checkItem(document) {\n const checkDialog = this.dialog.open( CheckAttachmentComponent, {\n minWidth: '50%',\n disableClose: true,\n data: { attachmentId: document.id, key: document.fileKey }\n });\n checkDialog.afterClosed().subscribe( (params) => {\n if(params){\n this.getDocuments(OPTION_TO_FILTER.all);\n }\n\n });\n }\n\n getHistory() {\n this.serviceCandidate.getHistory(this.candidateId).subscribe( resp => {\n this.candidateHistory = resp;\n });\n }\n\n agendarCita () {\n this.serviceCandidate.agendarCitaFirmaContrato(this.candidateId, this.fechaCita).subscribe( (resp: any) => {\n this.getCandidate();\n });\n }\n\n generateContract() {\n\n this.serviceCandidate.generateCandidateContract(this.candidateId).subscribe(resp => {\n this.disabledDocument=false\n this.alertService.alertSuccess('Generado','El contrato se ha creado con éxito')\n this.getDocuments(OPTION_TO_FILTER.actions);\n }, err=>{\n this.disabledDocument=false\n });\n }\n\n generateContractv2() {\n\n this.serviceCandidate.generateCandidateContractv2(this.candidateId).subscribe(resp => {\n this.disabledDocument=false\n this.alertService.alertSuccess('Generado','El contrato se ha creado con éxito')\n this.getDocuments(OPTION_TO_FILTER.actions);\n }, err=>{\n this.disabledDocument=false\n });\n }\n\n onFileSelected(files, documentTypeId,attachmentId) {\n const MAXIMUM_SIZE_BYTES= 20000000; // 1MB = 1 millón de bytes\n const sizaMb = MAXIMUM_SIZE_BYTES / 1000000;\n\n const idx = this.attachments.length;\n this.attachments = files[0];\n this.attachmentId = attachmentId;\n if (this.attachments.size > MAXIMUM_SIZE_BYTES) {\n this.alertService.alertWarning('Alerta',`El archivo supera el tamaño máximo de ${sizaMb}.`);\n }\n if (this.attachments.size < MAXIMUM_SIZE_BYTES) {\n this.saveDocuments(this.attachmentId,documentTypeId);\n }\n }\n\n saveDocuments(attachmentId,documentTypeId) {\n this.serviceCandidate.uploadDocumentCandidate(this.candidateId, this.attachments, documentTypeId,attachmentId).subscribe((resp: any) => {\n this.alertService.alertSuccess('¡Cargado!', 'Su documento se ha cargado correctamente');\n this.getDocuments(OPTION_TO_FILTER.all);\n });\n\n }\n\n showModalCampaignEdit() {\n const modal = this.dialog.open( ModalCampaignEditComponent, {\n width: '50%',\n disableClose: true,\n data: { candidate: this.candidate, candidateId: this.candidateId}\n });\n modal.afterClosed().subscribe( (params) => {\n this.disabledDocument = false;\n });\n }\n\n/* generarQR() {\n this.serviceCandidate.generateQR(this.candidateId).subscribe( resp => {\n this.disabledDocument= false\n this.getDocuments(OPTION_TO_FILTER.actions);\n },(err) => {\n\n this.disabledDocument= false\n });\n } */\n\n getFilteredByKey(array, key, value) {\n return array.filter(function(e) {\n return e[key] == value;\n });\n }\n\n generateDocument(document){\n this.disabledDocument= true\n\n switch (document) {\n case 'contrato':\n this.generateContractv2();\n break;\n case 'codigo_qr':\n this.serviceCandidate.generateQR(this.candidate.id).subscribe( (resp:any) => {\n this.alertService.alertSuccess('¡Hecho!',resp);\n },(err) => {\n this.disabledDocument= false\n })\n break;\n default:\n let params = {\n 'stateKey':'contratacion',\n 'candidateId':this.candidate.id\n }\n params['document'] = document;\n this.serviceCandidate.generateDocuments(params).subscribe( (resp:any) => {\n this.disabledDocument= false\n this.alertService.alertSuccess('¡Hecho!',resp);\n this.getDocuments(OPTION_TO_FILTER.actions);\n },err =>{\n this.disabledDocument= false;\n })\n break;\n }\n\n }\n\n /**\n * @author Karol García\n * @createdate 2021-02-10\n * Metodo generar credenciales del colaborador\n */\n generateCredentials(){\n this.checkCredencials = true;\n let saveconfirm= this.alertService.alertConfirm('¿Está seguro?', 'Esta acción generará credenciales de acceso para esta persona.')\n saveconfirm.then(res=>{\n if(res.isConfirmed){\n this.serviceCandidate.getCredencials(`candidate/credential/${this.candidateId}`).subscribe(\n res=>{\n this.checkCredencials = true;\n\n this.getDocuments(OPTION_TO_FILTER.all);\n this.alertService.alertSuccess('¡Creadas!', 'Las credenciales fueron creadas con éxito');\n this.getCandidate(true);\n });\n } else if (res.isDenied){\n this.checkCredencials = false;\n }\n })\n }\n /**\n * @author Karol García\n * @createdate 2021-02-10\n * Metodo crea las reglas del contrato\n */\n openContractForm(){\n const contractForm = this.dialog.open( ContractCreationComponent, {\n minWidth: '80%',\n disableClose: true,\n data: {candidateId: this.candidateId, agreementRules: this.candidate.agreementRules, action:'create', contract: this.contract, specialPolicy: this.candidate['special-policy'],infoBpms: this.candidate['info_pbms'], candidate:this.candidate}\n })\n contractForm.afterClosed().subscribe( (params) => {\n if(params){\n this.getCandidate()\n this.getDocuments(OPTION_TO_FILTER.all);\n this.viewAgreement= true\n this.disabledDocument= false;\n }\n //\n })\n }\n /**\n * @author Karol García\n * @createdate 2021-02-10\n * Metodo descarga los documentos\n */\n downdloadFile(data?, view?: boolean){\n let direction= `candidate/download/attachment/${this.candidateId}`\n let name\n if(data){\n direction= direction.concat(`/${data.id}`)\n name = data.name\n }else{\n direction= direction.concat(`/all`)\n name = `documentos_${this.candidateId}`\n }\n this.serviceCandidate.downdloadFile(direction).subscribe( (file) =>{\n if(view){\n let fileURL = URL.createObjectURL(file);\n this.documentView(fileURL, data.name, file)\n\n }\n else{\n importedSaveAs(file, name);\n }\n })\n }\n /**\n * @author Karol García\n * @createdate 2021-02-10\n * Metodo envia el contrato al colaborador\n */\n sendEmail(){\n let saveconfirm= this.alertService.alertConfirm('¿Desea enviar el contrato al colaborador?')\n saveconfirm.then(res=>{\n if(res.isConfirmed){\n this.serviceCandidate.sendContract(`candidates/contract/mail/${this.candidateId}`).subscribe(res=>{\n this.alertService.alertSuccess('¡Enviado!', 'El correo de ha enviado éxitosamente');\n })\n }\n })\n }\n /**\n * @author Karol García\n * @createdate 2021-08-13\n * Captura la firma del condidato\n */\n crateSign(documentTypeId,attachmentId){\n const sing = this.dialog.open( CreateSign)\n sing.afterClosed().subscribe( (file) => {\n if(file){\n this.attachments = file;\n this.attachmentId = attachmentId;\n this.saveDocuments(this.attachmentId,documentTypeId);\n }\n })\n }\n getComments(){\n const commentDialog = this.dialog.open( CandidateCommentsComponent, {\n data: { candidateId: this.candidateId, requestId: this.candidate.requestId }\n });\n // commentDialog.afterClosed().subscribe( (params) => {\n // this.getCandidates();\n\n // });\n }\n notApply(row){\n const createdAt = new Date();\n let saveconfirm= this.alertService.alertConfirm('¿Desea no aplicar este documento en el proceso?')\n saveconfirm.then(res=>{\n if(res.isConfirmed){\n this.serviceCandidate.uploadFiles(this.candidateId, null, row.fileKey).pipe(\n switchMap((resp: any) =>{\n return this.serviceCandidate.validateDocumentCandidate(resp.id, '', createdAt, 'Aprobado', '',row.fileKey)\n })\n ).subscribe(()=>{\n this.alertService.alertSuccess('¡Hecho!', 'Este archivo No aplica');\n this.getDocuments(OPTION_TO_FILTER.document)\n })\n\n }\n })\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2022-03-31\n * Validamos checkbox pasivo vacacional\n */\n generateHoliday(event) {\n //console.log(event.checked);\n this.checkControl = event.checked;\n //detecta los cambios en el check\n let data = {\n candidate_id: this.candidateId,\n passive_holiday: this.checkControl\n }\n this.serviceCandidate.PassiveHoliday(data).subscribe(data => {});\n }\n\n /**\n * @author David Reinoso | 10-feb-23\n * Funcion para generar un rango de años\n * @param min_year\n */\n generateRangeYear(min_year){\n let date = new Date();\n let year = date.getFullYear();\n let yearMin = min_year;\n while (yearMin <= year) { //Llenamos el array years con los años para el filtro\n this.years.push({ id: yearMin, name: yearMin });\n yearMin++;\n }\n }\n\n getLaborCertication(){\n this.usersService.getHiredUsersByCandidate(this.candidateId).subscribe((resp: any) => {\n this.laborCertificates = resp;\n });\n }\n\n getPaymentsSlipsCertifications(year, rrhh_id){\n this.paymentSlipService.getPaymentsNominaByUser(year, rrhh_id ?? null ).subscribe((resp:any) =>{\n this.paymentCertificates = resp?.data;\n });\n }\n\n /**\n * @author David Reinoso | 20-feb-23\n * Metodo para retornar el nombre del mes\n */\n getNameMount(number){\n for (let i = 0; i < this.months.length; i++) {\n if(this.months[i].id == Number(number)){\n return this.months[i].name;\n }\n }\n return \"\";\n }\n\n openCertification(type, rrhh?, month?, year?){\n switch (type) {\n case 'certificado-laboral':\n this.usersService.getCertificate('certificado_laboral','',rrhh).subscribe((resp: any) => {\n let fileURL = URL.createObjectURL(resp);\n const checkDialog = this.dialog.open(FilesViewComponent, {\n data: { url: fileURL, name: 'certificado_laboral', file: resp, print: true}\n });\n });\n break;\n case 'desprendible-de-pago':\n this.paymentSlipService.getPayment(Number(month), year).subscribe((resp: any) => {\n let fileURL = URL.createObjectURL(resp);\n const checkDialog = this.dialog.open(FilesViewComponent, {\n data: { url: fileURL, name: \"desprendible_nomina\", file: resp ,print: true}\n });\n })\n break;\n }\n }\n\n deleteFile(row) {\n const modal = this.dialog.open( AttachmentDeleteFormComponent, {\n width: '50%',\n data: { file: row }\n });\n modal.afterClosed().subscribe(() => {\n this.getDocuments(OPTION_TO_FILTER.all);\n });\n }\n\n uploadTemplate() {\n const dialogRef = this.dialog.open( PersonalReferenceUpComponent, {\n width: '600px',\n });\n\n dialogRef.afterClosed().subscribe(result => { });\n }\n}\n\nconst OPTION_TO_FILTER = {\n document:1,\n actions:2,\n all:3\n}\n@Component({\n selector: 'create-sign',\n templateUrl: 'create-sign.html',\n styleUrls: ['./candidate-cv.component.sass']\n})\nexport class CreateSign {\n @ViewChild(SignaturePad) public signaturePad: SignaturePad;\n option:any\n signatureImg\n signaturePadOptions: Object = {\n 'minWidth': 1,\n 'canvasWidth': 200,\n 'canvasHeight': 163\n };\n constructor(private dialogRef: MatDialogRef) {}\n clear(){\n this.signaturePad.clear();\n }\n savePad(){\n const base64Data = this.signaturePad.toDataURL();\n this.signatureImg = base64Data;\n const url = this.signatureImg;\n fetch(url)\n .then(res => res.blob())\n .then(blob => {\n const file = new File([blob], \"firmaDigital\",{ type: \"image/png\" })\n this.dialogRef.close(file)\n })\n }\n}\n","
\n \n

Hoja de Vida del colaborador

\n

En este espacio podrás visualizar los detalles del candidato y completar su proceso de contratación.

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

Documentos suministrados por el candidato

\n
\n
\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
Acciones \n \n \n \n \n \n \n \n\n \n\n Tipo {{element.file}} Archivo cargado {{element.name}} Estado {{element.state}} Plantillas \n \n
\n\n
\n \n \n \n

Documentos suministrados por la operación

\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n \n \n \n \n\n \n \n
Acciones \n \n \n \n \n \n \n \n Tipo {{element.file}} Archivo cargado {{element.name}} Estado {{element.state}}
\n
\n \n \n \n

Documentos eliminados

\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n \n \n \n \n\n \n \n
Acciones \n\n\n \n\n \n\n \n\n Tipo {{element.type}} Archivo cargado {{element.name}} Estado Eliminado
\n
\n\n
\n
\n
\n\n \n
\n
\n

{{request.requestCode}} {{request.campaign}}

\n

{{request.createdAt | date}}

\n
\n
\n Solicitante\n

{{request.applicant}}

\n
\n
\n Cargo\n

{{request.position}}

\n
\n
\n
\n
\n \n Estado\n

{{state.state}}

\n
0 && state.see_comment\">\n Comentario\n
\n
\n
    \n
  • \n

    {{commentary.comment}}

    \n
  • \n
\n
\n
\n
\n Responsable    \n

{{state.responsable}}

\n
\n
\n Fecha    \n

{{state.createdAt | date}}

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

Exámenes médicos

\n
\n
\n \n Estado\n

{{test.status}}

\n
\n Prueba    \n

{{test.medicalTypeTest}}

\n
\n
\n Responsable    \n

{{test.responsable}}

\n
\n
\n Fecha    \n

{{test.created_at | date}}

\n
\n
\n
\n
\n

Reglas de Contratación

\n
\n
\n \n Estado\n

{{agreement.action.name}}

\n
\n Comentario\n

{{agreement.action.comment}}

\n
\n
\n Responsable    \n

{{agreement.responsable}}

\n
\n
\n Fecha    \n

{{agreement.created_at | date}}

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

Agendar Cita, credenciales y reglas de contratación

\n
\n
\n \n Seleccione la fecha y hora a asignar\n \n \n\n \n
\n \n Aplica sábado para pasivo
vacacional\n
\n \n \n \n \n
\n\n\n\n
\n

Generar Contrato, acuerdos y documentos

\n
\n

Recuerda que para poder generar El Contrato, todos los documentos deben estar completos y validados,\n al igual que todos los exámenes médicos aprobados y las reglas de contratación generadas.

\n \n\n \n\n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n\n \n \n \n \n\n \n \n
Acciones \n \n \n \n \n \n \n Por favor validar documento Truora.\n \n Tipo {{element.file}} Archivo cargado {{element.name}} Estado {{element.state}}
\n
\n
\n

Firmas

\n
\n \n\n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n\n \n \n \n \n\n \n \n
Acciones \n \n \n \n \n \n \n \n Tipo {{element.file}} Archivo cargado {{element.name}} Estado {{element.state}}
\n
\n\n\n
\n

Credenciales del colaborador

\n
\n
\n
\n
\n Nombre de usuario\n

{{candidate.username}}

\n
\n
\n Contraseña temporal\n

{{candidate.id_number}}

\n
\n
\n\n\n\n \n
\n\n\n
\n
\n\n
\n\n \n
\n
\n","\n

Firma

\n
\n\n

Trace su firma dentro del siguiente recuadro.

\n
\n \n
\n
\n\n \n \n \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\nimport {MatDatepickerModule} from '@angular/material/datepicker';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatRadioModule} from '@angular/material/radio';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatSliderModule} from '@angular/material/slider';\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatListModule} from '@angular/material/list';\nimport {MatGridListModule} from '@angular/material/grid-list';\nimport {MatCardModule} from '@angular/material/card';\nimport {MatStepperModule} from '@angular/material/stepper';\nimport {MatTabsModule} from '@angular/material/tabs';\nimport {MatExpansionModule} from '@angular/material/expansion';\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\nimport {MatChipsModule, MAT_CHIPS_DEFAULT_OPTIONS} from '@angular/material/chips';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\nimport {MatDialogModule} from '@angular/material/dialog';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatTableModule} from '@angular/material/table';\nimport {MatSortModule} from '@angular/material/sort';\nimport {MatPaginatorModule} from '@angular/material/paginator';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport {DragDropModule} from '@angular/cdk/drag-drop';\nimport {MatNativeDateModule} from '@angular/material/core';\nimport {MatDividerModule} from '@angular/material/divider';\nimport {MatBadgeModule} from '@angular/material/badge';\nimport { NgCircleProgressModule } from 'ng-circle-progress';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\n// import { MatMomentDateModule } from \"@angular/material-moment-adapter\";\nimport { SignaturePadModule } from 'angular2-signaturepad';\n//import {MatChipInputEvent} from '@angular/material/chips';\n//import {MatAutocompleteSelectedEvent} from '@angular/material/autocomplete';\nimport {MatChipInputEvent} from '@angular/material/chips';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { CKEditorModule } from '@ckeditor/ckeditor5-angular';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\n\n@NgModule({\n declarations: [],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule,\n FlexLayoutModule,\n MatCheckboxModule,\n MatButtonModule,\n MatInputModule,\n MatAutocompleteModule,\n MatDatepickerModule,\n MatFormFieldModule,\n MatRadioModule,\n MatSelectModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatMenuModule,\n MatSidenavModule,\n MatToolbarModule,\n MatListModule,\n MatGridListModule,\n MatCardModule,\n MatStepperModule,\n MatTabsModule,\n MatExpansionModule,\n MatButtonToggleModule,\n MatChipsModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatProgressBarModule,\n MatDialogModule,\n MatTooltipModule,\n MatSnackBarModule,\n MatTableModule,\n MatSortModule,\n MatPaginatorModule,\n LayoutModule,\n DragDropModule,\n MatNativeDateModule,\n MatDividerModule,\n MatBadgeModule,\n ScrollingModule,\n SignaturePadModule,\n NgCircleProgressModule.forRoot(),\n CKEditorModule,\n MatBottomSheetModule\n ],\n exports: [\n FormsModule,\n ReactiveFormsModule,\n FlexLayoutModule,\n MatCheckboxModule,\n MatButtonModule,\n MatInputModule,\n MatAutocompleteModule,\n MatDatepickerModule,\n MatFormFieldModule,\n MatRadioModule,\n MatSelectModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatMenuModule,\n MatSidenavModule,\n MatToolbarModule,\n MatListModule,\n MatGridListModule,\n MatCardModule,\n MatStepperModule,\n MatTabsModule,\n MatExpansionModule,\n MatButtonToggleModule,\n MatChipsModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MatProgressBarModule,\n MatDialogModule,\n MatTooltipModule,\n MatSnackBarModule,\n MatTableModule,\n MatSortModule,\n MatPaginatorModule,\n LayoutModule,\n DragDropModule,\n MatNativeDateModule,\n MatDividerModule,\n MatBadgeModule,\n SignaturePadModule,\n NgCircleProgressModule,\n CKEditorModule,\n MatBottomSheetModule\n\n ],\n providers: [\n {\n provide: MAT_CHIPS_DEFAULT_OPTIONS,\n useValue: {\n separatorKeyCodes: [ENTER, COMMA]\n }\n }\n ]\n})\nexport class MaterialModule { }\n","import { Component, OnInit, Inject, ViewChild } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { EscalationService } from '../../../services/rest/escalation.service';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport Swal from 'sweetalert2';\nimport { FormsRequestService } from '../../../services/rest/forms-request.service';\nimport html2canvas from \"html2canvas\";\nimport { jsPDF } from \"jspdf\";\nimport { ViewPlantillasComponent } from '../view-plantillas/view-plantillas.component';\n\n@Component({\n selector: 'app-view-escalation',\n templateUrl: './view-escalation.component.html',\n styleUrls: ['./view-escalation.component.sass']\n})\nexport class ViewEscalationComponent implements OnInit {\n\n formEscalamiento = new FormGroup({\n bodyHtml: new FormControl('Mensaje html', [])\n });\n estado: any;\n user: any;\n area: any;\n userDependence: any;\n resendDependence: any;\n otherEmailDependence: any;\n filteredOptionsUser: Observable;\n rol: string;\n sectionForm: any;\n pintar: boolean = false;\n userJson: any;\n isNewClient = false;\n adjuntosPqrs: any[] = [];\n length;\n pageSize = 5;\n page = 1;\n form = null;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n escalation = null;\n externalEmailContacts = [];\n displayedColumns: string[] = ['updated_at', 'observacion_user', 'observacion_estado', 'observacion'];\n dataSource = new MatTableDataSource();\n escalationTemp = null;\n customerSection = null;\n htmlTemplate = [];\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public escalationService: EscalationService,\n private authService: AuthService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n public dialogRef: MatDialogRef,\n private formsRequestService: FormsRequestService,\n private dialog: MatDialog,\n public dialogRefViewPlantillas: MatDialogRef) { }\n\n ngOnInit(): void {\n let user = this.authService.getUser();\n user.roles.forEach(rol => {\n let name = rol.split('::');\n if (name[0] === 'pqrs') {\n this.rol = name[1];\n }\n });\n\n this.getHistory(this.pageSize, this.page);\n this.escalationService.getEstado().subscribe((responseEsta) => {\n this.estado = responseEsta;\n });\n this.obtenerAdjuntos();\n this.getEscalation();\n }\n\n getEscalation(){\n this.escalationService.getEscalation(this.data.id).subscribe(res => {\n this.escalationTemp = res.pqrs[0];\n this.escalation = res.pqrs[0];\n this.externalEmailContacts = res.external_email_contacts;\n this.resendDependence = [{label: \"Reenviar\", idField: 5, options: this.externalEmailContacts.concat({id: 9999999, name: 'Otro'}), activators: [{id: 1, name: 'Sí'}]}];\n this.otherEmailDependence = [{label: \"Correo de destino\", idField: 6, options: [], activators: [{id: 9999999, name: 'Otro'}]}];\n this.formsRequestService.getData(`searchform/${this.escalation.form_id}`).subscribe(form => {\n this.form = form;\n\n if(this.rol != 'solucionador'){\n let section = this.form.sections;\n section.pop();\n this.form.sections = section;\n }\n this.escalationService.getAreaAndUsers(this.escalation.form_id, this.form.campaign_id).subscribe((respo) => {\n this.escalationService.getEmailsByExit().subscribe((dataEmails) => {\n this.area = respo.areas;\n this.userDependence = [];\n this.userJson = [{name: '', id: null}];\n this.area.forEach(element => {\n this.userJson = this.userJson.concat(element.users);\n this.userDependence.push({label: \"Reasignar\", idField: 2, options: [{name:'', id: null}].concat(element.users), activators: [{id: element.id, name: element.name}]});\n });\n this.htmlTemplate = dataEmails.emailTemplates;\n if(this.escalation.is_anonimous == 1) {\n this.customerSection = this.escalation.preguntas.sections.shift();\n this.form.sections.shift();\n }\n if ( this.escalation.preguntas) {\n for (let i = 0; i < this.form.sections.length; i ++) {\n this.escalation.preguntas.sections[i].fields.forEach((fieldQuestion) => {\n this.form.sections[i].fields.forEach(fieldForm => {\n if (fieldForm.preloaded) {\n if (fieldQuestion.id === fieldForm.id) {\n if (fieldForm.controlType === 'file'){\n fieldForm.nameFile = fieldQuestion.nameFile;\n fieldForm.idValue = fieldQuestion.idValue;\n if (fieldQuestion.value !== '') fieldForm.value = fieldQuestion.value;\n } else {\n fieldForm.value = fieldQuestion.value;\n }\n }\n }\n });\n });\n }\n this.escalation.preguntas.sections = this.form.sections;\n }else {\n this.isNewClient = true;\n this.escalation.preguntas = { sections: this.form.sections }\n }\n this.creationForm();\n })\n });\n });\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-17\n * Creacion del json de la seccion del formulario requerida obligatoriamente para cada campaña\n */\n creationForm(): void {\n this.sectionForm = {\n \"id\": null,\n \"fields\": [\n {\n \"id\": 1,\n \"see\": true,\n \"dependencies\":[],\n \"key\": \"estado\",\n \"cols\": 1,\n \"type\": \"options\",\n \"label\": \"Estado\",\n \"preloaded\": false,\n \"value\": this.escalation.estado_id,\n \"options\": this.estado,\n \"required\": false,\n \"isSon\": true,\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n 'administrador'\n ],\n \"maxLength\": 20,\n \"minLength\": 2,\n \"controlType\": \"dropdown\"\n },\n {\n \"id\": 2,\n \"see\": true,\n \"dependencies\":[],\n \"key\": \"reasignar\",\n \"cols\": 1,\n \"type\": \"options\",\n \"label\": \"Reasignar\",\n \"preloaded\": false,\n \"value\": 1,\n \"options\": this.area,\n \"required\": false,\n \"isSon\": true,\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n 'administrador'\n ],\n \"maxLength\": 20,\n \"minLength\": 2,\n \"controlType\": \"dropdown\"\n },\n {\n \"id\": 3,\n \"see\": true,\n \"dependencies\":this.userDependence,\n \"key\": \"responsable\",\n \"cols\": 2,\n \"type\": \"options\",\n \"label\": \"Responsable\",\n \"preloaded\": false,\n \"value\": this.escalation.p_q_r_s_solucionador.id,\n \"options\": this.userJson,\n \"required\": false,\n \"isSon\": true,\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n 'administrador'\n ],\n \"maxLength\": 20,\n \"minLength\": 2,\n \"controlType\": \"dropdown\"\n },\n {\n \"id\": 5,\n \"see\": true,\n \"dependencies\": [],\n \"key\": \"reenviar\",\n \"cols\": 1,\n \"type\": \"others\",\n \"label\": \"Reenviar\",\n \"preloaded\": false,\n \"value\": 2,\n \"options\": [{id: 2, name: 'No'}, {id: 1, name: 'Sí'}],\n \"required\": false,\n \"isSon\": true,\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n 'administrador'\n ],\n \"maxLength\": 20,\n \"minLength\": 2,\n \"controlType\": \"radiobutton\"\n },\n {\n \"id\": 6,\n \"see\": true,\n \"dependencies\": this.resendDependence,\n \"key\": \"correo_reenvio\",\n \"cols\": 2,\n \"type\": \"options\",\n \"label\": \"Correo de destino\",\n \"preloaded\": false,\n \"value\": null,\n \"options\": this.externalEmailContacts.concat({id: 9999999, name: 'Otro'}),\n \"required\": false,\n \"isSon\": true,\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n 'administrador'\n ],\n \"maxLength\": 100,\n \"minLength\": 2,\n \"controlType\": \"dropdown\"\n },\n {\n \"id\": 7,\n \"see\": true,\n \"dependencies\": this.otherEmailDependence,\n \"key\": \"correo_reenvio_otro\",\n \"cols\": 1,\n \"type\": \"text\",\n \"label\": \"Ingrese un correo\",\n \"preloaded\": false,\n \"value\": null,\n \"options\": [],\n \"required\": false,\n \"isSon\": true,\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n 'administrador'\n ],\n \"maxLength\": 100,\n \"minLength\": 2,\n \"controlType\": \"textbox\"\n },\n {\n \"id\": 4,\n \"see\": true,\n \"dependencies\":[],\n \"key\": \"respuestaCliente\",\n \"cols\": 4,\n \"type\": \"text\",\n \"label\": \"Observaciones\",\n \"preloaded\": false,\n \"value\": this.escalation.observacion,\n \"options\": [],\n \"required\": false,\n \"isSon\": true,\n \"seeRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n \"administrador\"\n ],\n \"editRoles\": [\n \"solucionador\",\n \"supervisor_esca\",\n 'administrador'\n ],\n \"maxLength\": 2000,\n \"minLength\": 2,\n \"controlType\": \"textarea\"\n }\n ],\n \"name_section\": \"Gestión Escalamientos\",\n \"type_section\": 1\n };\n if (this.escalation.preguntas) {\n this.escalation.preguntas.sections.push(this.sectionForm);\n }\n else {\n this.escalation[\"preguntas\"] = {sections: [this.sectionForm]};\n }\n this.pintar = true;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-17\n * Metodo que trae el historico de las pqrs\n * @param size tamaño de los datos a traer\n * @param page pagina a traer\n */\n getHistory(size: number, page: number): void {\n this.escalationService.getHistory(this.data.id, size, page).subscribe((respGrid) => {\n this.dataSource.data = respGrid.data;\n this.dataSource.sort = this.sort;\n this.length = respGrid.total;\n this.pageSize = respGrid.per_page;\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-17\n * Metodo que envia el formulario ya editado\n * @param event evento que trae desde el componente del formulario dinamico\n */\n sendForm(event: any): void{\n this.escalation.preguntas.sections.forEach((element, index) => {\n element.fields.forEach((elementInt) => {\n // tslint:disable-next-line: forin\n for ( const key in event.answer[index]) {\n if ( key === elementInt.key) {\n elementInt.value = event.answer[index][key];\n }\n }\n if(elementInt.id === this.form.client_unique[0].id){\n if(element.required === false){\n if ((elementInt.value === '' || elementInt.value === null) && elementInt.type === 'text'){\n elementInt.value = 'sin-identificador';\n }\n if ((elementInt.value === '' || elementInt.value === null) && elementInt.type === 'number'){\n elementInt.value = 999999999;\n }\n if ((elementInt.value === '' || elementInt.value === null) && elementInt.type === 'email'){\n elementInt.value = 'sin-identificador@mysoul.com';\n }\n }\n }\n });\n });\n const form = new FormData();\n form.append('form_id', String(this.form.id));\n form.append('client_unique', JSON.stringify(this.form['client_unique']));\n if (this.escalation.is_anonimous === 1) {\n event.sections.unshift(this.customerSection);\n form.append('sections', JSON.stringify(event.sections));\n } else {\n form.append('sections', JSON.stringify(event.sections));\n }\n event.files.forEach((element, index) => {\n form.append(element.id, element.file);\n });\n if(this.rol == 'solucionador'){\n const urlPqrs = this.escalation.form_answer_id ? `formanswer/update/${this.escalation.form_answer_id}` : 'formanswer/saveinfo';\n this.formsRequestService.postForm(urlPqrs, form).subscribe( res => {\n if(urlPqrs === 'formanswer/saveinfo'){\n this.escalation.form_answer_id = res.data.formAsnwerId;\n }\n const sectionFormEscalamientos = event.sections.filter(section => section.name_section === 'Gestión Escalamientos');\n const fieldEstado = sectionFormEscalamientos[0].fields.find(field => field.key === 'estado');\n const nameEstado = fieldEstado.options.find(option => option.id === fieldEstado.value);\n if (nameEstado.name === 'Cerrado') {\n const dialogPlantillas = this.dialog.open(ViewPlantillasComponent, {\n data: {\n id: this.data.id,\n escalamiento: this.escalation,\n plantillas: this.htmlTemplate\n },\n autoFocus: false\n });\n dialogPlantillas.afterClosed().subscribe(() => {\n this.dialogRef.close();\n });\n } else {\n if (event.answer[1].reenviar === 1) {\n this.alertsService.alertWarning('¿Estás seguro?', 'Ten en cuenta que una vez reenviado el correo, el estado del escalamiento se cerrará')\n .then(res => {\n if (res.isConfirmed) {\n const editForm = new FormData();\n editForm.append('solucionador_id', this.escalation.solucionador_id);\n editForm.append('estado_id', this.escalation.estado_id);\n editForm.append('preguntas', JSON.stringify(this.escalation.preguntas));\n editForm.append('form_answer_id', this.escalation.form_answer_id);\n this.escalationService.postFormEscalation(editForm, this.data.id).subscribe((respo) => {\n if (respo.length !== 0) {\n this.alertsService.alertSuccess('Editado', 'La pqrs fue editada correctamente');\n this.dialogRef.close();\n }\n });\n }\n })\n } else {\n const editForm = new FormData();\n editForm.append('solucionador_id', this.escalation.solucionador_id);\n editForm.append('estado_id', this.escalation.estado_id);\n editForm.append('preguntas', JSON.stringify(this.escalation.preguntas));\n editForm.append('form_answer_id', this.escalation.form_answer_id);\n this.escalationService.postFormEscalation(editForm, this.data.id).subscribe((respo) => {\n if (respo.length !== 0) {\n this.alertsService.alertSuccess('Editado', 'La pqrs fue editada correctamente');\n this.dialogRef.close();\n }\n });\n }\n }\n });\n }else{\n const sectionFormEscalamientos = event.sections.filter(section => section.name_section === 'Gestión Escalamientos');\n const fieldEstado = sectionFormEscalamientos[0].fields.find(field => field.key === 'estado');\n const nameEstado = fieldEstado.options.find(option => option.id === fieldEstado.value);\n if (nameEstado.name === 'Cerrado') {\n const dialogPlantillas = this.dialog.open(ViewPlantillasComponent, {\n data: {\n id: this.data.id,\n escalamiento: this.escalation,\n plantillas: this.htmlTemplate\n },\n autoFocus: false\n });\n dialogPlantillas.afterClosed().subscribe(() => {\n this.dialogRef.close();\n });\n } else {\n if (event.answer[0].reenviar === 1) {\n this.alertsService.alertWarning('¿Estás seguro?', 'Ten en cuenta que una vez reenviado el correo, el estado del escalamiento se cerrará')\n .then(res => {\n if (res.isConfirmed) {\n const editForm = new FormData();\n editForm.append('solucionador_id', this.escalation.solucionador_id);\n editForm.append('estado_id', this.escalation.estado_id);\n editForm.append('preguntas', JSON.stringify(this.escalation.preguntas));\n editForm.append('form_answer_id', this.escalation.form_answer_id);\n this.escalationService.postFormEscalation(editForm, this.data.id).subscribe((respo) => {\n if (respo.length !== 0) {\n this.alertsService.alertSuccess('Editado', 'La pqrs fue editada correctamente');\n this.dialogRef.close();\n }\n });\n }\n })\n } else {\n const editForm = new FormData();\n editForm.append('solucionador_id', this.escalation.solucionador_id);\n editForm.append('estado_id', this.escalation.estado_id);\n editForm.append('preguntas', JSON.stringify(this.escalation.preguntas));\n editForm.append('form_answer_id', this.escalation.form_answer_id);\n this.escalationService.postFormEscalation(editForm, this.data.id).subscribe((respo) => {\n if (respo.length !== 0) {\n this.alertsService.alertSuccess('Editado', 'La pqrs fue editada correctamente');\n this.dialogRef.close();\n }\n });\n }\n }\n }\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que se encarga del paginador al momento de cambiar de pagina\n * @param event evento que trae la pagina a listar\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getHistory(this.pageSize, this.page);\n }\n\n ngOnDestroy(): void {\n this.escalation.preguntas.sections.pop();\n this.pintar = false;\n this.destroyService.destroyComponent();\n }\n\n guardarAdjunto(e){\n let adjunto = e.target.files[0];\n let formData = new FormData();\n formData.append('adjunto', adjunto);\n formData.append('pqrs_id', this.data.id);\n formData.append('nombre_adjunto', adjunto.name);\n this.escalationService.savePqrsAttachment(formData).subscribe((resp) => {\n this.obtenerAdjuntos();\n }, error =>{\n Swal.fire('!Atención¡', \"Ha ocurrido un error al intentar guardar el adjunto\", \"error\");\n });\n\n }\n\n obtenerAdjuntos(){\n this.escalationService.getPqrsAttachments(this.data.id).subscribe((resp) => {\n this.adjuntosPqrs = resp.adjuntos;\n });\n }\n\n eliminarAdjunto(adjunto_id:any, ruta:any){\n this.escalationService.deletePqrsAttachment({id: adjunto_id, url: ruta}).subscribe((resp) => {\n this.obtenerAdjuntos();\n }, error =>{\n Swal.fire('!Atención¡', \"Ha ocurrido un error al intentar eliminar el adjunto\", \"error\");\n });\n }\n\n descargarAdjunto(route:any, nombre:any){\n this.escalationService.downloadEmailAttachment({url: route}).subscribe(resp => {\n importedSaveAs(resp, nombre);\n },\n error =>{\n Swal.fire('!Atención¡', \"Ha ocurrido un error al intentar descargar el adjunto\", \"error\");\n });\n }\n\n //printMail(){\n /* let pdf = new jsPDF('p','mm','a4', true);\n var width = pdf.internal.pageSize.getWidth();\n let componentHTML = document.getElementById(\"mail-scalation\").childNodes\n let encabezado = \"\"\n let newElementEnc = document.createElement(\"div\")\n let emailContent = document.createElement(\"div\")\n for (let i = 0; i < componentHTML.length; i++) {\n\n if(componentHTML[i].nodeName !== \"APP-MAIL-ESCALATION\" && componentHTML[i].nodeName !== \"#comment\" ){\n\n encabezado += componentHTML[i].textContent\n let elementTemp = document.createElement(componentHTML[i].nodeName.toLowerCase())\n elementTemp.innerHTML = componentHTML[i].textContent\n newElementEnc.appendChild(elementTemp)\n\n }else if (componentHTML[i].nodeName == \"APP-MAIL-ESCALATION\"){\n let detailEmail = document.getElementById(\"detail-mail\").childNodes\n let titulo = detailEmail[0].childNodes[0]\n let bodyEmail = detailEmail[0].childNodes[1].childNodes[0].childNodes\n\n console.log(\"*************\");\n console.log(\"Componente\", detailEmail[0] );\n console.log(\"Componente[0] \", titulo );\n console.log(\"Componente[1] \", bodyEmail );\n console.log(\"ComponenteType\", detailEmail[0].nodeType );\n console.log(\"ComponenteName\", detailEmail[0].nodeName );\n console.log(\"ComponenteValue\", detailEmail[0].nodeValue );\n console.log(\"*************\");\n\n } */\n\n\n\n\n //}\n\n /* newElementEnc.innerHTML = encabezado\n console.log(\"Creat HTML Element\", newElementEnc );\n console.log(\"Creat HTML Element\", newElementEnc.innerHTML );\n */\n /* console.log(\"Element\", document.querySelector(\"#mail-scalation\") );\n\n html2canvas(document.querySelector(\"#mail-scalation\"),{scale:3}).then(canvas => {\n let pdf = new jsPDF('p','mm','a4', true);\n var width = pdf.internal.pageSize.getWidth();\n var height = canvas.height * width / canvas.width;\n pdf.addImage(canvas.toDataURL('image/png'), 'PNG', 10, 10, width - 15, height - 15);\n pdf.save('Escalamiento.pdf')\n });\n\n } */\n printMail(){\n const data = document.getElementById('mail-scalation');\n html2canvas(data).then((canvas:any) => {\n const PAGE_MARGIN = 10\n const imgWidth = 208;\n const pageHeight = 295;\n const imgHeight = (canvas.height * imgWidth) / canvas.width;\n let heightLeft = imgHeight;\n let position = 0;\n heightLeft -= pageHeight;\n const doc = new jsPDF('p', 'mm', 'a4', true);\n doc.addImage(canvas, 'PNG', 0, position, imgWidth - 15 , imgHeight - 15 , '', 'FAST');\n while (heightLeft >= 0) {\n position = heightLeft - imgHeight;\n doc.addPage();\n doc.addImage(canvas, 'PNG', 0, position, imgWidth, imgHeight, '', 'FAST');\n heightLeft -= pageHeight;\n }\n doc.save('Escalamiento.pdf');\n });\n }\n\n\n}\n","

{{data.title}}\n \n

\n\n
\n
\n
\n

Radicado #{{data.id}}

\n
\n
\n \n \n
\n
\n
\n
Asunto: {{escalation?.p_q_r_s_asunto?.name}}
\n
\n
Estado: {{escalation?.p_q_r_s_estado?.name}}
\n
\n
Es Anónimo: {{ escalation.is_anonimous === 1 ? 'Si' : 'No' }}
\n \n
\n \n \n
\n
\n
\n

Adjuntar archivos

\n
\n
\n {{item.nombre}} \n \n \n
\n
\n \n
\n \n
\n
\n

Historial de Modificaciones

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Fecha Modificación {{row.updated_at | date:'shortDate'}} Usuario {{row.observacion_user?.name}} Estado {{row.observacion_estado?.name}} Observación {{row.observacion}}
No hay datos que coincidan con el filtro
\n \n \n \n
\n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport * as moment from 'moment';\nimport { MeetingsService } from '../../services/meetings.service';\n\n@Component({\n selector: 'app-history-details',\n templateUrl: './history-details.component.html',\n styleUrls: ['./history-details.component.sass']\n})\nexport class HistoryDetailsComponent implements OnInit {\n\n roomInfo: any;\n constructor(\n private videcallservice: MeetingsService,\n @Inject(MAT_DIALOG_DATA) public dialog_data: any,\n ) {}\n\n ngOnInit(): void {\n this.getInfoRoom(this.dialog_data.id)\n }\n\n /**\n * Metodo trae toda la informacion para mostrar\n * @author Yeison David Sepulveda Ospina\n * @createdate 06-12-2024\n * @returns void {void}\n */\n getInfoRoom(id) {\n this.videcallservice.getVideoCallById(id).subscribe(\n (res) => {\n const startDate = res.start_date ? moment(res.start_date) : null;\n const endDate = res.end_date ? moment(res.end_date) : null;\n const duration = startDate && endDate ? moment.utc(endDate.diff(startDate)).format('HH:mm:ss') : \"No disponible\";\n\n const participantsNames = [\n res.client_name,\n res.advisers.name_adviser\n ].join(', ');\n\n this.roomInfo = {\n client_nic: res.client_nic,\n client_name: res.client_name,\n scheduled_date: moment(res.scheduled_date).format('DD/MM/YYYY'),\n scheduled_time: moment(res.scheduled_date).format('HH:mm'),\n state_name: res.state.name,\n duration: duration,\n participantsNames: participantsNames,\n adviser_id: res.advisers.id,\n adviser_name: res.advisers.name_adviser,\n attended_by_agent_id: res.advisers.id,\n attended_by_agent_name: res.advisers.name_adviser,\n files: res.linksFiles.map(file => ({\n name: file.name,\n url: file.fullPath\n })),\n linkRecording: res.linkRecording\n };\n },\n (error) => {\n console.error('Error al obtener la información', error);\n }\n );\n }\n\n\n\n}\n","
\n
\n

Detalles de la Videollamada

\n
\n
\n \n
\n
\n\n\n \n
\n \n NIC Cliente\n \n \n\n \n Nombre Cliente\n \n \n\n \n Agenda Programada\n \n \n\n \n Hora Programada\n \n \n\n \n Estado de la Agenda\n \n \n\n \n Duración de la Sesión\n \n \n
\n\n \n
\n \n Participantes\n \n \n
\n\n \n
\n \n ID Agente Asignado\n \n \n\n \n Nombre Agente Asignado\n \n \n\n \n ID Agente que Atendió\n \n \n\n \n Nombre Agente que Atendió\n \n \n
\n\n \n
\n
\n

Documentos Adjuntos:

\n
0; else noFiles\">\n
\n

\n {{ file.name }}\n \n \n \n

\n
\n
\n \n

No hay documentos adjuntos disponibles.

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

Grabación de la sesión:

\n \n \n

No hay grabación disponible.

\n
\n
\n
\n
\n\n\n \n\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, ViewChild, Output } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport * as moment from 'moment';\nimport { Subscription } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nimport { TimePipe } from 'src/app/modules/auditoria/pipes/time.pipe';\nimport { AuditoriaService } from 'src/app/modules/auditoria/services/auditoria.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\nimport Swal from 'sweetalert2';\nimport { FormInteligenciaComponent } from '../detalle-auditoria/components/form-inteligencia/form-inteligencia.component';\nimport { CalificacionAuditoriaComponent } from '../calificacion-auditoria/calificacion-auditoria.component';\n\n@Component({\n selector: 'app-form-auditar',\n templateUrl: './form-auditar.component.html',\n styleUrls: ['./form-auditar.component.sass']\n})\nexport class FormAuditarComponent implements OnInit, OnDestroy {\n\n @Input() tiene_inteligencia;\n @Input() dataCalificacion: any = {};\n @Input() id_matriz;\n @Input() isRetentionMatrix: number = 0;\n @Input() showFieldDuration: number = 0;\n @Output() envioTipoAuditar = new EventEmitter();\n @Output() envioTab = new EventEmitter();\n @ViewChild(CalificacionAuditoriaComponent) calificacionFrm;\n\n auditarForm: FormGroup;\n cedula: string = \"\";\n tiempo = '';\n id_asesor;\n id_tipificacion;\n //Selects\n monitoreos = [];\n servicios = [];\n auditorias = [];\n soluciones = [];\n\n campanas = [];\n aliados = [];\n tipificaciones = [];\n subtipificaciones = [];\n skills = [];\n\n tiendas = [];\n tipos = [];\n segmentos = [];\n subtipos_pqr = [];\n\n\n puntajes: string = \"\";\n\n\n ojts = [];\n no_soluciones = [];\n dias = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n anos = [2021, 2022, 2023, 2024, 2025];\n meses = [];\n endDate = new Date();\n\n //Observable para los cambios en los servicios de auditoria\n subscription: Subscription;\n\n constructor(\n private dialog: MatDialog,\n private auditoriaService: AuditoriaService,\n private fb: FormBuilder,\n private router: Router,\n private pipeTime: TimePipe,\n ) { }\n\n ngOnInit(): void {\n this.getSelects();\n this.createForm();\n this.auditarForm.get('duracion_grabacion').valueChanges.subscribe(value => {\n let is_number = Number.parseInt(value);\n if (Number.isInteger(is_number)) {\n this.tiempo = this.pipeTime.transform(value);\n } else {\n this.tiempo = value;\n }\n });\n this.subscription = this.auditoriaService.refresh$.subscribe(() => {\n this.dataCalificacion.modulos = [];\n });\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n saveForm() {\n\n let num_items = 0;\n let num_items_calificados = 0;\n this.dataCalificacion.modulos.forEach(modulo => {\n // num_items = num_items + modulo.items_modulo.length\n modulo.items_modulo.forEach(item => {\n if (item.activo == 1) {\n num_items++;\n }\n if (item.calificacion || item.calificacion === null) {\n num_items_calificados++\n }\n });\n });\n\n if (num_items == 0 || num_items != num_items_calificados) {\n Swal.fire({\n icon: 'warning',\n title: 'Aun te falta calificar módulos.',\n confirmButtonText: 'Entendido',\n width: '750px',\n });\n return;\n }\n //this.changeSelect();\n\n //this.auditarForm.invalid=true;\n if (this.auditarForm.invalid === true) {\n Swal.fire({\n icon: 'warning',\n title: 'Por favor completar los datos del formulario.',\n confirmButtonText: 'Entendido',\n width: '750px',\n });\n return;\n }\n\n\n //validar observaciones\n let errores = false;\n let mjs = \"\";\n\n this.dataCalificacion.modulos.forEach((modulo, index) => {\n\n modulo.items_modulo.forEach(item => {\n\n let obs = item.padre_id + '_' + item.id + '_obj'; // OBJ\n let txt = item.padre_id + '_' + item.id + '_txt'; // OBJ\n let observacion = document.getElementById(obs) as HTMLInputElement;\n let texto = document.getElementById(txt) as HTMLInputElement;\n\n let required = observacion.getAttribute(\"required\");\n let text = texto.outerHTML;\n\n\n if (required && !observacion.value) {\n errores = true;\n text = text.replace(\"display\", \"displays\");\n mjs = mjs + text + '
';\n }\n\n\n });\n });\n\n if (errores) {\n Swal.fire({\n icon: 'warning',\n title: 'Por favor ingresar las observaciones.',\n html: mjs,\n confirmButtonText: 'Entendido'\n });\n return false;\n }\n\n\n\n this.auditarForm.enable();\n let puntajes = document.getElementById('puntajes') as HTMLInputElement;\n this.puntajes = puntajes.value;\n this.auditarForm.get('fecha').setValue(moment(this.auditarForm.get('fecha').value).format('yyyy-MM-DD'))\n Object.assign(this.auditarForm.value, {\n total_calificacion: this.dataCalificacion.calificacion,\n id_asesor: this.id_asesor,\n })\n const data = {\n inteligencia_id: this.tiene_inteligencia,\n formAsesor: [this.auditarForm.value],\n matriz_id: this.id_matriz,\n puntajes: this.puntajes,\n seleccionItemsAfectacion: [],\n mensaje: 'Tiene una nueva auditoría con ID-',\n ruta: '/mios/auditoria/mis-auditorias',\n }\n\n this.dataCalificacion.modulos.forEach((modulo, index) => {\n data.seleccionItemsAfectacion.push({\n modulo_id: modulo.id,\n padre_id: modulo.padre_id,\n nivel: modulo.nivel,\n puntaje: \"\",\n itemsAfectados: [],\n })\n\n\n\n\n modulo.items_modulo.forEach(item => {\n\n let obs = item.padre_id + '_' + item.id + '_obj'; // OBJ\n let observacion = document.getElementById(obs) as HTMLInputElement;\n\n\n data.seleccionItemsAfectacion[index].itemsAfectados.push({\n item_id: item.id,\n padreitem: item.padre_id,\n nivelItem: item.nivel,\n calificacion: item.calificacion,\n puntaje: item.puntaje,\n observacion: observacion.value\n });\n item.sub_items.forEach(subItem => {\n data.seleccionItemsAfectacion[index].itemsAfectados.push({\n item_id: subItem.id,\n padreitem: subItem.padre_id,\n nivelItem: subItem.nivel,\n calificacion: subItem.calificacion === undefined ? '0' : subItem.calificacion,\n puntaje: subItem.puntaje === undefined ? '0' : subItem.puntaje\n });\n });\n });\n });\n if (this.tiene_inteligencia) {\n this.openFormInteligencia(data);\n } else {\n this.auditoriaService.createAuditoria(data).subscribe((resp: any) => {\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess('¡Excelente!', 'La matriz ha sido auditada con éxito');\n this.tiempo = '';\n this.auditarForm.get('duracion_grabacion').valueChanges.subscribe();\n this.ngOnInit();\n this.cancelar();\n this.envioTab.emit(1);\n } else if (resp.respuesta.codigo != 202) {\n //this.auditarForm.get('nombre_asesor').disable();\n //this.changeSelect();\n Tools.swalError('¡Oops!', 'Lo sentimos, ha ocurrido un error inesperado y no fue posible auditar la matriz, por favor intenta nuevamente.');\n }\n });\n }\n }\n\n cancelar() {\n //this.auditarForm.reset();\n this.auditarForm.get('tipo_campana').setErrors(null);\n this.auditarForm.get('aliado').setErrors(null);\n this.auditarForm.get('nombre_asesor').setErrors(null);\n this.auditarForm.get('etiqueta').setErrors(null);\n this.auditarForm.get('fecha').setErrors(null);\n this.auditarForm.get('telefono').setErrors(null);\n this.auditarForm.get('duracion_grabacion').setErrors(null);\n this.auditarForm.get('skills').setErrors(null);\n this.auditarForm.get('tipificacion').setErrors(null);\n this.auditarForm.get('sub_tipificacion').setErrors(null);\n this.auditarForm.get('observacion').setErrors(null);\n\n this.auditarForm.get('nur').setErrors(null);\n this.auditarForm.get('tienda').setErrors(null);\n this.auditarForm.get('tipo').setErrors(null);\n this.auditarForm.get('segmento').setErrors(null);\n this.auditarForm.get('subtipo_pqr').setErrors(null);\n this.auditarForm.get('login').setErrors(null);\n this.auditarForm.get('usuario').setErrors(null);\n }\n\n createForm() {\n this.auditarForm = this.fb.group({\n tipo_campana: ['', Validators.required],\n aliado: [''],\n nombre_asesor: ['', Validators.required],\n etiqueta: ['N/A', Validators.required],\n fecha: ['', Validators.required],\n ano: ['', Validators.required],\n mes: ['', Validators.required],\n telefono: ['', [Validators.required, Validators.max(9999999999)]],\n hora: [''],\n duracion_grabacion: [this.tiempo, [Validators.pattern('[0-9]?[0-9]:[0-9][0-9]:[0-9][0-9]')]],\n skills: [''],\n tipificacion: [''],\n sub_tipificacion: [''],\n observacion: ['', Validators.required],\n nur: [''],\n tienda: [''],\n tipo: [''],\n segmento: [''],\n subtipo_pqr: [''],\n login: [''],\n usuario: [''],\n is_retencion: [''], \n voz_cliente: ['N/A'],\n });\n }\n\n\n cargar_sub_tipificacion() {\n let idt: string = this.auditarForm.get('tipificacion').value;\n this.auditoriaService.get_subtipificacion(idt).subscribe((resp: any) => {\n this.subtipificaciones = resp\n });\n }\n\n\n\n getSelects() {\n\n\n this.auditoriaService.get_tipo_campana().subscribe((resp: any) => {\n this.campanas = resp\n });\n\n this.auditoriaService.get_aliado().subscribe((resp: any) => {\n this.aliados = resp\n });\n this.auditoriaService.get_skills().subscribe((resp: any) => {\n this.skills = resp\n });\n\n this.auditoriaService.get_tipificacion().subscribe((resp: any) => {\n this.tipificaciones = resp\n });\n\n this.auditoriaService.get_tiendas().subscribe((resp: any) => {\n this.tiendas = resp\n });\n\n this.auditoriaService.get_tipos().subscribe((resp: any) => {\n this.tipos = resp\n });\n\n this.auditoriaService.get_segmentos().subscribe((resp: any) => {\n this.segmentos = resp\n });\n\n this.auditoriaService.get_subtipos_pqr().subscribe((resp: any) => {\n this.subtipos_pqr = resp\n });\n\n this.auditoriaService.get_mes().subscribe((resp: any) => {\n this.meses = resp\n });\n\n\n\n\n /*this.auditoriaService.getTypeMonitoring().subscribe((resp: any) => {\n this.monitoreos = resp\n this.monitoreos.sort(function (a, b) {\n if (a.nombre > b.nombre) {\n return 1;\n }\n if (a.nombre < b.nombre) {\n return -1;\n }\n return 0;\n })\n });\n this.auditoriaService.getTypeService().subscribe((resp: any) => {\n this.servicios = resp\n this.servicios.sort(function (a, b) {\n if (a.nombre > b.nombre) {\n return 1;\n }\n if (a.nombre < b.nombre) {\n return -1;\n }\n return 0;\n })\n });\n this.auditoriaService.getTypeAudit().subscribe((resp: any) => {\n this.auditorias = resp\n this.auditorias.sort(function (a, b) {\n if (a.nombre > b.nombre) {\n return 1;\n }\n if (a.nombre < b.nombre) {\n return -1;\n }\n return 0;\n })\n });\n this.auditoriaService.getTypeSolution().subscribe((resp: any) => {\n this.soluciones = resp\n });\n this.auditoriaService.getTypegetOjt().subscribe((resp: any) => {\n this.ojts = resp\n });\n this.auditoriaService.getNoSolucion().subscribe((resp: any) => {\n this.no_soluciones = resp\n this.no_soluciones.sort(function (a, b) {\n if (a.nombre > b.nombre) {\n return 1;\n }\n if (a.nombre < b.nombre) {\n return -1;\n }\n return 0;\n })\n });*/\n }\n\n\n\n\n\n\n /**\n * Metodo que consulta el nombre y id del asesor de la auditoria\n * @author Juan David Guerrero Vargas\n * @create_date 14/06/2022 \n * @param type:string tipo de documento a buscar [asesor-boss]\n * @return void \n */\n getAsesor(type: string): void {\n let cedula: string = \"\";\n if (type === 'asesor') {\n cedula = this.auditarForm.get('cedula_asesor').value\n } else if (type === 'boss') {\n cedula = this.auditarForm.get('doc_boss').value\n }\n this.auditoriaService.getAsesor(cedula).subscribe((resp: any) => {\n if (type === 'asesor') {\n this.id_asesor = resp[0].id;\n this.auditarForm.get('nombre_asesor').setValue(resp[0].nombre)\n this.auditarForm.get('cedula_asesor').setErrors(null);\n } else if (type === 'boss') {\n this.auditarForm.get('name_boss').setValue(resp[0].nombre)\n this.auditarForm.get('doc_boss').setErrors(null);\n }\n\n }, () => {\n this.auditarForm.get('nombre_asesor').setValue('');\n this.auditarForm.get('cedula_asesor').setErrors({ no_resultado: true });\n }\n );\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n activar_form() {\n this.auditarForm.get('tipo_campana').enable();\n this.auditarForm.get('aliado').enable();\n this.auditarForm.get('nombre_asesor').enable();\n this.auditarForm.get('nur').enable();\n this.auditarForm.get('tienda').enable();\n this.auditarForm.get('tipo').enable();\n this.auditarForm.get('segmento').enable();\n this.auditarForm.get('subtipo_pqr').enable();\n\n this.auditarForm.get('etiqueta').enable();\n this.auditarForm.get('llamada').enable();\n this.auditarForm.get('telefono').enable();\n this.auditarForm.get('grabacion').enable();\n\n this.auditarForm.get('skills').enable();\n this.auditarForm.get('tipificacion').enable();\n this.auditarForm.get('sub_tipificacion').enable();\n\n this.auditarForm.get('tipificacion').enable();\n this.auditarForm.get('sub_tipificacion').enable();\n }\n\n limpiar_errores_form() {\n this.auditarForm.get('tipo_campana').setErrors(null);\n this.auditarForm.get('aliado').setErrors(null);\n this.auditarForm.get('nombre_asesor').setErrors(null);\n this.auditarForm.get('nur').setErrors(null);\n this.auditarForm.get('tienda').setErrors(null);\n this.auditarForm.get('tipo').setErrors(null);\n this.auditarForm.get('segmento').setErrors(null);\n this.auditarForm.get('subtipo_pqr').setErrors(null);\n\n this.auditarForm.get('etiqueta').setErrors(null);\n this.auditarForm.get('llamada').setErrors(null);\n this.auditarForm.get('telefono').setErrors(null);\n this.auditarForm.get('grabacion').setErrors(null);\n\n this.auditarForm.get('skills').setErrors(null);\n this.auditarForm.get('tipificacion').setErrors(null);\n this.auditarForm.get('sub_tipificacion').setErrors(null);\n }\n\n\n\n\n\n\n changeSelect() {\n let valor_campana = this.auditarForm.get('tipo_campana').value;\n /*this.limpiar_errores_form();\n this.activar_form();\n\n\n switch (valor_campana) {\n case 9: // MONITOREO CHAT HOGARES\n this.auditarForm.get('nur').disable();\n this.auditarForm.get('tienda').disable();\t\n this.auditarForm.get('tipo').disable();\n this.auditarForm.get('segmento').disable();\n this.auditarForm.get('segmento').disable();\n break;\n\n case 10: //MONITOREO CHAT MOVIL\n this.auditarForm.get('nur').disable();\n this.auditarForm.get('tienda').disable();\t\n this.auditarForm.get('tipo').disable();\n this.auditarForm.get('segmento').disable();\n this.auditarForm.get('segmento').disable();\n break;\n\n case 11: // MONITOREO HOGARES\n this.auditarForm.get('nur').disable();\n this.auditarForm.get('tienda').disable();\t\n this.auditarForm.get('tipo').disable();\n this.auditarForm.get('segmento').disable();\n this.auditarForm.get('segmento').disable();\n break;\n\n case 12: // MONITOREO MÓVILES\n this.auditarForm.get('nur').disable();\n this.auditarForm.get('tienda').disable();\t\n this.auditarForm.get('tipo').disable();\n this.auditarForm.get('segmento').disable();\n this.auditarForm.get('segmento').disable();\n break;\n\n case 13: // MONITOREO PQRS\n this.auditarForm.get('nur').disable();\n this.auditarForm.get('tienda').disable();\t\n this.auditarForm.get('tipo').disable();\n this.auditarForm.get('segmento').disable();\n this.auditarForm.get('segmento').disable();\n break;\n\n case 14: //MONITOREO PRESENCIAL\n this.auditarForm.get('nur').disable();\n this.auditarForm.get('tienda').disable();\t\n this.auditarForm.get('tipo').disable();\n this.auditarForm.get('segmento').disable();\n this.auditarForm.get('segmento').disable();\n break;\n\n case 15: //MONITOREO REDES SOCIALES\n this.auditarForm.get('nur').disable();\n this.auditarForm.get('tienda').disable();\t\n this.auditarForm.get('tipo').disable();\n this.auditarForm.get('segmento').disable();\n this.auditarForm.get('segmento').disable();\n break;\n\n case 16: //MONITOREO RETENCIÓN \n this.auditarForm.get('nur').disable();\n this.auditarForm.get('tienda').disable();\t\n this.auditarForm.get('tipo').disable();\n this.auditarForm.get('segmento').disable();\n this.auditarForm.get('segmento').disable();\n break;\n\n case 17: // MONITOREO SOPORTE MOVILES\n this.auditarForm.get('nur').disable();\n this.auditarForm.get('tienda').disable();\t\n this.auditarForm.get('tipo').disable();\n this.auditarForm.get('segmento').disable();\n this.auditarForm.get('segmento').disable();\n break;\n\n case 18: //MONITOREO TRAZABILIDAD\n this.auditarForm.get('nur').disable();\n this.auditarForm.get('tienda').disable();\t\n this.auditarForm.get('tipo').disable();\n this.auditarForm.get('segmento').disable();\n this.auditarForm.get('segmento').disable();\n break;\n }\n\n */\n\n\n }\n\n openFormInteligencia(data) {\n const inteligenciaRef = this.dialog.open(FormInteligenciaComponent, {\n width: '840px',\n disableClose: true,\n data: data,\n });\n inteligenciaRef.afterClosed().subscribe((result) => {\n this.auditarForm.get('nombre_asesor').disable();\n if (result == 202) {\n this.tiempo = '';\n this.auditarForm.get('duracion_grabacion').valueChanges.subscribe();\n this.ngOnInit();\n this.auditarForm.reset();\n this.envioTab.emit(1);\n }\n })\n }\n\n auditorio() {\n if (this.auditarForm.get('tipo_auditoria').value == 15) {\n this.envioTipoAuditar.emit({ interna: 1, cliente: 0 })\n } else if (this.auditarForm.get('tipo_auditoria').value == 16) {\n this.envioTipoAuditar.emit({ interna: 0, cliente: 1 })\n }\n }\n\n}\n","
\n \n \n Campaña\n \n {{campana.nombre}}\n \n Por favor seleccione una\n opción.\n \n \n Aliado\n \n {{aliado.nombre}}\n \n Por favor seleccione una opción.\n \n \n Nombre del asesor\n \n Por favor ingrese el nombre del\n asesor.\n \n \n Etiqueta\n \n Por favor ingresa una etiqueta.\n \n \n Fecha llamada Auditada\n \n \n \n \n \n Por favor ingresa una fecha.\n \n \n Número teléfono Auditado\n \n Por favor ingresa un número de\n teléfono.\n El telélefono solo puede tener maximo 10\n dígitos.\n \n \n Hora contacto asesor cliente\n \n Por favor ingresa una hora de\n contacto.\n \n \n Duración grabación\n \n \n Por favor ingresa el tiempo de la\n grabación.\n Solo se permiten valores númericos\n con el formato 59:59:59\n \n \n Skills\n \n {{skill.nombre}}\n \n Por favor seleccione una opción.\n \n \n Tipificación\n \n {{tipificacion.nombre}}\n \n Por favor seleccione una\n opción.\n \n \n Sub tipificación\n \n {{sub_tipificacion.nombre}}\n \n Por favor seleccione una\n opción.\n \n \n Login\n \n Por favor ingresa login.\n \n \n Usuario\n \n Por favor ingresa usuario.\n \n \n Número de Radicado(Incidencia y CUN)\n \n Por favor ingrese el NUR.\n \n \n Tienda\n \n {{tienda.nombre}}\n \n Por favor seleccione una opción.\n \n \n Tipo\n \n {{tipo.nombre}}\n \n Por favor seleccione una opción.\n \n \n Subtipo PQRS\n \n {{subtipo_pqr.nombre}}\n \n Por favor seleccione una\n opción.\n \n \n Segmento\n \n {{segmento.nombre}}\n \n Por favor seleccione una opción.\n \n \n Año\n \n {{ano}}\n \n Por favor seleccione una opción.\n \n \n Mes\n \n {{mes.nombre}}\n \n Por favor seleccione una opción.\n \n \n ¿Es una retención?\n \n No\n Si\n \n \n \n Observaciones\n \n Por favor ingrese una\n observación.\n \n \n Voz cliente\n \n \n
","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { SableComponent } from './sable.component';\nimport { GestorComponent } from './modules/gestor_descarga/gestor.component';\nimport { CrearComponent } from './modules/crear_descarga/crear.component';\nimport { AdminServersComponent } from './modules/admin-servers/admin-servers.component';\nimport { ComandosPageComponent } from './modules/comandos-page/comandos-page.component';\nimport { RecordsComponent } from './modules/records/records.component';\nimport { VideoRecordsComponent } from './modules/records/video-records/video-records.component';\nimport { UsersAssignCampaingComponent } from './modules/users-assign-campaing/users-assign-campaing.component';\n\nconst routes: Routes = [\n { path: '', component: SableComponent },\n { path: 'gestor_descarga', component: GestorComponent },\n { path: 'crear_descarga', component: CrearComponent },\n { path: 'admin_servers', component: AdminServersComponent },\n { path: 'commands', component: ComandosPageComponent },\n { path: 'grabaciones', component: RecordsComponent },\n { path: 'video-grabaciones', component: VideoRecordsComponent },\n { path: 'user-assign-campaing', component: UsersAssignCampaingComponent }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class SableRoutingModule {\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'assessmentResults'\n})\nexport class AssessmentResultsPipe implements PipeTransform {\n\n transform(value: unknown, ...args: unknown[]): unknown {\n let object = results.find(e=>{return e.key === String(value)})\n return object? object.name : 'Pendiente';\n }\n\n}\nconst results=[{key:'0', name: '0. No se evidencia la competencia.'}, {key:'1', name: '1. Se evidencia parcialmente la competencia'}, {key:'2', name: '2. Se evidencia una competencia desarrollada.'}]","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/auditoria/services/matriz.service';\nimport { Tools } from 'src/app/modules/auditoria/utils/tools.utils';\n\n@Component({\n selector: 'app-editar-item',\n templateUrl: './editar-item.component.html',\n styleUrls: ['./editar-item.component.sass']\n})\nexport class EditarItemComponent implements OnInit {\n itemForm:FormGroup;\n items = [];\n filteredOptions: Observable;\n verError:boolean = true;\n continue:boolean = true;\n nuevo:boolean = false;\n peso:boolean = false;\n descripcion:boolean = true;\n constructor(\n public itemRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private fb:FormBuilder,\n private matrizService:MatrizService,\n ) { }\n\n ngOnInit(): void {\n this.createForm();\n this.getItemById();\n }\n\n createForm(){\n this.itemForm = this.fb.group({\n nombre:['',Validators.required],\n descripcion:[''],\n })\n }\n\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.items.filter(option => option.nombre.toLowerCase().includes(filterValue));\n }\n\n displayFn(module: any): string {\n return module && module ? module : '';\n }\n\n getItems(){\n this.matrizService.getItems(this.itemForm.get('nombre').value).subscribe((resp:any)=>{\n if (resp.length == 0) {\n this.verError = true\n this.itemForm.get('nombre').setErrors({invalid:true});\n this.nuevo = true;\n this.peso = false;\n this.descripcion = false;\n this.continue = false;\n }else{\n this.newItem();\n this.items = resp\n this.filteredOptions = this.itemForm.get('nombre').valueChanges.pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n }\n })\n }\n\n newItem(){\n this.nuevo = false;\n this.itemForm.get('nombre').setErrors(null);\n if (this.datos.tipo_matriz == \"Cumplimiento\") {\n this.peso = false\n this.itemForm.get('peso').setValue(null);\n this.itemForm.get('peso').setErrors(null);\n }else{\n if (this.datos.tipo_peso == 'Peso en Items') {\n if (this.datos.error_critico) {\n this.peso = false;\n } else {\n this.peso = true;\n }\n }else{\n this.peso = false;\n }\n }\n this.descripcion = true;\n this.continue = true;\n }\n\n getItemById(){\n this.matrizService.getModuleById(this.datos.id_item).subscribe((resp:any)=>{\n this.itemForm.setValue({\n nombre: resp.nombre,\n peso: resp.peso,\n descripcion: resp.descripcion,\n });\n if (this.datos.tipo_peso == 'Peso en Items') {\n if (this.datos.error_critico) {\n this.peso = false;\n } else {\n this.peso = true;\n }\n }else{\n this.peso = false\n this.itemForm.get('peso').setValue(null);\n this.itemForm.get('peso').setErrors(null);\n }\n });\n }\n\n updateItem(){\n if (this.itemForm.invalid) {\n //return\n }\n const data = {\n idModulo: this.datos.id_item\n }\n Object.assign(data,this.itemForm.value);\n this.matrizService.updateItem(data).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) { \n Tools.swalSuccess('¡Excelente!','Se ha actualizado el item correctamente.');\n this.itemRef.close();\n }\n },(err:any)=>{\n }\n );\n }\n\n}\n","\n
\n

Editar ítem

\n \n \n Nombre\n \n \n \n \n {{option.nombre}}\n \n \n No se encontraron coincidencias con el nombre que acabas de ingresar\n Por favor ingresa un nombre.\n \n \n \n Peso\n \n Por favor ingresa un número de peso.\n \n \n Descripción\n \n \n\n
\n \n \n
\n
","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { EMPTY } from 'rxjs';\nimport { map, mergeMap, catchError } from 'rxjs/operators';\nimport { CoachingService } from '../../services/coaching.service';\n\n@Injectable()\nexport class AcompañamientoEffects {\n \n loadAuditorias$ = createEffect(() => this.actions$.pipe(\n ofType('[Acompañamiento] Load acompañamientos'),\n mergeMap((params) => this.coachingSerivce.getAcompanamientos(params)\n .pipe(\n map((acompañamientos:any) => ( { type: '[Acompañamientos] Loaded acompañamientos', acompañamientos }))\n ))\n )\n );\n \n constructor(\n private actions$: Actions,\n private coachingSerivce:CoachingService,\n ) {}\n}","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { Observable } from 'rxjs';\n\nconst CRM_URL = environment.CRM2_URL;\nconst CIU_URL = environment.CIU_URL;\nconst CRM_NSDP_URL = environment.CRM_NSDP;\n\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class FormsRequestService {\n\n // private URL = environment.local_URL\n constructor(private http: HttpClient, private AuthService:AuthService) { }\n\n\n getForm(direction, size, page){\n if (size === 0 || page === 0) {\n return this.http.get(`${CRM_URL}${direction}`);\n } else {\n return this.http.get(`${CRM_URL}${direction}?n=${size}&page=${page}`);\n }\n }\n postForm(direction, form){\n return this.http.post(`${CRM_URL}${direction}/`, form);\n }\n\n postForm1(direction, form){\n return this.http.post(`${CRM_URL}${direction}`, form);\n }\n putForm(direction, form){\n return this.http.put(`${CRM_URL}${direction}/`, form);\n }\n getRols(direction){\n return this.http.get(`${CIU_URL}${direction}/`);\n }\n\n\n getHistory(id){\n return this.http.get(`${CRM_URL}formanswer/historic/${id}`);\n }\n\n getPageHistory(url){\n return this.http.get(`${url}`);\n }\n\n getFormByUser(direction, id, size, page){\n return this.http.get(`${CRM_URL}${direction}${id}?n=${size}&page=${page}`);\n }\n\n postReport(obj){\n return this.http.post(`${CRM_URL}report`, obj, {responseType: 'blob' as 'json'});\n }\n\n\n\n updateInfo(form, id){\n return this.http.post(`${CRM_URL}formanswer/update/${id}`, form);\n }\n\n getPrechargeField(id) {\n return this.http.get(`${CRM_URL}searchPrechargeFields/${id}`)\n }\n\n getPlantilla(parameters){\n return this.http.get(`${CRM_URL}form/dowload/${parameters}`,{responseType: 'blob' as 'json'});\n }\n\n getAssignations(formId) {\n return this.http.get(`${CRM_URL}tray/assignedClients/${formId}`)\n }\n\n getData(endpoint){\n return this.http.get(`${CRM_URL}${endpoint}`);\n }\n\n addSection(request){\n return this.http.post(`${CRM_URL}addSection/`, request);\n }\n\n /**\n * \n * @param formDataMetodo que se encarga de subir el archivos para las opciones de un selector cargable por archivos excel \n * @author Juan David Guerrero Vargas \n * @returns Observable\n */\n uploadFileOptionsToField(formData:FormData,){\n return this.http.post(`${CRM_URL}field-options/import`, formData);\n }\n\n /**\n * Metodo que se encarga de listarlas opciones cargadas para el despelgable por carga\n * @author Juan David Guerrero Vargas \n * @param formId:string {string} id del formulario\n * @param fieldId:string {string} id el campo a cargar\n * @param nameOption?:FormData { FormData} nombre del campo a buscar, parametro opcional de filtrado\n */\n getOptionsUploadTofield(formId:string, fieldId:string, filter:boolean, nameOption?:FormData){\n if(filter == false){\n return this.http.get(`${CRM_URL}field-options/index/${formId}/${fieldId}`);\n }else{\n return this.http.post(`${CRM_URL}field-options/index/${formId}/${fieldId}`, nameOption );\n }\n }\n\n getOptionsUploadFileAll(formId:string, fieldId:string, filter:boolean, nameOption?:FormData){\n if(filter == false){\n return this.http.get(`${CRM_URL}field-options/actives/${formId}/${fieldId}`);\n }else{\n return this.http.post(`${CRM_URL}field-options/actives/${formId}/${fieldId}`, nameOption );\n }\n }\n\n\n /**\n * Metodo que elimina las opciones de un selector cargado por Excel\n * @author Juan David Guerrero Vargas \n * @param listOptions:any[] {any[]}\n * @returns {Observable} \n */\n deleteToOptionsLoad(listOptions:any){\n return this.http.post(`${CRM_URL}field-options/delete-masive`, listOptions );\n }\n\n /**\n * Metodo que se encarga de desbloquear la gestion\n * @param formAnswerId:string {string} numero de formanswerid a desbloquear\n * @returns \n */\n unLockManage(formAnswerId:string){\n return this.http.post(`${CRM_URL}formanswer/unblock`,{ formAnswerId:formAnswerId } );\n }\n\n\n updateToOptionsField(optionsUpdate:any, formId:string, fieldId:string){\n return this.http.post(`${CRM_URL}field-options/change/state/${formId}/${fieldId}`, optionsUpdate );\n\n }\n\n /**\n * Metodo que se encarga de traer un registro no asignado a ningun asesor para su gestion\n * @author Juan David Guerrero Vargas\n * @param idForm:string {string}\n * @returns {Observable} Observable\n */\n getRegisterUnasigned(idForm:string):Observable{\n return this.http.get(`${CRM_URL}${idForm}/formanswer/unmanaged/`)\n }\n\n /**\n * Metodo que se encarga de consultar los valores para obtenidos por API\n * @param id_api:strin {string} id del API a consultar\n * @param bodyRequest:any {any} cuerpo de la peticion\n * @returns {Observable} Observable\n */\n getValuesConsumeAPI(id_api:string, bodyRequest:any):Observable{\n return this.http.post(`${CRM_URL}consumir/${id_api}`, bodyRequest);\n }\n\n /**\n * Metodo que retorna los enpoinst configurables \n * @returns {Observable} Observable Observable de enpoints\n */\n getEnpoinst(campaign_id:any):Observable{\n return this.http.get(`${CRM_URL}consumir/endpoints/${campaign_id}`);\n }\n\n}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NewMessageComponent } from '../new-message/new-message.component';\nimport { CategoryComponent } from '../category/category.component';\nimport { StateComponent } from '../state/state.component';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { AnsComponent } from '../ans/ans.component';\nimport { NewMessageV2Component } from '../new-message-v2/new-message-v2.component';\n\n@Component({\n selector: 'app-left-menu-main',\n templateUrl: './left-menu-main.component.html',\n styleUrls: ['./left-menu-main.component.css'],\n})\nexport class LeftMenuMainComponent implements OnInit {\n @Input() emailsConfigSelected: any[] = [];\n @Input() keyTraySelected: number = null;\n @Input() emailsConfig: any[] = [];\n @Input() traysEmail: any[] = [];\n @Input() categories: any[] = [];\n @Input() statesTypesMails: any[] = [];\n @Input() emailsExpiration: any[] = [];\n @Input() keyCategorySelected: number = null;\n @Input() keyStateSelected: number = null;\n @Input() keyAnsSelected: number = null;\n @Input() checkAllAccountEmails: boolean = false;\n @Input() folders: any[] = [];\n @Output() onChangeTraySelected: EventEmitter = new EventEmitter();\n @Output() onSendMessage: EventEmitter = new EventEmitter();\n @Output() onStoreCategory: EventEmitter = new EventEmitter();\n @Output() onStoreState: EventEmitter = new EventEmitter();\n @Output() onRefreshDataPage: EventEmitter = new EventEmitter();\n @Output() onChangeEmailsConfigSelected: EventEmitter = new EventEmitter();\n @Output() onChangeCategorySelected: EventEmitter = new EventEmitter();\n @Output() onChangeStateSelected: EventEmitter = new EventEmitter();\n @Output() onChangeAnsSelected: EventEmitter = new EventEmitter();\n dataFormNewMessage: any = null;\n\n constructor(private matDialog: MatDialog) { }\n\n ngOnInit(): void {\n\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-06-23\n * Metodo que permite ejecutar la modal para crear un nuevo mensaje. \n */\n onClickRefreshView(): void {\n this.onRefreshDataPage.emit();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-23\n * Metodo que permite ejecutar la modal para crear un nuevo mensaje. \n */\n onClickCreateMessage(): void {\n this.matDialog.open(NewMessageComponent, {\n width: '70%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-email-manager',\n disableClose: true,\n data: {\n email: null\n }\n }).afterClosed().subscribe(res => {\n if (res) this.onSendMessage.emit();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-23\n * Metodo que permite emitir la vandeja seleccionada desde el componente. \n * @param typeEmailManager Tipo de gestion seleccionada. \n */\n onClickTraySelect(typeEmailManager: any): void {\n this.onChangeTraySelected.emit({ trayId: typeEmailManager.id, trayKey: typeEmailManager.key });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-23\n * Metodo que permite ejecutar la modal para ver una categoria.\n * @param category Categoria seleccionada de una lista. \n */\n onClickShowCategory(category: any = null): void {\n this.matDialog.open(CategoryComponent, {\n width: '35%',\n autoFocus: false,\n panelClass: 'dialog-padding-category',\n data: {\n titleDialog: 'Ver categoría',\n category,\n viewOnly: true,\n emailsConfig: this.emailsConfig.map(item => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n })\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-23\n * Metodo que permite validar la opcion a la que se le dio clic en la sección de vencimiento. \n * @param ans Opcion de vencimiento seleccionado. \n */\n onClickCreateOrEditAns(ans: any): void {\n this.matDialog.open(AnsComponent, {\n width: '50%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-ans',\n data: {\n titleDialog: 'Ver ANS',\n ans,\n viewOnly: true,\n emailsConfig: this.emailsConfig.map(item => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n })\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-13\n * Metodo que permite abrir la modal de gestion de estados. \n * @param state Estado seleccionado de la lista. \n */\n onClickCreateOrEditState(state: any = null): void {\n this.matDialog.open(StateComponent, {\n width: '35%',\n autoFocus: false,\n panelClass: 'dialog-padding-edit-state',\n data: {\n titleDialog: 'Ver estado',\n state,\n viewOnly: true\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-28\n * Metodo que permite añadir un email config a la lista de correos seleccionados. \n * @param $event Evento emitido por el checkbox. \n * @param emailConfig Correo seleccionado de la lista. \n */\n onClickCheckboxEmailConfig($event: MatCheckboxChange, emailConfig: any): void {\n this.onChangeEmailsConfigSelected.emit({ allSelectedEmails: false, checked: $event.checked, emailConfig });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-28\n * Metodo que permite seleccionar todos los correos de la lista. \n * @param $event Evento emitido por el checkbox. \n */\n onClickChecboxAllEmailsConfig($event: MatCheckboxChange): void {\n this.onChangeEmailsConfigSelected.emit({ allSelectedEmails: true, checked: $event.checked });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-28\n * Metodo que permite validar si un correo esta seleccionado. \n * @param email Correo proveniente de la lista de configuracion de correos. \n * @returns Valor booleano si cumple con la condicion del filtro. \n */\n ifSelectedEmail(email: any): boolean {\n return this.emailsConfigSelected.filter((item: any) => email.id_email === item.id_email).length > 0 ? true : false;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-03\n * Metodo que envia al componente padre la categoria seleccionada de la lista. \n * @param category Categoria seleccionada. \n */\n onClickCategorySelect(category: any = null): void {\n if (category) this.onChangeCategorySelected.emit(category.id);\n else this.onChangeCategorySelected.emit(0);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-03\n * Metodo que envia al componente padre el estado seleccionado de la lista. \n * @param state Estado seleccionado. \n */\n onClickStateSelect(state: any = null): void {\n if (state) this.onChangeStateSelected.emit(state.id);\n else this.onChangeStateSelected.emit(0);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-08-30\n * Metodo que envia al componente padre el ans seleccionado de la lista. \n * @param ans ANS seleccionado. \n */\n onClickAnsSelect(ans: any = null): void {\n if (ans) this.onChangeAnsSelected.emit(ans.id);\n else this.onChangeAnsSelected.emit(0);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-23\n * Metodo que permite ejecutar la modal para crear un nuevo mensaje. \n */\n onClickCreateMessageV2(): void {\n this.matDialog.open(NewMessageV2Component, {\n width: '70%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-email-manager',\n data: {\n email: this.dataFormNewMessage\n }\n }).afterClosed().subscribe(res => {\n if (res) {\n if (typeof res === 'string') {\n this.dataFormNewMessage = null;\n this.onSendMessage.emit();\n } else {\n this.dataFormNewMessage = res.dataFormNewMessage;\n }\n }\n });\n }\n}","
\n
\n
\n Gestor de correos\n
\n
\n \n
\n
\n
\n \n
\n \n
\n \n \n \n Gestionar\n \n
\n Todos los\n correos\n
\n
\n \n
{{\n item.user_name_email_entrada }}
\n
\n
\n
\n
\n
\n \n
\n
0; else notTrays\">\n
\n
\n
\n \n {{ item.name }}\n
\n
\n {{ item.cantida_correos }}\n
\n
\n
\n
\n \n
\n
No hay bandejas registradas
\n
\n
\n
\n \n
\n \n \n \n Carpetas\n \n
0; else notFolders\">\n
\n
\n
\n \n {{ item.name }}\n
\n
\n {{ item.cantida_correos }}\n
\n
\n
\n
\n \n
\n Seleccioné una cuenta de correo\n
\n
\n
\n
\n
\n \n
\n \n \n \n Categorías\n \n
0; else notCategories\">\n
\n \n Quitar filtro\n
\n
\n
\n \n {{ item.name }}\n
\n
\n \n
\n
\n
\n \n
\n Seleccioné una cuenta de correo\n
\n
\n
\n
\n
\n \n
\n \n \n \n Estados\n \n
0; else notStates\">\n
\n \n Quitar filtro\n
\n
\n
\n {{ item.name }}\n
\n
\n \n
\n
\n
\n \n
\n Seleccioné una cuenta de correo\n
\n
\n
\n
\n
\n \n
\n \n \n \n Vencimiento\n \n
0; else notAns\">\n
\n \n Quitar filtro\n
\n
\n
\n \n {{ item.name }}\n
\n
\n \n
\n
\n
\n \n
\n Seleccioné una cuenta de correo\n
\n
\n
\n
\n
\n
","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { CHAT_SOUL } = environment;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VideoRecordsService {\n constructor(private http: HttpClient) {}\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Recursively maps the response to { label: string, value: string } format.\n * @param data Input data to map\n * @param labelKey Key to use for label\n * @param valueKey Key to use for value\n */\n mapResponseRecursively(\n data: any[],\n labelKey: string = 'name',\n valueKey: string = 'id'\n ): { label: string; value: string }[] {\n return data.map((item) => ({\n label: item[labelKey],\n value: item[valueKey],\n }));\n }\n\n getGroups() {\n return this.http\n .get(`${CHAT_SOUL}v1/public/groups/with-campaigns/list`)\n .pipe(\n map((response: any) => this.mapResponseRecursively(response.groups)),\n catchError(this.handleError)\n );\n }\n\n getSubgroups(id: string) {\n return this.http.get(`${CHAT_SOUL}v1/public/groups/${id}/groups`).pipe(\n map((response: any) => this.mapResponseRecursively(response.groups)),\n catchError(this.handleError)\n );\n }\n}\n","import { Inject } from '@angular/core';\nimport { Component, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { error } from 'selenium-webdriver';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { ProfileService } from 'src/app/modules/ciu/services/rest/profile.service';\nimport Swal from 'sweetalert2';\n\n\n@Component({\n selector: 'app-change-password',\n templateUrl: './change-password.component.html',\n styleUrls: ['./change-password.component.sass']\n})\nexport class ChangePasswordComponent implements OnInit {\n\n passForm: FormGroup;\n hide: boolean = true;\n hideDos: boolean = true;\n hideTres: boolean = true;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public authService: AuthService,\n private profileService: ProfileService,\n private dialogRef:MatDialogRef,\n private snack: MatSnackBar,\n private destroyService: DestroyComponentService) { }\n\n ngOnInit(): void {\n this.formControl();\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-05-19\n * Metodo que regula las validaciones de cada campo del formulario de cambio de contraseña\n */\n formControl(): void{\n\n this.passForm = new FormGroup({\n actual: new FormControl('', [Validators.required,Validators.maxLength(15),Validators.minLength(1)]),\n nueva: new FormControl('', [this.passwordValidate(),Validators.required,Validators.maxLength(15),Validators.minLength(5), this.matchValues2('actual')]),\n confirma: new FormControl('', [this.passwordValidate(),Validators.required,Validators.maxLength(15),Validators.minLength(5), this.matchValues('nueva')])\n });\n\n }\n\n get error(): any { return this.passForm.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que se encarga de las diferentes validaciones de los campos contraseña\n * @returns control de error\n */\n passwordValidate(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (!/[A-Z]/.test(control.value)) {\n return { hasCapitalCase: { value: control.value } };\n }\n else if (!/[a-z]/.test(control.value)) {\n return { hasSmallCase: { value: control.value } };\n }\n else if (!/[!@#$%^&*()_+=[{};':\"|,.<>/?/{};':\"|,.<>/?-]/.test(control.value)) {\n return { hasSpecialCharacters: { value: control.value } };\n }\n else if (!/\\d/.test(control.value)) {\n return { hasNumber: { value: control.value } };\n }\n return null;\n };\n }\n\n/**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que se encarga de verificar si la contraseña nueva y el campo de validacion son iguales\n * @param matchTo contraseña en el campo de validacion\n * @returns control de error\n */\n matchValues( matchTo: string ): (AbstractControl) => ValidationErrors | null {\n return (control: AbstractControl): ValidationErrors | null => {\n return !!control.parent &&\n !!control.parent.value &&\n control.value === control.parent.controls[matchTo].value\n ? null\n : { isMatching: false };\n };\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que valida si la contraseña nueva es diferente a la contraseña ya establecida\n * @param matchTo Valor del campo de contraseña nueva\n * @returns control de error\n */\n matchValues2( matchTo: string ): (AbstractControl) => ValidationErrors | null {\n return (control: AbstractControl): ValidationErrors | null => {\n return !!control.parent &&\n !!control.parent.value &&\n control.value !== control.parent.controls[matchTo].value\n ? null\n : { isMatching: false };\n };\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que se encarga de omitir algunos caracteres en el campo de contraseña\n * @param event valor a evaluar\n * @returns boolean\n */\n omitSpecialChar(event): any{\n let k;\n k = event.charCode;\n return((k > 32 && k < 126));\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que se encarga de realizar el cambio de la contraseña\n * @param passForm Formulario diligenciado\n */\n changePass(passForm): void{\n\n const user = new FormData();\n\n user.append( 'username' , this.data.userName);\n user.append( 'password' , passForm.value.actual);\n user.append( 'new_password' , passForm.value.confirma);\n\n this.authService.passwordVerifyLogin(user).subscribe((resp) => {\n if (resp.data?.message === 'OK') {\n let pass = {'password':passForm.value.confirma};\n this.profileService.changePasswordLogin(resp.data.userId.id,pass).subscribe( (resp) => {\n this.dialogRef.close();\n this.snack.open('Tu contraseña se ha cambiado con éxito', '', {\n duration: 3500,\n verticalPosition: 'top',\n panelClass : ['green-snackbar']\n });\n })\n } else if(resp.error_code == 401)\n {\n Swal.fire({\n html: `${resp.error}`,\n icon: 'error',\n confirmButtonText: 'Aceptar'\n });\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","
\n\n
\n \n

{{data.title}}

\n

Cambiar la contraseña evita una serie de peligros,\n recuerda que la nueva contraseña te permitirá ingresar tanto a SOUL como a gestión talento\n

\n
\n\n \n Contraseña actual\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 5 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 15 caracteres\n \n {{hide ? 'visibility' : 'visibility_off'}}\n \n \n
\n
\n \n Contraseña nueva\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 5 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 15 caracteres\n Su contraseña debe tener un número\n Su contraseña debe tener una mayuscula\n Su contraseña debe tener una minuscula\n Su contraseña debe tener un caracter especial\n Su nueva contraseña no puede ser igual a la actual\n \n {{hideDos ? 'visibility' : 'visibility_off'}}\n \n \n
\n
\n \n Confirma la contraseña nueva\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 5 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 15 caracteres\n Su contraseña debe tener un número\n Su contraseña debe tener una mayuscula\n Su contraseña debe tener una minuscula\n Su contraseña debe tener un caracter especial\n Su contraseña no es igual a la ingresada previamente\n \n {{hideTres ? 'visibility' : 'visibility_off'}}\n \n \n\n

\n

Seguridad de la contraseña:
Tu contraseña debe tener mínimo 8 caracteres y al menos una mayúscula, una minúscula y un número.

\n
\n\n \n \n \n
\n\n
\n
\n \n
\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSelectChange } from '@angular/material/select';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { Location } from '@angular/common';\nimport { environment } from 'src/environments/environment';\nimport { CrudService } from 'src/app/shared/basic-crud-page-service/crud.service';\n\nconst { SABLE_URL } = environment;\n\n@Component({\n selector: 'app-users-assign-campaing',\n templateUrl: './users-assign-campaing.component.html',\n styleUrls: ['./users-assign-campaing.component.sass']\n})\nexport class UsersAssignCampaingComponent implements OnInit {\n userSelected: number = null;\n serverSelected: number = null;\n baseFirstList: any[] = [];\n baseSecondList: any[] = [];\n firstList: any[] = [];\n secondList: any[] = [];\n users: any[] = [];\n servers: any[] = [];\n\n constructor(\n private alertService: AlertsService,\n private matSnackBar: MatSnackBar,\n private location: Location,\n private crudService: CrudService\n ) { }\n\n ngOnInit(): void {\n this.getusers();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2025-01-23\n * Metodo que filtra las listas a traves de una cadena de texto.\n * @param $event Evento emitido por el componente hijo. \n */\n runFilterList($event: any): void {\n if ($event.name === 'FIRST') {\n if ($event.value !== '') this.firstList = this.baseFirstList.filter(item => item.name.toLowerCase().includes($event.value.toLowerCase()));\n else this.firstList = this.baseFirstList;\n } else {\n if ($event.value !== '') this.secondList = this.baseSecondList.filter(item => item.name.toLowerCase().includes($event.value.toLowerCase()));\n else this.secondList = this.baseSecondList;\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2025-01-23\n * Metodo que almacena las campañas asociados a un usuario.\n * @param $event Evento emitido por el componente hijo. \n */\n saveConfig($event: any): void {\n const dataAssignExams = {\n id_rrhh: this.userSelected,\n id_server: this.serverSelected,\n data: $event.secondList.map((item: any) => {\n return { campaign: item.name }\n })\n };\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.crudService.postData({ url: `${SABLE_URL}permisos/user_campaings`, formData: dataAssignExams }) .subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.userSelected = null;\n this.serverSelected = null;\n });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2025-01-23\n * Metodo que emite la cancelacion del proceso. \n */\n cancelProcess(): void {\n this.location.back();\n }\n /**\n * @author Fabian Duran\n * @createdate 2025-01-23\n * Metodo que setea los items entre las listas. \n * @param $event Evento emitido por el componente hijo. \n */\n updateList($event: any): void {\n if ($event.name === 'FIRST') {\n $event.list.forEach((itemList: any) => {\n this.secondList.push(itemList);\n this.firstList = this.firstList.filter(item => itemList.id !== item.id);\n this.baseFirstList = this.baseFirstList.filter(item => itemList.id !== item.id);\n });\n } else {\n $event.list.forEach((itemList: any) => {\n this.firstList.push(itemList);\n this.secondList = this.secondList.filter(item => itemList.id !== item.id);\n this.baseSecondList = this.baseSecondList.filter(item => itemList.id !== item.id);\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2025-01-23\n * Metodo que consulta los usuarios. \n */\n getusers(): void {\n this.crudService.getData({ url: `${SABLE_URL}permisos/get_users` }).subscribe(res => {\n this.users = res.data.map((item: any) => {\n return {\n ...item,\n id: item.rrhh_id,\n name: `${item.document} - ${item.name}`\n };\n });\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2025-01-23\n * Metodo que consulta los servidores asociados a un usuario. \n */\n getServers($event: MatSelectChange): void {\n this.crudService.getData({ url: `${SABLE_URL}get_servidores` }).subscribe(res => {\n this.servers = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2025-01-23\n * Metodo que trae las campañas y las campañas asociadas a un usuario. \n * @param $event Evento emitido por el campo. \n */\n onChangeSelectServer($event: MatSelectChange): void {\n this.crudService.getData({ url: `${SABLE_URL}permisos/get_user_campaings`, filters: { id_rrhh : this.userSelected, id_server: this.serverSelected } }).subscribe(resUserCampaigns => {\n this.crudService.getData({ url: `${SABLE_URL}get_campaign/${this.serverSelected}` }).subscribe(resCampaigns => {\n this.baseFirstList = resCampaigns.data.map((item: any) => { return { id: item.nombre, name: `${item.nombre}` } });\n this.baseSecondList = resUserCampaigns.data.map((item: any) => { return { id: item.campaign, name: item.campaign } });\n this.secondList = this.baseSecondList;\n this.baseSecondList.forEach(itemSecondList => {\n this.baseFirstList = this.baseFirstList.filter(itemFirstList => itemSecondList.name !== itemFirstList.name);\n });\n this.firstList = this.baseFirstList;\n });\n });\n }\n}","
\n
\n \n Regresar\n
\n
\n
\n Asignación (Usuario - Campañas)\n
\n
\n

\n En este espacio podrás asignar las campañas a los usuarios.\n

\n
\n
\n
\n
\n \n Usuarios\n \n {{ item.name\n }}\n \n \n
\n
\n \n Servidores\n \n {{ item.name\n }}\n \n \n
\n
\n \n \n
","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n@Component({\n selector: 'app-landing-page-email-manager',\n templateUrl: './landing-page-email-manager.component.html',\n styleUrls: ['./landing-page-email-manager.component.css']\n})\nexport class LandingPageEmailManagerComponent implements OnInit {\n userName: string = '';\n\n constructor(private authService: AuthService) { }\n\n ngOnInit(): void {\n this.userName = this.authService.getUser().rrhh.name;\n }\n}","
\n
\n
\n
Gestor de correos
\n
¡Bienvenid@
\n {{ userName }}\n
\n
\n Este es el módulo gestor de correos, en\n este
\n espacio podrás crear, ver, responder y
\n gestionar los correos que tienes asignados.\n
\n
\n
\n
\n
\n \"Image\n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { EmailService } from '../../services/email.service';\nimport { TrayService } from '../../services/tray.service';\nimport { MatSelectChange } from '@angular/material/select';\n\n@Component({\n selector: 'app-move-email-account',\n templateUrl: './move-email-account.component.html',\n styleUrls: ['./move-email-account.component.css']\n})\nexport class MoveEmailAccountComponent implements OnInit {\n formMoveEmail: FormGroup = new FormGroup({\n idAccountEmail: new FormControl('', [Validators.required]),\n idTray: new FormControl('', [Validators.required])\n });\n traysAndFolders: any[] = [];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alertService: AlertsService,\n private matDialogRef: MatDialogRef,\n private matSnackBar: MatSnackBar,\n private emailService: EmailService,\n private trayService: TrayService) { }\n\n ngOnInit(): void {\n\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-01-30\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formMoveEmail.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-01\n * Metodo que consulta las bandejas asociada a la cuenta de correo seleccionado.\n * @param $event Evento emitido por el select \n */\n onChangeEmailConfigSelected($event: MatSelectChange): void {\n this.trayService.getTrays(null, '', false, $event.value, 1).subscribe(resTrays => {\n const trays = resTrays.data.map((item: any) => { return { id: item.id, name: item.name, idEmailConfig: item.id_email_config } });\n this.traysAndFolders.push({ name: 'Bandejas', list: trays });\n this.traysAndFolders[0].list = this.traysAndFolders[0].list.filter((item: any) => (item.name === 'Recibidos' || item.name === 'Gestión prioritaria') && item.idEmailConfig === 0);\n this.trayService.getTrays(null, '', false, $event.value, 2).subscribe(resFolders => {\n const folders = resFolders.data.map((item: any) => { return { id: item.id, name: item.name } });\n this.traysAndFolders.push({ name: 'Carpetas', list: folders });\n });\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-01\n * Metodo que guarda la informacion del movimiento de correos.\n */\n saveMoveEmails(): void {\n if (this.formMoveEmail.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n if (!this.data.isMassive) this.callServiceMoveEmailsBetweenAccounts();\n else this.callServiceMoveMassiveEmailsBetweenAccounts();\n }\n });\n } else {\n this.formMoveEmail.markAllAsTouched();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-01\n * Metodo que guarda el movimiento de los correos seleccionados. \n */\n callServiceMoveEmailsBetweenAccounts(): void {\n const formData = new FormData();\n formData.append('email_list', `[${this.data.emails.toString()}]`);\n formData.append('to', this.formMoveEmail.value.idAccountEmail);\n formData.append('id_bandeja_to', this.formMoveEmail.value.idTray);\n this.emailService.moveEmailsBetweenAccounts(formData).subscribe(res => {\n this.showMessageNotification(res.data);\n this.matDialogRef.close(res);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-01\n * Metodo que guarda el movimiento masivo de correos entre cuentas. \n */\n callServiceMoveMassiveEmailsBetweenAccounts(): void {\n this.emailService.moveMassiveEmailsBetweenAccounts(\n this.data.idAccountEmailSelected, \n this.formMoveEmail.value.idAccountEmail,\n this.data.idTraySelected,\n this.formMoveEmail.value.idTray).subscribe(res => {\n this.showMessageNotification(res.data);\n this.matDialogRef.close(res);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-01\n * Metodo que muestra las notificaciones con los mensajes. \n * @param message Cadena que se mostrara en el mensaje \n */\n showMessageNotification(message: string): void {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: message\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n }\n}","
\n
\n \n
\n
\n
\n
Mover correos
\n \n
\n
\n
\n \n Cuenta de correo\n \n \n {{ item.name }}\n \n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n Bandejas y carpetas\n \n \n \n {{ item.name }}\n \n \n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'boolean'\n})\nexport class BooleanPipe implements PipeTransform {\n\n transform(value: unknown): boolean {\n if (value == 1) {\n return true\n }else if (value == 0) {\n return false;\n }\n }\n\n}\n","import { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Subject, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst calidad_url = environment.CALIDAD_URL;\nconst nomina_url = environment.NOMINA_URL;\nconst rrhh = environment.RRHH_URL;\nconst lang = JSON.parse(localStorage.getItem('locale')) ?? 'es';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MatrizService {\n private _refresh$ = new Subject();\n constructor(\n private http:HttpClient,\n ) { }\n\n get refresh$(){\n return this._refresh$;\n }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n createMatrix(data){\n return this.http.post(`${calidad_url}crearMatriz`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getTypeMatrix(){\n return this.http.get(`${calidad_url}getTipoMatriz?lang=${lang}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getIntelligence(){\n return this.http.get(`${calidad_url}getInteligenciaNegocio`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getCampaings(){\n return this.http.get(`${nomina_url}campaigns?paginate=0`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getAllMatrix(params){\n return this.http.get(`${calidad_url}listarMatrices?lang=${lang}`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getRange(){\n return this.http.get(`${calidad_url}getRangos?lang=${lang}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n disableMatrix(id,estado){\n return this.http.post(`${calidad_url}desabilitarMatriz/${id}/${estado}`,{})\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getWeight(){\n return this.http.get(`${calidad_url}getPeso?lang=${lang}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getMatrixById(id){\n return this.http.get(`${calidad_url}verMatriz/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n updateMatrix(id,data){\n return this.http.post(`${calidad_url}updateMatriz/${id}`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n newModule(data){\n return this.http.post(`${calidad_url}crearModulo`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getModules(modulo){\n return this.http.get(`${calidad_url}searchModulo?modulo=${modulo}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getModulesMatrix(params:any){\n return this.http.get(`${calidad_url}searchModulosMatriz?idMatriz=${params.idMatriz}&modulo=${params.modulo}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getItems(item){\n return this.http.get(`${calidad_url}searchItems?modulo=${item}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n newItem(data){\n data.lang = lang;\n return this.http.post(`${calidad_url}crearItems`, data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n\n getSubtItems(subItem){\n return this.http.get(`${calidad_url}searchSubitems?modulo=${subItem}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n newSubItem(data){\n return this.http.post(`${calidad_url}crearSubitems`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getModuleById(id_module){\n return this.http.get(`${calidad_url}verModulo/${id_module}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n updateModule(data){\n return this.http.post(`${calidad_url}updateModulo`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n updateItem(data){\n return this.http.post(`${calidad_url}updateItems`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n updateSubItem(data){\n return this.http.post(`${calidad_url}updateSubitems`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n disableModule(data){\n return this.http.post(`${calidad_url}desabilitar`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getListAnalistas(params){\n return this.http.get(`${calidad_url}showAnalistas?lang=${lang}`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n asignarAnalistas(data){\n return this.http.post(`${calidad_url}asignarAnalista`,data)\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n getAnalistaById(id_matriz){\n return this.http.get(`${calidad_url}analistasByMatriz/${id_matriz}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n eliminateAnalista(idAnalista,idMatriz){\n return this.http.post(`${calidad_url}deleteAnalista/${idAnalista}/${idMatriz}`,{})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n descargaActualizaciones(idMatriz){\n return this.http.get(`${calidad_url}descargaActualizaciones?idMatriz=${idMatriz}&lang=${lang}`,{responseType: \"blob\"})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n showSupervisores(params){\n params.lang = lang;\n return this.http.get(`${calidad_url}showSupervisor`,{params})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getSupervisorByMatriz(idMatriz){\n return this.http.get(`${calidad_url}getSupervisorMatriz/${idMatriz}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo Que elimina las matrices\n * @author Juan David Guerrero Vargas\n * @create_date 01/05/2022\n * @param idMatriz:string ID de la matriz a eliminar\n * @returns Observable para sobrcribirse a la peticion\n */\n deleteMatrix(idMatriz:string){\n return this.http.delete(`${calidad_url}deleteMatriz/${idMatriz}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n getComapanies(){\n return this.http.get(`${rrhh}companies`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n}\n","import { Injectable, ChangeDetectorRef } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { Manager } from 'socket.io-client';\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class socketService {\n\n public socket: any = [];\n message: Observable \n connected: Observable \n connect: Observable\n error: Observable\n sdisconnect: Observable\n syncConversations: Observable\n\n callBackEmit: () => {};\n constructor(project, callBackEmit) {\n if(!project)\n return\n this.callBackEmit = callBackEmit\n const ManagerInstance = new Manager(`${environment.SOCKET_LIVECHAT}`, {transports: [\"websocket\"]});\n this.socket = ManagerInstance.socket(`/${project}`);\n \n \n this.message = new Observable((observer) => \n this.socket.on('agent-message', (data) => observer.next(data))\n );\n this.connect = new Observable((observer) => \n this.socket.on(\"connect\", () => {\n observer.next()})\n );\n this.error = new Observable((observer) => \n this.socket.on('error', (data) => {\n console.error(\"Error de conexion: \",data)\n observer.next(data)})\n );\n this.sdisconnect = new Observable((observer) => \n this.socket.on(\"disconnect\", (reazon) => {\n observer.next(reazon)})\n );\n this.syncConversations = new Observable((observer) => \n this.socket.on('syncConversationsDown', (data) => {\n observer.next(data)})\n );\n }\n\n sendMessage(event: string, message: Object) {\n this.socket.emit(event, message, this.callBackEmit)\n }\n\n disconnect() {\n this.socket.disconnect(true);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { CiuComponent } from './ciu.component';\nimport { CiuRoutingModule } from './ciu-routing.module';\nimport { MaterialModule } from '../../shared/material/material.module';\nimport { AdminUsersComponent } from './modules/users/admin-users/admin-users.component';\nimport { AdminRolesComponent } from './modules/roles/admin-roles/admin-roles.component';\nimport { SaveRolComponent } from './modules/roles/save-rol/save-rol.component';\nimport { SaveUsersComponent } from './modules/users/save-users/save-users.component';\nimport { EditUsersComponent } from './modules/users/edit-users/edit-users.component';\nimport { BlockCopyPasteDirective } from './block-copy-paste.directive';\n\nimport { AdminGroupsComponent } from './modules/groups/admin-groups/admin-groups.component';\nimport { SaveGroupsComponent } from './modules/groups/save-groups/save-groups.component';\nimport { AdminSchedulesComponent } from './modules/schedules/admin-schedules/admin-schedules.component';\nimport { ConfigSchedulesComponent } from './modules/schedules/config-schedules/config-schedules.component';\nimport { EditSchedulesComponent } from './modules/schedules/edit-schedules/edit-schedules.component';\nimport { SharedModule } from '../../shared/shared.module';\nimport { AdminApplicationsComponent } from './modules/aplications/admin-applications/admin-applications.component';\nimport { SaveAplicationsComponent } from './modules/aplications/save-aplications/save-aplications.component';\nimport { SaveMenusComponent } from './modules/menus/save-menus/save-menus.component';\nimport { AdminMenusComponent } from './modules/menus/admin-menus/admin-menus.component';\nimport { ProfileComponent } from './modules/profile/profile.component';\nimport { ChangePasswordComponent } from './modules/change-password/change-password.component';\nimport { UserGroupPipe } from './modules/groups/save-groups/user-group.pipe';\nimport { ReportAdhesionComponent } from './modules/reports/report-adhesion/report-adhesion.component';\nimport { MassMigrationUsersComponent } from './modules/users/mass-migration-users/mass-migration-users.component';\nimport { ReportUsersAppComponent } from './modules/reports/report-users-app/report-users-app.component';\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { UsersReportsComponent } from './modules/users/users-reports/users-reports.component';\nimport { UsersReportsCreateComponent } from './modules/users/users-reports-create/users-reports-create.component';\nimport { UserStatusResponseComponent } from './modules/users/userStatus-response/userStatus-response.component';\nimport { ProfileUpdateComponent } from './modules/profile-update/profile-update.component';\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\nimport { ManageNetworkUsersComponent } from './modules/manage-network-users/manage-network-users.component';\nimport { NetworkUsersComponent } from './modules/manage-network-users/components/network-users/network-users.component';\nimport { ActivateUserFormComponent } from './modules/manage-network-users/components/network-users/dialogs/activate-user-form/activate-user-form.component';\nimport { ChangeNetworkUserPassComponent } from './modules/change-network-user-pass/change-network-user-pass.component';\nimport { UpdateSecurityQuestionsComponent } from './modules/update-security-questions/update-security-questions.component';\nimport { UsersListComponent } from './modules/manage-network-users/components/users-list/users-list.component';\nimport { UpdateNetworkUserFormComponent } from './modules/manage-network-users/components/users-list/dialogs/update-network-user-form/update-network-user-form.component';\n\n\n@NgModule({\n declarations: [CiuComponent,\n AdminUsersComponent,\n EditUsersComponent,\n AdminRolesComponent,\n SaveRolComponent,\n AdminGroupsComponent,\n SaveGroupsComponent,\n AdminSchedulesComponent,\n ConfigSchedulesComponent,\n EditSchedulesComponent,\n SaveUsersComponent,\n BlockCopyPasteDirective,\n AdminApplicationsComponent,\n SaveAplicationsComponent,\n SaveMenusComponent,\n AdminMenusComponent,\n ProfileComponent,\n ChangePasswordComponent,\n UserGroupPipe,\n MassMigrationUsersComponent,\n ReportAdhesionComponent,\n UsersReportsComponent,\n UsersReportsCreateComponent,\n ReportUsersAppComponent,\n ProfileUpdateComponent,\n UserStatusResponseComponent,\n ManageNetworkUsersComponent,\n NetworkUsersComponent,\n ActivateUserFormComponent,\n ChangeNetworkUserPassComponent,\n UpdateSecurityQuestionsComponent,\n UsersListComponent,\n UpdateNetworkUserFormComponent\n ],\n imports: [\n CommonModule,\n CiuRoutingModule,\n MaterialModule,\n SharedModule,\n NgxMatSelectSearchModule,\n MatSelectModule,\n MatFormFieldModule,\n NgxChartsModule,\n\n ],\n providers: [\n DatePipe\n ]\n})\nexport class CiuModule { }\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormControl, Validators, FormGroup } from '@angular/forms';\nimport { EscalationService } from '../../../services/rest/escalation.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\n\n@Component({\n selector: 'app-edit-user',\n templateUrl: './edit-user.component.html',\n styleUrls: ['./edit-user.component.sass']\n})\nexport class EditUserComponent implements OnInit {\n\n userArea: FormGroup;\n areas: any;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public escalationService: EscalationService,\n private alertsService: AlertsService,\n private destroyService: DestroyComponentService) { }\n\n ngOnInit(): void {\n\n this.escalationService.getArea().subscribe((resp) => {\n this.areas = resp;\n });\n\n this.formControl();\n this.setEdit();\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que crea los controles del formulario\n */\n formControl(): void{\n\n this.userArea = new FormGroup({\n area: new FormControl('', [Validators.required]),\n });\n\n }\n\n get error(): any { return this.userArea.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que en caso que el modal sea de edicion realiza el seteo de los campos\n */\n setEdit(): void {\n if (this.data.type === 'editar') {\n\n this.userArea.controls.area.setValue(this.data.data.user_areas[0].id);\n\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de guardar un area\n * @param userArea area a guardar\n */\n saveArea(userArea): void {\n\n const area = new FormData();\n\n area.append( 'area_id', userArea.value.area);\n\n this.escalationService.editUsuario(this.data.data.id, area).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', 'Area editada correctamente');\n });\n\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","

{{data.title}}\n \n

\n\n\n
\n\n\n\n \n Área\n \n {{area.name}}\n \n ¡Advertencia! Este campo es requerido\n \n\n\n\n\n \n \n\n\n
\n","import { Component, OnInit, AfterViewInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ActivatedRoute } from '@angular/router';\nimport { RequestsService } from '../../../services/requests.service';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { MatAccordion } from '@angular/material/expansion';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { CandidateCreateComponent } from '../../candidates/candidate-create/candidate-create.component';\nimport { CandidateUploadComponent } from '../../candidates/candidate-upload/candidate-upload.component';\nimport { RequestAssignComponent } from '../request-assign/request-assign.component';\nimport { CandidateCommentsComponent } from '../../candidates/candidate-comments/candidate-comments.component';\nimport { AuthService } from '../../../../../core/services/rest/auth.service';\nimport { CandidateEditComponent } from '../../candidates/candidate-edit/candidate-edit.component';\nimport { CandidateAssignComponent } from '../../candidates/candidate-assign/candidate-assign.component';\nimport { AssignTestComponent } from '../../candidate-tests/assign-test/assign-test.component';\nimport { CandidateAssignTrainerComponent } from '../../candidates/candidate-assign-trainer/candidate-assign-trainer.component';\nimport { MassiveTestsComponent } from '../../candidate-tests/massive-tests/massive-tests.component';\nimport { AssessmentsCreateComponent } from '../../assesments/assessments-create/assessments-create.component';\n\n\n@Component({\n selector: 'app-request-details',\n templateUrl: './request-details.component.html',\n styleUrls: ['./request-details.component.sass']\n})\nexport class RequestDetailsComponent implements OnInit {\n\n alertDialog: string = \"\";\n userId;\n public isRolOPerative : boolean;\n public isRolAdmin : boolean;\n request;\n requestId;\n viewCandidateDetails = false;\n\n candidatesByRequest = [];\n identification: any = '';\n email: any = '';\n mobile: any = '';\n typeFilter = null\n displayedColumns: string[] = ['actions', 'class', 'name', 'id_number', 'mobilephone', 'email', 'tracingAvg'];\n dataSource: MatTableDataSource;\n\n displayedRecodColumns: string[] = ['user_name', 'new_values', 'created_at'];\n dataRecod: MatTableDataSource;\n\n length: number;\n pageSize: number;\n currentPage = 1;\n showCandidates = false;\n\n candidateSelected;\n\n assignButton = 'Asignar Reclutador';\n\n\n @ViewChild(MatSort) sort: MatSort;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatAccordion) accordion: MatAccordion;\n\n constructor(private activatedRoute: ActivatedRoute,\n private requestService: RequestsService,\n private candidatesService: CandidatesService,\n private dialog: MatDialog,\n private auth: AuthService) {\n\n this.userId = this.auth.getUser().rrhh_id;\n this.isRolOPerative = this.auth.getUser().roles.includes('rrhh::lider_operativo');\n this.isRolAdmin = this.auth.getUser().roles.includes('rrhh::lider_administrativo');\n this.requestId = this.activatedRoute.snapshot.paramMap.get('id');\n this.getRequest();\n }\n\n ngOnInit(): void { \n }\n\n filterByValue(event) {\n this.identification = ''\n this.email = ''\n this.mobile = ''\n switch (this.typeFilter) {\n case \"Identificación\":\n this.identification = event;\n break;\n case \"Email\":\n this.email = event\n break;\n case \"Teléfono\":\n this.mobile = event\n break;\n }\n this.getDataCandidates();\n }\n\n getRequest() {\n this.requestService.getRequestDetail(this.requestId).subscribe((resp: any) => {\n this.request = resp;\n if (resp.recruitment) { this.assignButton = 'Reasignar Reclutador'; }\n });\n }\n\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.dataSource.filter = filterValue.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n applyFilter2(event: Event) {\n\n const filterValue = JSON.stringify((event.target as HTMLInputElement).value)\n .replace(/['\"]+/g, '',).split('T');\n this.dataRecod.filter = filterValue[0].trim().toLowerCase();\n\n }\n\n newRegister() {\n const registerDialog = this.dialog.open(CandidateCreateComponent, {\n minWidth: '80%',\n disableClose: true,\n data: { requestId: this.requestId }\n });\n\n registerDialog.afterClosed().subscribe((refreshRequests) => {\n if (refreshRequests) {\n this.getDataCandidates();\n }\n\n });\n }\n\n getCandidates(event) {\n if (event.index === 1) {\n if (this.candidatesByRequest.length === 0) {\n this.getDataCandidates();\n }\n }\n else {\n this.viewCandidateDetails = false;\n }\n if (event.index === 2) {\n this.getRecord()\n }\n }\n\n getDataCandidates() {\n this.candidatesService.getCandidatesByRequest(this.requestId,\n { page: this.currentPage, identification: this.identification, email: this.email, mobile: this.mobile }).\n subscribe((resp: any) => {\n if (resp.total > 0) { this.showCandidates = true; }\n this.length = resp.total;\n this.pageSize = resp.per_page;\n this.dataSource = new MatTableDataSource(resp.data);\n this.dataSource.sort = this.sort;\n this.candidatesByRequest = resp.data;\n });\n }\n getPaginatorData(e) {\n this.currentPage = e.pageIndex + 1;\n this.getDataCandidates();\n }\n\n /**\n * @author Karol García\n * @createdate 2021-04-21\n * Metodo consulta el historial de la solicitud\n */\n getRecord() {\n this.requestService.getRecord(`requests/audit/${this.requestId}`).subscribe(list => {\n this.dataRecod = new MatTableDataSource(list);\n this.dataRecod.paginator = this.paginator;\n this.dataRecod.sort = this.sort;\n })\n\n }\n\n uploadCandidates() {\n const registerDialog = this.dialog.open(CandidateUploadComponent, {\n \n disableClose: true,\n data: { requestId: this.requestId }\n \n\n });\n\n registerDialog.afterClosed().subscribe((refreshRequests) => {\n this.getDataCandidates();\n\n });\n }\n\n /**\n* @author Daniel Dominguez\n* @createdate 2022-03-07\n* Metodo consulta el historial de la solicitud\n*/\n\n \n\n assignRecluter() {\n const assignDialog = this.dialog.open(RequestAssignComponent, {\n disableClose: true,\n data: { requestId: this.requestId, userApplicantId: this.request.applicant_user_id }\n });\n assignDialog.afterClosed().subscribe((params) => {\n if (params) {\n this.getRequest();\n }\n\n // this.requestService.assignRecluter(params);\n });\n }\n\n assingTrainer() {\n const assignTrainerDialog = this.dialog.open(CandidateAssignTrainerComponent, {\n disableClose: true,\n data: { requestId: this.requestId, userApplicantId: this.request.applicant_user_id }\n });\n assignTrainerDialog.afterClosed().subscribe((params) => {\n if (params) {\n this.getDataCandidates();\n }\n\n // this.requestService.assignRecluter(params);\n });\n }\n\n filterByIdentification(ident) {\n this.identification = ident;\n this.getDataCandidates();\n }\n filterByEmail(email) {\n this.email = email;\n this.getDataCandidates();\n }\n filterByMobile(mobile) {\n this.mobile = mobile;\n this.getDataCandidates();\n }\n getComments(candidateId) {\n const commentDialog = this.dialog.open(CandidateCommentsComponent, {\n disableClose: true,\n data: { candidateId, requestId: this.requestId, recruitmentUserId: this.request.recruitmentUserId, isRolOPerative: this.isRolOPerative }\n });\n commentDialog.afterClosed().subscribe((params) => {\n this.getDataCandidates();\n });\n }\n editCandidate(candidateId) {\n const candidateEdit = this.dialog.open(CandidateEditComponent, {\n minWidth: '80%',\n disableClose: true,\n data: { candidateId }\n });\n candidateEdit.afterClosed().subscribe((params) => {\n });\n }\n\n assingAnalyst() {\n const candidateAssingDialog = this.dialog.open(CandidateAssignComponent, {\n disableClose: true,\n data: { requestId: this.requestId }\n });\n candidateAssingDialog.afterClosed().subscribe((params) => {\n this.getDataCandidates();\n });\n }\n\n tests(candidate) {\n const candidateTestDialog = this.dialog.open(AssignTestComponent, {\n disableClose: true,\n data: {\n candidate,\n requestId: this.requestId\n }\n });\n candidateTestDialog.afterClosed().subscribe((params) => {\n this.getDataCandidates();\n });\n }\n openMassiveTests() {\n const MassiveTestsDialog = this.dialog.open(MassiveTestsComponent, {\n disableClose: true,\n data: {\n requestId: this.requestId\n }\n });\n MassiveTestsDialog.afterClosed().subscribe((params) => {\n if (params) {\n this.getDataCandidates();\n }\n\n });\n\n }\n createAssessment() {\n const AssessmentDialog = this.dialog.open(AssessmentsCreateComponent, {\n data: { action: 'Crear', requestId: this.requestId }\n });\n AssessmentDialog.afterClosed().subscribe((params) => {\n if (params) {\n this.getDataCandidates();\n }\n\n });\n }\n}\n","
\n

Solicitud {{request?.code }}

\n

{{request?.request_data?.cargo}}

\n

En este espacio podrás visualizar los detalles de la solicitud, detallar los candidatos
que ya han sido cargados a esta solicitud. No olvides, “El respeto y empatía son clave”.

\n
\n \n \n\n
\n\n \n \n
\n \n
\n
\n \n
\n
\n \n Tipo de filtro\n \n Identificación\n Email\n Teléfono\n \n \n \n Filtrar por {{typeFilter}}\n \n \n \n\n
\n\n
\n \n\n \n\n \n \n\n \n\n
\n\n\n
\n\n
\n \n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n\n\n \n \n \n \n\n \n \n \n \n \n
Acciones \n \n \n \n \n \n Estado \n \n fiber_manual_record   {{row.stateName}}\n Nombre {{row.name}} # Documento {{row.documentId}} Celular {{row.mobile_phone}} Email {{row.email}} % Avance \n \n \n
No hay datos que coincidan con la busqueda
\n\n \n\n
\n
\n \n
\n \n Buscar por fecha\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n \n\n\n\n\n \n \n \n \n\n\n \n \n \n \n \n
Usuario {{row.user_name}} Fecha {{row.created_at | date: 'd/MM/yy hh:mm:ss'}} Estado de la solicitud{{row.new_values.request_state}}
No hay datos que coincidan con la busqueda
\n
\n \n\n\n\n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { Observable } from 'rxjs';\n\nconst CRM_URL = environment.CRM_URL;\nconst CRM2_URL = environment.CRM2_URL;\nconst CIU_URL = environment.CIU_URL;\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class FormsRequestService {\n\n // private URL = environment.local_URL\n constructor(private http: HttpClient, private AuthService:AuthService) { }\n\n\n getForm(direction, size, page){\n if (size === 0 || page === 0) {\n return this.http.get(`${CRM_URL}${direction}`);\n } else {\n return this.http.get(`${CRM_URL}${direction}?n=${size}&page=${page}`);\n }\n }\n postForm(direction, form){\n return this.http.post(`${CRM_URL}${direction}/`, form);\n }\n\n postFormCrm2(direction, form){\n return this.http.post(`${CRM2_URL}${direction}/`, form);\n }\n\n postForm1(direction, form){\n return this.http.post(`${CRM_URL}${direction}`, form);\n }\n putForm(direction, form){\n return this.http.put(`${CRM_URL}${direction}/`, form);\n }\n getRols(direction){\n return this.http.get(`${CIU_URL}${direction}/`);\n }\n\n\n getHistory(id){\n return this.http.get(`${CRM_URL}formanswer/historic/${id}`);\n }\n\n getPageHistory(url){\n return this.http.get(`${url}`);\n }\n\n getFormByUser(direction, id, size, page){\n return this.http.get(`${CRM_URL}${direction}${id}?n=${size}&page=${page}`);\n }\n\n postReport(obj){\n return this.http.post(`${CRM_URL}report`, obj, {responseType: 'blob' as 'json'});\n }\n\n updateInfo(form, id){\n return this.http.post(`${CRM_URL}formanswer/update/${id}`, form);\n }\n\n getPrechargeField(id) {\n return this.http.get(`${CRM_URL}searchPrechargeFields/${id}`)\n }\n\n getPlantilla(parameters){\n return this.http.get(`${CRM_URL}form/dowload/${parameters}`,{responseType: 'blob' as 'json'});\n }\n\n getAssignations(formId) {\n return this.http.get(`${CRM_URL}tray/assignedClients/${formId}`)\n }\n\n getData(endpoint){\n return this.http.get(`${CRM_URL}${endpoint}`);\n }\n\n /**\n * Metodo que se encarga de obtener el formulario de CRM2\n * @author Juan David Guerrero Vargas\n * @param endpoint:string {string} cadena de texo con el enpoint a ejecutar\n * @returns Observable {Observable}\n */\n getDataCrmTwo(endpoint:string):Observable{\n return this.http.get(`${CRM2_URL}${endpoint}`);\n }\n\n addSection(request){\n return this.http.post(`${CRM_URL}addSection/`, request);\n }\n\n\n}\n","import { AprobarSolcitudComponent } from './../aprobar-solcitud/aprobar-solcitud.component';\nimport { DescargaComponent } from './descarga/descarga.component';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { SolicitudesService } from '../../../../services/rest/solicitudes.service';\nimport { DestroyComponentService } from '../../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Solicitud } from '../../../Class/solicitud';\nimport { CrearSolicitudComponent } from '../crear-solicitud/crear-solicitud.component';\nimport { DatePipe } from '@angular/common'\nimport { ProcesarSolicitudComponent } from '../procesar-solicitud/procesar-solicitud.component';\n\n@Component({\n selector: 'app-historial-aprobador',\n templateUrl: './historial-aprobador.component.html',\n styleUrls: ['./historial-aprobador.component.sass']\n})\nexport class HistorialAprobadorComponent implements OnInit {\n\n length;\n rol = 3;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions : number[] = [5, 10, 25, 100];\n newRolComponent : boolean = false;\n requestStates : any[]\n filtroFecha : string = null ;\n filterStates : any[];\n displayedColumns : string[] = ['acciones','request_date', 'title', 'description','value','created_by','company','state'];\n dataSource = new MatTableDataSource();\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n constructor(private solicitudService: SolicitudesService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n public dialog: MatDialog,\n public datepipe: DatePipe\n ) { }\n\n\n ngOnInit(): void {\n this.getSolicitudes();\n this.getStates();\n }\n\n private getStates(){\n this.solicitudService.getRequestStates()\n .subscribe( states => {\n this.requestStates = states[\"data\"].filter(e => [4,5].includes(e.id));\n })\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que trae los roles paginados\n * @param size cantidad de roles a traer en la tabla\n * @param page pagina que va a mostrar la tabla\n */\n getSolicitudes(): void {\n\n if (this.dataSource.filter === ''){\n this.dataSource.filter = null;\n }\n\n const params = {\n isPage : this.isPage,\n pageSize : this.pageSize,\n page : this.page,\n rol : this.rol,\n date : this.filtroFecha,\n estados : this.filterStates\n }\n\n this.solicitudService.getSoliciudesPaginate(params,true,true).subscribe((Response) => {\n\n for (var i = 0; i < Response.data.length; i++){\n let item = Response.data[i]\n item = Object.assign(item, { orderBy: new Date(item.created_at)})\n }\n\n this.dataSource.data = Response.data.map(item=>{\n\n item.cotizations = (item.cotizations || []).map((cotization)=>{\n cotization.state = cotization.state == 1;\n if(cotization.value)\n cotization.value = Number(cotization.value)\n return cotization;\n })\n\n return item;\n }).sort((a, b) => b.orderBy - a.orderBy);\n this.dataSource.sort = this.sort;\n this.length = Response.total;\n this.pageSize = Response.per_page;\n\n });\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-08\n * Metodo que devuelve la cotización seleccionada de una solicitud\n */\n getSelectedCotization(row) {\n const selectedCotization = row.cotizations.find((cotization)=>cotization.state)\n\n if(selectedCotization?.value)\n return `$${Number(selectedCotization.value).toLocaleString()}`.replace(',','.');\n else return 'N/A';\n }\n\n\n filterByState(event) {\n this.filterStates = event;\n this.getSolicitudes();\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que realiza el filtro\n * @param event datos para filtrar que son enviados desde el input\n */\n applyFilter(event: Event): void {\n\n const filterValue = (event.target as HTMLInputElement).value;\n this.filtroFecha = this.datepipe.transform(filterValue, 'yyyy-MM-dd');\n this.getSolicitudes();\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que se encarga del movimiento del paginador\n * @param event cuando se da click en el paginador trae este evento\n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getSolicitudes();\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que abre el modal de crear un nuevo rol, al cerral el modal se refresca la tabla\n */\n newSolicitud(): void{\n const dialogNewRol = this.dialog.open(CrearSolicitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Solicitud',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize=5;\n this.ngOnInit();\n });\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que abre el modal de editar usuario, envia un usuario, al cerrar el modal se refresca la tabla\n * @param rol rol a editar\n */\n editSolicitud(solicitud: Solicitud): void{\n const dialogNewRol = this.dialog.open(AprobarSolcitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Detalles solicitud',\n coordinador: true,\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n setTimeout(()=>{\n this.ngOnInit();\n },1500);\n \n });\n }\n\n viewSolicitud(solicitud: Solicitud) {\n //const dialogNewRol = this.dialog.open(ProcesarSolicitudComponent , {\n const dialogNewRol = this.dialog.open(AprobarSolcitudComponent , {\n width: '80%',\n disableClose: true,\n data: {\n type: 'view',\n title: 'Detalles solicitud',\n coordinador: true,\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize = 5;\n this.ngOnInit();\n });\n }\n\n viewCampaign(){\n\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n\n descargaGestion(){\n this.dialog.open( DescargaComponent, {\n width : '60%',\n data:{\n type : \"historico\"\n }\n } )\n\n }\n\n}\n","
\n\n \n Fecha de creación\n\n \n\n \n \n \n \n \n\n \n Estado\n \n {{state.name}}\n \n \n\n \n
\n \n\n
\n\n
\n\n\n
\n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n
\n \n \n
\n\n
Fecha de creación {{row.request_date|date:'yyyy-MM-dd'}} Título de solicitud \n {{row.title | slice:0:30}} 30\">...\n Descripción de solicitud \n {{row.description | slice:0:30}} 30\">...\n Valor{{getSelectedCotization(row)}} Solicitante {{row.created_by}} Empresa {{row.company.name}} Estado \n
\n \n   {{row.request_state.name}}\n
\n
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n\n \n \n\n\n
\n
\n\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Subject, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst NOTIFICATION_URL = environment.NOTIFICATION_URL;\nconst COACHING_URL = environment.COACHING_URL;\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationService {\n private _refresh$ = new Subject();\n constructor(\n private http:HttpClient,\n ) { }\n\n get refresh$(){\n return this._refresh$;\n }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n getNotifications(id){\n return this.http.get(`${NOTIFICATION_URL}getNotification/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n changeStatus(idNotification){\n return this.http.post(`${NOTIFICATION_URL}updateNotification/${idNotification}`,{})\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n deleteNotificationById(id){\n return this.http.post(`${NOTIFICATION_URL}deleteNotification/${id}`,{})\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n\n createhistorial(id:number){\n return this.http.post(`${COACHING_URL}notificacionCoaching/store`,{ id:id })\n .pipe(\n catchError(this.handleError),\n tap(()=>{\n this._refresh$.next();\n })\n );\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nconst CRM2_URL = environment.CRM2_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Crm2Service {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Sebastián Daza\n * @createdate 2022-03-03\n * Consulta para los formularios de CRM que tenga campos de tipo 'agendamiento'\n */\n getFormsCRM(): Observable{\n return this.http.get(`${CRM2_URL}sectionCrmAgenda`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, Subject, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { GetBackgroundResponse } from '../../meetings/interfaces/get-background.response';\n\nconst MEETINGS_URL = environment.MEETINGS_URL;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VideollamadaService {\nprivate _userAgent = null;\nconstructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n private MeetResponseSubject = new Subject();\n MeetResponseObservable = this.MeetResponseSubject.asObservable();\n\n private stateSubject = new Subject();\n stateObservable = this.stateSubject.asObservable();\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para actualizar Estado del asesor\n */\n UpdateAdviserState(data: any): Observable {\n return this.http\n .put(`${MEETINGS_URL}Adviser`, data)\n .pipe(catchError(this.handleError));\n }\n\n getAdviserById(id: number) {\n return this.http\n .get(`${MEETINGS_URL}AdviserBy/${id}`)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para actualizar Estado de la sala\n */\n UpdateRoomState(data: any): Observable {\n return this.http\n .put(`${MEETINGS_URL}Room`, data)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para envio de archivo de una sala\n */\n SendFileRoom(data: any): Observable {\n return this.http\n .post(`${MEETINGS_URL}RoomFile`, data)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para obtener los archivos de una sala\n */\n getFilesByRoomId(id: number) {\n return this.http\n .get(`${MEETINGS_URL}GetRoomFiles/${id}`)\n .pipe(catchError(this.handleError));\n }\n\n sendEncolamiento(data: any) {\n return this.http\n .post(`${MEETINGS_URL}Encolamiento`, data)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para obtener los archivos de una sala\n */\n getRoomById(id: number) {\n return this.http\n .get(`${MEETINGS_URL}RoomBy/${id}`)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Observable para el envio de nic al formulario\n */\n setMeetResponse(value) {\n this.MeetResponseSubject.next(value);\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Observable para el envio de estado del asesor\n */\n setStateCall(value) {\n this.stateSubject.next(value);\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para envio de datos formulario\n */\n sendFormMeetings(data: any): Observable {\n return this.http\n .post(`${MEETINGS_URL}Room`, data)\n .pipe(catchError(this.handleError));\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para obtener el horario del\n */\n getScheduleByCampaign(id: number) {\n return this.http.get(`${MEETINGS_URL}Schedule/getScheduleToday/${id}`);\n }\n\n /**\n * Obtener listado de grupos disponibles\n * @author Yeison David Sepulveda Ospina\n * @createdate 14-11-2024\n * @returns Observable\n */\n getGroups(): Observable {\n return this.http.get(`${MEETINGS_URL}groups/groupListPublic`);\n }\n\n /**\n * Obtiene listado de agentes y horarios de disponibilidad en la semana por grupo especifico\n * @author Yeison David Sepulveda Ospina\n * @createdate 26-11-2024\n * @params group_id id del grupo a consultar\n * @params capaign_id El id de la campaña\n * @returns Observable\n */\n getAvailableHours(group_id: number, campaign_id: number): Observable {\n return this.http.get(\n `${MEETINGS_URL}groups/getAvailableHours/${group_id}/${campaign_id}`\n );\n }\n\n /**\n * Servicio para obtener la campaña y la configuracion de la campaña del asesor\n * @author Yeison Sepulveda\n * @created 2024-11-07\n */\n getConfigUser(rrhh_id: any): Observable {\n return this.http\n .get(`${MEETINGS_URL}Adviser/getConfig/${rrhh_id}`)\n .pipe(catchError(this.handleError));\n }\n\n getBackground(campaignId: number): Observable {\n return this.http\n .get(\n `${MEETINGS_URL}settings/getBackground/${campaignId}`\n )\n .pipe(catchError(this.handleError));\n }\n\n /**\n * Metodo que se encarga de obtener el user agent\n */\n get userAgent() {\n return this._userAgent;\n }\n\n /**\n * Metodo que se encarga de actualizar el user agent\n */\n set userAgent(userAgent) {\n this._userAgent = userAgent;\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, FormControl, FormArray } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DestroyComponentService } from '../../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { ToWords } from '../../../../../../core/to-words/to-words';\nimport { OrdenCompra } from '../../../Class/orden-compras';\nimport { OrdenesService } from '../../../../services/rest/ordenes.service';\nimport { ArchivosService } from '../../../../services/rest/archivos.service';\nimport Swal from 'sweetalert2';\nimport { CurrencyMaskInputMode } from 'ngx-currency';\n\n\n@Component({\n selector: 'app-orden-compra',\n templateUrl: './orden-compra.component.html',\n styleUrls: ['./orden-compra.component.sass']\n})\nexport class OrdenCompraComponent implements OnInit {\n\n firstFormGroup: FormGroup;\n secondFormGroup: FormGroup;\n isEditable = true;\n toWords = new ToWords();\n valorFinal=0;\n valorIva =0;\n itemsOrder:any[]=[];\n archivoSolicitud: any;\n isDiscountValid = false;\n\n options = {\n prefix: '',\n thousands: ',',\n decimal: '.',\n inputMode: CurrencyMaskInputMode.NATURAL\n }\n\n constructor(\n private formBuilder : FormBuilder,\n private form : FormBuilder,\n private ordenService : OrdenesService,\n private destroyService : DestroyComponentService,\n private alertsService : AlertsService,\n private archivoService : ArchivosService,\n @Inject(MAT_DIALOG_DATA) public data : any,\n private dialogRef : MatDialogRef\n ) { }\n\n ngOnInit(): void {\n\n this.firstFormGroup = this.formBuilder.group({\n data: [''],\n items: this.form.array([])\n });\n\n if(this.data.solicitud.request_items){\n const itemsRequest = this.data.solicitud.request_items.map(item => {\n if(item.observations && typeof item.observations == 'string') {\n const itemParse = JSON.parse(item.observations)\n item.observations = itemParse\n }\n return item\n });\n\n itemsRequest.forEach(item => {\n this.newItems(item);\n });\n }\n\n this.infoFile();\n\n this.secondFormGroup = this.formBuilder.group({\n observations : new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n sub_total : new FormControl({value:'', disabled:true}, [Validators.required, Validators.maxLength(100), Validators.minLength(3)]),\n discount : new FormControl('', [Validators.required, Validators.maxLength(300), Validators.minLength(3)]),\n iva : new FormControl({value:'', disabled:false}, [Validators.required, Validators.maxLength(300), Validators.minLength(3)]),\n total : new FormControl({value:'', disabled:true}, [Validators.required, Validators.maxLength(300), Validators.minLength(3)]),\n value_in_letters : new FormControl({value:'', disabled:true}, [Validators.required, Validators.maxLength(300), Validators.minLength(3)]),\n delivery_date : new FormControl('', [Validators.required, Validators.maxLength(300), Validators.minLength(3)]),\n pay : new FormControl('', [Validators.required, Validators.maxLength(300), Validators.minLength(3)]),\n payment_condition : new FormControl('', [Validators.required]),\n payment_deb : new FormControl(''),\n payment_percent : new FormControl(''),\n credit_condition : new FormControl(''),\n pay_value : new FormControl({value:'', disabled:true},[]),\n warranty : new FormControl('', [Validators.required]),\n policy : new FormControl('', [Validators.required]),\n ciudad : new FormControl('', [Validators.required, Validators.minLength(4), Validators.maxLength(50)]),\n direccion : new FormControl('', [Validators.required, Validators.minLength(4), Validators.maxLength(20)]),\n observacionCondiciones : new FormControl('', [Validators.required, Validators.minLength(20), Validators.maxLength(100)])\n\n });\n\n if( this.data[\"type\"] == \"edit\" )\n {\n this.setEdit();\n }\n\n\n\n\n\n\n }\n get error(): any { return this.secondFormGroup.controls; }\n get errorItem():any{ return this.firstFormGroup.controls}\n\n get items(): FormArray {\n return this.firstFormGroup.get('items') as FormArray;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que estable las validaciones del formarray dentro del formulario\n */\n newItems(item: any = null): void{\n const newItems = this.form.group({\n id:new FormControl('',[]),\n description: new FormControl(item && item.detail ? item.detail : '', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n specs: new FormControl(item && item.observations ? item.observations.observations : '', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n unit: new FormControl(item && item.quantity ? item.quantity : '', [Validators.required, Validators.maxLength(5), Validators.minLength(1), Validators.min(0)]),\n unit_value: new FormControl('', [Validators.required, Validators.maxLength(5), Validators.minLength(1), Validators.min(0)]),\n selectIva:new FormControl('', [Validators.required]),\n valorIva: new FormControl({value:'', disabled:true},[]),\n total_value: new FormControl({value:'', disabled:true}, [Validators.required, Validators.maxLength(5), Validators.minLength(1)]),\n coin_type: new FormControl('', [Validators.required])\n });\n this.items.push(newItems);\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se encarga de la eliminacion de un grupo de aplicacion y rol\n * @param indice indice del grupo de aplicacion y rol a eliminar\n */\n deleteItems(indice: number): void {\n this.items.removeAt(indice);\n }\n\n /**\n * validar la existencia de al menos un item al avance.\n */\n onStepChange(event){\n if(event.selectedIndex == 1)\n {\n this.validarItems()\n }\n if(event.selectedIndex == 2 ){\n this.calcularValores()\n }\n }\n validarItems(){\n\n if (this.items.length===0) {\n this.newItems();\n }\n }\n\n calcularValores(){\n let valorTotal=0;\n this.valorIva=0;\n\n this.firstFormGroup.getRawValue().items.forEach(element => {\n valorTotal+=element['total_value'];\n if(element['selectIva']===100){\n\n this.valorIva+=(element['total_value']*element['valorIva'])/100;\n }else {\n this.valorIva+=(element['total_value']*element['selectIva'])/100;\n }\n });\n this.valorFinal= valorTotal+this.valorIva;\n let valorfinalletras = this.toWords.convert( this.valorFinal);\n\n if(this.firstFormGroup.value.items[0].coin_type === 'USD'){\n valorfinalletras = valorfinalletras.replace('PESOS','DOLARES');\n }else if (this.firstFormGroup.value.items[0].coin_type === 'MXN') {\n valorfinalletras = valorfinalletras.replace('PESOS','PESOS MEXICANOS');\n }\n\n this.secondFormGroup.controls.sub_total.setValue(valorTotal);\n //this.secondFormGroup.controls.discount.setValue(0);\n if(this.data[\"type\"] != \"edit\" || this.data.ordenCompra.sub_total != valorTotal){\n this.secondFormGroup.controls.iva.setValue(this.valorIva);\n this.secondFormGroup.controls.total.setValue( this.valorFinal);\n this.secondFormGroup.controls.value_in_letters.setValue(valorfinalletras);\n }\n\n this.calculardiscount();\n }\n\n calcularValorTotal(indice){\n if(this.firstFormGroup.value.items[indice].coin_type === 'COP'){\n let cantidad = this.firstFormGroup.value.items[indice].unit;\n let valor=this.firstFormGroup.value.items[indice].unit_value;\n\n let valorTotal = (cantidad == undefined ? 0 :cantidad)* (valor == undefined ? 0:valor);\n\n this.firstFormGroup.controls.items[\"controls\"][indice].controls.total_value.setValue(valorTotal);\n }\n }\n\n cambioTipoMoneda(event, i){\n this.secondFormGroup.controls.discount.setValue(0);\n if(event === 'USD' || event === 'MXN'){\n this.firstFormGroup.controls.items[\"controls\"][i].controls.total_value.enable();\n this.firstFormGroup.controls.items[\"controls\"][i].controls.total_value.setValue();\n }else{\n this.firstFormGroup.controls.items[\"controls\"][i].controls.total_value.disable();\n this.firstFormGroup.controls.items[\"controls\"][i].controls.unit_value.setValue(0);\n this.firstFormGroup.controls.items[\"controls\"][i].controls.total_value.setValue();\n }\n }\n\n\n calculardiscount(){\n\n const descuento= this.secondFormGroup.get('discount').value;\n const iva =this.secondFormGroup.get('iva').value;\n let valorFinal;\n\n if(iva != this.valorIva){\n valorFinal = (this.valorFinal-this.valorIva)-descuento+iva;\n }else{\n valorFinal = this.valorFinal-descuento;\n }\n\n let valorfinalletras = this.toWords.convert(valorFinal);\n\n if(this.firstFormGroup.value.items[0].coin_type === 'USD'){\n valorfinalletras = valorfinalletras.replace('PESOS','DOLARES');\n }else if (this.firstFormGroup.value.items[0].coin_type === 'MXN') {\n valorfinalletras = valorfinalletras.replace('PESOS','PESOS MEXICANOS');\n }\n\n if (valorFinal> 0 ){\n this.isDiscountValid = true;\n this.secondFormGroup.controls.total.setValue(valorFinal);\n this.secondFormGroup.controls.value_in_letters.setValue(valorfinalletras);\n } else{\n this.isDiscountValid = false;\n this.alertsService.alertError('Error', 'No se puede aplicar un descuento superior al valor total')\n }\n }\n\n /**\n\t * @method downloadCotizacion Valida si el formulario es valido y el descuento no es mayor a el presupuesto\n\t * @author Juan Carlos Alonso Perez\n\t * @create_date 18/03/2022\n\t */\n validarEnvioForm(){\n if(this.secondFormGroup.valid && this.isDiscountValid){\n return true;\n }else{\n return false;\n }\n }\n\n\n\n cambioEstado(event, index){\n\n\n if (event === 100){\n this.firstFormGroup.controls.items[\"controls\"][index].controls.valorIva.enable();\n } else {\n this.firstFormGroup.controls.items[\"controls\"][index].controls.valorIva.disable();\n }\n\n }\n\n cambioPagoValue(event){\n if (event === 'Abono'|| event === 'Anticipo' || event === 'Credito'){\n this.secondFormGroup.controls.pay_value.enable();\n } else {\n this.secondFormGroup.controls.pay_value.disable();\n }\n\n }\n\n cambiarValor(value){\n let porcentaje = Number(value);\n\n if(porcentaje > 100 ){\n this.alertsService.alertError('Error', '¡Porcentaje no valido! El porcentaje no puede ser mayor al 100%')\n this.secondFormGroup.controls.payment_percent.setValue('');\n }\n }\n\n infoFile(){\n let orderCompraId;\n this.data[\"type\"] == \"edit\" ? orderCompraId = this.data.solicitud.request_id : orderCompraId = this.data.solicitud.id;\n\n this.archivoService.getArchivosSolicitud(orderCompraId).subscribe(resp => {\n if(resp.data.length > 1){\n resp.data.forEach((element) => {\n if(element.state == 1){\n this.firstFormGroup.controls.data.setValue(element.name);\n this.archivoSolicitud = element;\n }\n });\n }else if(resp.data.length == 1){\n if(resp.data[0].state == 1){\n this.firstFormGroup.controls.data.setValue(resp.data[0].name);\n this.archivoSolicitud = resp.data[0];\n }else{\n this.firstFormGroup.controls.data.setValue('Esta orden de compra no cuenta con una cotización asociada');\n }\n }\n });\n\n }\n\n downloadFile(){\n const archivo = {\n path: this.archivoSolicitud.path\n };\n\n this.archivoService.downloadOrder(archivo).subscribe( (data) => {\n const a = document.createElement('a');\n const file = new Blob([data], {type: this.archivoSolicitud.fileContentType});\n a.href = URL.createObjectURL(file);\n a.download = this.archivoSolicitud.name;\n a.click();\n });\n }\n\n saveOrder( alertResponse:boolean ){\n\n const orden = new OrdenCompra();\n\n orden.observations = this.secondFormGroup.getRawValue().observations;\n orden.sub_total = this.secondFormGroup.getRawValue().sub_total;\n orden.discount = this.secondFormGroup.getRawValue().discount;\n orden.iva = this.secondFormGroup.getRawValue().iva;\n orden.calculated_iva = this.valorIva;\n orden.total = this.secondFormGroup.getRawValue().total;\n orden.value_in_letters = this.secondFormGroup.getRawValue().value_in_letters;\n orden.delivery_date = this.secondFormGroup.getRawValue().delivery_date;\n orden.warranty = this.secondFormGroup.getRawValue().warranty;\n orden.pay = this.secondFormGroup.getRawValue().pay;\n orden.payment_deb = this.secondFormGroup.getRawValue().payment_deb;\n orden.payment_percent = (this.secondFormGroup.getRawValue().payment_percent== '' ? 0 :this.secondFormGroup.value.payment_percent);\n orden.payment_condition = this.secondFormGroup.getRawValue().payment_condition;\n orden.credit_condition = this.secondFormGroup.getRawValue().credit_condition;\n orden.pay_value = (this.secondFormGroup.getRawValue().pay_value==undefined ? '':this.secondFormGroup.value.pay_value);\n orden.policy = this.secondFormGroup.getRawValue().policy;\n orden.PurchaseOrderItem = this.firstFormGroup.getRawValue().items;\n orden.ciudad = this.secondFormGroup.getRawValue().ciudad;\n orden.direccion = this.secondFormGroup.getRawValue().direccion;\n orden.observacionCondiciones = this.secondFormGroup.getRawValue().observacionCondiciones;\n\n\n if( this.data.type ==\"edit\" )\n {\n this.ordenService.updateOrder(orden,this.data.ordenCompra.id ).subscribe(resp=>{\n if(alertResponse){\n this.alertsService.alertWithAnyProperties('Guardado', resp.data, 'success', 'Continuar').then(res => {\n if (res.isConfirmed) {\n this.dialogRef.close();\n }\n });\n // this.alertsService.alertSuccess('Guardado', resp.data);\n // if(resp){\n // this.dialogRef.close();\n // }\n }\n });\n }\n else\n {\n orden.request_id = this.data.solicitud.id;\n orden.proveedor_nit = this.data.proveedor.nit;\n orden.company_id = this.data.solicitud.company.id;\n this.ordenService.saveOrder(orden).subscribe(resp=>{\n if( alertResponse ){\n this.alertsService.alertWithAnyProperties('Guardado', resp.data, 'success', 'Continuar').then(res => {\n if (res.isConfirmed) {\n window.location.reload();\n }\n });\n // this.alertsService.alertSuccess('Guardado', resp.data);\n // if(resp){\n // window.location.reload();\n // }\n }\n });\n }\n }\n\n\n enviarOrder(){\n const estado ={\n state:5\n }\n\n\n //Confirma cambio de estado de aproba a rechazada\n Swal.fire({\n icon : 'warning',\n title : '¿Estás seguro?',\n text : \"¿Deseas enviar la orden de compra?, recuerda que esto será definitivo y no se podrá deshacer, únicamente podrás fragmentar la orden de compra\",\n showCancelButton : true,\n focusConfirm : false,\n confirmButtonText : 'Aceptar',\n cancelButtonText : \"Cancelar\"\n }).then( (result) => {\n if(result.isConfirmed){\n this.saveOrder(false);\n this.ordenService.updateState(estado, this.data.ordenCompra.id).subscribe((resp)=>{\n this.alertsService.alertSuccess('Orden Enviada',resp.data);\n this.dialogRef.close();\n },\n error => {\n this.alertsService.alertWarning('Atención',error.error.error);\n }\n );\n }\n } )\n\n }\n\n setEdit(){\n this.ordenService.getOrderItems(this.data.ordenCompra.id).subscribe((resp)=>{\n this.itemsOrder=resp.data;\n\n this.secondFormGroup.controls.pay.setValue(this.data.ordenCompra.pay);\n this.secondFormGroup.controls.payment_condition.setValue(this.data.ordenCompra.payment_condition);\n this.secondFormGroup.controls.payment_deb.setValue(this.data.ordenCompra.payment_deb);\n this.secondFormGroup.controls.payment_percent.setValue(this.data.ordenCompra.payment_percent);\n this.secondFormGroup.controls.credit_condition.setValue(this.data.ordenCompra.credit_condition);\n this.secondFormGroup.controls.pay_value.setValue(this.data.ordenCompra.pay_value);\n this.secondFormGroup.controls.warranty.setValue(this.data.ordenCompra.warranty);\n this.secondFormGroup.controls.policy.setValue(this.data.ordenCompra.policy);\n this.secondFormGroup.controls.observations.setValue(this.data.ordenCompra.observations);\n this.secondFormGroup.controls.sub_total.setValue(this.data.ordenCompra.sub_total);\n this.secondFormGroup.controls.discount.setValue(this.data.ordenCompra.discount);\n this.secondFormGroup.controls.iva.setValue(this.data.ordenCompra.iva);\n this.secondFormGroup.controls.total.setValue(this.data.ordenCompra.total);\n this.secondFormGroup.controls.value_in_letters.setValue(this.data.ordenCompra.value_in_letters);\n this.secondFormGroup.controls.delivery_date.setValue(this.data.ordenCompra.delivery_date);\n this.secondFormGroup.controls.observacionCondiciones.setValue(this.data.ordenCompra.observaciones_condiciones);\n this.secondFormGroup.controls.ciudad.setValue(this.data.ordenCompra.ciudad);\n this.secondFormGroup.controls.direccion.setValue(this.data.ordenCompra.direccion);\n\n this.itemsOrder.forEach((element, index) => {\n this.newItems();\n this.items.controls[index].get('id').setValue(element.id);\n this.items.controls[index].get('specs').setValue(element.specs);\n this.items.controls[index].get('description').setValue(element.description);\n this.items.controls[index].get('unit').setValue(element.unit);\n this.items.controls[index].get('unit_value').setValue(element.unit_value);\n this.items.controls[index].get('valorIva').setValue(element.iva);\n this.items.controls[index].get('selectIva').setValue(element.iva);\n this.items.controls[index].get('total_value').setValue(element.total_value);\n this.items.controls[index].get('coin_type').setValue(this.data.ordenCompra.coin_type)\n });\n\n });\n }\n\n\n /**\n\t * @method downloadCotizacion Permite la descarga de la Cotizacion Seleccionada para la solicitud\n\t * @author Juan David Guerrero Vargas\n\t * @create_date 18/03/2022\n\t * @param id_purchase_id | string PArametro ue recibe el Id de la solicitud donde se registra el archivoa descargar\n\t */\n\tdownloadCotizacion(id_solicitud_id:Number){\n\n\t\tthis.archivoService.getArchivosSolicitud(id_solicitud_id, true).subscribe(\n\t\t\tresp => {\n\t\t\t\tif(resp){\n\t\t\t\t\tlet e = resp.data[0]\n\t\t\t\t\tconst archivo = {\n\t\t\t\t\t\tpath: e.path\n\t\t\t\t\t };\n\n\t\t\t\t\tthis.archivoService.downloadOrder(e).subscribe( (data) => {\n\t\t\t\t\t\tconst a = document.createElement('a');\n\t\t\t\t\t\tconst file = new Blob([data], {type: e.fileContentType});\n\t\t\t\t\t\ta.href = URL.createObjectURL(file);\n\t\t\t\t\t\ta.download = e.name;\n\t\t\t\t\t\ta.click();\n\n\t\t\t\t\t},\n\t\t\t\t\t(error) =>{\n\n\t\t\t\t\t\tthis.alertsService.alertError(\"Error al descargar\", \"Se ah producido un error en la descarga \");\n\n\t\t\t\t\t});\n\t\t\t\t}else{\n\n\t\t\t\t\tthis.alertsService.alertError(\"No se encontro archivo adjunto\", \"No se ha encontrado ningun archivo adjunto seleccionado\");\n\n\t\t\t\t}\n\n\n\t\t\t},\n\t\t\terror =>{\n\t\t\t\tthis.alertsService.alertError(\"Archivo No encontrado\", \"Lo sentimos no hemos logrado encontrar el documento adjunto\" );\n\t\t\t}\n\t\t);\n\n\t}\n\n\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n }\n","
\n \n
\n \n
\n\n\n
\n
\n

\n Orden de compra OC-{{data.ordenCompra.purchase_order_number}}\n

\n
\n
\n \n
\n\n \n
\n\n \n \n \n\n Datos generales\n
\n\n

Datos de la empresa

\n \n
\n\n
\n Empresa\n

{{data.solicitud.company.name}}

\n
\n
\n Nit\n

{{data.solicitud.company.nit}}

\n
\n
\n
\n

Documento controlado

\n \n
\n\n
\n\n\n
\n Fecha emisión\n

{{data.solicitud.created_at | date}}

\n
\n
\n Tipo de adquisición\n

{{data.solicitud.product_type.name}}

\n
\n
\n
\n

Datos del proveedor

\n
\n
\n\n
\n Razón social\n

{{data.proveedor.razon_social}}

\n
\n
\n Nit\n

{{data.proveedor.nit}}

\n
\n
\n Dirección\n

{{data.proveedor.direccion}}

\n
\n
\n
\n
\n Celular\n

{{data.proveedor.user.celular}}

\n
\n
\n Teléfono\n

{{data.proveedor.telefono_proveedor}}

\n
\n
\n E-mail\n

{{data.proveedor.user.correo}}

\n
\n
\n
\n

Datos del solicitante

\n
\n
\n\n
\n Nombre del solicitante\n

{{data.solicitud.created_by}}

\n
\n
\n\n\n
\n \n
\n\n
\n \n
\n Detalle compra\n\n\n
\n

\n Por los siguientes ítems\n

\n \n
\n\n
\n
\n ítem {{i+1}}\n
\n \n Descripción\n \n ¡Advertencia! Este\n campo es requerido\n ¡Aún falta! Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo puedes\n tener un máximo de 255 caracteres\n \n\n \n Especificación\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo\n 3 caracteres\n ¡Cuidado! Solo puedes tener\n un máximo de 255 caracteres\n \n\n\n\n \n Cantidad\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo\n 3 caracteres\n ¡Cuidado! Solo puedes tener\n un máximo de 3 caracteres\n \n \n Tipo de moneda\n \n {{typeCoin}}\n \n \n ¡Advertencia! Este campo\n es requerido\n \n \n Valor unitario\n \n ¡Advertencia! Este campo\n es requerido\n ¡Aún falta! Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo puedes\n tener un máximo de 3 caracteres\n \n \n IVA\n \n 0%\n 5%\n 19%\n 30%\n 35%\n Otro\n \n ¡Advertencia! Este campo\n es requerido\n \n \n Otro IVA\n \n \n \n Valor total\n \n ¡Advertencia! Este\n campo es requerido\n ¡Aún falta! Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo puedes\n tener un máximo de 3 caracteres\n \n \n \n
\n
\n

{{item.name}}

\n
\n
\n \n
\n
\n
\n\n\n
\n
\n
\n
\n\n
\n \n \n
\n\n
\n
\n \n \n
\n
\n
\n \n
\n Finalizar orden\n

Condiciones comerciales

\n \n
\n
\n \n Observaciones *\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta!\n Recibimos mínimo 3 caracteres\n ¡Cuidado!\n Solo puedes tener un máximo de 255 caracteres\n \n\n \n Sub-total\n \n ¡Advertencia! Este\n campo es requerido\n ¡Aún falta!\n Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo\n puedes tener un máximo de 40 caracteres\n \n\n\n\n \n Descuento *\n \n ¡Advertencia! Este\n campo es requerido\n ¡Aún falta!\n Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo\n puedes tener un máximo de 3 caracteres\n \n\n \n Total IVA. *\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo\n 3 caracteres\n ¡Cuidado! Solo puedes tener\n un máximo de 40 caracteres\n \n\n\n\n \n Total\n \n ¡Advertencia! Este campo\n es requerido\n ¡Aún falta! Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo puedes\n tener un máximo de 3 caracteres\n \n\n \n Valor en letras\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo 3\n caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3\n caracteres\n \n \n Fecha de entrega *\n \n ¡Advertencia! Este campo es requerido\n ¡Aún\n falta! Recibimos mínimo 3 caracteres\n ¡Cuidado!\n Solo puedes tener un máximo de 40 caracteres\n \n\n \n Método de pago *\n \n {{item}} \n \n ¡Advertencia! Este campo es\n requerido\n \n\n\n \n Condición de pago *\n \n {{item}} \n \n ¡Advertencia! Este campo es\n requerido\n \n\n\n \n Valor {{secondFormGroup.get('payment_condition').value}} *\n \n ¡Advertencia!\n Este campo es requerido\n \n\n \n Porcentaje de {{secondFormGroup.get('payment_condition').value}} *\n \n %  \n ¡Advertencia! Este campo es requerido\n \n\n\n\n \n Condición de crédito *\n \n {{item}} \n \n ¡Advertencia! Este campo es\n requerido\n \n\n \n Garantía *\n \n Si\n No\n\n \n ¡Advertencia! Este\n campo es requerido\n \n\n \n Póliza *\n \n Si\n No\n\n \n ¡Advertencia! Este campo\n es requerido\n \n\n \n Ciudad de Entrega *\n \n ¡Advertencia! Este campo\n es requerido\n ¡Advertencia! No puede\n ser inferior a 4 caracteres\n ¡Advertencia! No puede\n ser superior a 50 caracteres\n \n \n Dirección *\n \n ¡Advertencia! Este\n campo es requerido\n ¡Advertencia! No\n puede ser inferior a 4 caracteres\n ¡Advertencia! No\n puede ser superior a 20 caracteres\n \n \n Observaciones de condiciones *\n \n ¡Advertencia! Este campo es\n requerido\n ¡Advertencia! No puede ser inferior a 20\n caracteres\n ¡Advertencia! No puede ser superior a 100\n caracteres\n \n\n\n
\n
\n \n\n  \n \n
\n
\n\n\n\n\n
\n
\n
\n
\n
\n \n
\n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\nconst CRM_URL = environment.CRM_URL;\n@Injectable({\n providedIn: 'root'\n})\nexport class CampaingsService {\n putState(id: any, data: { state: any; }) {\n throw new Error('Method not implemented.');\n }\n\n constructor(private http: HttpClient, private AuthService: AuthService) { }\n\n getCampaings(direction) {\n return this.http.get(`${CRM_URL}${direction}`);\n }\n\n getCampaingsByUser(direction, id) {\n return this.http.get(`${CRM_URL}${direction}${id}`);\n }\n\n /* UpdateState(id, state) {\n return this.http.post(`${CRM_URL}campaigns/${id}/updateState`, state);\n } */\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-editar-item',\n templateUrl: './editar-item.component.html',\n styleUrls: ['./editar-item.component.sass']\n})\nexport class EditarItemComponent implements OnInit {\n private uuid = '9dd3ecb0-9156-11ee-b9d1-0242ac120002';\n public config: any;\n\n itemForm:FormGroup;\n items = [];\n filteredOptions: Observable;\n verError:boolean = true;\n continue:boolean = true;\n nuevo:boolean = false;\n peso:boolean = false;\n descripcion:boolean = true;\n mostarDescripciones:boolean = true;\n constructor(\n public itemRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private fb:FormBuilder,\n private matrizService:MatrizService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.createForm();\n this.getItemById();\n console.log(this.datos);\n\n }\n\n createForm(){\n this.itemForm = this.fb.group({\n nombre:['',Validators.required],\n peso:['',[Validators.required]],\n descripcion:[''],\n aspectoPositivo:['',Validators.maxLength(100)],\n aspectoNegativo:['',Validators.maxLength(100)],\n aspectoNa:['',Validators.maxLength(100)],\n aspectoCp: ['', Validators.maxLength(100)]\n })\n }\n\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.items.filter(option => option.nombre.toLowerCase().includes(filterValue));\n }\n\n displayFn(module: any): string {\n return module && module ? module : '';\n }\n\n getItems(){\n this.matrizService.getItems(this.itemForm.get('nombre').value).subscribe((resp:any)=>{\n if (resp.length == 0) {\n this.verError = true\n this.itemForm.get('nombre').setErrors({invalid:true});\n this.nuevo = true;\n this.peso = false;\n this.descripcion = false;\n this.mostarDescripciones = false;\n this.continue = false;\n }else{\n this.newItem();\n this.items = resp\n this.filteredOptions = this.itemForm.get('nombre').valueChanges.pipe(\n startWith(''),\n map(value => this._filter(value))\n );\n }\n })\n }\n\n newItem(){\n this.nuevo = false;\n this.itemForm.get('nombre').setErrors(null);\n if (this.datos.tipo_matriz == \"Cumplimiento\") {\n this.peso = false\n this.itemForm.get('peso').setValue(null);\n this.itemForm.get('peso').setErrors(null);\n this.itemForm.get('peso').clearValidators();\n }else{\n if (this.datos.tipo_peso == 'Peso en Items') {\n if (this.datos.error_critico) {\n this.peso = false;\n this.itemForm.get('peso').setValue(null);\n this.itemForm.get('peso').setErrors(null);\n this.itemForm.get('peso').clearValidators();\n\n } else {\n this.peso = true;\n }\n }else{\n this.peso = false;\n this.itemForm.get('peso').setValue(null);\n this.itemForm.get('peso').setErrors(null);\n this.itemForm.get('peso').clearValidators();\n\n }\n }\n this.descripcion = true;\n this.continue = true;\n }\n\n getItemById(){\n this.matrizService.getModuleById(this.datos.id_item).subscribe((resp:any)=>{\n this.itemForm.setValue({\n nombre: resp.nombre,\n peso: resp.peso,\n descripcion: resp.descripcion,\n aspectoPositivo: resp.aspectoPositivo,\n aspectoNegativo: resp.aspectoNegativo,\n aspectoNa: resp.aspectoNa,\n aspectoCp: resp.aspectocp\n });\n if (this.datos.tipo_peso == 'Peso en Items') {\n if (this.datos.error_critico) {\n this.peso = false;\n this.itemForm.get('peso').setValue(null);\n this.itemForm.get('peso').setErrors(null);\n this.itemForm.get('peso').clearValidators();\n\n } else {\n this.peso = true;\n }\n }else{\n this.peso = false\n this.itemForm.get('peso').setValue(null);\n this.itemForm.get('peso').setErrors(null);\n this.itemForm.get('peso').clearValidators();\n\n }\n });\n }\n\n updateItem(){\n if (this.itemForm.invalid) {\n return\n }\n const data = {\n idModulo: this.datos.id_item\n }\n Object.assign(data,this.itemForm.value);\n this.matrizService.updateItem(data).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess(this.config.modals.excellent, this.config.modals.text);\n this.itemRef.close();\n }\n },(err:any)=>{\n this.itemRef.close();\n }\n );\n }\n\n}\n","\n
\n

{{config.labels.editItem}}

\n \n \n {{config.labels.name}}\n \n \n \n \n {{option.nombre}}\n \n \n {{config.labels.noResults}}\n {{config.labels.required}}\n \n \n \n {{config.labels.weight}}\n \n {{config.labels.enterWeight}}\n \n \n {{config.labels.description}}\n \n \n \n {{config.labels.positiveAspect}}\n \n {{config.labels.maxLength}}\n \n \n {{config.labels.negativeAspect}}\n \n {{config.labels.maxLength}}\n \n \n {{config.labels.naAspect}}\n \n {{config.labels.maxLength}}\n \n \n {{config.labels.cpAspect}}\n \n {{config.labels.maxLength}}\n \n
\n \n \n
\n
\n","import { Component, HostListener, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport Swal from 'sweetalert2';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { RequestService } from 'src/app/modules/speech-analytics/services/request.service';\nimport { ViewService } from 'src/app/modules/speech-analytics/services/view.service';\nimport * as moment from 'moment';\nimport { AudioPlayerComponent } from '../audio-player-modal/audio-player-modal.component';\nimport { Observable } from 'rxjs';\nimport { FormsCrmRequestService } from 'src/app/modules/speech-analytics/services/forms-request.service';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { StrategyServersService } from 'src/app/modules/speech-analytics/services/strategy.service';\nimport { CampaignService } from 'src/app/modules/speech-analytics/services/campaign.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { AdherenciaModalComponent } from '../adherencia-modal/adherencia-modal.component';\nimport { TranscricpcionStrategyComponent } from '../transcription-strategy-modal/transcription-strategy-modal.component';\nimport { AnalyticsModalComponent } from '../analytics-modal/analytics-modal.component';\nimport { AnalyticsVoiceGeneralComponent } from '../analytics-voice-general-modal/analytics-voice-general-modal.component';\nimport { map, startWith } from 'rxjs/operators';\n\n@Component({\n selector: 'app-search-module',\n templateUrl: './search-module.component.html',\n styleUrls: ['./search-module.component.sass']\n})\nexport class ModuleComponent implements OnInit, OnDestroy {\n\n /**\n * formulario\n */\n formFilters:FormGroup;\n isFiltersAdvancedActive:boolean = false;\n /**\n * Variables de paginacion\n */\n configPaginator : any = { length: 0, pageSize: 5, pageIndex: 1 };\n configPaginatorRecording : any ={ pageSize : 5, length:0, pageIndex:1 }\n configPaginatorStrategy : any ={ pageSize : 5, length:0, pageIndex:1 }\n pageSizeOptions : number[] = [5, 10, 20, 50, 100];\n\n\n /**\n * Selectores de filtros\n */\n formularios: any[] = [];\n seccion: any[] = [];\n fields: any[] = [];\n opciones: any[] = [];\n campaigns_cartera:any[]=[];\n carterasLists:any[] = [];\n listStrategys:any[] = [];\n campaigns_user: any[] = [];\n filteredOptionsCampaign: Observable;\n\n groups: any[] = [];\n skills: any[] = [];\n tipifications: any[] = [];\n type_call: any[] = [ {type_call:'Inbound'}, {type_call:'Outbound'} ];\n\n /**\n * Columnas tablas\n */\n displayedColumns:string[] = ['checbox','recording_id', 'start_time', 'user', 'full_name', 'phone_number', 'user_group','time_difference'];\n displayedColumnsRecordings:string[] = ['checbox','recording_id', 'start_time', 'user', 'full_name', 'phone_number', 'user_group','time_difference', 'audio'];\n displayedColumnsStrategy: string[] = ['checbox','recording_id', 'start_time', 'user', 'full_name', 'phone_number', 'user_group', 'time_difference','audio','analisis'];\n\n\n /**\n * Cabeceras de tablas\n */\n tHeadersRecordings:any={\n checbox: \"\", recording_id:\"ID Caller\",\n start_time:'Fecha grabación', user: \"No. documento\",\n full_name: 'Nombre agente', phone_number:'Teléfono', user_group: 'Skill',\n time_difference: \"Tiempo\", audio:'Audio', analisis:'Análisis' , adherencia:'Adherencia'\n }\n\n dataSource = new MatTableDataSource();\n dataSourceRecordings = new MatTableDataSource();\n dataSourceStrategy = new MatTableDataSource();\n\n //Variables de control con Array original de datos para tablas que requiren Paginacion estatica\n listrecordingsAnalising:any[] = []\n listRecordingsStrategys:any[] = []\n\n //ordenamiento tablas\n @ViewChild(MatSort) sort: MatSort;\n @ViewChild('sortRecordings') sortRecordings: MatSort;\n @ViewChild('sortStrategy') sortStrategy: MatSort;\n\n /**\n * Varibales de seleccions\n */\n selection = new SelectionModel(true, []);\n selectionRecordings = new SelectionModel(true, []);\n selectionStrategy = new SelectionModel(true, []);\n\n //Tipo de modulo a consultar CRM1-CRM2-Carteras\n selectedCRM: any;\n //Control para seleccion de estrategias\n strategyControl:FormControl = new FormControl(null)\n\n //\n rrhh_id_user: any;\n\n isAllComplete: boolean;\n private isActive = true;\n startegyComplete: boolean;\n\n //parar el metodo obtener estados\n private abortController: AbortController | null = null;\n\n //selectores\n selectedSearch: Set = new Set(); //selest activos busqueda\n selectedDownload: Map = new Map(); //selects activos descarga audios\n selectedAnalytics: Map = new Map(); //selects activos analisis\n selectedStrategy: Map = new Map(); //selects activos strategias\n\n @ViewChild('stepperStrategys') stepperStrategys: any;\n paginaActual: number;\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n duration: string = '';\n\n ngOnInit(): void {\n this.initFormFilters();\n this.filterUserCampaign();\n this.cargarSelects();\n }\n\n ngOnDestroy() {\n this.isActive = false;\n }\n\n constructor(\n private dialog:MatDialog,\n private requestService: RequestService,\n private viewservice: ViewService,\n private formsCrmRequestService: FormsCrmRequestService,\n private strategyService: StrategyServersService,\n private campaignService: CampaignService,\n private authService: AuthService,\n ) {}\n\n /**\n * Método donde se establecen las validaciones del formulario y adviarte antes de refrescar\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @method unloadNotification\n * @param {Event} $event - El evento `beforeunload` del navegador.\n * @returns {void}\n */\n\n @HostListener('window:beforeunload', ['$event'])\n unloadNotification($event: any) {\n if (this.formFilters.dirty) {\n $event.returnValue = true;\n }\n }\n\n /**\n * Metodo donde se establecen las validaciones del formulario\n * @author Yeison sepulveda\n * @createdate 14/03/2023\n * @returns void {void}\n */\n\n initFormFilters(): void {\n this.formFilters = new FormGroup({\n campaign: new FormControl(null, [Validators.required, this.campaignValidator.bind(this)]),\n module: new FormControl(null, Validators.required),\n form: new FormControl(null),\n section: new FormControl(null),\n field: new FormControl(null),\n option: new FormControl(null),\n start_date: new FormControl(null),\n end_date: new FormControl(null),\n phone_number: new FormControl(null),\n usergroup: new FormControl(null),\n skill_id: new FormControl(null),\n status: new FormControl(null),\n user: new FormControl(null),\n type_call: new FormControl(null),\n duration: new FormControl(null, [this.timeGreaterThanOneMinuteValidator()])\n });\n }\n\n clearField(): void {\n this.resetFilters(['campaign', 'start_date', 'end_date']);\n this.groups = [];\n this.tipifications = [];\n }\n\n /**\n * Metodo validar rango de fecha para desabilitar als fechas personalizadas\n * @author Yeison sepulveda\n * @createdate 14/03/2024\n * @returns void {void}\n */\n\n dateFilter = (date: Date | null): boolean => {\n const campaign_id = this.formFilters.get(\"campaign\").value;\n const selectedCampaign = this.campaigns_user.find(campaign => campaign.id === campaign_id);\n let newDelimitDate: Date | null = null;\n\n //si hay una campaña seleccionada y tiene una fecha delimitada agregar 1 día a la fecha delimitada\n if (selectedCampaign && selectedCampaign.delimit_date) {\n newDelimitDate = new Date(selectedCampaign.delimit_date);\n newDelimitDate.setDate(newDelimitDate.getDate() + 1);\n }\n\n const today = new Date();\n let twoMonthsAgo: Date;\n\n if (newDelimitDate) {\n //delimitado con fecha\n twoMonthsAgo = new Date(newDelimitDate);\n twoMonthsAgo.setMonth(newDelimitDate.getMonth() - 2);\n return date >= twoMonthsAgo && date <= newDelimitDate;\n } else {\n //pretermiando\n twoMonthsAgo = new Date(today);\n twoMonthsAgo.setMonth(today.getMonth() - 2);\n return date >= twoMonthsAgo && date <= today;\n }\n }\n\n /**\n * Validador personalizado para el campo 'campaign'.\n * @author Yeison Sepulveda\n * @createdate 2024-07-19\n * @param formGroup El grupo de formularios que contiene el campo 'campaign'.\n * @returns objeto con el error 'invalidCampaign' si el valor es inválido, o null si es válido.\n */\n campaignValidator(control: FormControl): { [key: string]: boolean } | null {\n const isValid = this.campaigns_user.some(c => c.id === control.value);\n return isValid ? null : { invalidCampaign: true };\n }\n\n /**\n * Metodo solo permite numeros\n * @author Yeison Sepulveda\n * @date 2024-07-31\n */\n stripText(control: string) {\n this.formFilters.controls[control].setValue(\n this.formFilters.controls[control].value.replace(/[^0-9]/g, '')\n );\n }\n\n /**\n * Método para limpiar la selección basado en un parámetro\n * @author Yeison Sepulveda\n * @param param\n */\n searchSelection(param: string) {\n switch (param) {\n case 'search':\n // Limpiar todos los selectores relevantes\n this.selectedSearch.clear();\n this.selectedDownload.clear();\n this.selectedAnalytics.clear();\n this.selectedStrategy.clear();\n this.selectionRecordings.clear();\n this.selectionStrategy.clear();\n this.configPaginator.pageIndex = 1;\n this.configPaginatorRecording.pageIndex = 1;\n this.listRecordingsStrategys = [];\n this.search();\n break;\n\n case 'descarga':\n this.selectedDownload.clear();\n this.paginator.firstPage();\n this.configPaginatorRecording.pageIndex = 1;\n this.dataSourceRecordings.data = [];\n this.configPaginatorRecording.pageSize = this.configPaginator.pageSize;\n this.deleteColumnAnalytics();\n this.descargarAudios(this.stepperStrategys);\n break;\n\n case 'analisis':\n if (this.selectedDownload.size === 0) {\n Swal.fire({\n title: 'No hay registros seleccionados',\n text: 'Por favor, seleccione al menos un registro para analizar.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n return;\n }\n Swal.fire({\n title: '¿Estás seguro?',\n text: `Se iniciará el análisis de ${this.selectedDownload.size} grabaciones.`,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Sí, continuar',\n confirmButtonColor: '#2CABBC',\n cancelButtonText: 'Cancelar',\n cancelButtonColor: '#FFFFFF',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n // Realizar análisis\n this.selectedAnalytics = new Map(this.selectedDownload);\n this.selectedDownload.clear();\n this.selectionRecordings.clear();\n this.listRecordingsStrategys = [];\n this.dataSourceRecordings.data = [];\n this.analytics();\n }\n });\n break;\n case 'analisis_sentimientos':\n if (this.selectedDownload.size === 0) {\n Swal.fire({\n title: 'No hay registros seleccionados',\n text: 'Por favor, seleccione al menos un registro para analizar.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n return;\n }\n Swal.fire({\n title: '¿Estás seguro?',\n text: `Se iniciará el análisis de sentientos de ${this.selectedDownload.size} grabaciones.`,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Sí, continuar',\n confirmButtonColor: '#2CABBC',\n cancelButtonText: 'Cancelar',\n cancelButtonColor: '#FFFFFF',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.selectedAnalytics = new Map(this.selectedDownload);\n this.analytics_emociones();\n this.selectionRecordings.clear();\n this.selectedDownload.clear();\n }\n });\n break;\n\n case 'strategia':\n if (this.selectedAnalytics.size === 0) {\n Swal.fire({\n title: 'No hay registros seleccionados',\n text: 'Por favor, seleccione al menos un registro para aplicarle estrategias.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n return;\n }\n this.dataSourceStrategy.data = [];\n this.configPaginatorStrategy.pageSize = this.configPaginatorRecording.pageSize;\n this.selectedAnalytics = new Map(this.selectedDownload);\n this.selectedStrategy.clear();\n this.selectionStrategy.clear();\n this.applyStrategy(this.stepperStrategys);\n break;\n }\n }\n\n /**\n * Recuperar los selec seleccionados en distintas paginas\n * @author Yeison Sepulveda\n * @param param\n */\n syncSelectionWithStored(param: string) {\n switch (param) {\n case 'search':\n this.selection.clear();\n this.dataSource.data.forEach((row) => {\n if (this.selectedSearch.has(row.recording_id)) {\n this.selection.select(row);\n }\n });\n break;\n\n case 'descarga':\n case 'analisis':\n this.selectionRecordings.clear();\n this.dataSourceRecordings.data.forEach((row) => {\n if (this.selectedDownload.has(row.recording_id)) {\n this.selectionRecordings.select(row);\n }\n });\n break;\n\n case 'strategy':\n this.selectionStrategy.clear();\n this.dataSourceStrategy.data.forEach((row) => {\n if (this.selectedStrategy.has(row.recording_id)) {\n this.selectionStrategy.select(row);\n }\n });\n break;\n\n default:\n console.error(`Error de parametro: ${param}`);\n break;\n }\n }\n\n /**\n * Metodo que determinao si los checbox estan seleccionados o no\n * @author Juan David Guerrero Vargas\n * @returns {Boolean}\n */\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n /**\n * Metodo para para seleccionar todos los elementos en la página actual\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n selectAll(): void {\n if (this.isAllSelected()) {\n this.dataSource.data.forEach((row) => {\n this.selection.deselect(row);\n this.selectedSearch.delete(row.recording_id);\n });\n } else {\n this.dataSource.data.forEach((row) => {\n if (!this.selection.selected.some((selectedItem: any) => selectedItem.recording_id === row.recording_id)) {\n this.selection.select(row);\n this.selectedSearch.add(row.recording_id);\n }\n });\n }\n }\n\n /**\n * Método para alternar la selección de una grabación en la lista.\n * @author Yeison Sepulveda\n * @param row - El objeto que representa una grabación en la lista.\n */\n\n toggleSelection(row: any): void {\n if (this.selection.isSelected(row)) {\n this.selection.deselect(row);\n this.selectedSearch.delete(row.recording_id);\n } else {\n this.selection.select(row);\n this.selectedSearch.add(row.recording_id);\n }\n }\n\n /**\n * Método que determinao si los checbox estan seleccionados o no en la tabal de analisis\n * @author Juan David Guerrero Vargas\n * @returns {Boolean}\n */\n isAllSelectedRecordings() {\n const numSelected = this.selectionRecordings.selected.length;\n const numRows = this.dataSourceRecordings.data.filter(row => row.analisis !== 'ERROR' && row.analisis !== 'PENDIENTE' && row.analisis !== 'PRIORITARIO').length;\n return numSelected === numRows;\n }\n\n /**\n * Método para seleccionar todos los elementos en la tabla de analsis\n * @modificado Yeison Sepulveda\n * @author Juan David Guerrero Vargas\n */\n selectAllRecordings(): void {\n if (this.isAllSelectedRecordings()) {\n this.dataSourceRecordings.data.forEach((row: any) => {\n if (row.analisis !== 'ERROR' && row.analisis !== 'PENDIENTE' && row.analisis !== 'PRIORITARIO') {\n this.selectionRecordings.deselect(row);\n this.selectedDownload.delete(row.recording_id);\n }\n });\n } else {\n this.dataSourceRecordings.data.forEach((row: any) => {\n if (row.analisis !== 'ERROR' && row.analisis !== 'PENDIENTE' && row.analisis !== 'PRIORITARIO') {\n if (!this.selectionRecordings.isSelected(row)) {\n this.selectionRecordings.select(row);\n this.selectedDownload.set(row.recording_id, row);\n }\n }\n });\n }\n }\n\n\n /**\n * Método para alternar la selección de una grabación en la lista.\n * @author Yeison Sepulveda\n * @param row - El objeto que representa una grabación en la lista.\n */\n\n toggleRecordingSelection(row: any): void {\n if (this.selectionRecordings.isSelected(row)) {\n this.selectionRecordings.deselect(row);\n this.selectedDownload.delete(row.recording_id);\n } else {\n if (row.analisis !== 'ERROR' && row.analisis !== 'PENDIENTE' && row.analisis !== 'PRIORITARIO') {\n this.selectionRecordings.select(row);\n this.selectedDownload.set(row.recording_id, row);\n }\n }\n }\n\n /**\n * Metodo que se encarga de determinar si ya estan seleccionadas todas las grbaciones apra aplicar estrategias\n * @author Juan David Guerrero Vaegas\n */\n isAllSelectedStrategy() {\n const numSelected = this.selectionStrategy.selected.length;\n const numRows = this.dataSourceStrategy.data.length;\n return numSelected === numRows;\n }\n\n /**\n * Método para seleccionar todos los elementos en la página actual\n * @author Juan David Guerrero Vargas\n */\n\n selectAllStrategy(): void {\n if (this.isAllSelectedStrategy()) {\n this.dataSourceStrategy.data.forEach((row) => {\n this.selectionStrategy.deselect(row);\n this.selectedStrategy.delete(row.recording_id);\n });\n } else {\n this.dataSourceStrategy.data.forEach((row) => {\n if (!this.selectionStrategy.isSelected(row)) {\n this.selectionStrategy.select(row);\n this.selectedStrategy.set(row.recording_id, row);\n }\n });\n }\n }\n\n /**\n * Método para alternar la selección de una grabación en la lista.\n * @author Yeison Sepulveda\n * @param row - El objeto que representa una grabación en la lista.\n */\n\n toggleSelectionStrategy(strategyRow: any): void {\n if (this.selectionStrategy.isSelected(strategyRow)) {\n this.selectionStrategy.deselect(strategyRow);\n this.selectedStrategy.delete(strategyRow.recording_id);\n } else {\n this.selectionStrategy.select(strategyRow);\n this.selectedStrategy.set(strategyRow.recording_id, strategyRow);\n }\n }\n\n /**\n * Metodo que se encarga de retonar la cantidad de items seleccioandos\n * @author Juan David Guerrero Vargas\n * @returns {number} Cantidad de items seleccionados\n */\n get getTotalItemSelected():number{\n if(this.selection && this.selection?.selected){\n return this.selection?.selected.length\n }\n return 0\n }\n\n /**\n * Método que se encarga de retonar la cantidad de items seleccioandos en la tabal de Analsis\n * @author Juan David Guerrero Vargas\n * @returns {number} Cantidad de items seleccionados\n */\n getTotalItemSelectedRecordings(): number {\n if (this.selectionRecordings && this.selectionRecordings.selected) {\n return this.selectionRecordings.selected.length;\n }\n return 0;\n }\n\n /**\n * Metodo que se encarga de obtener la cantidad de items que ya fueron analizados\n * @author Juan David Guerrero Vargas\n * @returns {number} number cantidad de items que ya estan analizados\n */\n get getTotalItemsAnalized():number{\n let totalRecordingsAnalized = this.selectionRecordings?.selected.filter( ffll => ffll?.analisis !== undefined && (ffll?.analisis == 'COMPLETADO' || ffll?.analisis == 'ERROR') ).length\n if( totalRecordingsAnalized > 0 ){\n return totalRecordingsAnalized;\n }\n return 0\n }\n\n /**\n * Metdodo que se encarga de obtener la cantidad de registros en la tabla\n * @author Yeison Sepulveda\n */\n get getTotalDataSource():number{\n return this.dataSource.data.length\n }\n\n /**\n * Metodo trae las campañas asociadas al usuario\n * @author Yeison sepulveda\n * @createdate 06/05/2023\n * @returns void {void}\n */\n filterUserCampaign(): void {\n const user = this.authService.getUser();\n this.rrhh_id_user = [user.rrhh_id];\n\n this.campaignService.getUserAssociatedCampaigns(this.rrhh_id_user).subscribe(\n res => {\n this.campaigns_user = res.data;\n\n this.filteredOptionsCampaign = this.formFilters.get('campaign')!.valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : this.displayFnCampaign(value)),\n map(name => name ? this._filter(name) : this.campaigns_user.slice())\n );\n },\n error => {\n this.campaigns_user = [];\n console.error('Error al encontrar campaña asociada al usuario', error.message);\n Swal.fire({\n title: 'Error al encontrar campaña asociada al usuario',\n text: error.message,\n icon: 'error',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n );\n }\n\n /**\n * Filtra por nombre de rol, se usa para el autocompletable\n * @author Yeison Sepulveda\n * @createdate 2024-08-30\n * @param value valor a filtrar\n */\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.campaigns_user.filter(option => option.name.toLowerCase().includes(filterValue));\n }\n\n /**\n * Metodo que devuelve el nombre al momento de seleccionar una opcion\n * @author Yeison sepulveda\n * @createdate 2024-08-30\n */\n displayFnCampaign(id: number): string {\n if (!id || !this.campaigns_user) {\n return '';\n }\n const campaign = this.campaigns_user.find(c => c.id === id);\n return campaign ? campaign.name : '';\n }\n\n /**\n * Metodo para obtener la data de lso selctores segun el tipo de llamada\n * @author Yeison Sepulveda\n */\n typeCallchage():void{\n if(this.formFilters.get(\"type_call\").value !== null && this.formFilters.get(\"type_call\").value !== \"\" ){\n this.getOtherSelectors();\n }\n this.resetFilters(['usergroup', 'skill_id', 'status']);\n }\n\n /**\n * Metodo que se encarga de resetear los controles indicados\n * @author Yeison Sepulveda\n * @param controls:string[] array de name_controls a resetear e inhbilitar o habilitar\n */\n resetFilters(controls:string[]):void{\n controls.forEach( (control_name:string) => {\n this.formFilters.get(control_name).reset();\n });\n }\n\n /**\n * Método cambiar los estados de los filtros avanzados select carteras\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n\n changeStateFiltersAdvanced(event): void {\n this.evenPrevenDefault(event);\n if (this.isFiltersAdvancedActive) {\n let listFiltersClean = [\"usergroup\", \"status\", \"user\", \"duration\", \"skill_id\", \"type_call\" ];\n listFiltersClean.forEach((nameControl: string) => {\n const control = this.formFilters.get(nameControl);\n if (control) {\n control.setValue(null);\n }\n });\n this.isFiltersAdvancedActive = false;\n } else {\n this.isFiltersAdvancedActive = true;\n }\n }\n\n /**\n * Metodo que se encarga de valdiar si se debe mostrar o no el selctor de skills select carteras\n * @author Yeison Sepulveda\n */\n get isAviableSkills(): boolean {\n let type_call = this.formFilters.get(\"type_call\").value;\n if (type_call !== null && type_call !== \"\" && type_call.toLowerCase() === \"inbound\") {\n return true;\n }\n return false;\n }\n\n /**\n * Metodo que se encarga de determinar si es posible o no realziar la consulta de de grabaciones\n * @author Yeison Sepulveda\n * @returns {void} void\n */\n get isSerachAviable():boolean{\n const campaign = this.formFilters.get('campaign').value;\n const selectedCRM = this.formFilters.get('module').value;\n if(selectedCRM == 'crm1' || selectedCRM =='crm2'){\n let form_id = this.formFilters.get('form').value;\n let object_id = this.formFilters.get('field').value;\n let value = this.formFilters.get('option').value;\n if((campaign !== null && campaign !== \"\") && (form_id !== null && form_id !== \"\") && ( object_id !== null && object_id !== \"\" ) && ( value !== null && value !== \"\" ) ){\n return true\n }\n\n }else if (selectedCRM == 'carteras' ){\n let start_date = this.formFilters.get('start_date').value\n let end_date = this.formFilters.get('end_date').value\n if( (campaign !== null && campaign !== \"\") && (start_date !== null && start_date !== \"\") && (end_date !== null && end_date !== \"\") ){\n return true;\n }\n return false\n }\n return false;\n }\n\n /**\n * Metodo que se encarga de obtener el total de recordings que se seleccionaron pra aplciar la estrategia\n * @author Yeison Sepulveda\n * @returns {number} number\n */\n get getTotalRecordingsForStrategy():number{\n if(this.selectionStrategy && this.selectionStrategy.selected.length > 0 ){\n return this.selectionStrategy.selected.length;\n }\n return 0\n }\n\n /**\n * Metodo que se encarga de determinar la cantidad de itms que ya han sido analisados\n */\n get getTotalcompletedAnalisis():number{\n return this.dataSourceRecordings.data.filter( ffll => ffll?.analisis !== undefined && ffll?.analisis == 'COMPLETADO' ).length\n }\n\n\n /**\n * Metodo que la data segun el modulo de CRM\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n cargarSelects(): void {\n ///CONSULTA FORMULARIOS\n this.formFilters.get('module').valueChanges.subscribe((selectedModule) => {\n switch (selectedModule) {\n //en caso de sr CRM1 - CRM2 se ahce uso del mismo endpoint\n case \"crm1\" :\n case \"crm2\" :\n this.getForms(selectedModule);\n break;\n case \"carteras\":\n /// ----------------------------------------> QUITAR this.getCampaignsCarteras();\n default:\n break;\n }\n this.resetFormFilters(['form','section','field','option']);\n });\n ///CONSULTA FORMULARIOS\n\n //CONSULTA SECCIIONS\n this.formFilters.get('form').valueChanges.subscribe((selectedFormId) => {\n if(selectedFormId){\n this.getSections(selectedFormId);\n }\n\n this.resetFormFilters(['section','field','option']);\n });\n //CONSULTA SECCIIONS\n\n //CONSULTA FIELDS POR SECCION\n this.formFilters.get('section').valueChanges.subscribe((selectedSectionIndex) => {\n const selectedSection = this.seccion[selectedSectionIndex];\n if(selectedSection){\n this.getFields(selectedSection);\n }\n this.resetFormFilters(['field','option']);\n });\n //CONSULTA FIELDS POR SECCION\n //CONSULTA OPTIONS POR FIELD\n this.formFilters.get('field').valueChanges.subscribe((selectedFieldId) => {\n const selectedField = this.fields.find((field: any) => field.id === selectedFieldId);\n if(selectedField){\n this.getOptions(selectedField.options);\n }\n this.resetFormFilters(['option']);\n });\n //CONSULTA OPTIONS POR FIELD\n }\n\n /**\n * Metodo que se encarga de obtner las cmapañs de carteras\n * @author Juan David Guerrero Vargas\n */\n getCampaignsCarteras():void{\n this.viewservice.getCampaignsCarteras().subscribe(\n (restReponse)=>{\n this.campaigns_cartera = restReponse.data\n }\n );\n }\n\n /**\n * Metodo que se encarg de obtener los selectrores por tipo de llamada\n * @author juan David Guerrero Vargas\n */\n getOtherSelectors():void{\n const typeCall = this.formFilters.get(\"type_call\").value\n const campaign_id = this.formFilters.get(\"campaign\").value\n\n this.viewservice.getSkills(typeCall, campaign_id).subscribe(res => {\n this.skills = res.data;\n },\n (error)=>{\n this.skills = []\n });\n this.getStrategys();\n }\n\n /**\n * Metodo que se encarga de obtenr los sectores de vicidial segun la campaña\n * @author Yeison Sepulveda\n * @date 24-06-2024\n */\n selectorsCampaigns(id: any): void {\n const campaign_id = id;\n this.viewservice.getGroups(campaign_id).subscribe(\n res => {\n this.groups = res.data;\n },\n error => {\n this.groups = [];\n console.error('Error al obtener grupos:', error);\n }\n );\n\n // Obtener tipificaciones relacionadas con la campaña\n this.viewservice.getTipifications(campaign_id).subscribe(\n res => {\n this.tipifications = res.data;\n },\n error => {\n this.tipifications = [];\n console.error('Error al obtener tipificaciones:', error);\n }\n );\n }\n\n /**\n * Metodo que se encarga de rinicioar los filtros segun seleccion\n * @author Juan David Guerrero Vargas\n * @param controls:String[] {string[]} array de string con los nombrtes de los controles a reiniciar\n */\n resetFormFilters(controls:string[]) {\n controls.forEach(\n (nameControl:string)=>{\n this.formFilters.get(nameControl).reset();\n }\n )\n\n }\n\n /**\n * Metodo que se encarga de onbtener los formularios segun el modulo seleccionado\n * @author Juan David Guerrero Vargas\n */\n getForms(selectedModule:string):void{\n const formRequestServiceMethod = selectedModule === 'crm1' ? 'getForm' : 'getFormCrm2';\n this.formsCrmRequestService[formRequestServiceMethod]('formslist', 100, 1).subscribe((rest) => {\n this.formularios = rest.data.map(form => ({ id: form.id, name: form.name_form }));\n });\n }\n\n /**\n * Metodo que se encarga de obtener las secciones de los formularios\n * @param idFormulario:any {string|number} id del formulario al que se le consultaran las secciones\n * @author Juan David Guerrero Vargas\n */\n getSections(idFormulario:any):void{\n const searchFormMethod = this.formFilters.get('module').value === 'crm1' ? 'getsearchform' : 'getsearchformCrm2';\n\n this.formsCrmRequestService[searchFormMethod]('searchform', idFormulario).subscribe((rest) => {\n const sections = this.formFilters.get('module').value === 'crm1' ? rest.section : rest.sections;\n this.seccion = sections.map((section: any, index: number) => ({ id: index, name: section.name_section, fields: section.fields }));\n\n });\n }\n\n /**\n * Metodo que se encarga de obtener los fields de una secccion\n * @param selectedSection:any {any} seccion seleccioanda\n */\n getFields(selectedSection:any):void{\n if(selectedSection?.fields !== undefined && Array.isArray(selectedSection?.fields) == true){\n const viewFields = selectedSection.fields.filter((field: any) => field.type === 'options');\n this.fields = viewFields.map((field: any) => ({ id: field.id, name: field.label, options: field.options }));\n\n }\n }\n\n /**\n * Metodo que se encarga de obtener el listado de opciones de un campo del formulario\n * @param option:any {any}\n */\n getOptions(options:any):void{\n this.opciones = options\n }\n\n /**\n * Metodo que se encarga de obtenre el listado de estrategias\n * @author Yeison Sepulveda\n * @date 2024-08-08\n */\n getStrategys():void{\n const type_channel= [1];\n this.strategyService.listStrategies(type_channel).subscribe(res => {\n this.listStrategys = res.data;\n });\n }\n\n /**\n * Metodo accesor que permite determinar si se debe o nomostrar los filtros para formularos\n * @author Juan David Guerrero Varga\n * @returns {boolean} boolean\n */\n get showFilterByForms():boolean{\n const module = this.formFilters.get('module').value\n if( module == \"crm1\" || module == \"crm2\"){\n return true\n }\n return false;\n }\n\n /**\n * Metodo accesor que permite determinar si se debe o nomostrar los filtros para carteras\n * @author Juan David Guerrero Varga\n * @returns {boolean} boolean\n */\n get showFilterByCarteras():boolean{\n const module = this.formFilters.get('module').value\n if( module == \"carteras\" ){\n return true\n }\n return false\n }\n\n /**\n * Metodo para el consumo y busqueda por los selectores\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n\n search() {\n this.selectedCRM = this.formFilters.get('module').value;\n switch (this.selectedCRM) {\n case \"crm1\":\n case \"crm2\":\n if (!this.validateRangeDates()){\n this.deleteColumnAnalytics();\n const filters = {\n campaign_id: this.formFilters.get('campaign').value,\n form_id: this.formFilters.get('form').value.toString(),\n object_id: this.formFilters.get('field').value.toString(),\n value: this.formFilters.get('option').value.toString(),\n start_date: this.formFilters.get('start_date').value,\n end_date: this.formFilters.get('end_date').value\n };\n const $searchObservable:Observable = this.selectedCRM == \"crm1\" ? this.viewservice.getFilter(this.configPaginator, filters) : this.viewservice.getFilter2(this.configPaginator, filters)\n $searchObservable.subscribe(\n (response) => {\n\n //calcular tiempo\n response.data.data.forEach((registro: any) => {\n const startTime = new Date(registro.start_time);\n const endTime = new Date(registro.end_time);\n registro.time_difference = this.convertTimeToHHMMSS(startTime, endTime);\n });\n\n this.dataSource.data = response.data.data;\n this.dataSource.sort = this.sort;\n this.configPaginator.length = response.data.total;\n this.syncSelectionWithStored('search');\n\n },\n (error) => {\n console.error('Ha ocurrido un error al consultar:', error.message);\n Swal.fire({\n title: 'Ha ocurrido un error',\n text: error.error.error.error,\n icon: 'error',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n );\n\n }else {\n Swal.fire({\n title: '¡Ten encuenta!',\n text: 'Debe estar en un rango de 7 días',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n break;\n case \"carteras\":\n if (!this.validateRangeDates()){\n this.deleteColumnAnalytics();\n\n const filters = {\n campaign_id: this.formFilters.get('campaign').value,\n type_call: this.formFilters.get('type_call').value,\n user_group: this.formFilters.get('usergroup').value,\n skill_id: this.formFilters.get('skill_id').value,\n start_time: this.formFilters.get('start_date').value,\n endtime: this.formFilters.get('end_date').value,\n status: this.formFilters.get('status').value,\n user: this.formFilters.get('user').value,\n phone_number: this.formFilters.get('phone_number').value,\n duration: this.formFilters.get('duration').value,\n };\n\n this.viewservice.searchVicidial(this.configPaginator, filters).subscribe(\n (restResponse)=>{\n\n //calcular tiempo\n restResponse.data.data.forEach((registro: any) => {\n const startTime = new Date(registro.start_time);\n const endTime = new Date(registro.end_time);\n registro.time_difference = this.convertTimeToHHMMSS(startTime, endTime);\n });\n\n this.dataSource.data = restResponse.data.data;\n this.dataSource.sort = this.sort;\n this.configPaginator.length = restResponse.data.total;\n this.syncSelectionWithStored('search');\n },\n (error) => {\n console.error('Ha ocurrido un error al consultar la información:', error.message);\n Swal.fire({\n icon: 'error',\n title: 'Ha ocurrido un error',\n text: error.error.error.error,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: 'Aceptar',\n });\n }\n );\n }else {\n Swal.fire({\n title: '¡Ten encuenta!',\n text: 'Debe estar en un rango de 7 días',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n break;\n\n default:\n break;\n }\n\n }\n\n\n /**\n * Método para convertir la diferencia de tiempo entre dos fechas en formato HH:mm:ss.\n * @author Yeison Sepulveda\n * @createdate 2024-04-23\n * @param startTime La fecha de inicio.\n * @param endTime La fecha de fin.\n * @returns La diferencia de tiempo formateada en HH:mm:ss.\n */\n\n convertTimeToHHMMSS(startTime: Date, endTime: Date): string {\n\n const diferenciaMs = Math.abs(endTime.getTime() - startTime.getTime());\n const tiempoDiferencia = new Date(diferenciaMs);\n\n //extraer\n const horas = tiempoDiferencia.getUTCHours().toString().padStart(2, '0');\n const minutos = tiempoDiferencia.getUTCMinutes().toString().padStart(2, '0');\n const segundos = tiempoDiferencia.getUTCSeconds().toString().padStart(2, '0');\n\n return `${horas}:${minutos}:${segundos}`;\n }\n\n /**\n * Descargar reporte de busqueda excel\n * @author Yeison Sepulveda\n * @createdate 2024-04-04\n */\n downloadReport(type: 'analysis' | 'strategy') {\n let filters: any = {};\n\n if (type === 'analysis') {\n filters = {\n recording_ids: this.dataSourceRecordings.data.filter(record => record?.analisis === 'COMPLETADO').map(record => record['recording_id']),\n type: 1\n };\n } else if (type === 'strategy') {\n filters = {\n recording_ids: this.selectionStrategy.selected.map(recording => recording['recording_id']),\n type: 2\n };\n }\n\n this.viewservice.downloadReport(filters).subscribe(\n (response: any) => {\n const filename = this.generateFilename();\n this.fileTransition(response,filename);\n },\n (error) => {\n console.error('Error en la solicitud:', error);\n }\n );\n }\n\n\t/**\n\t * Método para tratar los datos que retorna el servicio y descargar el archivo.\n\t * @param data data respondida por el servicio\n\t * @param fileName nombre con el que se va a descargar el archivo.\n\t * @param file_type Tipo del archivo\n\t * @author Juan Carlos Alonso\n\t * @createdate 2021-07-27\n\t * @updatedate 2022-12-13\n\t */\n\tfileTransition(data: any, fileName: string, file_type:string = \"\"): void {\n\t\tlet blob = new Blob([data], { type: file_type});\n\t\tlet downloadURL = (file_type) ? window.URL.createObjectURL(blob) : window.URL.createObjectURL(data);\n\t\tlet link = document.createElement('a');\n\t\tlink.href = downloadURL;\n\t\tlink.download = fileName;\n\t\tlink.click();\n\t}\n\n /**\n * Metodo generar el nombre del documento a descargar\n * @author Yeison Sepulveda\n * @createdate 2024-0-03\n * @return nombre del archivo excel\n */\n\n generateFilename(): string {\n const currentDate = new Date().toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n }).replace(/\\//g, '');\n\n const currentTime = new Date().toLocaleTimeString('es-ES', {\n hour: '2-digit',\n minute: '2-digit',\n hour12: false\n }).replace(/:/g, '');\n\n const dateTimeString = `${currentDate}${currentTime}`;\n return `reporte_general_analisis_${dateTimeString}.xlsx`;\n }\n\n/**\n * Metodo para reiniciar tabla eliminando colimna de analisis\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n\n deleteColumnAnalytics(): void {\n const indexConfigAudio = this.displayedColumnsRecordings.findIndex(column => column === 'analisis');\n if (indexConfigAudio !== -1) {\n this.displayedColumnsRecordings.splice(indexConfigAudio, 1);\n }\n }\n\n/**\n * Metodo para reiniciar tabla eliminando columna adherencia\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n\n deleteColumnAdherencia(): void {\n const indexConfigAudio = this.displayedColumnsStrategy.findIndex(column => column === 'adherencia');\n if (indexConfigAudio !== -1) {\n this.displayedColumnsStrategy.splice(indexConfigAudio, 1);\n }\n }\n\n /**\n * Método descargar audios seleccionados\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n descargarAudios(stepperReference:any): void {\n if (this.getTotalItemSelected <= 0) {\n Swal.fire({\n title: 'No hay registros seleccionados',\n text: 'Por favor, seleccione al menos un registro para descargar.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n return;\n }\n this.buscarConDescarga(true);\n stepperReference.next()\n }\n\n /**\n * Método consumo consulta y descarga de los audios\n * @author Yeison Sepulveda\n * @createdate 2024-02-04\n */\n buscarConDescarga(descargarAudios: boolean): void {\n let campaign_id = this.formFilters.get(\"campaign\").value;\n const selectedRecordingIds = Array.from(this.selectedSearch).map(id => (id));\n this.viewservice.searchDownload(this.configPaginatorRecording, selectedRecordingIds, descargarAudios, campaign_id).subscribe(\n (response) => {\n\n //calcular tiempo\n response.data.data.forEach((registro: any) => {\n const startTime = new Date(registro.start_time);\n const endTime = new Date(registro.end_time);\n registro.time_difference = this.convertTimeToHHMMSS(startTime, endTime);\n });\n\n this.dataSourceRecordings.data = response.data.data;\n this.listrecordingsAnalising = this.dataSourceRecordings.data\n this.dataSourceRecordings.sort = this.sortRecordings;\n this.configPaginatorRecording.length = response.data.total;\n this.syncSelectionWithStored('descarga');\n },\n (error) => {\n if (error.error && error.error.error === \"No se realizó ninguna descarga ni registro debido a la existencia previa de registros.\") {\n console.warn(\"Error específico omitido:\", error);\n\n } else {\n this.dataSourceRecordings.data = [];\n this.configPaginatorRecording.length = 0\n console.error('Error en la solicitud:', error);\n }\n },\n );\n }\n\n /**\n * Metodo consume servicio analizar y asigna los valores al datasource\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n\n analytics(): void {\n const grabaciones = Array.from(this.selectedAnalytics.values());\n\n this.requestService.newRequestAnalytics(grabaciones).subscribe(response => {\n // Actualizar configuraciones y datos después del análisis\n this.configPaginatorRecording.length = grabaciones.length;\n this.listrecordingsAnalising = grabaciones;\n\n this.dataSourceRecordings.data = this.paginateAnalyticsStaticTable(grabaciones, this.configPaginatorRecording);\n this.dataSourceRecordings.sort = this.sortRecordings;\n\n if (this.displayedColumnsRecordings.indexOf('analisis') === -1) {\n this.displayedColumnsRecordings.push('analisis');\n }\n\n this.obtenerEstadosRegistros();\n\n }, error => {\n console.error('Error al enviar la solicitud:', error);\n });\n }\n\n /**\n * Metodo que limita las acciones de botones por defecto\n */\n evenPrevenDefault($event){\n $event.preventDefault();\n }\n\n /**\n * Metodo que valida el rango de fechas seleccionadas del formulario.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * @returns Booleano con la validacion de las fechas.\n */\n validateRangeDates(): boolean {\n const { start_date, end_date } = this.formFilters.value;\n const momentStart = moment(start_date);\n const momentEnd = moment(end_date);\n const numberDays = momentEnd.diff(momentStart, 'days');\n return numberDays >= 7 ? true : false;\n }\n\n /**\n * Método que pagina la informacion de la tabla.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * @param $event Evento emitido por el paginador.\n */\n changePage($event: PageEvent, tablePaginate: string): void {\n if (tablePaginate === 'recordings') {\n this.configPaginator.pageSize = $event.pageSize;\n this.configPaginator.pageIndex = $event.pageIndex + 1;\n this.search();\n } else if (tablePaginate === 'analisis' && this.displayedColumnsRecordings.find(ffnn => ffnn === 'analisis') === undefined) {\n this.configPaginatorRecording.pageSize = $event.pageSize;\n this.configPaginatorRecording.pageIndex = $event.pageIndex + 1;\n this.buscarConDescarga(false);\n } else if (tablePaginate === 'analisis' && this.displayedColumnsRecordings.find(ffnn => ffnn === 'analisis') !== undefined) {\n this.configPaginatorRecording.pageSize = $event.pageSize;\n this.configPaginatorRecording.pageIndex = $event.pageIndex + 1;\n this.dataSourceRecordings.data = this.paginateAnalyticsStaticTable(this.listrecordingsAnalising, this.configPaginatorRecording);\n this.obtenerEstadosRegistros();\n this.syncSelectionWithStored('analisis');\n } else if (tablePaginate === 'strategy' && this.displayedColumnsRecordings.find(ffnn => ffnn === 'analisis') !== undefined) {\n this.configPaginatorStrategy.pageSize = $event.pageSize;\n this.configPaginatorStrategy.pageIndex = $event.pageIndex + 1;\n this.dataSourceStrategy.data = this.paginateStaticTable(this.listRecordingsStrategys, this.configPaginatorStrategy);\n this.syncSelectionWithStored('strategy');\n\n if (this.displayedColumnsStrategy.includes('adherencia')) {\n this.EstadoAdherencia();\n }\n }\n }\n\n /**\n * Metodo que se encarg de realziar paginacion estatica para tablas\n * @author Yeison Sepulveda\n * @param dataTable:any[] {any[]} Listado original de datos a paginar\n * @param configPaginator:any {any} Configuracion de paginacion a aplicar de manera estatica\n * @returns {any[]} any[]\n */\n\n paginateAnalyticsStaticTable(dataTable: any[], configPaginator: any): any[] {\n const startIndex = (configPaginator.pageIndex - 1) * configPaginator.pageSize;\n return dataTable.slice(startIndex, startIndex + configPaginator.pageSize);\n }\n\n /**\n * Metodo que se encarg de realziar paginacion estatica para tablas\n * @author Yeison Sepulveda\n * @param dataTable:any[] {any[]} Listado original de datos a paginar\n * @param configPaginator:any {any} Configuracion de paginacion a aplicar de manera estatica\n * @returns {any[]} any[]\n */\n paginateStaticTable(dataTable: any[], configPaginator: any): any[] {\n const startIndex = (configPaginator.pageIndex - 1) * configPaginator.pageSize;\n return dataTable.slice(startIndex, startIndex + configPaginator.pageSize);\n }\n\n /**\n * Metodo para abrir el modal de analisis\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n openAnalyticsModal(recording_id: any): void {\n const campaign = this.formFilters.get('campaign').value;\n const dialogRef = this.dialog.open(AnalyticsModalComponent, {\n width: '800px',\n data: { recordingId: recording_id, campaignVicidial_id: campaign }\n });\n\n dialogRef.afterClosed().subscribe((result) => {\n if (result && result.hasChanges) {\n console.log('Se detectaron cambios, actualizando estados...');\n this.obtenerEstadosRegistros();\n }\n\n });\n }\n\n\n\n /**\n * Metodo para abrir el modal reproductor audio\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n openAudioModal(recording_id: any): void {\n const dialogRef = this.dialog.open(AudioPlayerComponent, {\n width: '800px',\n data: { recordingId: recording_id }\n });\n }\n\n /**\n * Validar el estado de los análisi\n * @author Yeison Sepulveda\n * @update Juan DAvid Guerrero Vargas\n * @createdate 2024-03-07\n */\n\n async obtenerEstadosRegistros() {\n if (this.abortController) {\n this.abortController.abort();\n }\n\n this.abortController = new AbortController();\n const signal = this.abortController.signal;\n\n try {\n let registrosPendientes = this.dataSourceRecordings.data;\n this.selectionRecordings.clear();\n\n while (registrosPendientes.length > 0 && this.isActive) {\n if (signal.aborted) {\n console.log('Proceso cancelado');\n return;\n }\n\n const response: any = await this.viewservice.analyticsState(registrosPendientes).toPromise();\n\n if (response.data) {\n const estados = {};\n response.data.forEach(item => {\n estados[item.recording_id] = item.status.toUpperCase();\n });\n\n this.dataSourceRecordings.data.forEach(record => {\n if (estados[record.recording_id]) {\n record.analisis = estados[record.recording_id];\n }\n });\n }\n\n registrosPendientes = this.dataSourceRecordings.data.filter(ffll => ffll.analisis !== 'COMPLETADO' && ffll.analisis !== 'ERROR');\n\n if (registrosPendientes.length > 0) {\n await new Promise(resolve => setTimeout(resolve, 30000));\n }\n }\n\n this.isAllComplete = true;\n } catch (error) {\n console.error('Error al obtener estados de registros pendientes:', error);\n }\n }\n\n /**\n\t * Método enviar mensaje swal de error de la grabación\n\t * @author Yeison Sepulveda\n\t * @createdate 2024-04-23\n\t */\n errorAnalyticModal(recordingId: number) {\n this.viewservice.analyticsStateDetail(recordingId).subscribe(\n (response: any) => {\n Swal.fire({\n title: '¡Aviso!',\n text: response.data.message,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Reprocesar análisis',\n cancelButtonText: 'Cancelar',\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.confirmReprocess(recordingId);\n }\n });\n },\n (error) => {\n console.error('Error en la solicitud:', error.error.message);\n });\n }\n\n /**\n\t * Metodo para reprocesar análisis con error\n\t * @author Yeison Sepulveda\n\t * @createdate 2024-09-03\n\t */\n confirmReprocess(recordingId: number) {\n Swal.fire({\n title: '¿Estás seguro?',\n text: `¿Quieres volver a intentar analizar el audio ${recordingId}?`,\n icon: 'warning',\n showCancelButton: true,\n confirmButtonText: 'Sí, continuar',\n cancelButtonText: 'Cancelar',\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.requestService.duplicateUpdateAnalytics({ recording_id: recordingId }).subscribe(\n response => {\n Swal.fire({\n title: '¡Excelente!',\n text: 'La solicitud ha sido procesada correctamente.',\n icon: 'success',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC'\n }).then((result) => {\n if (result.isConfirmed) {\n this.obtenerEstadosRegistros();\n }\n });\n },\n error => {\n Swal.fire({\n title: 'Opss ...',\n text: error.message,\n icon: 'error',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC'\n });\n }\n );\n }\n });\n }\n\n /**\n * Metodo que se encarga de redirigir al metodo de aplicar estrategias\n * @author Yeison Sepulveda\n * @param stepperReference:any {any} Referencia del steper para realizar la accion de continuar el paso siguiente\n */\n applyStrategy(stepperReference?: any): void {\n this.deleteColumnAdherencia();\n this.getStrategys();\n const grabaciones = Array.from(this.selectedDownload.values());\n this.configPaginatorStrategy.length = grabaciones.length;\n this.listRecordingsStrategys= grabaciones;\n this.dataSourceStrategy.data = this.paginateStaticTable(this.listRecordingsStrategys, this.configPaginatorStrategy);\n this.dataSourceStrategy.sort = this.sortStrategy;\n this.selectionStrategy.clear();\n\n if (stepperReference !== undefined) {\n stepperReference.next();\n }\n this.startegyComplete = false;\n }\n\n /**\n * Metodo que se encarga de enviar la informacion apra aplciar la estrategia seleccionada.\n * Actualiza los registros con la información de adherencia calculada y actualiza el paginador.\n * @author Juan David Guerrero Vargas\n * @Update Yeison Sepulveda\n * @dateupdate 03-07-2024\n */\n\n applyStrategySelected(): void {\n this.deleteColumnAdherencia();\n\n if (this.selectedStrategy.size <= 0) {\n Swal.fire({\n title: 'No hay registros seleccionados',\n text: 'Por favor, seleccione al menos un registro para aplicar la estrategia.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n return;\n }\n\n const selectedStrategyId = this.strategyControl.value;\n if (!selectedStrategyId) {\n Swal.fire({\n title: 'Estrategia no seleccionada',\n text: 'Por favor, seleccione una estrategia antes de continuar.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n return; // Detiene la ejecución si no se ha seleccionado una estrategia\n }\n\n const selectedRecordingIds = Array.from(this.selectedStrategy.keys());\n\n Swal.fire({\n title: '¿Está seguro?',\n text: `Se aplicará la estrategia a ${this.selectedStrategy.size} grabaciones.`,\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.startegyComplete = true;\n\n let strategyForms = {\n id_recordings: selectedRecordingIds,\n id_strategy: selectedStrategyId\n };\n\n // Actualiza el estado de adherencia a \"PENDIENTE\" para los registros seleccionados\n this.listRecordingsStrategys.forEach(record => {\n if (selectedRecordingIds.includes(record.recording_id)) {\n record.status_strategy = 'PENDIENTE';\n }\n });\n\n this.strategyService.assignStrategys(strategyForms).subscribe(\n (response) => {\n this.strategyService.applyAdherencia(strategyForms.id_recordings).subscribe(\n (adherenciaResponse: any[]) => {\n if (this.displayedColumnsStrategy.indexOf('adherencia') === -1) {\n this.displayedColumnsStrategy.push('adherencia');\n }\n\n const filteredRecordings = this.listRecordingsStrategys.filter(record => selectedRecordingIds.includes(record.recording_id));\n\n adherenciaResponse.forEach((item) => {\n const item_recording_id = item.recording_id;\n const recordToUpdate = filteredRecordings.find(record => record.recording_id === item_recording_id);\n if (recordToUpdate) {\n // Asignar los valores de adherencia\n recordToUpdate.adherence_percentage = item.adherence_percentage;\n recordToUpdate.not_adherence_percentage = item.not_adherence_percentage;\n } else {\n console.log(`No se encontró el recording_id: ${item_recording_id}`);\n }\n });\n this.EstadoAdherencia();\n\n // Actualizar información\n this.listRecordingsStrategys = filteredRecordings;\n\n this.configPaginatorStrategy.length = this.listRecordingsStrategys.length;\n\n // Nuevo MatTableDataSource para evitar problemas de paginado\n this.dataSourceStrategy = new MatTableDataSource(this.paginateStaticTable(this.listRecordingsStrategys, this.configPaginatorStrategy));\n this.dataSourceStrategy.sort = this.sortStrategy;\n\n },\n (adherenciaError: any) => {\n console.error(\"Error al calcular la adherencia:\", adherenciaError.error);\n }\n );\n },\n (error: any) => {\n console.error(\"Error al asignar la estrategia:\", error);\n }\n );\n }\n });\n }\n /**\n * Validar el estado de los análisis por pagina\n * @author Yeison Sepulveda\n * @createdate 2024-03-07\n */\n\n async EstadoAdherencia() {\n if (this.abortController) {\n this.abortController.abort();\n }\n\n this.abortController = new AbortController();\n const signal = this.abortController.signal;\n\n try {\n let registrosPendientes = this.dataSourceStrategy.data.filter(record =>\n record?.status_strategy !== 'COMPLETADO' && record?.status_strategy !== 'ERROR'\n );\n\n while (registrosPendientes.length > 0 && this.isActive) {\n if (signal.aborted) {\n console.log('Proceso cancelado');\n return;\n }\n\n const recordingIds = registrosPendientes.map(record => record.recording_id);\n const body = recordingIds.map(id => ({ recording_id: id }));\n\n const response: any = await this.strategyService.AdherenciaState(body).toPromise();\n\n if (response.data) {\n const estados = {};\n response.data.forEach(item => {\n estados[item.recording_id] = item.status.toUpperCase();\n });\n\n this.dataSourceStrategy.data.forEach(record => {\n if (estados[record.recording_id]) {\n record.status_strategy = estados[record.recording_id];\n\n if (record.status_strategy === 'COMPLETADO') {\n const adherencia = `${record.adherence_percentage} / ${record.not_adherence_percentage}`;\n record.adherencia = adherencia;\n } else if (record.status_strategy === 'PENDIENTE') {\n record.adherencia = 'PENDIENTE';\n }\n }\n });\n }\n\n registrosPendientes = this.dataSourceStrategy.data.filter(record =>\n record.status_strategy !== 'COMPLETADO' && record.status_strategy !== 'ERROR'\n );\n\n if (registrosPendientes.length === 0) {\n console.log('No hay más grabaciones pendientes, deteniendo el proceso.');\n break;\n }\n\n await new Promise(resolve => setTimeout(resolve, 30000));\n }\n\n this.isAllComplete = true;\n } catch (error) {\n console.error('Error al obtener estados de grabaciones pendientes:', error.message);\n }\n }\n\n /**\n * Método para abrir el modal de resultados de adherencia\n * @author Yeison Sepulveda\n * @createdate 2024-04-30\n */\n AdherenciaModal(recording_id: any): void {\n const recording = this.listRecordingsStrategys.find(record => record.recording_id === recording_id);\n if (recording && recording.adherencia) {\n const dialogRef = this.dialog.open(AdherenciaModalComponent, {\n width: '800px',\n data: { recordingId: recording_id }\n });\n }\n }\n\n /**\n * Metodo validador para revisar campo duration\n * @author Yeison Sepulveda\n * @createdate 2024-05-23\n */\n timeGreaterThanOneMinuteValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n const value = control.value;\n\n if (value === null || value === '') {\n return null;\n }\n\n if (typeof value !== 'string' || !/^\\d{2}:\\d{2}$/.test(value)) {\n return { 'invalidFormat': true };\n }\n\n const [hours, minutes] = value.split(':').map(Number);\n\n if (hours === 0 && minutes < 1) {\n return { 'timeGreaterThanOneMinute': true };\n }\n\n return null;\n };\n }\n\n /**\n * Método validar si ya esta la columna de analisis y si el total es mayor\n * @author Yeison Sepulveda\n * @createdate 2024-06-18\n * @returns El valor true o false\n */\n\n get ColumnVisibleTotal(): boolean {\n const isVisible = this.displayedColumnsRecordings.includes('analisis');\n const hasSelectedItems = this.getTotalItemSelectedRecordings() > 0;\n return isVisible && hasSelectedItems;\n }\n\n /**\n * Método validar si ya esta la columna de analisis\n * @author Yeison Sepulveda\n * @createdate 2024-06-18\n * @returns El valor true o false\n */\n\n get isAnalisisColumnVisible(): boolean {\n return this.displayedColumnsRecordings.includes('analisis');\n }\n\n /**\n * Metodo que se encarga de abirir el modal apra poder abrir el modal de creacion de estrategias\n * @author Yeison Sepulveda\n * @date 2024-06-19\n */\n createStrategyTranscription(): void {\n const selectedRecordingIds = Array.from(this.selectedStrategy.keys());\n\n if (selectedRecordingIds.length === 1) {\n const selectedRecordingId = selectedRecordingIds[0];\n\n const campaign = this.formFilters.get('campaign').value;\n\n const dialogRef = this.dialog.open(TranscricpcionStrategyComponent, {\n width: '100%',\n maxHeight: '95vh',\n data: { modo: 'crear', recordingId: selectedRecordingId, campaignVicidial_id: campaign }\n });\n dialogRef.afterClosed().subscribe(result => {\n this.getStrategys();\n });\n } else if (selectedRecordingIds.length > 1) {\n Swal.fire({\n title: 'Advertencia',\n text: 'Seleccionaste más de un registro. Por favor, selecciona solo uno.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n } else {\n Swal.fire({\n title: 'Advertencia',\n text: 'Selecciona al menos un registro antes de continuar.',\n icon: 'warning',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n }\n\n /**\n * Modal para abrir resultados de analisis de sentiemientos masivo\n * @author Yeison Sepulveda\n * @date 2024-08-08\n */\n\n analytics_emociones(): void {\n const selectedRecordingIds = Array.from(this.selectedAnalytics.keys());\n\n const dialogRef = this.dialog.open(AnalyticsVoiceGeneralComponent, {\n width: '800px',\n data: { id_recordings: selectedRecordingIds }\n });\n }\n\n /**\n * Cambio valores input de dracion grabaciones\n * @author Yeison Sepulveda\n * @date 2025-01-03\n */\n onInputChange(event: Event): void {\n const input = (event.target as HTMLInputElement).value.replace(/[^0-9]/g, '');\n\n if (input.length === 0) {\n this.duration = '';\n this.formFilters.get('duration')?.setValue('');\n this.formFilters.get('duration')?.setErrors(null);\n return;\n }\n\n let formattedInput = input;\n\n //agrega los dos puntos automáticamente cuando se tienen más de 2 dígitos\n if (input.length > 2) {\n formattedInput = `${input.slice(0, 2)}:${input.slice(2, 4)}`;\n }\n\n this.duration = formattedInput;\n this.formFilters.get('duration')?.setValue(formattedInput);\n\n //validación erores\n const timePattern = /^([01]\\d|2[0-3]):([0-5]\\d)$/;\n const [hours, minutes] = formattedInput.split(':').map(Number);\n\n if (!timePattern.test(formattedInput)) {\n this.formFilters.get('duration')?.setErrors({ invalidTime: true });\n } else if (hours === 0 && minutes < 1) {\n this.formFilters.get('duration')?.setErrors({ timeGreaterThanOneMinute: true });\n } else {\n this.formFilters.get('duration')?.setErrors(null);\n }\n }\n\n\n}\n","\n \n \n Buscar grabaciones\n
\n
\n

Consulta las grabaciones

\n
\n
\n
\n

En esta sección, podrás buscar y encontrar registros de grabaciones disponibles para su descarga.

\n
\n
\n\n
\n
\n\n
\n \n Campaña\n \n cancel\n \n \n {{ type.name }}\n \n \n La campaña es requerida\n Campaña no válida\n \n
\n\n
\n \n Módulo\n \n CRM 1\n CRM 2\n VICIDIAL\n \n El campo de módulo es requerido\n\n \n
\n
\n \n Formulario\n \n {{ formulario.name }}\n \n \n
\n\n
\n \n Sección\n \n {{ seccions.name }}\n \n \n
\n\n
\n \n Campo\n \n {{ field.name }}\n \n \n
\n\n
\n \n Valor del campo\n \n {{ opcion.name }}\n \n \n
\n\n
\n \n Rango de fecha\n \n \n \n \n \n \n \n
\n\n
\n \n Teléfono \n \n \n
\n\n
\n \n Tipo de la llamada\n \n \n {{ type.type_call }}\n \n \n \n
\n\n
\n \n Tiempo de duración\n \n Formato: HH:MM\n \n Formato inválido, usa formato de 24 horas\n \n \n Se recomienda tiempos mayores a 1 minuto\n \n \n
\n\n
\n \n Grupo\n \n Selecciona una opción\n \n {{ group.group_name }}\n \n \n \n
\n\n
\n \n Skill\n \n Selecciona una opción\n \n {{ skill.skill_name }}\n \n \n \n
\n\n
\n \n Tipificación\n \n Selecciona una opción\n \n {{ item.status_name }}\n \n \n \n
\n\n
\n \n Nº documento del agente\n \n \n
\n\n
\n \n
\n\n
\n \n
\n
\n \n
\n\n
\n\n
\n \n
\n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ tHeadersRecordings[column] }}\n {{ element[column] }} \n \n \n \n
No existe información relacionada
\n\n \n \n
\n
\n
\n
\n \n
\n
\n
\n \n\n\n \n \n Analizar grabaciones\n
\n
\n

Analizar las grabaciones

\n
\n
\n
\n

En esta sección, podrás seleccionar las grabaciones que serán analizadas.

\n
\n\n
\n \n
\n\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n
{{ tHeadersRecordings[column] }} {{ element[column] }} \n \n \n \n \n {{ tHeadersRecordings[column] }} \n \n {{ tHeadersRecordings[column] }} \n \n Pendiente\n \n \n \n \n \n \n \n \n \n \n
No existe información relacionada
\n\n \n \n\n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n\n \n \n Aplicar estrategia\n
\n
\n

Aplicar estrategias

\n
\n
\n
\n

En esta sección, podrás seleccionar las grabaciones que fueron analizadas y aplicar o crear una estrategia para estas.

\n
\n
\n
\n
\n \n Estrategias\n \n \n {{ strategy.strategy_name }}\n \n \n La estrategia aplicar es requerida\n \n
\n
\n \n
\n
\n
\n \n
\n
\n\n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n
{{ tHeadersRecordings[column] }} {{ element[column] }} \n \n \n \n \n {{ tHeadersRecordings[column] }} \n \n Pendiente\n \n \n \n \n \n \n \n \n \n \n {{ tHeadersRecordings[column] }} \n \n {{ tHeadersRecordings[column] }} \n \n Pendiente\n \n \n \n {{ element[column] }}\n \n
No existe información relacionada
\n\n \n \n
\n
\n
\n
\n \n
\n
\n\n
\n \n\n
\n","import { Injectable } from '@angular/core';\nimport { environment } from '../../../../../environments/environment';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\nconst COMPRAS_URL = environment.COMPRAS_URL;\n@Injectable({\n providedIn: 'root'\n})\nexport class SolicitudesService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n getSolicitudes(): Observable{\n return this.http.get(`${COMPRAS_URL}request/?paginate=0`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n getSolicitudesUser( idUser, params:any ): Observable{\n //return this.http.get(`${COMPRAS_URL}request/${idUser}/?paginate=${isPage}&n=${size}&page=${page}`);\n return this.http.post(`${COMPRAS_URL}request/${idUser}/filter`,params);\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n getSoliciudesPaginate(params, cotization = false,history = false): Observable{\n /*\n let link = `${COMPRAS_URL}request/?paginate=${isPage}&n=${size}&page=${page}&rol=${rol}`;\n if( filtroFecha !== null ){\n link = `${COMPRAS_URL}request/?paginate=${isPage}&n=${size}&page=${page}&rol=${rol}&date=${filtroFecha}`;\n }\n */\n\n\n\n return this.http.post( `${COMPRAS_URL}request/filter?${cotization ? 'cotization=true': ''}${history ? '&history=true': ''}` , params)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n blockRequest(dates){\n return this.http.post(`${COMPRAS_URL}blocksRequest`, dates)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n validatorsBlocks() {\n return this.http.get(`${COMPRAS_URL}validators/blocks`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * @author Jair Armando Celis Torrado\n * @createdate 2021-09-06\n * Servicio filtro de solicitudes por fecha\n */\n searchRequestByDate(date): Observable {\n return this.http.post(`${COMPRAS_URL}requestByDate`, date )\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jair Armando Celis Torrado\n * @createdate 2021-09-06\n * Servicio filtro de solicitudes por estado\n */\n searchRequestByState(state): Observable {\n return this.http.post(`${COMPRAS_URL}requestByState`, state )\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jair Armando Celis Torrado\n * @createdate 2021-09-06\n * Servicio que lista todos los estados existentes para las solicitudes\n */\n getRequestStates(): Observable {\n return this.http.get(`${COMPRAS_URL}requestState/?paginate=0`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n saveSolicitud(solicitud: any): Observable{\n return this.http.post(`${COMPRAS_URL}request/`, solicitud)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n updateSolicitudEstado(estado: any, id: number): Observable{\n return this.http.put(`${COMPRAS_URL}request/${id}`, estado)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n saveObservacion(observacion: any ): Observable{\n return this.http.post(`${COMPRAS_URL}requestObservation/`, observacion)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n downloadRequest(idRol:number): Observable{\n return this.http.get(`${COMPRAS_URL}file/request-export/${idRol}`, {responseType: 'blob' as 'json'});\n }\n\n\n downloadRequestHist( params ): Observable{\n params[\"fecha_fin\"].setHours(23);\n\n\n //console.log(fechaFin->setHours(23));\n return this.http.post(`${COMPRAS_URL}file/request-export-hist`, params, {responseType: 'blob' as 'json'});\n }\n\n itemsMother(id):Observable{\n return this.http.get(`${COMPRAS_URL}request/itemsMother/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n validateAssociated(id):Observable{\n return this.http.get(`${COMPRAS_URL}request/validateAssociated/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-09\n * Funcion que envia un rechazo o aprovación masiva de solicitudes\n */\n massiveRequestApproveOrDecline(data: any): Observable{\n return this.http.post(`${COMPRAS_URL}request/massive`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import Swal from \"sweetalert2\";\n\n\n\nexport class Tools {\n static swalSuccess( title , text ){\n Swal.close;\n Swal.fire({\n position:'center',\n icon: 'success' ,\n title: title,\n text: text,\n showConfirmButton:false,\n timer: 2500\n });\n }\n\n static swalError( title , text ){\n Swal.close;\n Swal.fire({\n position:'center',\n icon: 'error' ,\n title: title,\n text: text,\n showConfirmButton:false,\n timer: 3500\n });\n}\n\n\nstatic downloadFile( x , fileName ){\n var newBlob = new Blob([x], { type: x.type });\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\n window.navigator.msSaveOrOpenBlob(newBlob, fileName);\n return;\n }\n\n // For other browsers:\n // Create a link pointing to the ObjectURL containing the blob.\n const data = window.URL.createObjectURL(newBlob);\n\n var link = document.createElement('a');\n link.href = data;\n link.download = fileName;\n link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));\n\n setTimeout(function () {\n // For Firefox it is necessary to delay revoking the ObjectURL\n window.URL.revokeObjectURL(data);\n link.remove();\n }, 100);\n\n}\n\n}","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Store } from '@ngrx/store';\nimport * as moment from 'moment';\nimport { Observable } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { loadAcompañamientos } from 'src/app/modules/coaching/state/actions/acompañamiento.actions';\nimport { CoachingState } from 'src/app/modules/coaching/state/coaching.state';\nimport { NuevoCoachingComponent } from '../nuevo-coaching/nuevo-coaching.component';\nimport { listIndicadores, listEstados } from '../../../../state/selectors/selects.selector';\nimport { ActivatedRoute } from '@angular/router';\nimport { EstadoModel } from '../../../../core/interfaces/estado.interface';\n\n@Component({\n selector: 'app-filtro-tabla',\n templateUrl: './filtro-tabla.component.html',\n styleUrls: ['./filtro-tabla.component.sass']\n})\nexport class FiltroTablaComponent implements OnInit {\n\n indicadores$:Observable = new Observable();\n estados$:Observable = new Observable();\n selects$:Observable = new Observable();\n estados = [];\n\n //Filtros\n filtroParametro:string = '';\n filtroFecha = new FormGroup({\n fechaInicial: new FormControl(),\n fechaFinal: new FormControl(),\n });\n filtroIndicador:string = '';\n filtroEstado:string = '';\n filtroReasignado:string = '';\n tab;\n //Variable para validar si es asesor\n is_asesor:boolean = false;\n //Varibale que contiene el filtro seleccionado por URL\n filter:string=\"\";\n constructor(\n private dialog:MatDialog,\n private store:Store,\n private authService:AuthService,\n private aRoute:ActivatedRoute,\n \n ) { }\n\n ngOnInit(): void {\n this.indicadores$ = this.store.select(listIndicadores);\n this.estados$ = this.store.select(listEstados);\n this.estados$.forEach((element) => {\n if (element) {\n this.estados = [];\n element.forEach(estado =>{\n if (estado.nombre == 'Abierto') {\n this.estados.push(estado);\n }\n if (estado.nombre == 'Vencido') {\n this.estados.push(estado);\n }\n })\n }\n });\n this.authService.getUser().roles.forEach(rol => {\n if (rol == 'coaching::asesor') {\n this.is_asesor = true;\n }\n });\n this.getParamsUrl();\n if(this.filter && this.filter !== \"\"){\n this.filtroReasignado = \"1\";\n }\n }\n\n newCoaching(){\n const coachingRef = this.dialog.open(NuevoCoachingComponent,{\n disableClose:true,\n width: '940px',\n })\n }\n\n filtroFechas(){\n if (this.filtroFecha.get('fechaInicial').value != null && this.filtroFecha.get('fechaFinal').value != null) {\n this.filtrar();\n }\n }\n\n get Tab(){\n return JSON.parse(localStorage.getItem('filtros_coaching')).tab;\n }\n\n /**\n * @author Cristian Gallo\n * @createdate 2021-12-10\n * Metodo para realizar filtros.\n */\n\n filtrar(){\n const params = JSON.parse(localStorage.getItem('filtros_coaching'));\n this.getParamsUrl();\n if (this.filtroParametro != '' && this.filtroParametro != null) {\n params.parametro = this.filtroParametro.toString();\n }else{\n params.parametro = '';\n }\n\n if (this.filtroFecha.get('fechaInicial').value != '' && this.filtroFecha.get('fechaInicial').value != null) {\n params.fechaInicial = moment(this.filtroFecha.get('fechaInicial').value).format('yyyy-MM-DD');\n }else{\n params.fechaInicial = '';\n }\n if (this.filtroFecha.get('fechaFinal').value != '' && this.filtroFecha.get('fechaFinal').value != null) {\n params.fechaFinal = moment(this.filtroFecha.get('fechaFinal').value).format('yyyy-MM-DD');\n }else{\n params.fechaFinal = '';\n }\n\n if (this.filtroIndicador != '' && this.filtroIndicador != null) {\n params.indicador = this.filtroIndicador;\n }else{\n params.indicador = '';\n }\n\n if (this.filtroEstado != '' && this.filtroEstado != null) {\n params.estado = this.filtroEstado;\n }else{\n params.estado = '';\n }\n\n if (this.filtroReasignado != '' && this.filtroReasignado != null && this.filtroReasignado !== \"-\" ) {\n params.reasignado = this.filtroReasignado;\n }else if(this.filtroReasignado === \"-\"){\n params.reasignado = \"\";\n }\n else if(this.filter && this.filter !== \"\" && this.filtroReasignado === \"\"){\n params.reasignado = '1'\n }else{\n params.reasignado = '';\n }\n params.page = 1;\n this.store.dispatch(loadAcompañamientos(params));\n localStorage.setItem('filtros_coaching',JSON.stringify(params));\n }\n\n /**\n * Metodo que carga los datos por URL para validacion y pbtencion de datos apra carga de tabla\n * @author Juan David Guerrero Vargas\n * @create_date 02/06/2022\n * @return void \n */\n getParamsUrl():void{\n this.aRoute.paramMap.subscribe(params => {\n this.filter = params.get('filter');\n });\n \n }\n}\n","
\n
\n\n
\n
\n \n
\n
\n
\n
\n \n Filtrar por id, nombre o cédula\n Id coaching\n \n \n \n Fecha\n \n \n \n \n \n \n \n \n \n \n Indicador\n \n Todos\n {{indicador.nombre}}\n \n \n \n Estado\n \n Todos\n {{estado.nombre}}\n \n \n\n \n Reasignado\n \n Todos\n \n No \n \n \n\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { TrainingGroupsService } from '../../../services/training-groups.service';\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-prebonding',\n templateUrl: './prebonding.component.html',\n styleUrls: ['./prebonding.component.sass']\n})\nexport class PrebondingComponent implements OnInit {\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private _fb: FormBuilder,\n private groupsService:TrainingGroupsService, private dialogRef: MatDialogRef,\n private alert: AlertsService) { }\n proBording= this._fb.group({\n ally: [''],\n channel: [''],\n operative: ['', [Validators.maxLength(100)]],\n familiar_claro: ['', Validators.maxLength(100)],\n family_charge: ['', [Validators.maxLength(100)]],\n mobile : ['', Validators.maxLength(100)],\n permanent: [null],\n trainer: [null],\n formation_group_id: [this.data.group.id],\n business_unit: [''],\n })\n\n ngOnInit(): void {\n }\n sendPreBonding(){\n this.groupsService.postProBording(`formation/bonding`,this.proBording.getRawValue())\n .subscribe(res=>{\n this.alert.alertSuccess('¡Hecho!', 'Pre Vinculación creada con éxito.');\n this.dialogRef.close();\n })\n }\n\n}\n","\n\n

Pre Vinculación

\n
\n\n
\n \n Aliado\n \n \n \n Canal\n \n \n \n Operativo\n \n \n \n Familiar Claro\n \n \n \n Cargo Familiar\n \n \n \n Móvil\n \n Si\n No\n \n \n \n Fijo\n \n Si\n No\n \n \n \n Capacitador\n \n \n \n Unidad de negocio\n \n \n
\n
\n\n \n \n","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\nimport { PositionsService } from '../../../services/positions.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { PositionCreateComponent } from '../position-create/position-create.component';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { CreateChargeComponent } from '../create-charge/create-charge.component';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\n\n@Component({\n selector: 'app-positions-view',\n templateUrl: './positions-view.component.html',\n styleUrls: ['./positions-view.component.sass']\n})\nexport class PositionsViewComponent implements OnInit {\n displayedColumns: string[] = ['actions','name','key', 'postition_category_id', 'created_at'];\n dataSource: MatTableDataSource;\n showCandidates = false;\n length: number;\n pageSize = 50;\n page = 1;\n currentPage = 1;\n name: any = '';\n typeFilter:any\n positions: any[];\n pageSizeOptions: number[] = [50, 100, 150];\n public queryParams : string = 'flag=actives&page=1&per_page=50';\n\n\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort;\n constructor( private positionsService:PositionsService,\n private dialog: MatDialog, private alertService:AlertsService, private destroyService: DestroyComponentService,\n ) { }\n\n ngOnInit(): void {\n this.getPositions()\n }\n getPositions(){\n this.positionsService.getPositions(this.queryParams)\n .subscribe((positions:any) =>{\n if (typeof positions.data !== 'undefined') {\n this.dataSource = new MatTableDataSource(Object.values(positions.data));\n }else{\n this.dataSource.data = [];\n }\n if (positions.total > 0) this.showCandidates = true;\n this.dataSource.sort = this.sort;\n this.length = positions.total;\n this.pageSize = positions.per_page;\n this.positions = positions.data\n })\n }\n filterByValue(filterValue){\n filterValue = filterValue.trim(); // Remove whitespace\n filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches\n\t\tthis.queryParams = `flag=actives&filter=${filterValue}`;\n this.destroyService.destroyComponent();\n this.getPositions();\n this.dataSource.filter = filterValue;\n }\n getPaginatorData(event){\n\t\tthis.queryParams = this.ValidateFilterParams(event);\n\t\t//this.validInit = false;\n this.destroyService.destroyComponent();\n this.getPositions()\n }\n\n openCreate(action, data?){\n const createDialog = this.dialog.open( CreateChargeComponent, {\n disableClose: true,\n width: '600px',\n data: { \n action: action, \n id: action == \"Editar\" ? data.id : null,\n data: action == \"Editar\" ? data : null\n }\n });\n createDialog.afterClosed().subscribe( (params) => {\n if(params){\n this.getPositions()\n }\n });\n }\n\n viewPosition(position ){\n this.dialog.open(PositionsViewDialog, {\n disableClose: true,\n data: {\n function: position.functions,\n name: position.type_function_name\n }\n })\n }\n\n deletePosition(id): void{\n let saveconfirm1= this.alertService.alertConfirm('¿Está seguro que desea eliminar este cargo? Una vez eliminado, no podrá recuperarlo')\n saveconfirm1.then(res=>{\n if(res.isConfirmed){\n this.positionsService.deletePosition(id).subscribe((res:any)=>{\n this.alertService.alertSuccess('Eliminado', 'Cargo eliminado correctamente');\n this.getPositions()\n })\n }\n })\n }\n\n /**\n\t * Primero valida si existe en la variable el string filter,\n\t\t * en cuyo caso obtiene 'filter={info digitada}', limpiando los demas datos,\n\t\t * luego vuelve a evaluar si existe filter en cuyo caso lo concatena al string\n\t\t * en caso de que no exista arma el string solo con con page y pagezise\n\t * @author Carlos Nieto\n\t * @param event\n\t * @returns string\n\t /**/\n\tpublic ValidateFilterParams(event) : string\n\t{\n\t\tthis.queryParams = \tthis.queryParams.includes(\"filter\") ?\n\t\tthis.queryParams.substring(this.queryParams.indexOf('filter')) : this.queryParams;\n\t\tthis.queryParams = this.queryParams.includes(\"filter\") ?\n\t\t`flag=actives&page=${event.pageIndex + 1}&per_page=${event.pageSize}&${this.queryParams}` :\n\t\t`flag=actives&page=${event.pageIndex + 1}&per_page=${event.pageSize}` ;\n\n\t\treturn this.queryParams;\n\t}\n}\n\n\n@Component({\n selector: 'positions-view-dialog',\n templateUrl: './positions-view-dialog.html',\n styleUrls: ['./positions-view.component.sass']\n})\nexport class PositionsViewDialog {\n\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {}\n\n}\n","
\n

Gestión de Cargos

\n

Bienvenido al módulo de cargos, aquí podrás visualizar todos los cargos del sistema.
Recuerda que para crear un cargo,\n primero debes buscarlo y cerciorarte de que ya exista.\n

\n
\n \n Buscar por cargo o código nómina\n \n \n \n \n
\n
\n \n
\n \n
\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Acciones \n \n \n \n\n Nombre {{row.type_function_name}} Código {{row.key}} Categoría {{row.type_funtions}} Fecha creación {{row.created_at | date}}
No hay cargos que coincidan con la busqueda
\n\n \n \n
\n
\n","
\n \n \n

{{data.name}}

\n
\n \n
    \n
  1. \n {{funtion.name}}\n
  2. \n
\n\n
\n\n
\n
\n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { CalendarOptions } from '@fullcalendar/angular';\nimport * as moment from 'moment';\nimport { delay } from 'rxjs/operators';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { VacationsService } from '../../../../services/rest/vacations.service';\nimport esLocale from '@fullcalendar/core/locales/es';\n\n@Component({\n selector: 'app-reverse-vacations',\n templateUrl: './reverse-vacations.component.html',\n styleUrls: [ './reverse-vacations.component.sass' ]\n})\nexport class ReverseVacationsComponent implements OnInit {\n\n public vacation: any;\n public noveltyDetailHeight: number;\n\n public showJustifyForm: boolean;\n public showJustifyInfo: boolean;\n public showInput: boolean;\n vacationsForm: FormGroup;\n\n options: any = [\n { id: 'modify', name: 'Nuevas fechas' },\n { id: 'delete', name: 'Cancelar solicitud' }\n ];\n public calendarOptions: CalendarOptions = {};\n public availableDays: number;\n public businessDays: number;\n public validDates: boolean;\n public noveltyTypes: any[] = [];\n public noveltyTypesOld: any[] = [];\n public showCalendar: boolean;\n public vacationCode: number;\n public inactivesInCurrentYear: any[] = [];\n currentDate;\n public sending: boolean;\n public minDate;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alert: AlertsService,\n public dialog: MatDialog,\n private vacationService: VacationsService,\n private noveltiesService: NoveltiesService,\n ) {\n }\n\n ngOnInit() {\n this.currentDate = new Date();\n let dateAux = moment(this.currentDate, 'YYYY-MM-DD').add(2, 'days');\n this.minDate = moment(dateAux).locale('es').format('YYYY-MM-DD');\n this.vacation = this.data.data;\n this.vacationsForm = new FormGroup({\n action: new FormControl('', [ Validators.required ]),\n startDate: new FormControl('', [ Validators.required ]),\n endDate: new FormControl('', [ Validators.required ]),\n observation: new FormControl('', [ Validators.required ])\n });\n this.vacationsForm.controls.action.valueChanges.subscribe(resp => {\n if(resp == 'delete'){\n this.vacationsForm.controls.startDate.setValidators([]);\n this.vacationsForm.controls.startDate.updateValueAndValidity();\n this.vacationsForm.controls.endDate.setValidators([]);\n this.vacationsForm.controls.endDate.updateValueAndValidity();\n //this.vacationsForm.controls.action.setValue('');\n // this.showCalendar = false;\n }else if(resp == 'modify'){\n this.vacationsForm.controls.startDate.setValidators([Validators.required]);\n this.vacationsForm.controls.startDate.updateValueAndValidity();\n this.vacationsForm.controls.startDate.setValue(''); \n this.vacationsForm.controls.endDate.setValidators([Validators.required]);\n this.vacationsForm.controls.endDate.updateValueAndValidity();\n this.vacationsForm.controls.endDate.setValue('');\n // this.showCalendar = true;\n }\n });\n\n this.vacationsForm.controls.endDate.valueChanges.subscribe(resp => {\n if(resp){\n this.getCalendarWithAvailableDays();\n }\n\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-27\n * Metodo para asignacion de detalle en primera instancia\n */\n changeDetailHeight(novelty): void {\n if (novelty.first_response && (novelty.first_response.justify || novelty.first_response.response)) {\n this.noveltyDetailHeight = 240;\n }\n }\n\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-29\n * Metodo Aprobar o rechazar novedad\n */\n updateVacationToReverse() {\n const state = this.vacationsForm.controls.action.value;\n if(state === 'modify'){\n if (this.inactivesInCurrentYear[moment(this.vacationsForm.controls.startDate.value).locale('es').format('YYYY-MM-DD')]) {\n this.alert.alertWarning('Proceso detenido', 'La fecha inicial no empezar en un día no hábil, por favor seleccione una fecha diferente');\n this.sending = false;\n return;\n }\n \n if (this.inactivesInCurrentYear[moment(this.vacationsForm.controls.endDate.value).locale('es').format('YYYY-MM-DD')]) {\n this.alert.alertWarning('Proceso detenido', 'La fecha final no puede terminar en un día no hábil, por favor seleccione una fecha diferente');\n this.sending = false;\n return;\n }\n \n // validamos que para pedir las vacaciones sea a partir del dia siguiente\n if (moment(this.vacationsForm.controls.startDate.value).locale('es').format('YYYY-MM-DD') <= moment(this.currentDate).format('YYYY-MM-DD')) {\n this.alert.alertWarning('Proceso detenido', 'Solo puede solicitar vacaciones a partir del día siguiente');\n this.sending = false;\n return;\n }\n \n if (!this.validDates) {\n this.alert.alertWarning('Proceso detenido', 'Verifique las fechas de su solicitud de vacaciones');\n this.sending = false;\n return;\n }\n }\n\n\n this.vacationService.requestReverseVacation(this.vacation.idHoliday, this.vacationsForm.value).subscribe(resp => {\n if (state === 'modify') {\n this.alert.alertSuccess('Novedad actualizada!', 'La solicitud con las nuevas fechas ha sido creada, por favor espere respuesta por parte de nómina');\n this.dialogRef.close('');\n } else {\n this.alert.alertSuccess('Novedad actualizada!', 'La solicitud se ha creado correctamente');\n this.dialogRef.close('');\n }\n\n }, error => {\n this.alert.alertError('Error!', 'Ocurrio un error al intentar actualizar la novedad');\n });\n }\n\n /**\n * Obtiene el calendario con los dias habiles para la solicitud vacaciones\n * @author Andrés Buitrago \n */\n getCalendarWithAvailableDays(): void {\n let formData = new FormData();\n formData.append('startDate', moment(this.vacationsForm.controls.startDate.value).locale('es').format('YYYY-MM-DD') );\n formData.append('endDate', moment(this.vacationsForm.controls.endDate.value).locale('es').format('YYYY-MM-DD'));\n formData.append('vacationId', this.data.data.idHoliday );\n this.vacationService.getAvailableDaysForVacations(formData).pipe(\n delay(1000)\n ).subscribe((respDates) => {\n this.validDates = respDates.data.validDates;\n this.availableDays = respDates.data.availableDays < 0 ? 0 : respDates.data.availableDays;\n this.businessDays = respDates.data.businessDays;\n // configure calendar options\n this.calendarOptions = {\n initialView: 'dayGridMonth',\n locales: [esLocale],\n locale: 'es',\n headerToolbar: {\n left: 'title',\n center: '',\n right: 'prev,next'\n },\n titleFormat: {\n month: 'long',\n year: 'numeric'\n },\n events: respDates.data.dates,\n handleWindowResize: true,\n windowResizeDelay: 200\n };\n if(this.vacationsForm.controls.action.value == 'modify'){\n this.showCalendar = true;\n }else{\n this.showCalendar = false;\n }\n \n });\n }\n}\n","
\n\n

\n

Reversión de Vacaciones

\n \n \n
\n \"noveltyIcon\"\n \n

{{vacation.name}}

\n
{{vacation.id_number}}
\n
\n
\n \n\n \n
\n
\n
\n

\n {{ vacation.fechaSolicitud | date:'EEEE d, MMMM' }}\n

\n
\n
\n {{ vacation.novelty_type?.key }} {{ vacation.novelty_type?.name }}\n
\n
\n
\n
\n
\n

Vacaciones solicitadas

\n

Desde: {{ vacation?.fechaSolicitud | date:'dd/MM/yyyy' }}\n Hasta: {{vacation?.fechaFinSolicitud | date:'dd/MM/yyyy' }}

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

\n Días disponibles: {{ availableDays }} | Días hábiles solicitados: {{ businessDays }}\n

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

Gestión Novedad

\n
\n \n Tipificación\n \n \n {{item.name}}\n \n \n \n\n\n\n \n Nuevas Fechas\n \n \n \n \n \n \n \n\n \n Observaciones\n \n \n\n \n
\n
\n
\n
\n\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { ResourcesService } from '../../../services/resources.service';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { BookingService } from '../../../services/booking.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n\nAuthService\n@Component({\n selector: 'app-bookings-admin',\n templateUrl: './bookings-admin.component.html',\n styleUrls: ['./bookings-admin.component.sass']\n})\nexport class BookingsAdminComponent implements OnInit {\n displayedColumns = ['actions','resources_associated' , 'user', 'created_at','start', 'status'];\n bookingList =[];\n dataSource:any\n currentPage = 1;\n length: number = 0;\n pageSize: number = 0;\n typeStatus:any= ''\n constructor(public resourcesService:ResourcesService, private dialog: MatDialog,\n public router: Router, public auth:AuthService, private bookingService:BookingService, private alertsService:AlertsService) { }\n\n ngOnInit(): void {\n this.getResources()\n }\n getResources(){\n this.resourcesService.getResources('bookings', {page:this.currentPage, status:this.typeStatus}).subscribe(res=>{\n this.length = res.total;\n this.pageSize = res.per_page;\n this.bookingList =res;\n this.dataSource = new MatTableDataSource(res.data);\n })\n }\n\n changeStatus(row){\n\n const statusDialog = this.dialog.open( StatusBooking, {\n width: '25%',\n disableClose: true,\n data: {booking: row}\n });\n statusDialog.afterClosed().subscribe(resp=>{\n if(resp){\n console.log(resp);\n this.bookingService.putBooking(`booking/${row.id}`, resp).subscribe((mess)=>{\n this.alertsService.alertSuccess('¡Actualizado!', mess)\n this.getResources()\n })\n\n }\n })\n }\n getPaginatorData(e){\n this.currentPage = e.pageIndex + 1;\n this.getResources()\n }\n\n}\n@Component({\n selector: 'status-booking',\n templateUrl: './status-booking.html',\n styleUrls: ['./bookings-admin.component.sass']\n})\nexport class StatusBooking implements OnInit {\n\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n observations= null;\n rejection=false;\n ngOnInit(): void { }\n rejectionAction(event){\n this. rejection=event\n }\n}\n","
\n

Reservas

\n\n
\n
\n
\n \n Filtrar por estado\n \n Aprobado\n Pendiente\n Rechazado\n Ninguno\n \n \n
\n\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n\n \n \n \n \n \n
Acciones \n \n\n Recursos {{item.resource.name}}, Fecha de reserva {{element.created_at | date}} Solicitante {{element.user[0].name}} Horas resevadas {{element.start |date: 'shortTime'}} a {{element.end |date: 'shortTime'}} Estado{{element.status | status}}
No hay reservas disponibles
\n\n\n\n
\n
\n\n\n","\n

Cambiar de estado

\n
\n\n\n Solicitante\n

{{data.booking.user[0].name}}

\n Cargo solicitante\n

{{data.booking.user[0].position}}

\n\n Correo solicitante\n

{{data.booking.user[0].email}}

\n
\n Fecha y hora de inicio\n

{{data.booking.start}}

\n Fecha y hora de fin\n

{{data.booking.end}}

\n
\n Recursos\n
    \n
  • \n

    {{element.resource.name}}

    \n
  • \n
\n \n Motivo del rechazo\n \n \n\n
\n\n \n \n\n\n\n \n \n\n","import { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment'\n\nconst NOMINA_URL = environment.NOMINA_URL;\nconst RRHH_URL = environment.RRHH_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GreenBookService {\n\n constructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Obtiene las novedades de incapacidad\n * @param filters\n * @param perPage\n * @param Page\n * @author David Reinoso\n */\n getDataGreenBook(filters?: any, perPage: any = 5, Page?: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('documento', filters.document || '')\n .set('typeDoc', filters.typeDoc || '')\n .set('perPage', perPage)\n .set('page', Page || 1)\n };\n return this.http.get(`${NOMINA_URL}greenbook`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author David Reinoso\n * @purpose Servicio para descargar la plantilla de desprendibles \n */\n downloadTemplate() {\n return this.http.get(`${NOMINA_URL}greenbook/template`, {responseType: 'blob' as 'json'})\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author David Reinoso\n * @purpose Servicio para enviar archivo de desprendibles\n */\n uploadFile(data) {\n console.log(data);\n return this.http.post(`${NOMINA_URL}greenbook/import`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n \n}","import { ConfigSchedule } from \"./config-schedule\";\n\n\n\nexport class Configs {\n\n constructor() {\n this.config_schedule = Array();\n }\n\n id: number;\n name: string;\n date_start: string;\n date_end: string;\n group_id: number;\n config_schedule: ConfigSchedule[];\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { throwError, Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { catchError } from 'rxjs/operators';\n\nconst MAIL_URL = environment.MAIL_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MailService {\n\n constructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n getCola(size: number, page: number): Observable{\n return this.http.get(`${MAIL_URL}correos-en-cola?&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getHistoricos(size: number, page: number): Observable{\n return this.http.get(`${MAIL_URL}correos-historicos?&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getActivos(size: number, page: number): Observable{\n return this.http.get(`${MAIL_URL}mis-correos?&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getEnviados(size: number, page: number): Observable{\n return this.http.get(`${MAIL_URL}correos-respuestas?&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n Busqueda(size: number, page: number, form: FormData): Observable{\n return this.http.post(`${MAIL_URL}avanzada?&n=` + size + `&page=` + page, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n Actualizar(form: FormData): Observable{\n return this.http.post(`${MAIL_URL}recibecorreo`, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n Asignar(form: FormData): Observable{\n return this.http.post(`${MAIL_URL}autoasignar-email`, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n devolverBandeja(form: FormData): Observable{\n return this.http.post(`${MAIL_URL}devolver-bandeja`, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n VolverHistorico(form: FormData): Observable{\n return this.http.post(`${MAIL_URL}volver-historico`, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n VolverCola(form: FormData): Observable{\n return this.http.post(`${MAIL_URL}volver-cola`, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n postCargarArchivos(params: FormData): Observable {\n return this.http.post(`${MAIL_URL}cargar-adjuntos`, params)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n postCuentaEmailConfig(): Observable {\n return this.http.get(`${MAIL_URL}cuenta-email-config`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n postCorreoNuevo(params: FormData): Observable {\n return this.http.post(`${MAIL_URL}nuevo-correo`, params)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n postresponderCorreo(params: FormData): Observable {\n return this.http.post(`${MAIL_URL}responder-correo`, params)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n postObtenerCorreo(params: FormData): Observable {\n return this.http.post(`${MAIL_URL}obtener-correo`, params)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n download(params: FormData){\n return this.http.post(`${MAIL_URL}descargar-adjuntos`, params, {responseType: 'blob'});\n }\n\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { TrainingGroupsService } from '../../../services/training-groups.service';\nimport { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-assign-users',\n templateUrl: './assign-users.component.html',\n styleUrls: ['./assign-users.component.sass']\n})\nexport class AssignUsersComponent implements OnInit {\n analistUsers:any\n analistUser= new FormControl(null,Validators.required)\n constructor(private TrainingGroups:TrainingGroupsService, @Inject(MAT_DIALOG_DATA) public data: any,\n private dialogRef: MatDialogRef,\n private alert: AlertsService) { }\n\n ngOnInit(): void {\n this.TrainingGroups.getUsersByRols(`users/role`, `analista-de-usuarios`).subscribe(res=>{\n this.analistUsers = res\n })\n this.analistUser.setValue(this.data.group.analyst_user_id)\n }\n sendAssign(){\n let user={\n analyst_user_id : this.analistUser.value\n }\n this.TrainingGroups.updateGroup(this.data.group.id, user ).subscribe(res=>{\n this.alert.alertSuccess('¡Asignado!', 'Analista de usuario asignado con éxito');\n this.dialogRef.close(true);\n })\n\n }\n}\n","\n

Asignar analista de usuarios

\n
\n\n\n

Usuarios disponibles

\n \n \n {{user.name}}\n \n \n
\n\n \n \n\n","import { MaterialModule } from 'src/app/shared/material/material.module';\nimport { ScheduleReportComponent } from './modules/schedule-report/page/schedule-report/schedule-report.component';\nimport { DisabilitiesViewComponent } from './modules/disabilities/pages/disabilities-view/disabilities-view.component';\nimport { DisabilitiesResponseComponent } from './modules/disabilities/pages/disabilities-response/disabilities-response.component';\nimport { DisabilitiesComponent } from './modules/disabilities/pages/disabilities/disabilities.component';\nimport { VacationBossComponent } from './modules/vacations/page/vacation-boss/vacation-boss.component';\nimport { VacationsViewComponent } from './modules/vacations/page/vacations-view/vacations-view.component';\nimport { VacationsResponseComponent } from './modules/vacations/page/vacations-response/vacations-response.component';\nimport { VacationsComponent } from './modules/vacations/page/vacations/vacations.component';\nimport { LiquidationsResponseComponent } from './modules/liquidations/pages/liquidations-response/liquidations-response.component';\nimport { LiquidationsComponent } from './modules/liquidations/pages/liquidations/liquidations.component';\nimport { NovedadesViewComponent } from './modules/data-nomina/pages/novedades-view/novedades-view.component';\nimport { NovedadesResponseComponent } from './modules/data-nomina/pages/novedades-response/novedades-response.component';\nimport { NovedadesComponent } from './modules/data-nomina/pages/novedades/novedades.component';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NominaComponent } from './nomina.component';\nimport { NominaRoutingModule } from './nomina-routing.module';\nimport { AdminCampaignsComponent } from './modules/campaigns/admin-campaigns/admin-campaigns.component';\nimport { SaveCampaignsComponent } from './modules/campaigns/save-campaigns/save-campaigns.component';\nimport { SharedModule } from '../../shared/shared.module';\nimport { NoveltiesModule } from './modules/novelties/novelties.module';\nimport { FormsModule } from '@angular/forms';\nimport { InactiveDaysModule } from './modules/inactive-days/inactive-days.module';\nimport { PipesModule } from '../../shared/pipes/pipes.module';\nimport { HttpClientModule } from '@angular/common/http';\nimport { ReverseVacationsComponent } from './modules/vacations/page/reverse-vacations/reverse-vacations.component';\nimport { FullCalendarModule } from '@fullcalendar/angular';\nimport { GeneralReportComponent } from './modules/reports/general-report/general-report.component';\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { NovedadesObservationComponent } from './modules/data-nomina/pages/novedades-observation/novedades-observation.component';\nimport { CancelVacationsComponent } from './modules/vacations/page/cancel-vacations/cancel-vacations.component';\nimport { VacationOperationManagerComponent } from './modules/vacations/page/vacation-operation-manager/vacation-operation-manager.component';\nimport { ReferralsReportComponent } from './modules/referrals/ReferralsReport/ReferralsReport.component';\nimport { ImportDesprendiblesComponent } from './modules/import-desprendibles/import-desprendibles.component';\nimport { VacationConsultantComponent } from './modules/vacations/page/vacation-consultant/vacation-consultant.component';\nimport { DisabilitiesConsultantComponent } from './modules/disabilities/pages/disabilities-consultant/disabilities-consultant.component';\nimport { NovedadesCosultantComponent } from './modules/data-nomina/pages/novedades-cosultant/novedades-cosultant.component';\nimport { LiquidationsImportComponent } from './modules/liquidations-import/liquidations-import.component';\nimport { ImportGreenBookComponent } from './modules/import-green-book/import-green-book.component';\n@NgModule({\n declarations: [\n NominaComponent,\n AdminCampaignsComponent,\n CancelVacationsComponent,\n SaveCampaignsComponent,\n NovedadesComponent,\n NovedadesResponseComponent,\n NovedadesViewComponent,\n LiquidationsComponent,\n LiquidationsResponseComponent,\n VacationsComponent,\n VacationsResponseComponent,\n VacationsViewComponent,\n VacationBossComponent,\n DisabilitiesComponent,\n DisabilitiesResponseComponent,\n DisabilitiesViewComponent,\n ScheduleReportComponent,\n ReverseVacationsComponent,\n GeneralReportComponent,\n NovedadesObservationComponent,\n VacationOperationManagerComponent,\n ReferralsReportComponent,\n ImportDesprendiblesComponent,\n VacationConsultantComponent,\n DisabilitiesConsultantComponent,\n NovedadesCosultantComponent,\n LiquidationsImportComponent,\n ImportGreenBookComponent,\n ],\n imports: [\n CommonModule,\n FormsModule,\n MaterialModule,\n NominaRoutingModule,\n SharedModule,\n NoveltiesModule,\n InactiveDaysModule,\n PipesModule,\n HttpClientModule,\n FullCalendarModule,\n NgxMatSelectSearchModule,\n MatSelectModule,\n MatFormFieldModule\n ]\n})\nexport class NominaModule {\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport * as moment from 'moment';\nimport { Subscription } from 'rxjs';\nimport { DataAuditoria } from 'src/app/modules/calidad/interfaces/dataAuditoria.interface';\nimport { AuditoriaService } from 'src/app/modules/calidad/services/auditoria.service';\nimport { MatrizService } from 'src/app/modules/calidad/services/matriz.service';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-detalle-auditoria',\n templateUrl: './detalle-auditoria.component.html',\n styleUrls: ['./detalle-auditoria.component.sass']\n})\nexport class DetalleAuditoriaComponent implements OnInit, OnDestroy {\n private uuid = '1475d242-92b6-11ee-b9d1-0242ac120002';\n public config: any;\n\n title:string = '';\n creacion:string = '';\n tipo_auditar = {interna:0,cliente:0};\n verCalificacion:boolean = false;\n dataHijo:DataAuditoria={\n modulos:[],\n tipo_matriz:'',\n tipo_peso:'',\n pesoMinimo:0,\n calificacion:'',\n aplica_para_cp: null,\n comment_apply: false,\n comment_size:0,\n comment_is_mandatory_for:''\n }\n inteligencia;\n idMatriz;\n maximo = 0;\n peso_actual = 0;\n calificacion = '';\n dataCalificacion = {modulos:[],calificacion:0};\n selected = new FormControl(0);\n\n //Observable para los cambios en los servicios de auditoria\n subscription:Subscription;\n constructor(\n private matrizService:MatrizService,\n private aRoute:ActivatedRoute,\n private auditoriaService:AuditoriaService,\n private router:Router,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.aRoute.paramMap.subscribe(params=>{\n this.idMatriz = params.get('id');\n this.selected.setValue(params.get('tab'));\n });\n this.getMatrixById();\n this.subscription = this.auditoriaService.refresh$.subscribe(()=>{\n this.getMatrixById();\n });\n }\n\n\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n\n changePage(event){\n this.selected.setValue(event);\n this.router.navigateByUrl(`/mios/calidad/auditoria/detail/${event}/${this.idMatriz}`)\n }\n\n getMatrixById(){\n let items = [];\n const lang = this.configService.lang;\n this.matrizService.getMatrixById(this.idMatriz).subscribe((resp:any)=>{\n console.log(resp);\n this.title = resp[0].matriz.nombre;\n this.dataHijo.tipo_matriz = lang === 'es' ? resp[0].matriz.tipo_matriz.nombre : resp[0].matriz.tipo_matriz.en;\n this.creacion = moment(resp[0].matriz.created_at).format('DD/MM/yyyy hh:mm a');\n this.dataHijo.pesoMinimo = resp[0].matriz.valor_peso_validacion.minimo;\n this.maximo = resp[0].matriz.valor_peso_validacion.maximo;\n this.peso_actual = resp[0].matriz.peso_actual;\n this.dataHijo.aplica_para_cp = resp[0].matriz.aplica_para_cp;\n this.dataHijo.comment_apply = resp[0].matriz.comment_apply;\n this.dataHijo.comment_size = resp[0].matriz.comment_size;\n this.dataHijo.comment_is_mandatory_for = resp[0].matriz.comment_is_mandatory_for;\n if (resp[0].matriz.tipo_peso) {\n this.dataHijo.tipo_peso = lang === 'es' ? resp[0].matriz.tipo_peso.nombre : resp[0].matriz.tipo_peso.en;\n }\n this.dataHijo.modulos = [];\n if (resp[0].matriz.tiene_inteligenciaNegocio == 1) {\n this.inteligencia = resp[0].matriz.inteligenciaNegocio_id;\n }else{\n this.inteligencia = null\n }\n resp[0].matriz.modulo.forEach(modulo => {\n if (modulo.nivel == 1 && modulo.activo == 1) {\n this.dataHijo.modulos.push(modulo);\n }\n });\n this.dataHijo.modulos.forEach(modulo => {\n modulo.items_modulo.forEach((item,index) => {\n if (item.activo == 1) {\n // modulo.items_modulo.splice(index,1);\n items.push(item);\n }\n });\n modulo.items_modulo = items;\n items = [];\n });\n this.verCalificacion = true;\n });\n }\n\n}\n","
\n
\n \n
\n
\n

{{title}}

\n

{{config.matrizDe}} {{dataHijo.tipo_matriz}}

\n
\n
{{config.pesoEnItems}}
\n
{{config.pesoEnModulos}}
\n
\n
{{config.creadaEl}} {{creacion}}
\n
\n

{{config.rangoPeso}} ({{dataHijo.pesoMinimo}} - {{maximo}})

\n

{{config.pesoActual}} ({{peso_actual | number:'1.0-3'}})

\n \n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n
\n
\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport * as moment from 'moment';\nimport { AuditoriaService } from 'src/app/modules/auditoria/services/auditoria.service';\nimport { PusherService } from 'src/app/modules/crm/services/pusher.service';\nimport { DetalleRetroalimentacionComponent } from '../retroalimentar/components/detalle-retroalimentacion/detalle-retroalimentacion.component';\n\n@Component({\n selector: 'app-tabla-auditado',\n templateUrl: './tabla-auditado.component.html',\n styleUrls: ['./tabla-auditado.component.sass']\n})\nexport class TablaAuditadoComponent implements OnInit {\n\n dataSource = [];\n displayedColumns:string[] = ['ac','id','campania','fecha_auditoria','nombre_matriz','auditor','calificacion','gestion'];\n\n filtroFecha = new FormGroup({\n fechaInicial: new FormControl(),\n fechaFinal: new FormControl(),\n });\n\n filtroGestion;\n\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions = [5,10,25,50,100];\n @ViewChild(MatPaginator) paginator:MatPaginator;\n campania:string = '';\n\n constructor(\n private dialog:MatDialog,\n private auditoriaService:AuditoriaService,\n private pusher:PusherService\n ) { }\n\n ngOnInit(): void {\n this.getAuditoriasByAsesor(this.page,this.pageSize);\n this.pusher.getNotificationsGlobal().bind('notification',()=>{\n this.getAuditoriasByAsesor(this.page,this.pageSize);\n });\n }\n\n getAuditoriasByAsesor(page,pageSize){\n const params = {\n fechaInicial: '',\n fechaFinal: '',\n retroalimentacion: '',\n numeroReg: pageSize,\n page: page,\n };\n if (this.filtroFecha.get('fechaInicial').value != null) {\n params.fechaInicial = moment(this.filtroFecha.get('fechaInicial').value).format('yyyy-MM-DD');\n }\n if (this.filtroFecha.get('fechaFinal').value != null) {\n params.fechaFinal = moment(this.filtroFecha.get('fechaFinal').value).format('yyyy-MM-DD');\n }\n\n if (this.filtroGestion != '') {\n params.retroalimentacion = this.filtroGestion;\n }\n\n this.auditoriaService.getAuditoriasByAsesor(params).subscribe((resp:any)=>{\n this.dataSource = resp.data;\n this.length = resp.total;\n });\n }\n\n pageEvent(event:any){\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getAuditoriasByAsesor(this.page,this.pageSize);\n }\n\n detailRetroAlimentacion(id){\n const retroalimentacionRef = this.dialog.open(DetalleRetroalimentacionComponent,{\n width:'1056px',\n disableClose:true,\n data: id,\n });\n retroalimentacionRef.afterClosed().subscribe(()=>{\n \n });\n }\n\n filtroFechas(){\n if (this.filtroFecha.get('fechaInicial').value != null && this.filtroFecha.get('fechaFinal').value != null) {\n this.filtro();\n }\n }\n\n filtro(){\n this.paginator.firstPage();\n this.getAuditoriasByAsesor(this.page,this.pageSize);\n }\n\n get campaign(){\n let campaignMatriz;\n this.dataSource.forEach(element => {\n campaignMatriz = element.campaing;\n if (campaignMatriz.length == 0) {\n return false;\n }else{\n return true;\n }\n });\n this.campania = campaignMatriz.name;\n return true;\n }\n\n}\n","
\n
\n \n Fecha\n \n \n \n \n \n \n \n \n \n \n Filtrar por auditoría\n \n -------\n Retroalimentada\n Sin retroalimentación\n \n \n
\n
\n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n ID {{ element.id}} Campaña {{ element.campaing.name ? element.campaing.name: 'Ninguna' }} Fecha de auditoría {{ element.fecha | date:'dd/MM/yyyy' }} Nombre de la matriz {{ element.nombre_matriz }} Auditado por {{ element.auditor }} Calificación {{ element.calidicacion | number:'1.0-3'}} Gestión {{ element.gestion }}
No hay registros para mostrar
\n \n \n \n \n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-novedades-observation',\n templateUrl: './novedades-observation.component.html',\n styleUrls: ['./novedades-observation.component.sass']\n})\nexport class NovedadesObservationComponent implements OnInit {\n justifyForm: FormGroup;\n formData = new FormData();\n justifyTipes: any = [\n { id: 'sistema_fuera_linea', name: 'Sistema fuera de línea' },\n { id: 'protesta_evento', name: 'Protesta o evento social' },\n { id: 'compensatorio', name: 'Compensación de tiempo' },\n { id: 'sin_justificacion', name: 'Sin justificación' }\n ];\n fieldLength: any;\n boolLength: boolean = false;\n \n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n private alert: AlertsService,\n private noveltieService: NoveltiesService\n ) { }\n\n ngOnInit() {\n this.justifyForm = new FormGroup({\n type: new FormControl('', [Validators.required]),\n response: new FormControl('', [Validators.required, Validators.maxLength(250)])\n });\n\n \n this.justifyForm.controls.type.valueChanges.subscribe(resp => {\n if(resp == 'sistema_fuera_linea'){\n this.justifyForm.controls.response.setValidators([Validators.required, Validators.minLength(6), Validators.maxLength(10)]);\n this.justifyForm.controls.response.updateValueAndValidity();\n this.justifyForm.controls.response.setValue('');\n } else {\n this.justifyForm.controls.response.setValidators([Validators.required, Validators.maxLength(250)]);\n this.justifyForm.controls.response.updateValueAndValidity();\n this.justifyForm.controls.response.setValue('');\n this.boolLength = false;\n }\n });\n \n this.justifyForm.controls.response.valueChanges.subscribe(resp => {\n let value = '';\n value = resp?.toString();\n if(this.justifyForm.controls.type.value == 'sistema_fuera_linea'){\n this.fieldLength = value?.length;\n if(this.fieldLength > 0) {\n if(this.fieldLength < 6 ) {\n this.boolLength = true;\n } else if(this.fieldLength > 10) {\n this.boolLength = true;\n } else {\n this.boolLength = false;\n }\n }\n\n } else {\n this.boolLength = false;\n this.justifyForm.controls.response.setValue('');\n }\n });\n }\n /**\n * @author Javier Castañeda \n * @createdate 2022-04-07\n * Metodo justicar retardos\n */\n saveObservation() {\n this.formData = new FormData();\n this.formData.append('justify_type', this.justifyForm.controls.type.value);\n this.formData.append('justify', this.justifyForm.controls.response.value);\n this.formData.append('type_key', this.data.data.type);\n this.data.data.Ids.forEach(item => {\n this.formData.append('Ids[]', item);\n }); \n this.noveltieService.justifyNovelties(this.formData).subscribe(resp => {\n this.alert.alertSuccessWithoutButton('¡Excelente!', 'La novedad se ha justificado con éxito.');\n this.dialogRef.close();\n });\n }\n\n}\n","\n
\n

\n
\n \n

Gestión Novedad

\n
\n
\n

\n\n \n \n\n
\n \n Tipo de justificación\n \n \n {{item.name}}\n \n \n \n \n Justificación\n \n ¡Advertencia! Este campo es requerido\n ¡Cuidado! Solo puedes tener un máximo de 250 caracteres\n \n\n \n Número de GLPI\n \n\n \n ¡Cuidado! Solo puedes tener un mínimo de 6 dígitos o un máximo de 10 dígitos\n\n
\n
\n\n
\n \n\n \n
\n\n
\n","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\n\nconst CIU_URL = environment.CIU_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConfigService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n\n /**\n * @author Jose Vicente Silva Rivera\n * @createdate 2021-02-02\n * Servicio que lista todos los groupes del aplicativo por campaña\n * @param size tamaño de los datos a traer\n * @param page numero de pagina en la que se ubicara la tabla\n */\n getConfigByDateGroup(data: any): Observable {\n return this.http.get(`${CIU_URL}config/search?date_start=${data.rangeDate}&group_id=${data.groups}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jose Vicente Silva Rivera\n * @createdate 2021-02-02\n * Servicio que lista todos los groupes del aplicativo por campaña\n * @param size tamaño de los datos a traer\n * @param page numero de pagina en la que se ubicara la tabla\n */\n patchConfigs(data: any): Observable {\n return this.http.put(`${CIU_URL}config`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jose Vicente Silva Rivera\n * @createdate 2021-02-02\n * Servicio que lista todos los groupes del aplicativo por campaña\n * @param size tamaño de los datos a traer\n * @param page numero de pagina en la que se ubicara la tabla\n */\n postConfigs(data: any): Observable {\n return this.http.post(`${CIU_URL}config`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport * as moment from 'moment';\nimport { AuditoriaService } from 'src/app/modules/calidad/services/auditoria.service';\nimport { InteligenciaService } from 'src/app/modules/calidad/services/inteligencia.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport {TranslatesService} from '../../../../../../services/translates.service';\n\n@Component({\n selector: 'app-form-inteligencia',\n templateUrl: './form-inteligencia.component.html',\n styleUrls: ['./form-inteligencia.component.sass']\n})\nexport class FormInteligenciaComponent implements OnInit {\n private uuid = '93e8e0fe-92b7-11ee-b9d1-0242ac120002';\n public config: any;\n\n preguntas = [];\n inteligenciaForm:FormGroup;\n constructor(\n public inteligenciaRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private inteligenciaService:InteligenciaService,\n private fb:FormBuilder,\n private auditoriaService:AuditoriaService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.createForm();\n this.getInteligenciaById();\n }\n\n createForm(){\n this.inteligenciaForm = this.fb.group({\n preguntas_activas: this.fb.array([])\n })\n }\n\n getInteligenciaById(){\n const inteligenciaQuestions = this.inteligenciaForm.controls['preguntas_activas'];\n this.inteligenciaService.getFormById(this.datos.inteligencia_id).subscribe((resp:any)=>{\n this.preguntas = resp.preguntas_acivas;\n this.preguntas.forEach(pregunta => {\n let opciones = [];\n let escalas = [];\n let is_required = pregunta.pregunta.requerida;\n let validador;\n let validador_otra;\n if (pregunta.pregunta.opciones_respuesta_form_pregunta_activos) {\n opciones = pregunta.pregunta.opciones_respuesta_form_pregunta_activos;\n }\n if (pregunta.pregunta.escala) {\n escalas = pregunta.pregunta.escala;\n }\n if (is_required == 1) {\n validador = ['',Validators.required];\n validador_otra = ['',Validators.required];\n }else{\n validador = '';\n validador_otra = '';\n }\n inteligenciaQuestions.push(this.fb.group({\n id:pregunta.business_intelligence_question_id,\n name:pregunta.pregunta.question,\n respuesta_usuario: validador,\n respuesta_usuario_otra: {value:'',disabled:true},\n tipo_pregunta_id: pregunta.pregunta.tipo_pregunta.id,\n tipo_pregunta: pregunta.pregunta.tipo_pregunta.key,\n opciones: this.fb.array(opciones),\n escalas: this.fb.array(escalas),\n }))\n });\n })\n }\n\n get inteligenciaQuestions(){\n return this.inteligenciaForm.get('preguntas_activas') as FormArray;\n }\n\n selectMultiple(index:FormGroup){\n if (index.get('respuesta_usuario').value === 'otra') {\n index.get('respuesta_usuario_otra').enable();\n }else{\n index.get('respuesta_usuario_otra').disable();\n }\n }\n\n cambioFecha(pregunta:FormControl){\n pregunta.get('respuesta_usuario').setValue(moment(pregunta.get('respuesta_usuario').value).format('yyyy-MM-DD'));\n }\n\n sendRequest(){\n if (this.inteligenciaForm.invalid) {\n return\n }\n const inteligenciaQuestions = this.inteligenciaForm.controls['preguntas_activas'];\n inteligenciaQuestions.controls.forEach(grupo => {\n if (grupo.get('respuesta_usuario').value != 'otra') {\n grupo.get('respuesta_usuario_otra').setValue(null);\n }\n grupo.get('respuesta_usuario_otra').enable();\n });\n this.inteligenciaForm.addControl('id_form',new FormControl(this.datos.inteligencia_id));\n Object.assign(this.datos,{formulario:[this.inteligenciaForm.value]});\n this.auditoriaService.createAuditoria(this.datos).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess(this.config.modal.excellent,this.config.modal.requestOk);\n this.inteligenciaRef.close(resp.respuesta.codigo);\n }else if (resp.respuesta.codigo != 202) {\n Tools.swalError('¡Oops!',this.config.modal.requestError);\n inteligenciaQuestions.controls.forEach(grupo => {\n grupo.get('respuesta_usuario_otra').disable();\n });\n }\n });\n }\n\n}\n","\n
\n

{{config.labels.inteligenciaDeNegocio}}

\n \n
\n
\n
\n

{{pregunta.get('name').value}}

\n
\n \n \n {{opcion.name}}\n \n {{config.labels.respuestaObligatoria}}\n \n \n {{config.labels.cual}}\n \n {{config.labels.respuestaObligatoria}}\n \n
\n
\n \n {{config.labels.respuesta}}\n \n {{config.labels.respuestaObligatoria}}\n \n
\n
\n \n \n {{escala}}\n \n {{config.labels.respuestaObligatoria}}\n \n
\n
\n \n {{config.labels.opciones}}\n \n \n {{opcion.name}}\n \n {{config.labels.respuestaObligatoria}}\n \n
\n
\n \n {{config.labels.fecha}}\n \n \n \n \n \n {{config.labels.respuestaObligatoria}}\n \n
\n
\n \n {{config.labels.hora}}\n \n {{config.labels.respuestaObligatoria}}\n \n
\n
\n
\n
\n
\n \n \n
\n
\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { VicidialService } from '../services/vicidal.service';\nimport * as moment from 'moment';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { RecordDialogComponent } from './dialogs/record-dialog/record-dialog.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\nimport { CrudService } from 'src/app/shared/basic-crud-page-service/crud.service';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSelectChange } from '@angular/material/select';\n\nconst { SABLE_URL, VICIDIAL_URL } = environment;\n\n@Component({\n selector: 'app-records',\n templateUrl: './records.component.html',\n styleUrls: ['./records.component.sass']\n})\nexport class RecordsComponent implements OnInit {\n @ViewChild(MatPaginator) paginator: MatPaginator;\n filters: FormGroup;\n tableColumns: string[] = ['actions', 'document', 'agente', 'cedula_cliente', 'nombre_cliente', 'phone_number', 'campaign_id', 'gestion', 'created_at', 'minutos'];\n length: number;\n pageSize: number = 5;\n pageSizeOptions: number[] = [5, 10, 50, 100];\n page: number = 1;\n records_list = new MatTableDataSource();\n campaings: any[] = [];\n operations: any[] = [];\n user: number = null;\n max_date: Date = new Date();\n servers: any[] = [];\n fullCampaings: any[] = [];\n moreShowFilters: boolean = false;\n\n @ViewChild(MatSort) sort: MatSort;\n\n constructor(\n private formBuilder: FormBuilder,\n private dialog: MatDialog,\n private alertService: AlertsService,\n private vicidialService: VicidialService,\n private authService: AuthService,\n private crudService: CrudService\n ) { }\n\n ngOnInit(): void {\n this.user = this.authService.getUser().rrhh_id;\n this.initializeForm();\n this.getServers();\n this.getFullCampaigns();\n }\n\n ngAfterViewInit() {\n this.records_list.sort = this.sort;\n }\n\n initializeForm() {\n this.filters = this.formBuilder.group({\n 'start_date': ['', [Validators.required]],\n 'end_date': ['', [Validators.required]],\n 'server': ['', []],\n 'campania': [null, []],\n 'operation': [null, []],\n 'agente_id': [null, []],\n 'cliente_nombre': [null, []],\n 'cliente_id': [null, []],\n 'id_call': [null, []],\n 'call_end': [null, []],\n 'call_transfer': [null, []],\n 'transferred_area': [null, []]\n });\n }\n\n paginatorEvent(event: any) {\n this.pageSize = event.pageSize\n this.page = event.pageIndex + 1\n this.getInfo(this.page,\n this.pageSize,\n this.filters.get('start_date').value,\n this.filters.get('end_date').value,\n this.filters.get('campania').value,\n this.filters.get('operation').value,\n this.filters.get('agente_id').value,\n this.filters.get('cliente_nombre').value,\n this.filters.get('cliente_id').value,\n this.filters.get('id_call').value,\n this.filters.get('call_end').value,\n this.filters.get('call_transfer').value,\n this.filters.get('transferred_area').value,\n );\n }\n\n getInfo(\n page: number,\n pageSize: number,\n start_date: string = '',\n end_date: string = '',\n campaing: number = null,\n operation: number = null,\n agente_id: string = null,\n cliente_nombre: string = null,\n cliente_id: string = null,\n id_call: string = null,\n call_end: string = null,\n call_transfer: string = null,\n transferred_area: string = null\n ) {\n const start = start_date ? moment(start_date).format('YYYY-MM-DD') : '';\n const end = end_date ? moment(end_date).format('YYYY-MM-DD') : '';\n if (start === '' || end === '') {\n this.alertService.alertError('Error', 'Por favor seleccionar una fecha inicial y una fecha final para proceder con la consulta');\n return;\n }\n let nameOperation = operation ? this.operations.find(item => item.id === operation).name : null;\n this.vicidialService.getSoulphoneRecords(page, pageSize, start, end, campaing, nameOperation, agente_id, cliente_nombre, cliente_id, id_call, call_end, call_transfer, transferred_area).subscribe((resp: any) => {\n this.records_list.data = resp.data?.data;\n this.length = resp.data?.total\n this.pageSize = resp.data?.per_page\n });\n }\n\n filterInfo() {\n this.page = 1\n this.getInfo(this.page,\n this.pageSize,\n this.filters.get('start_date').value,\n this.filters.get('end_date').value,\n this.filters.get('campania').value,\n this.filters.get('operation').value,\n this.filters.get('agente_id').value,\n this.filters.get('cliente_nombre').value,\n this.filters.get('cliente_id').value,\n this.filters.get('id_call').value,\n this.filters.get('call_end').value,\n this.filters.get('call_transfer').value,\n this.filters.get('transferred_area').value,\n );\n this.paginator.firstPage();\n }\n\n resetFilters() {\n this.page = 1;\n this.filters.reset();\n this.paginator.firstPage();\n this.length = 0;\n this.records_list.data = [];\n this.operations = [];\n this.campaings = [];\n }\n\n formDialog(record) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.id = 'dialogCrudCategory';\n dialogConfig.width = '50%';\n dialogConfig.height = 'auto';\n dialogConfig.data = {\n hanging: record.hanging === 'remote' ? 'Cliente' : 'Asesor',\n transferred_campaigns: record.transferred_campaigns ? 'Si' : 'No',\n name_transferred_campaigns: record.transferred_campaigns ? record.transferred_campaigns : 'N/R',\n url: record.url_audios,\n survey_response: this.decodeSurveyResponse(record.survey_response)\n }\n const dialogRef = this.dialog.open(RecordDialogComponent, dialogConfig);\n dialogRef.afterClosed().subscribe((result) => {\n });\n }\n\n decodeSurveyResponse(survey: string | null): string {\n if (!survey) return 'No se respondió la encuesta';\n const decodeSurvey = JSON.parse(survey);\n let stringSurvey = '';\n for (const key in decodeSurvey) stringSurvey += `${key} ${decodeSurvey[key] ? decodeSurvey[key] : 'Sin respuesta'} `;\n return stringSurvey;\n }\n\n getCampaings($event: MatSelectChange): void {\n this.crudService.getData({ url: `${SABLE_URL}get_operacion_campaing/${this.filters.get('server').value}`, filters: { operacion: this.filters.get('operation').value } }).subscribe(res => {\n this.campaings = res.data;\n });\n }\n\n getOperations($event: MatSelectChange): void {\n this.crudService.getData({ url: `${SABLE_URL}get_operacion/${$event.value}` }).subscribe(res => {\n this.operations = res.data;\n });\n }\n\n getServers(): void {\n this.crudService.getData({ url: `${SABLE_URL}permisos/get_user_view`, filters: { id_rrhh: this.user, record: 1 } }).subscribe(res => {\n this.servers = res.data;\n });\n }\n\n getFullCampaigns(): void {\n this.crudService.getData({ url: `${VICIDIAL_URL}v2/campaign-all` }).subscribe(res => {\n this.fullCampaings = res.map((item: any) => {\n return {\n id: item.name,\n nombre: item.name\n }\n });\n });\n }\n}\n","
\n
\n
\n

Grabaciones De Soulphone

\n
\n
\n

En este espacio podrás consultar y reproducir las grabaciones de soulphone. No olvides, \"El respeto y la\n empatía son claves\".

\n
\n
\n
\n
\n \n Rango de fechas\n \n \n \n \n \n \n \n
\n
\n \n Servidores\n \n {{ item.name }}\n \n \n
\n
\n \n Operaciones\n \n {{ item.nombre }}\n \n \n
\n
\n \n Campañas\n \n {{ item.nombre }}\n \n \n
\n
\n \n Id del agente\n \n \n
\n
\n \n
\n
\n \n Id cliente\n \n \n
\n
\n \n Nombre del cliente\n \n \n
\n
\n \n Call Id\n \n \n
\n
\n \n Finalización llamada\n \n Agente\n Cliente\n \n \n
\n
\n \n Llamada transferida\n \n Si\n No\n \n \n
\n
\n \n Área de transferencia\n \n {{ item.nombre }}\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Acciones\n \n Id agente{{ element.document }}Nombre agente{{ element.agente }}Cedula del cliente{{ element.cedula_cliente }}Nombre del cliente{{ element.nombre_cliente }}Celular{{ element.phone_number }}Campaña{{ element.campaign_id }}Skill{{ element.gestion }}Fecha / Hora{{ element.created_at }}Duración llamada (min){{ element.minutos }}
No se encontraron registros
\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-create-label-dialog',\n templateUrl: './create-label-dialog.component.html',\n styleUrls: ['./create-label-dialog.component.sass']\n})\nexport class CreateLabelDialogComponent implements OnInit {\n formCreateLabel: FormGroup = new FormGroup({\n nameLabel: new FormControl('', [Validators.required])\n });\n\n constructor(private matDialogRef: MatDialogRef) { }\n\n ngOnInit(): void {\n\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-06-16\n * Metodo que retorna los controles del formulario. \n */\n get errorsForm(): any {\n return this.formCreateLabel.controls;\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-06-16\n * Metodo que valida el formulario y envia la data al componente padre. \n */\n createLabel(): void {\n if (this.formCreateLabel.valid) this.matDialogRef.close(this.formCreateLabel.value);\n else this.formCreateLabel.markAllAsTouched();\n }\n}","
\n \n Creación de etiquetas\n \n \n
\n
\n

\n En este espacio podrás crear etiquetas temporales para la descarga de las llamadas.\n

\n
\n
\n \n Nombre de la etiqueta\n \n \n Este campo es requerido\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ClientesService } from '../../../services/rest/clientes.service';\nimport { OportunidadesService } from '../../../services/rest/oportunidades.service';\nimport { debounceTime } from 'rxjs/operators';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport * as moment from 'moment';\nimport 'moment-timezone';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-clientes-seguimiento',\n templateUrl: './clientes-seguimiento.component.html',\n styleUrls: ['./clientes-seguimiento.component.sass']\n})\nexport class ClientesSeguimientoComponent implements OnInit {\n\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n public editAvailable: boolean;\n displayedColumns: string[] = ['actions', 'cliente', 'documento', 'name', 'comercial', 'linea', 'meses', 'valor', 'channel' ,'state'];\n dataSource = new MatTableDataSource();\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n arrayservicios: any[] = [];\n arraycomercial: any[] = [];\n element = false;\n\n nameControl = new FormControl();\n documentControl = new FormControl();\n typeControl = new FormControl();\n comercialControl = new FormControl();\n lineServiceControl = new FormControl();\n stateControl = new FormControl();\n nameClient: any = '';\n document: any = '';\n type: any = '';\n comercial: any = '';\n lineService: any = '';\n state: any = '';\n stateData: any[] = [\n { id: 'ganada', name: 'Ganado' },\n { id: 'perdida', name: 'Perdido' },\n { id: 'desierta', name: 'Desierto' }\n ];\n\n channelControl = new FormControl();\n channelSelected: any = '';\n channelsOptions: any[];\n\n constructor(\n private clientesService: ClientesService,\n private oportunidadservice: OportunidadesService,\n private router: Router\n ) {\n\n }\n\n ngOnInit(): void {\n this.clientesService.getComercialsList().subscribe((resp: any) => {\n this.arraycomercial = resp.data;\n });\n\n this.clientesService.getLineServices().subscribe((resp: any) => {\n this.arrayservicios = resp.data;\n });\n\n this.oportunidadservice.getChannels().subscribe((resp:any) => {\n this.channelsOptions = resp.data;\n });\n\n //filtros detectar cambios\n this.nameControl.valueChanges.pipe(debounceTime(1000)).subscribe(res => {\n this.resetPaginator();\n this.nameClient = res;\n this.getOportunitiesBy();\n });\n this.documentControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.document = resp;\n this.getOportunitiesBy();\n });\n this.typeControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.type = resp;\n this.getOportunitiesBy();\n });\n this.comercialControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.comercial = resp;\n this.getOportunitiesBy();\n });\n this.lineServiceControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.lineService = resp;\n this.getOportunitiesBy();\n });\n this.stateControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.state = resp;\n this.getOportunitiesBy();\n });\n this.channelControl.valueChanges.subscribe(resp => {\n this.resetPaginator();\n this.channelSelected = resp;\n this.getOportunitiesBy();\n });\n this.getOportunitiesBy();\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para mostrar y ocultar los filtros\n */\n showData() {\n if (this.element == true) {\n return (this.element = false);\n } else {\n return (this.element = true);\n }\n\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-26\n * Metodo que se encarga del paginador al momento de cambiar de pagina\n * @param {any} event evento que trae la pagina a listar\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getOportunitiesBy();\n }\n\n /**\n * @author Javier Castañeda\n * @purpose resetea el paginador\n * @createdate 2022-10-29\n */\n resetPaginator(): void {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo para la consulta y filtrado de oportunidades en seguimiento\n */\n getOportunitiesBy() {\n let filters = {\n tap: 'seguimiento',\n client: this.nameClient,\n service_line: this.lineService,\n comercial: this.comercial,\n document: this.document,\n id_type: this.type,\n state: this.state,\n perPage: this.pageSize,\n page: this.page,\n channel: this.channelSelected\n };\n this.oportunidadservice.getOportunitiesHistoryBy(filters).subscribe(resp => {\n this.dataSource.data = resp?.data?.data;\n this.length = resp.data.total;\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-10-29\n * Metodo de descarga de reporte de oportunidades en seguimiento\n */\n downloadReport() {\n let filters = {\n tap: 'seguimiento',\n client: this.nameClient,\n service_line: this.lineService,\n comercial: this.comercial,\n document: this.document,\n id_type: this.type,\n state: this.state\n };\n let date = new Date();\n let reportDate = moment(date).tz('America/Bogota').format('YYYY-MM-DD')\n this.oportunidadservice.getOportunitiesHistoryReportBy(filters).subscribe(resp => {\n importedSaveAs(resp, `Reporte_oportunidades_en_seguimiento_${reportDate}.xlsx`);\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-01\n * Metodo para ver detalle de la oportunidad\n */\n viewOpportunities(idClient, id){\n this.router.navigate([`/mios/crm-cial/creop/${idClient}`], { queryParams: { type: 'view', idOportunity: id, tab: 2, table: 1 }});\n }\n\n}\n","
\n\n
\n\n \n Cliente\n \n \n \n\n \n Número de identificacion\n \n \n \n\n \n Tipo de identificacion\n \n Todos\n Nacional\n Internacional\n \n \n\n \n Comercial asignado\n \n Todos\n {{item.name}}\n \n \n

\n \n Linea de servicio\n \n Todos\n {{item.name}}\n \n \n\n \n Estado\n \n Todos\n {{item.name}}\n \n \n\n \n Canales\n \n Todos\n {{item.name}}\n \n \n\n
\n \n
\n
\n \n
\n\n
\n \n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n\n
\n \n Cliente \n {{row?.nameClient}}\n Identificación \n {{row?.id_number}}\n Nombre de la
oportunidad
\n {{row?.name_oportunity}}\n Comercial
asignado
\n {{row?.comercial}}\n Línea de servicio \n {{row?.lines_names| slice:0:20}} 20\">...\n Duración contrato \n {{row?.tiempo_contrato}} {{ row?.tiempo_contrato ? (row?.tiempo_contrato > 1 ? 'meses' : 'mes') : ''}}\n Valor contrato \n {{row?.moneda ? (row?.moneda == 1 ? 'US' : 'COP') : 'COP'}} {{row?.moneda ? '$' :'$'}}{{row?.val_oportunidad || '0'}}\n Canal \n {{row?.channel_name}}\n Estado \n {{row?.state_name}}\n
\n\n \n \n
\n\n
\n","import { Component, OnInit, Inject, HostListener } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';\nimport { AdminServersService } from 'src/app/modules/speech-analytics/services/admin-servers.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-create-connections',\n templateUrl: './create-connection.component.html',\n styleUrls: ['./create-connection.component.sass']\n})\nexport class CretateConnectionsComponent implements OnInit {\n\n addConnectionForm: FormGroup;\n dataSource: any;\n hide: boolean = true;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n private form: FormBuilder,\n private adminServersService: AdminServersService\n ) { }\n\n ngOnInit(): void {\n this.formControl();\n }\n\n /**\n * Método donde se establecen las validaciones del formulario y adviarte antes de refrescar\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @method unloadNotification\n * @param {Event} $event - El evento `beforeunload` del navegador.\n * @returns {void}\n */\n\n @HostListener('window:beforeunload', ['$event'])\n unloadNotification($event: any) {\n if (this.addConnectionForm.dirty) {\n $event.returnValue = true;\n }\n }\n\n /**\n * Metodo donde se establecen las validaciones del formulario\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n\n formControl(): void {\n this.addConnectionForm = this.form.group({\n name: new FormControl('', [Validators.required, Validators.minLength(3), Validators.maxLength(100)]),\n server_host: new FormControl('', [Validators.required,Validators.minLength(5), Validators.maxLength(16)]),\n port: new FormControl('', [Validators.required, Validators.pattern(/^[0-9]+$/),Validators.minLength(1), Validators.maxLength(5)]),\n type_connection: new FormControl('', [Validators.required, Validators.minLength(5), Validators.maxLength(10)]),\n database_name: new FormControl('', [Validators.required, Validators.minLength(5), Validators.maxLength(100)]),\n view: new FormControl('', [Validators.required, Validators.minLength(5), Validators.maxLength(100)]),\n user: new FormControl('', [Validators.required, Validators.minLength(5), Validators.maxLength(100)]),\n password: new FormControl('', [Validators.required,Validators.minLength(5), Validators.maxLength(100)]),\n web_server: new FormControl('', [Validators.minLength(1)]),\n });\n }\n\n\n\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que evalua en tiempo real los caracteres ingresados en el input, no deja ingresar espacios\n * @param event evento del keypress del input usuario\n */\n omitSpecialChar(event): any {\n let k;\n k = event.charCode;\n return ((k > 32 && k < 126));\n }\n\n\n /**\n * Metodo que guarda o actualiza un servidor.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n saveServe() {\n if (this.addConnectionForm.valid) {\n Swal.fire({\n title: '¿Está seguro?',\n text: '¿De continuar con la gestión?',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.adminServersService.CreaServer(this.addConnectionForm.value).subscribe(\n res => {\n Swal.fire({\n title: '¡Exelente!',\n text: 'Se ha creado una nueva conexión',\n icon: 'success',\n confirmButtonColor: '#2CABBC',\n confirmButtonText: 'Continuar'\n }).then((result) => {\n if (result.isConfirmed) {\n this.dialogRef.close();\n }\n });\n },\n error => {\n console.error('Ha ocurrido un error al crear la conexión', error.message);\n Swal.fire({\n icon: 'error',\n title: 'Ha ocurrido un error al crear la conexión.',\n text: error.message,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: 'Aceptar',\n });\n }\n );\n }\n });\n } else {\n this.addConnectionForm.markAllAsTouched();\n }\n }\n\n /**\n * Metodo que reinicia los valores del modal.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n cancelSave(): void {\n if (this.addConnectionForm.dirty) {\n Swal.fire({\n title: '¿Estás seguro?',\n text: 'Si cancelas el proceso, perderás toda la información no guardada.',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.addConnectionForm.reset();\n this.dialogRef.close();\n }\n });\n }else {\n this.dialogRef.close();\n }\n }\n}\n","\n
\n
\n
Crear conexión
\n \n\n
\n \n Nombre\n \n Nombre es requerido\n Mínimo 3 caracteres\n Máximo 100 caracteres\n \n
\n\n
\n \n Servidor\n \n Servidor es requerido\n Mínimo 5 caracteres\n Máximo 16 caracteres\n \n
\n\n
\n \n Puerto\n \n Puerto es requerido\n Debe ser tipo numérico\n Debe contener mínimo un caracteres\n Debe contener mínimo 5 caracteres\n \n
\n\n
\n \n Tipo de conexión\n \n Tipo de conexión es requerido\n Mínimo 5 caracteres\n Máximo 10 caracteres\n \n
\n\n
\n \n Base de datos\n \n Base de datos es requerida\n Mínimo 5 caracteres\n Máximo 100 caracteres\n \n
\n\n
\n \n Nombre de la vista\n \n El nombre de la vista es requerida.\n Mínimo 5 caracteres\n Máximo 100 caracteres\n \n
\n\n
\n \n Conexión web IP\n \n Mínimo 1 caracteres\n \n
\n\n
\n \n Usuario\n \n Usuario es requerido\n Mínimo 5 caracteres\n Máximo 100 caracteres\n \n
\n\n
\n \n Contraseña\n \n \n {{hide ? 'visibility' : 'visibility_off'}}\n \n Contraseña es requerida\n Mínimo 5 caracteres\n Máximo 100 caracteres\n \n
\n\n
\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\n\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport { environment } from '../../../../../../environments/environment';\n\n// Models\nimport { CampaignUser } from '../models/campaign-user';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class CampaignService {\n\tAPI_URL = environment.CARTERA_WOM_URL;\n\t// CAMPAIGNS = this.API_URL + 'campaign/';\n\tCAMPAIGNS_USER = this.API_URL + 'campaign_user/campaigns/';\n\n\tconstructor(private http: HttpClient) {}\n\n\thandleError(error: HttpErrorResponse): Observable {\n\t\treturn throwError(error);\n\t}\n\n\t/**\n\t * Método para obtener las campañas vinculadas al usuario logueado.\n\t * @param id id del usuario\n\t * @author Carlos Gomez\n\t * @createdate 2021-05-20\n\t */\n\tgetCampaignsByUser(id: number): Observable {\n\t\treturn this.http.get(this.CAMPAIGNS_USER + id).pipe(catchError(this.handleError));\n\t}\n}\n","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MedicaltestService } from '../../../services/medicaltest.service';\nimport { MatSort } from '@angular/material/sort';\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\nimport { MedicalTestActionComponent } from '../medical-test-action/medical-test-action.component';\n\n@Component({\n selector: 'app-medical-tests',\n templateUrl: './medical-tests.component.html',\n styleUrls: ['./medical-tests.component.sass']\n})\nexport class MedicalTestsComponent implements OnInit {\n\n displayedColumns: string[] = ['actions','test', 'state','date','ips'];\n\n dataSource: MatTableDataSource;\n candidate:any;\n @ViewChild(MatSort) sort: MatSort;\n\n constructor(private medicalTestServices:MedicaltestService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialog: MatDialogRef,\n private dialogN:MatDialog) {\n this.candidate = this.data.candidate;\n }\n\n ngOnInit(): void {\n this.getMedicalTests();\n }\n\n getMedicalTests(){\n this.medicalTestServices.getMedicalTests(this.candidate.id).subscribe( (resp:any) => {\n this.dataSource = new MatTableDataSource(resp);\n this.dataSource.sort = this.sort;\n });\n }\n\n changeStatus(medical){\n const changeStatus = this.dialogN.open( MedicalTestActionComponent,{\n data:{\n candidate:this.candidate,\n medicalTest:medical\n }\n });\n changeStatus.afterClosed().subscribe( e => {\n if(e){\n this.getMedicalTests();\n }\n \n })\n }\n\n\n}\n","\n

Exámenes Médicos

\n
\n\n
\n \n\n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n\n \n \n\n \n \n \n
Exámen {{row.medical_type_test.name}} Estado {{row.stateName}} Fecha {{row.date}} IPS {{row.ips.name}} Acciones \n \n
No hay exámenes disponibles.
\n
\n\n
\n\n
","import { ReportsServiceCiu } from './../../../services/rest/report-service-ciu.service';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n\n@Component({\n selector: 'app-report-users-app',\n templateUrl: './report-users-app.component.html',\n styleUrls: ['./report-users-app.component.sass']\n})\nexport class ReportUsersAppComponent implements OnInit {\n\n public token: string='';\n public report_id:string='';\n public generar = false;\n public type : number;\n public tittle :string;\n public subTittle :string;\n\n constructor(\n private reportsServiceCiu : ReportsServiceCiu,\n private route : ActivatedRoute\n ) {}\n\n ngOnInit(): void {\n this.type = this.route.snapshot.params['id'];\n this.validateText(this.type);\n this.getReport(this.type == 1 ? '07_DBS_COS_ADHERENCI' : '010_DBS_ADH_PBI');\n }\n\n getReport(key)\n {\n this.reportsServiceCiu.getReport(key).subscribe((resp)=>{\n if(resp.data.token !== ''){\n this.token = resp.data.token;\n this.report_id =resp.data.reporte_id;\n console.log(resp.data);\n this.generar=true;\n }\n });\n }\n\n validateText(valid)\n {\n if(valid == 1)\n {\n this.tittle = 'Reporte de usuarios';\n this.subTittle = 'En este espacio podrás encontrar el informe de usuarios PBI.';\n }else\n {\n this.tittle = 'Reporte de usuarios';\n this.subTittle = 'En este espacio podrás encontrar el informe de usuarios PBI.';\n }\n }\n\n}\n","
\n
\n

{{tittle}}

\n

{{subTittle}}

\n
\n
\n
\n \n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-email-reassignment-page-main',\n templateUrl: './email-reassignment-page-main.component.html',\n styleUrls: ['./email-reassignment-page-main.component.css']\n})\nexport class EmailReassignmentPageMainComponent implements OnInit {\n constructor() { }\n\n ngOnInit(): void {\n \n }\n}","\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { ApplicationsService } from '../../../services/rest/applications.service';\nimport { DestroyComponentService } from '../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { SaveAplicationsComponent } from '../save-aplications/save-aplications.component';\nimport { Aplication } from '../../class/aplications';\n\n@Component({\n selector: 'app-admin-applications',\n templateUrl: './admin-applications.component.html',\n styleUrls: ['./admin-applications.component.sass']\n})\nexport class AdminApplicationsComponent implements OnInit {\n\n length;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n newRolComponent: boolean = false;\n\n displayedColumns: string[] = ['acciones', 'name', 'key', 'endpoint', 'enforce_schedule'];\n dataSource = new MatTableDataSource();\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n constructor(public applicationService: ApplicationsService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n public dialog: MatDialog) { }\n\n ngOnInit(): void {\n this.getApplications();\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que trae los roles paginados\n * @param size cantidad de roles a traer en la tabla\n * @param page pagina que va a mostrar la tabla\n */\n getApplications(): void {\n\n if (this.dataSource.filter === ''){\n this.dataSource.filter = null;\n }\n this.applicationService.getApplicationsPaginate(this.isPage,this.pageSize, this.page).subscribe((Response) => {\n this.dataSource.data = Response.data.data;\n \n this.dataSource.sort = this.sort;\n this.length = Response.data.total;\n this.pageSize = Response.data.per_page;\n\n });\n\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que realiza el filtro\n * @param event datos para filtrar que son enviados desde el input\n */\n applyFilter(event: Event): void {\n\n const filterValue = (event.target as HTMLInputElement).value;\n\n this.applicationService.searchApplications(this.pageSize, this.page, filterValue).subscribe((Response) => {\n this.dataSource.data = Response.data.data;\n this.dataSource.sort = this.sort;\n this.length = Response.data.total;\n this.pageSize = Response.data.per_page;\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que se encarga del movimiento del paginador\n * @param event cuando se da click en el paginador trae este evento\n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getApplications();\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que abre el modal de crear un nuevo rol, al cerral el modal se refresca la tabla\n */\n newApplication(): void{\n const dialogNewRol = this.dialog.open(SaveAplicationsComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Aplicaciones',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize=5;\n this.ngOnInit();\n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que abre el modal de editar usuario, envia un usuario, al cerrar el modal se refresca la tabla\n * @param rol rol a editar\n */\n editApplication(app: any): void{\n const dialogNewRol = this.dialog.open(SaveAplicationsComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar Aplicaciones',\n app\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize =5;\n this.ngOnInit();\n });\n }\n\n // /**\n // * @author Daniel Martinez\n // * @createdate 2021-02-04\n // * Metodo que elimina un rol\n // * @param rol rol a eliminar\n // */\n // deleteCampaign(app: Aplication): void{\n // app.state =0;\n\n // this.applicationService.deleteApplication(app,app.id).subscribe((resp) => {\n // this.alertsService.alertSuccess('Eliminado', resp.data);\n // this.ngOnInit();\n // });\n // }\n\n viewCampaign(){\n\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n}\n","
\n\n
\n

Aplicaciones

\n

En este espacio podrás revisar y/o crear aplicaciones
no olvides, \"El respeto y la empatía son clave\"

\n
\n\n
\n \n \n Filtro de búsqueda\n \n \n \n\n
\n\n
\n \n
\n\n
\n\n \n
\n
\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
Acciones\n \n \n \n Nombre {{row.name}} Llave {{row.key}} EndPoint {{row.endpoint}} Requiere Horiario

No

Si

No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n\n \n \n \n \n
\n
\n\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { PositionsService } from '../../../services/positions.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n@Component({\n selector: 'app-position-create',\n templateUrl: './position-create.component.html',\n styleUrls: ['./position-create.component.sass']\n})\nexport class PositionCreateComponent implements OnInit {\n positionForm: FormGroup = this.fb.group({\n name: ['', Validators.required],\n key: ['', Validators.required],\n position_category_id: ['', Validators.required],\n functions: ['', Validators.required],\n charges: ['', Validators.required],\n dependents: ['', Validators.required]\n });\n\n constructor(private fb: FormBuilder, private positionsService: PositionsService,\n private dialogRef: MatDialogRef,\n private alertService: AlertsService,\n @Inject(MAT_DIALOG_DATA) public data: any) { }\n\n ngOnInit(): void {\n if (this.data.action == 'Editar') {\n this.positionsService.getPosition(this.data.id)\n .subscribe(res => {\n this.positionForm.patchValue(res)\n console.log(res);\n let x = res;\n var y: number = +x[\"charges\"];\n this.positionForm.controls.charges.setValue(y);\n })\n }\n }\n createPosition() {\n switch (this.data.action) {\n case 'Crear':\n let saveconfirm1 = this.alertService.alertConfirm('¿Está seguro de actualizar la posición?')\n saveconfirm1.then(res => {\n if (res.isConfirmed) {\n this.positionsService.postPosition('create', this.positionForm.value).subscribe((res: any) => {\n this.alertService.alertSuccess('¡Creado!', res);\n this.dialogRef.close(true)\n })\n }\n })\n break;\n case 'Editar':\n let saveconfirm2 = this.alertService.alertConfirm(`¿Está seguro que desea editar este cargo?\\nCualquier modificación realizada afectara los contratos ya firmados.`)\n saveconfirm2.then(res => {\n if (res.isConfirmed) {\n this.positionsService.postPosition(`update/${this.data.id}`, this.positionForm.value).subscribe((res: any) => {\n this.alertService.alertSuccess('¡Actualizado!', `El cargo ${this.positionForm.value.name} ha sido editado con éxito`);\n this.dialogRef.close(true)\n })\n }\n })\n break;\n\n }\n\n }\n}\n","\n

{{data.action}} cargo

\n
\n\n
\n \n Nombre del cargo\n \n \n \n Código\n \n \n\n ¿Personas a cargo?\n\n \n Tipo de Cargo\n \n Administrativo\n Operativo\n \n \n\n \n Identificar tipo de cargo\n \n Jefatura\n Coordinación\n Directivos\n Gerenciales\n N/A\n \n \n\n \n Funciones\n \n \n
\n
\n\n \n \n\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { UsersService } from '../../../services/users.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-candidate-assign-trainer',\n templateUrl: './candidate-assign-trainer.component.html',\n styleUrls: ['./candidate-assign-trainer.component.sass']\n})\nexport class CandidateAssignTrainerComponent implements OnInit {\n\n requestId;\n\n trainers = [];\n trainerSelected;\n\n candidates = [];\n candidatesSelected = [];\n\n constructor(private userService: UsersService,\n private candidateService: CandidatesService,\n private notification: AlertsService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialog: MatDialogRef) {\n this.requestId = data.requestId;\n }\n\n ngOnInit(): void {\n this.getTrainers();\n }\n\n getTrainers() {\n this.userService.getUserByRole('lider-formador').subscribe((resp: any) => {\n this.trainers = resp;\n });\n }\n\n getCandidates() {\n this.candidateService.candidateByState(this.requestId, {state: 'pruebas_aprobadas'}).subscribe( (resp: any) => {\n this.candidates = resp;\n });\n }\n\n selectTrainer(trainerId) {\n this.trainerSelected = trainerId;\n this.getCandidates();\n }\n\n pushArray(event) {\n this.candidatesSelected = event.selectedOptions.selected.map(item => item.value);\n }\n\n assign(trainerId) {\n this.notification.alertConfirm('¿Está seguro que desea asignar el/los candidatos al formador seleccionado?').then(e => {\n if (e.isConfirmed){\n const params = {\n userAssignedId: this.trainerSelected,\n userApplicantId: this.data.userApplicantId\n };\n this.candidateService.assignCandidateToLeaderTrainer(this.trainerSelected,\n {candidateIds: this.candidatesSelected.toString(), stateToAssign: 'seleccion', requestId: this.requestId})\n .subscribe( resp => {\n this.notification.alertSuccess('¡Hecho!', 'Candidatos Asignados con éxito');\n this.dialog.close(true);\n });\n }\n });\n }\n\n}\n","\n
\n

Asignar Lider de Formación

\n
\n\n\n
\n \n Formador\n \n \n {{row.name}}\n \n \n \n
\n\n
\n

No hay candidatos diponibles para esta acción

\n

0\">Seleccione los candidatos a cargar a este formador

\n \n \n {{candidate.name}}\n \n \n
\n\n
\n\n \n \n\n","import { Component, HostListener, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { startWith, map } from 'rxjs/operators';\nimport { CampaignService } from '../../../../services/campaign.service';\nimport { Observable } from 'rxjs';\nimport Swal from 'sweetalert2';\nimport { AdminServersService } from 'src/app/modules/speech-analytics/services/admin-servers.service';\nimport { ViewService } from 'src/app/modules/speech-analytics/services/view.service';\nimport { ModelIAService } from 'src/app/modules/speech-analytics/services/model_ia.service';\n\n@Component({\n selector: 'app-edit-campaign',\n templateUrl: './edit-campaign.component.html',\n styleUrls: ['./edit-campaign.component.sass']\n})\nexport class EditCampaignComponent implements OnInit {\n\n EditCampaignForm: FormGroup;\n filteredOptionsCampaign: Observable;\n campaigns: any;\n dataSource: any;\n dataConnection: any;\n connections: any;\n fecha_llamada: any;\n modelsIA: any;\n modelsTranscriptionIAList: any;\n languageIAList: any;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n private form: FormBuilder,\n private adminServersService: AdminServersService,\n private modelsIAService: ModelIAService,\n private campaignService: CampaignService,\n private viewservice: ViewService,\n ) { }\n\n ngOnInit(): void {\n this.formControl();\n this.viewServer(this.data);\n this.getConnections();\n this.getModelsIA();\n this.subscribeToCampaignSelection();\n }\n\n /**\n * Método donde se establecen las validaciones del formulario y adviarte antes de refrescar\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @method unloadNotification\n * @param {Event} $event - El evento `beforeunload` del navegador.\n * @returns {void}\n */\n\n @HostListener('window:beforeunload', ['$event'])\n unloadNotification($event: any) {\n if (this.EditCampaignForm.dirty) {\n $event.returnValue = true;\n }\n }\n\n /**\n * Metodo donde se establecen las validaciones del formulario\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n */\n\n formControl(): void {\n this.EditCampaignForm = this.form.group({\n id: new FormControl(''),\n campaign_name: new FormControl('', Validators.required),\n campaign: new FormControl('', [Validators.required, this.campaignValidator.bind(this)]),\n dead_time: new FormControl('', [Validators.required, Validators.pattern('^[0-9]+$')]),\n campaign_conexion: new FormControl('', Validators.required),\n model_ia_transcription: new FormControl('', Validators.required),\n model_ia_analysis_feelings: new FormControl('', Validators.required),\n language: new FormControl('', Validators.required),\n delimit_date: new FormControl('')\n });\n }\n\n /**\n * Metodo validar rango de fecha para desabilotar input fecha 2 meses\n * @author Yeison sepulveda\n * @createdate 14/03/2024\n * @returns void {void}\n */\n dateFilter = (date: Date | null): boolean => {\n if (!date) {\n return false;\n }\n const today = new Date();\n return date <= today;\n }\n\n /**\n * Metodo qeu consulta la informacion para cargarla en el formulario\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n viewServer(server: any): void {\n this.campaignService.showCampaign(server.id).subscribe(res => {\n this.dataSource = res.data;\n\n const campaignConexion = res.data.connection_id;\n this.getCampaign(campaignConexion);\n\n this.EditCampaignForm.patchValue({\n id: res.data.id,\n campaign_name: res.data.name,\n campaign: res.data.campaign_id,\n dead_time: res.data.dead_time,\n model_ia_transcription: res.data.model_ia_transcription,\n model_ia_analysis_feelings: res.data.model_ia_analysis_feelings,\n language: res.data.language,\n campaign_conexion: res.data.connection_id,\n delimit_date: res.data.delimit_date ? this.addOneDay(new Date(res.data.delimit_date)) : null\n });\n });\n }\n\n /**\n * Cargar la fecha correcta delimitada\n * @author Yeison Sepulveda\n * @createdate 2024-09-26\n */\n addOneDay(date: Date): Date {\n const newDate = new Date(date);\n newDate.setDate(newDate.getDate() + 1);\n return newDate;\n }\n\n /**\n * Metodo para traer todas las campañas\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n */\n\n getCampaign(id_server: number): void {\n this.viewservice.getCampaigns(id_server).subscribe((resp) => {\n this.campaigns = resp.data;\n\n const defaultCampaignId = this.EditCampaignForm.get('campaign')?.value;\n const defaultCampaign = this.campaigns.find(campaign => campaign.campaign_id === defaultCampaignId);\n\n if (defaultCampaign) {\n this.EditCampaignForm.get('campaign')!.setValue(defaultCampaign.campaign_id);\n this.fecha_llamada = defaultCampaign.fecha_llamada;\n }\n\n this.filteredOptionsCampaign = this.EditCampaignForm.get('campaign')!.valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : this.displayFnCampaign(value)),\n map(name => name ? this._filterCampaign(name) : this.campaigns.slice())\n );\n });\n }\n\n /**\n * Metodo para obtener la data de lso selctores segun el tipo de llamada\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n */\n\n CampaignChange():void{\n if(this.EditCampaignForm.get(\"campaign_conexion\").value !== null && this.EditCampaignForm.get(\"campaign_conexion\").value !== \"\" ){\n const connection_id = this.EditCampaignForm.get(\"campaign_conexion\").value;\n this.getCampaign(connection_id);\n }\n }\n\n /**\n * Metodo para obtener fecha llamada segun la selccion de la campaña\n * @author Yeison Sepulveda\n * @createdate 2024-08-30\n */\n subscribeToCampaignSelection(): void {\n this.EditCampaignForm.get('campaign')!.valueChanges.subscribe(campaignId => {\n const selectedCampaign = this.campaigns.find(c => c.campaign_id === campaignId);\n if (selectedCampaign) {\n this.fecha_llamada = selectedCampaign.fecha_llamada;\n }\n });\n }\n\n /**\n * Metodo obtener el listado de las conexiones activas para selector\n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n */\n getConnections(): void {\n this.adminServersService.filterServe().subscribe(\n result => {\n this.connections = result.data;\n },\n error => {\n console.error('Error al obtener las conexiones', error.message);\n Swal.fire({\n icon: 'error',\n title: 'Error al obtener las conexiones',\n text: error.message,\n timer: 2000,\n }).then((result) => {\n if (result.dismiss === Swal.DismissReason.timer) {\n this.dialogRef.close();\n }\n });\n }\n );\n }\n\n /**\n * Metodo obtener el listado de los modelos de intreligencia artificial activos\n * @author Yeison Sepulveda\n * @createdate 2024-10-21\n */\n getModelsIA(): void {\n this.modelsIAService.listModels().subscribe(\n result => {\n this.modelsIA = result.data;\n },\n error => {\n Swal.fire({\n icon: 'error',\n title: 'Error',\n text: error.message,\n timer: 2000,\n }).then((result) => {\n if (result.dismiss === Swal.DismissReason.timer) {\n this.dialogRef.close();\n }\n });\n }\n );\n\n this.modelsIAService.modelsTranscriptionList().subscribe(\n result => {\n this.modelsTranscriptionIAList = result.data;\n },\n error => {\n Swal.fire({\n icon: 'error',\n title: 'Opps.. Ha ocurido un error',\n text: error.message,\n timer: 2000,\n }).then((result) => {\n if (result.dismiss === Swal.DismissReason.timer) {\n this.dialogRef.close();\n }\n });\n }\n );\n\n this.modelsIAService.lenguageList().subscribe(\n result => {\n this.languageIAList = result.data;\n },\n error => {\n Swal.fire({\n icon: 'error',\n title: 'Opps.. Ha ocurido un error',\n text: error.message,\n timer: 2000,\n }).then((result) => {\n if (result.dismiss === Swal.DismissReason.timer) {\n this.dialogRef.close();\n }\n });\n }\n );\n }\n\n /**\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n * @author Daniel Martinez\n * @createdate 2021-02-04\n */\n displayFnCampaign(campaign_id: number): string {\n if (!campaign_id || !this.campaigns) {\n return '';\n }\n const campaign = this.campaigns.find(c => c.campaign_id === campaign_id);\n return campaign ? campaign.campaign_name : '';\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre de rol, se usa para el autocompletable\n * @param value valor a filtrar\n */\n\n private _filterCampaign(name: string): any[] {\n const filterValue = name.toLowerCase();\n return this.campaigns.filter(option => option.campaign_name.toLowerCase().includes(filterValue));\n }\n\n /**\n * Metodo que guarda o actualiza un servidor.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n sendDataCampaign() {\n if (this.EditCampaignForm.valid) {\n Swal.fire({\n title: '¿Está seguro?',\n icon: 'warning',\n text: '¿De continuar con la gestión?',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n const dataToSend = {\n id: this.EditCampaignForm.value.id,\n name: this.EditCampaignForm.value.campaign_name,\n campaign_id: this.EditCampaignForm.value.campaign,\n dead_time: this.EditCampaignForm.value.dead_time,\n language: this.EditCampaignForm.value.language,\n model_ia_transcription: this.EditCampaignForm.value.model_ia_transcription,\n model_ia_analysis_feelings: this.EditCampaignForm.value.model_ia_analysis_feelings,\n connection_id: this.EditCampaignForm.value.campaign_conexion,\n delimit_date: this.EditCampaignForm.value.delimit_date\n };\n this.campaignService.UpdateCampaign(dataToSend).subscribe(\n res => {\n Swal.fire({\n title: '¡Excelente!',\n icon: 'success',\n text: 'Se ha registrado una nueva campaña',\n confirmButtonText: 'Continuar',\n confirmButtonColor: '#2CABBC'\n }).then((result) => {\n if (result.isConfirmed) {\n this.dialogRef.close();\n }\n });\n },\n error => {\n console.error('Error al editar la campaña', error.message);\n }\n );\n }\n });\n } else {\n this.EditCampaignForm.markAllAsTouched();\n }\n }\n\n /**\n * Metodo que reinicia los valores del modal.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n cancelSave(): void {\n Swal.fire({\n title: '¿Estás seguro?',\n icon: 'warning',\n text: 'Si cancelas el proceso, perderás toda la información no guardada.',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.EditCampaignForm.reset();\n this.dialogRef.close();\n }\n });\n }\n\n /**\n * Validador personalizado para el campo 'campaign'.\n * @author Yeison Sepulveda\n * @createdate 2024-07-19\n * @param formGroup El grupo de formularios que contiene el campo 'campaign'.\n * @returns objeto con el error 'invalidCampaign' si el valor es inválido, o null si es válido.\n */\n campaignValidator(control: FormControl): { [key: string]: boolean } | null {\n if (!this.campaigns) {\n return null;\n }\n const isValid = this.campaigns.some(c => c.campaign_id === control.value);\n return isValid ? null : { invalidCampaign: true };\n }\n\n}\n","\n\n
\n
\n
Editar campaña
\n \n\n
\n \n Nombre de la campaña\n \n Nombre de la campaña es requerido\n \n
\n\n
\n \n Conexión\n \n {{ item.name }}\n \n Seleccione una conexión\n \n
\n\n
\n \n Campaña\n \n \n \n {{ option.campaign_name }}\n \n \n Seleccione una campaña\n El nombre de la campaña ingresado no es válido.\n \n \n Fecha del último registro de grabaciones: {{ fecha_llamada || 'No disponible' }}\n \n \n
\n\n
\n \n Modelo para la transcripción\n \n {{ item.name }}\n \n \n Seleccione el modelo de la Inteligencia Artificial a utilizar.\n \n \n
\n\n
\n \n Modelo para análisis de sentimientos\n \n {{ item.name }}\n \n \n Seleccione el modelo de sentientos de la Inteligencia Artificial a utilizar.\n \n \n
\n\n
\n \n Idioma modelo de la IA\n \n {{ item.name_language }} - {{ item.description }}\n \n \n Seleccione un idioma o lenguage de la campaña.\n \n \n
\n\n
\n \n Tiempo muerto (segundos)\n \n Seleccione una opción\n \n
\n\n
\n \n Fecha\n \n \n \n \n
\n
\n\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n\n\n\n","import {\n HttpClient,\n HttpErrorResponse,\n HttpParams,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\n\nconst { VICIDIAL_URL } = environment;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VicidialService {\n constructor(private http: HttpClient) { }\n\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Juan Carlos Alonso\n * @purpose Obtiene el listado de las grabaciones de soulphone.\n * @createdate 25-11-2024\n */\n getSoulphoneRecords(\n page: number,\n per_page: number,\n start_date: string = '',\n end_date: string = '',\n campaing: number = null,\n operation: number = null,\n agente_id: string = null,\n cliente_nombre: string = null,\n cliente_id: string = null,\n id_call: string = null,\n call_end: string = null,\n call_transfer: string = null,\n transferred_area: string = null\n ): Observable {\n\n let params = new HttpParams()\n .set('page', page.toString())\n .set('perPage', per_page.toString())\n\n if (start_date) params = params.set('start', start_date)\n if (end_date) params = params.set('end', end_date)\n if (campaing) params = params.append('campaigns', campaing.toString());\n if (operation) params = params.append('operations', operation.toString());\n if (agente_id) params = params.append('agente_id', agente_id);\n if (cliente_id) params = params.append('cliente_id', cliente_id);\n if (cliente_nombre) params = params.append('cliente_nombre', cliente_nombre);\n if (id_call) params = params.append('id_call', id_call);\n if (call_end) params = params.append('call_end', call_end);\n if (call_transfer) params = params.append('call_transfer', call_transfer);\n if (transferred_area) params = params.append('transferred_area', transferred_area);\n\n return this.http.get(`${VICIDIAL_URL}listRecord/all?`, { params })\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { CoachingAppComponent } from './coaching-app.component';\nimport { CoachingComponent } from './modules/coaching/coaching.component';\nimport { DetalleCoachingComponent } from './modules/coaching/components/detalle-coaching/detalle-coaching.component';\nimport { ReporteComponent } from './modules/reporte/reporte.component';\nimport { JefeInmediatoComponent } from \"./modules/jefe-inmediato/jefe-inmediato.component\";\n\nconst routes: Routes = [\n {path:'',component:CoachingAppComponent},\n {path:'coaching/:tab',component:CoachingComponent},\n {path:'coaching/:tab/:filter',component:CoachingComponent},\n {path:'reporte',component:ReporteComponent},\n {path:':type/:id',component:DetalleCoachingComponent},\n {path:'jefe-inmediato',component:JefeInmediatoComponent},\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class CoachingRoutingModule { }\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'cutText'\n})\nexport class CutTextPipe implements PipeTransform {\n\n transform(value: string,start:number,end:number): string {\n value = value.slice(start,end);\n if (value.length >= end) {\n value = value + '...';\n }\n return value;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\n\nimport { PermitBossRoutingModule } from './permit-boss-routing.module';\nimport { PermitResponseBossComponent } from './components/permit-response-boss/permit-response-boss.component';\nimport { PermitViewBossComponent } from './components/permit-view-boss/permit-view-boss.component';\nimport { PermitListBossComponent } from './components/permit-list-boss/permit-list-boss.component';\n\n\n@NgModule({\n declarations: [PermitResponseBossComponent, PermitViewBossComponent, PermitListBossComponent],\n imports: [\n CommonModule,\n MaterialModule,\n PermitBossRoutingModule\n ]\n})\nexport class PermitBossModule { }\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'rrhh-request-info',\n templateUrl: './request-info.component.html',\n styleUrls: ['./request-info.component.sass']\n})\nexport class RequestInfoComponent implements OnInit {\n@Input() request\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
\n

Información General

\n \n
\n
\n Estado\n

{{request.state}}

\n
\n
\n Tipo de solicitud\n

{{request?.requestType}}

\n
\n\n
\n Proceso actual\n

{{request?.currentTracing}}

\n
\n
\n Responsable actual\n

{{request?.currentTracingUser}}

\n
\n
\n Inicio de Operación\n

{{request.request_data.iniciooperacion | date:'dd/MM/yyyy'}}

\n
\n
\n Cargo\n

{{request?.request_data.cargo}}

\n
\n\n
\n
\n
\n
\n Motivo\n

Incremento

\n

Reemplezo

\n
\n
\n A quién reemplaza\n Correo de aprobación\n

{{request?.request_data['correo-de-aprobacion2']}}

\n

{{request?.request_data['a-quien-reemplaza1']}}

\n
\n
\n Jornada de Trabajo\n

{{request.request_data.jornadaTrabajo.name}}

\n
\n\n
\n Modalidad de labor\n

{{request.request_data.modalidadLabor.name }}

\n
\n
\n Salario\n

{{request.request_data.asignacionSalarial | currency:'COP':'symbol':'3.0' }}

\n
\n
\n Porcentaje comisión\n

{{request.request_data.porcentajeComision }}%

\n
\n
\n Campaña\n

{{request.request_data.campana.name}}

\n
\n
\n Lugar de Trabajo\n

{{request.request_data.sites.name }}

\n
\n
\n Tipo de contrato\n

{{request.request_data.tipoContrato.name }}

\n
\n
\n Disponibilidad\n

{{request.request_data.disponibilidad.name}}

\n
\n
\n Funciones\n

{{request.request_data.funciones}}

\n
\n
\n Horarios Trabajo\n

{{request.request_data.horariosTrabajo}}

\n
\n
\n Jornada de Trabajo Inicio\n

{{request?.request_data.horarioTrabajoInicio}}

\n
\n
\n Jornada de Trabajo Fin\n

{{request?.request_data.horarioTrabajoFin}}

\n
\n
\n Ciudad\n

{{request.request_data.cities.name}}

\n
\n\n
\n Empresa\n

{{request.request_data.companies.name}}

\n
\n
\n
\n
\n
\n Solicitante\n

{{request.applicant}}

\n
\n
\n Área Solicitante\n

{{ request.request_data.cargoSolicitante.name }}

\n
\n
\n Área Solicitante\n

{{request.request_data.areaSolicitante}}

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

Capacitación

\n \n
\n Inicio Capacitación\n

{{request.request_data.inicioCapacitacion | date:'dd/MM/yyyy'}}

\n
\n
\n Modalidad Formación\n

{{request.request_data.modalidadFormacion.name }}

\n
\n
\n Duración Capacitación\n

{{request.request_data.duracionCapacitacion.name}} días

\n
\n
\n Grupo Formación\n

{{request.request_data.grupoFormacion}}

\n
\n
\n Remuneración Capacitación\n

{{request.request_data.remuneracionCapacitacion.name }}

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

Seguimiento de la Solicitud

\n \n
\n Candidatos requeridos\n

{{request.request_data.personalRequerido}}

\n
\n
\n Candidatos agregados\n

{{request.totalCandidates}}

\n
\n
\n Candidatos solicitados\n

{{request.request_data.personalSolicitado}}

\n
\n
\n Candidatos contactados\n

{{request.candidatesContacted}}

\n
\n
\n Responsable del Seguimiento\n

{{request.userResponsable}}

\n
\n
\n
\n
\n\n
\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { startWith, map, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { AlertsService } from '../../../../shared/alerts/alerts.service';\nimport { MeetingsService } from '../../services/meetings.service';\n\n@Component({\n selector: 'app-users-group',\n templateUrl: './users-group.component.html',\n styleUrls: ['./users-group.component.sass']\n})\nexport class UsersGroupComponent implements OnInit, OnDestroy {\n\n private destroy$ = new Subject();\n\n userSearchControl = new FormControl();\n userSelected: any[] = [];\n userToGroupMeeting: any[] = [];\n filteredUsers: any[] = [];\n\n baseFirstList: any[] = [];\n baseSecondList: any[] = [];\n firstList: any[] = [];\n secondList: any[] = [];\n showExchangeLists: boolean = false;\n filteredFirstList: any[] = [];\n filteredSecondList: any[] = [];\n\n constructor(\n private alertService: AlertsService,\n private videollamadaService: MeetingsService\n ) { }\n\n ngOnInit(): void {\n this.getUsersToRolSpeech();\n\n //maneja los cambios en el valor del campo de búsqueda de usuarios.\n this.userSearchControl.valueChanges\n .pipe(\n startWith(''),\n map(value => this.filterUsers(value)),\n takeUntil(this.destroy$)\n )\n .subscribe(filteredUsers => {\n this.filteredUsers = filteredUsers;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n /**\n * Metodo que filtra las listas a traves de una cadena de texto.\n * @author Yeison Seoulveda\n * @createdate 2024-06-12\n * @param filterValue Valor de filtro para buscar en los nombres de usuario.\n * @returns Arreglo de usuarios filtrados que coinciden con el filtro.\n */\n\n filterUsers(filterValue: string): any[] {\n const lowerCaseFilter = filterValue.toLowerCase();\n return this.userToGroupMeeting.filter(user =>\n user.candidate_name.toLowerCase().includes(lowerCaseFilter)\n );\n }\n\n /**\n * Función que devuelve el nombre del usuario para mostrar en la interfaz.\n * @author Yeison Seoulveda\n * @createdate 2024-06-12\n * @param user Objeto usuario del cual se desea mostrar el nombre.\n * @returns Nombre del usuario o cadena vacía si el usuario no está definido.\n */\n displayFn(user: any): string {\n return user ? user.candidate_name : '';\n }\n\n /**\n * Maneja el evento de clic en una opción de usuario.\n * @author Yeison Seoulveda\n * @createdate 2024-06-12\n * @param event Evento de clic generado por el usuario.\n * @param user Usuario seleccionado en la lista.\n */\n optionClicked(event: Event, user: any) {\n event.stopPropagation();\n this.toggleSelection(user);\n }\n\n /**\n * Agrega el usuario a la lista de seleccionados si está marcado,\n * @author Yeison Seoulveda\n * @createdate 2024-06-12\n * @param user Usuario que se desea marcar o desmarcar.\n */\n toggleSelection(user: any) {\n user.selected = !user.selected;\n if (user.selected) {\n this.userSelected.push(user);\n } else {\n const index = this.userSelected.findIndex(u => u.rrhh_id === user.rrhh_id);\n if (index >= 0) {\n this.userSelected.splice(index, 1);\n }\n }\n }\n\n /**\n * Metodo que filtra las listas a traves de una cadena de texto.\n * @author Yeison Sepulveda\n * @createdate 2024-11-07\n * @param $event Evento emitido por el componente hijo. \n */\n\n runFilterList($event: any): void { \n if ($event.name === 'FIRST') {\n if ($event.value !== '') this.firstList = this.baseFirstList.filter(item => item.name.toLowerCase().includes($event.value.toLowerCase()));\n else this.firstList = this.baseFirstList;\n } else {\n if ($event.value !== '') this.secondList = this.baseSecondList.filter(item => item.name.toLowerCase().includes($event.value.toLowerCase()));\n else this.secondList = this.baseSecondList;\n }\n }\n\n /**\n * Metodo que trae las configuraciones de las listas del componente hijo.\n * @author Yeison Sepulveda\n * @createdate 2024-11-07\n * @param $event Evento emitido por el componente hijo. \n */\n\n saveConfig($event: any): void {\n const dataAssignTrays = {\n id_rrhh: this.userSelected.map(u => u.rrhh_id),\n data: $event.secondList.map((item: any) => item.id),\n };\n this.alertService.alertWarning('¿Está seguro?', '¿De asociar los grupos al usuario seleccionado?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.videollamadaService.saveGroupsUser(dataAssignTrays.id_rrhh, dataAssignTrays.data).subscribe(res => {\n this.alertService.alertSuccess('¡Excelente!', res.message);\n this.cancelProcess();\n });\n }\n });\n }\n\n /**\n * Metodo que emite la cancelacion del proceso. \n * @author Yeison Sepulveda\n * @createdate 2024-11-07\n * @update Yeison Sepulveda\n * @updatedate 2024-09-10\n */\n cancelProcess(): void {\n this.userToGroupMeeting.forEach(user => {\n user.selected = false;\n });\n\n this.userSelected = [];\n this.showExchangeLists = false;\n }\n\n /**\n * Metodo que setea los items entre las listas. \n * @createdate 2024-11-07\n * @author Yeison Sepulveda\n * @param $event Evento emitido por el componente hijo. \n */\n updateList($event: any): void {\n if ($event.name === 'FIRST') {\n $event.list.forEach((itemList: any) => {\n this.secondList.push(itemList); \n this.firstList = this.firstList.filter(item => item.id !== itemList.id); \n \n this.baseFirstList = this.baseFirstList.filter(item => item.id !== itemList.id);\n if (!this.baseSecondList.some(item => item.id === itemList.id)) {\n this.baseSecondList.push(itemList);\n }\n \n this.filteredFirstList = this.filteredFirstList.filter(item => item.id !== itemList.id);\n this.filteredSecondList = [...this.secondList];\n });\n } else {\n $event.list.forEach((itemList: any) => {\n this.firstList.push(itemList);\n this.secondList = this.secondList.filter(item => item.id !== itemList.id); \n \n this.baseSecondList = this.baseSecondList.filter(item => item.id !== itemList.id);\n if (!this.baseFirstList.some(item => item.id === itemList.id)) {\n this.baseFirstList.push(itemList);\n }\n \n this.filteredFirstList = [...this.firstList];\n this.filteredSecondList = this.filteredSecondList.filter(item => item.id !== itemList.id);\n });\n }\n }\n\n /**\n * Trae la informacion de los usuarios selccionados\n * @author Yeison Sepulveda \n * @createdate 2024-05-22\n */\n getInfoUserSelection(): void {\n this.showExchangeLists = true;\n this.videollamadaService.getAssociateGroups(this.userSelected.map(u => u.rrhh_id)).subscribe(resByUser => {\n this.baseSecondList = resByUser;\n this.secondList = this.baseSecondList;\n this.videollamadaService.getAvailableGroups(this.userSelected.map(u => u.rrhh_id)).subscribe(resAllCampaigns => {\n this.baseFirstList = resAllCampaigns;\n this.baseSecondList.forEach(itemSecondList => {\n this.baseFirstList = this.baseFirstList.filter(itemFirstList => itemSecondList.id !== itemFirstList.id);\n });\n this.firstList = this.baseFirstList;\n });\n });\n }\n\n /**\n * Metodo que lista los usuarios que tienen el rol de meetings.\n * @author Yeison Sepulveda\n * @createdate 2024-11-07\n */\n getUsersToRolSpeech(): void {\n this.videollamadaService.getAdvisersList().subscribe(res => {\n this.userToGroupMeeting = res;\n this.filteredUsers = this.userToGroupMeeting;\n });\n }\n \n\n}\n","
\n
\n
\n Gestión de Grupos\n
\n
\n

\n En este espacio, puedes asignar o remover grupos para los asesores de videollamadas,
\n facilitando una organización efectiva y personalizada. No olvides: “El respeto
y la empatía son clave”.\n

\n
\n
\n
\n
\n
\n
\n \n Buscar usuarios\n \n \n \n
\n \n {{ user.candidate_name }}\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n \n \n \n
\n
\n
\n\n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { TooltipModule } from 'ng2-tooltip-directive';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { SableRoutingModule } from './sable-routing.module';\nimport { SableComponent } from './sable.component';\nimport { GestorComponent } from './modules/gestor_descarga/gestor.component';\nimport { CrearComponent } from './modules/crear_descarga/crear.component';\nimport { CreateLabelDialogComponent } from './modules/create-label-dialog/create-label-dialog.component';\nimport { AdminServersComponent } from './modules/admin-servers/admin-servers.component';\nimport { ComandosPageComponent } from './modules/comandos-page/comandos-page.component';\nimport { ComandosCreateComponent } from './modules/comandos-create/comandos-create.component';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { RecordsComponent } from './modules/records/records.component';\nimport { RecordDialogComponent } from './modules/records/dialogs/record-dialog/record-dialog.component';\nimport { VideoRecordsComponent } from './modules/records/video-records/video-records.component';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { DialogStatePackagesComponent } from './modules/dialog-state-packages/dialog-state-packages.component';\nimport { UsersAssignCampaingComponent } from './modules/users-assign-campaing/users-assign-campaing.component';\n\n@NgModule({\n declarations: [\n SableComponent,\n GestorComponent,\n CrearComponent,\n CreateLabelDialogComponent,\n AdminServersComponent,\n ComandosPageComponent,\n ComandosCreateComponent,\n RecordsComponent,\n RecordDialogComponent,\n VideoRecordsComponent,\n DialogStatePackagesComponent,\n UsersAssignCampaingComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n SableRoutingModule,\n TooltipModule,\n MaterialModule,\n SharedModule,\n MatDatepickerModule,\n MatFormFieldModule,\n ],\n})\nexport class SableModule {}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport {NotesService} from '../../../services/rest/notes.service';\n\n@Component({\n selector: 'app-notas',\n templateUrl: './notas.component.html',\n styleUrls: ['./notas.component.sass']\n})\nexport class NotasComponent implements OnInit {\n\n notasForm: FormGroup;\n oportunity: any;\n step: any;\n userName: string;\n userId: number;\n\n constructor(private alertsService: AlertsService,\n private form: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef:MatDialogRef,\n private notesService: NotesService,\n private authService: AuthService\n ) { }\n\n ngOnInit(): void {\n this.formControl();\n this.userName = this.authService.getUser().rrhh.name;\n this.userId = this.authService.getUser().rrhh_id;\n this.oportunity = this.data.oportunidad;\n this.step = this.data.step;\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para la definición de los controles del formulario\n */\n formControl(): void {\n this.notasForm = new FormGroup({\n anotacion: new FormControl('', [Validators.required]),\n });\n }\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para la creación de notas\n */\n store(notasForm) {\n const body = {\n note: notasForm.value.anotacion,\n oportunity_id: this.oportunity,\n step: this.step,\n responsible_id: this.userId,\n };\n\n this.notesService.store(body).subscribe((resp) => {\n this.alertsService.alertSuccessWithoutButton('Excelente', 'Nota Registrada');\n this.dialogRef.close();\n });\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-11-03\n * Metodo para la cancelación de la creación de la nota\n */\n opcionCancelar(){\n this.alertsService.alertWarning('¿Estás seguro?','¿Estás seguro de que deseas cancelar este proceso? Recuerda que la información se borrará automáticamente si realizas esta acción.').then((result)=>{\n if(result.isConfirmed){\n this.dialogRef.close();\n }\n });\n }\n}\n","\n
\n

\n Crear Nota\n

\n \n
\n\n
\n \n Escribe aqui tu nota\n \n \n
\n\n \n \n\n \n \n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { InteligenciaService } from 'src/app/modules/auditoria/services/inteligencia.service';\n\n@Component({\n selector: 'app-matrices-asignadas',\n templateUrl: './matrices-asignadas.component.html',\n styleUrls: ['./matrices-asignadas.component.sass']\n})\nexport class MatricesAsignadasComponent implements OnInit {\n\n matrices = [];\n constructor(\n private inteligenciaS:InteligenciaService,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n ) { }\n\n ngOnInit(): void {\n this.getMatrix();\n }\n\n getMatrix(){\n this.inteligenciaS.getMatrix(this.datos.id).subscribe((resp:any)=>{\n this.matrices = resp;\n });\n }\n\n}\n","\n
\n

Matrices asignadas

\n \n \n {{matriz.nombre | slice:0:20}}\n \n
","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport * as moment from 'moment';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { VideollamadaService } from 'src/app/shared/videollamada/services/videollamada.service';\nimport Swal from 'sweetalert2';\nimport { ChatMeetingsService } from '../../services/chat.service';\n\n@Component({\n selector: 'app-meeting-request',\n templateUrl: './meeting-request.component.html',\n styleUrls: ['./meeting-request.component.sass']\n})\nexport class MeetingRequestComponent implements OnInit {\n\n\n callRequest!: FormGroup;\n actualDate: any;\n options: any[] = [{ id: 1, name: 'Inmediata' }, { id: 2, name: 'Programada' }];\n groups: any[] = [];\n skills: any[] = [];\n currentDateTime: any;\n Hours: any[] = [];\n checkHour: boolean = true;\n currentHour = new Date();\n disableButton: boolean = false;\n currentYear = moment().tz('America/Bogota').format('YYYY');\n phone: boolean = false;\n advisorSchedules: any[] = [];\n agents: any[] = [];\n selectedAgentSchedules: string[] = [];\n selectedDate: Date | null = null;\n filteredSchedules: string[] = [];\n today: string = new Date().toISOString().split('T')[0];\n minDate: Date;\n maxDate: Date;\n isGroupSelected: boolean = false;\n isAdiviserSelected: boolean = false;\n rrhh_id: string = '';\n campaign_id: any;\n config_id: any;\n\n\n constructor(\n private service: VideollamadaService,\n private serviceMeetigns: ChatMeetingsService,\n public dialog: MatDialog,\n private spinner: NgxSpinnerService,\n private router: Router,\n private authService: AuthService\n ) {\n this.startForm();\n }\n\n ngOnInit() {\n\n const user = this.authService.getUser();\n this.rrhh_id = user.rrhh_id;\n\n this.service.getConfigUser(this.rrhh_id).subscribe(resp => {\n this.config_id = resp.id;\n this.campaign_id = resp.campaign_id;\n this.getSchedule(this.campaign_id );\n }, error => {\n console.log(error);\n Swal.fire(\n 'Error',\n 'Hubo un problema al enviar la información. Intente nuevamente.',\n 'error'\n );\n });\n\n }\n\n /**\n\t * Obtener los horarios de atancion\n\t * @author Yeison Sepulveda\n\t * @createdate 2024-11-07\n\t */\n getSchedule(campaign_id: any ) {\n this.minDate = this.getStartOfWeek();\n this.maxDate = this.getEndOfWeek();\n\n var curdate = new Date();\n curdate.setMinutes(10);\n let format = moment(curdate).tz('America/Bogota').format('YYYY-MM-DDTHH:mm');\n this.actualDate = format;\n\n this.service.getScheduleByCampaign(campaign_id).subscribe(res => {\n this.Hours = res.Hours ? res.Hours : [];\n if (res.Hours.length == 0 || res.Hours == []) {\n this.callRequest.disable();\n } else {\n this.currentHour.setMinutes(this.currentHour.getMinutes() + 5);\n const actualHour = moment(this.currentHour).tz('America/Bogota').format('HH:mm');\n this.Hours = this.Hours.filter(element => moment(element).format('HH:mm') > actualHour);\n this.getGroups();\n }\n\n }, error => {\n this.callRequest.disable();\n });\n\n this.callRequest.controls['typeCall'].valueChanges.subscribe(resp => {\n if (resp == 1) {\n this.callRequest.controls['calendar'].clearValidators();\n this.callRequest.controls['calendar'].updateValueAndValidity();\n\n this.callRequest.controls['agent'].clearValidators();\n this.callRequest.controls['agent'].updateValueAndValidity();\n\n this.callRequest.controls['calendarr'].clearValidators();\n this.callRequest.controls['calendarr'].updateValueAndValidity();\n\n this.callRequest.controls['time'].clearValidators();\n this.callRequest.controls['time'].updateValueAndValidity();\n\n var date = new Date();\n date.setMinutes(date.getMinutes() + 5);\n this.currentDateTime = moment(date).tz('America/Bogota').format('YYYY-MM-DDTHH:mm');\n this.checkHour = false;\n } else {\n //this.callRequest.controls['calendar'].setValidators([Validators.required]);\n //this.callRequest.controls['calendar'].updateValueAndValidity();\n\n this.callRequest.controls['agent'].setValidators([Validators.required]);\n this.callRequest.controls['agent'].updateValueAndValidity();\n\n this.callRequest.controls['calendarr'].setValidators([Validators.required]);\n this.callRequest.controls['calendarr'].updateValueAndValidity();\n\n this.callRequest.controls['time'].setValidators([Validators.required]);\n this.callRequest.controls['time'].updateValueAndValidity();\n\n }\n });\n\n\n this.callRequest.controls['time'].valueChanges.subscribe(resp => {\n const date = new Date();\n const selectedDate = moment(resp);\n const actualDate = moment(date).tz('America/Bogota');\n\n if (selectedDate.isAfter(actualDate)) {\n this.checkHour = false;\n } else {\n this.checkHour = true;\n }\n });\n\n this.callRequest.controls['phone'].valueChanges.subscribe(res => {\n res.length < 10 ? this.phone = true : this.phone = false;\n });\n }\n\n startForm() {\n this.callRequest = new FormGroup({\n name: new FormControl('', [Validators.required]),\n email: new FormControl('', [Validators.required, Validators.pattern(\"^[a-z0-9._%+-]+@[a-z0-9.-]+\\\\.[a-z]{2,6}$\")]),\n phone: new FormControl('', [Validators.required, Validators.pattern('^[0-9]*$'), Validators.minLength(10), Validators.maxLength(10)]),\n NIT: new FormControl('', [Validators.required, Validators.maxLength(15)]),\n observations: new FormControl('', []),\n typeCall: new FormControl('', [Validators.required]),\n calendar: new FormControl('', []),\n filename: new FormControl('', []),\n file: new FormControl('', []),\n group: new FormControl('', [Validators.required]),\n skill: new FormControl('', [Validators.required]),\n agent: new FormControl('', []),\n time: new FormControl('', []),\n calendarr: new FormControl('', []),\n company_name: new FormControl('', [Validators.required]),\n document: new FormControl('', [Validators.required, Validators.maxLength(15)]),\n distric_code: new FormControl('', [Validators.required, Validators.pattern('^[0-9]*$')]),\n\n });\n }\n\n send() {\n\n const time = this.callRequest.controls['time'].value;\n const programTime = moment(time).tz('America/Bogota').format('YYYY-MM-DDTHH:mm');\n\n const dateRoom = this.callRequest.controls['typeCall'].value == 2 ? programTime : this.currentDateTime;\n const roomName = this.callRequest.controls['NIT'].value + '-' + moment(dateRoom).format('YYYY-MM-DD');\n const emailU = this.callRequest.controls['email'].value\n const phoneU = this.callRequest.controls['phone'].value\n\n const body: FormData = new FormData()\n body.append('client_name', this.callRequest.controls['name'].value);\n body.append('client_email', emailU);\n body.append('client_nic', this.callRequest.controls['NIT'].value);\n body.append('client_phone', phoneU);\n body.append('client_observation', this.callRequest.controls['observations'].value);\n body.append('scheduled_date', this.callRequest.controls['typeCall'].value == 2 ? programTime : this.currentDateTime);\n body.append('name', roomName);\n body.append('type_id', this.callRequest.controls['typeCall'].value.toString());\n body.append('campaign_id', this.campaign_id);\n body.append('persist', '1');\n body.append('config_id', this.config_id);\n body.append('origin_type', '1');\n body.append('id_group', this.callRequest.controls['group'].value.toString());\n body.append('id_skill', this.callRequest.controls['skill'].value.toString());\n body.append('adviser_id', this.callRequest.controls['agent'].value);\n body.append('company_name', this.callRequest.controls['company_name'].value.toString());\n body.append('nit', this.callRequest.controls['document'].value.toString());\n body.append('distric_code', this.callRequest.controls['distric_code'].value.toString());\n\n const fileControl = this.callRequest.controls['file'].value;\n if (fileControl instanceof File) {\n body.append('file', fileControl, fileControl.name)\n }\n\n this.disableButton = true;\n this.spinner.show();\n this.service.sendFormMeetings(body).subscribe(resp => {\n if (this.callRequest.controls['typeCall'].value == 1) {\n Swal.fire({\n title: '¡Videollamada Creada!',\n text: 'Comparte este enlace de tu videollamada, para que el cliente ingrese:',\n input: 'text',\n inputValue: resp.link,\n showCancelButton: true,\n confirmButtonText: 'Copiar Enlace',\n cancelButtonText: 'Cerrar',\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n showLoaderOnConfirm: true,\n reverseButtons: true,\n preConfirm: () => {\n navigator.clipboard.writeText(resp.link);\n },\n });\n } else {\n Swal.fire(\n '¡Videollamada Programada!',\n 'La videollamada fue programada exitosamente. Se enviará la notificación correspondiente.',\n 'success'\n );\n }\n\n this.callRequest.reset();\n }, error => {\n console.log(error);\n Swal.fire(\n 'Error',\n 'Hubo un problema al enviar la información. Intente nuevamente.',\n 'error'\n );\n });\n }\n\n stripText(control: string) {\n this.callRequest.controls[control].setValue(this.callRequest.controls[control].value.replace(/[^0-9]/g, ''));\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 22-10-2024\n * @param event Evento de archivo seleccionado\n * Método que obtiene el evento de la carga del archivo y asigna su valor al control en el formulario reactivo\n */\n onChargeFile(event: any): void {\n const file: File = event.target.files[0];\n\n if (file) {\n const maxSizeInMB = 10;\n if (file.size > maxSizeInMB * 1024 * 1024) {\n Swal.fire({\n icon: 'error',\n title: 'Archivo demasiado grande',\n text: 'El archivo debe tener un tamaño máximo de 10 MB.',\n timer: 4000,\n timerProgressBar: true,\n showConfirmButton: false\n });\n return;\n }\n\n const allowedTypes = [\n 'application/pdf',\n 'application/msword',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'text/plain',\n 'image/jpeg',\n 'image/png'\n ];\n\n if (!allowedTypes.includes(file.type)) {\n Swal.fire({\n icon: 'error',\n title: 'Formato no permitido',\n text: 'Solo se permiten archivos PDF, Word, Excel, TXT, JPEG y PNG.',\n timer: 4000,\n timerProgressBar: true,\n showConfirmButton: false\n });\n return;\n }\n\n this.callRequest.get('filename').setValue(file.name);\n this.callRequest.get('file').setValue(file);\n this.callRequest.updateValueAndValidity();\n }\n }\n\n /**\n * @author Yeison David Sepulveda Ospina\n * @createdate 14-11-2024\n * Obtener los grupos\n */\n getGroups(): void {\n this.service.getGroups().subscribe(res => {\n this.groups = res.groups;\n }, error => {\n console.error('Error al obtener los grupos');\n });\n }\n\n /**\n * @param event Evento que contiene el valor del grupo seleccionado\n * Método que se ejecuta cuando se cambia el grupo seleccionado\n */\n onGroupChange(event: any): void {\n const group = event.value;\n this.isGroupSelected = !!group;\n this.serviceMeetigns.getSkills(group).subscribe(\n (res) => {\n console.log(res)\n this.skills= res.groups;\n this.callRequest.controls['agent'].enable();\n },\n (error) => {\n console.error('Error al consultar la API:', error);\n this.callRequest.controls['agent'].disable();\n }\n );\n }\n\n /**\n * @param event Evento que contiene el valor del grupo seleccionado\n * Método que se ejecuta cuando se cambia el skill seleccionado\n */\n onSkillsChange(event: any): void {\n const group = event.value;\n this.callRequest.controls['agent'].disable();\n this.service.getAvailableHours(group, this.campaign_id).subscribe(\n (res) => {\n this.advisorSchedules = res;\n this.agents = this.advisorSchedules.map(agent => ({\n name: agent.name,\n schedules: agent.schedules,\n rrhh_id: agent.rrhh_id,\n }));\n\n this.callRequest.controls['agent'].enable();\n },\n (error) => {\n console.error('Error al consultar la API:', error);\n this.advisorSchedules = null;\n\n this.callRequest.controls['agent'].disable();\n }\n );\n }\n\n /**\n * @author Yeison David Sepulveda Ospina\n * @createdate 14-11-2024\n * @param event Evento que contiene el nombre del agente seleccionado\n * Método que se ejecuta cuando se cambia el agente seleccionado\n */\n onAgentChange(event: any): void {\n const agentName = event.value;\n this.isAdiviserSelected = !!agentName;\n const selectedAgent = this.agents.find(agent => agent.rrhh_id === agentName);\n this.selectedAgentSchedules = selectedAgent ? selectedAgent.schedules : [];\n this.callRequest.controls['calendarr'].reset();\n this.callRequest.controls['time'].reset();\n }\n\n /**\n * @author Yeison David Sepulveda Ospina\n * @createdate 14-11-2024\n * @param event Evento que contiene la fecha seleccionada\n * Método que se ejecuta cuando se selecciona una fecha\n */\n onDateChange(event: any): void {\n const selectedDate: Date = event.value;\n this.selectedDate = selectedDate;\n\n if (this.selectedDate) {\n const selectedDateString = moment(this.selectedDate).format('YYYY-MM-DD');\n\n const dayOfWeek = this.selectedDate.getDay();\n const adjustedDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n\n if (this.selectedAgentSchedules) {\n const daySchedules = this.selectedAgentSchedules[adjustedDayOfWeek.toString()];\n\n if (daySchedules) {\n this.filteredSchedules = daySchedules.filter(schedule => {\n const [scheduleDate, scheduleTime] = schedule.split(' ');\n const scheduleDateTime = moment(`${scheduleDate} ${scheduleTime}`, 'YYYY-MM-DD HH:mm').tz('America/Bogota');\n\n return scheduleDate === selectedDateString && scheduleDateTime.isSameOrAfter(moment());\n });\n }\n }\n }\n }\n\n /**\n * @author Yeison David Sepulveda Ospina\n * @createdate 14-11-2024\n * @returns {Date} - Fecha correspondiente al lunes de la semana actual.\n * Obtener el lunes de la semana actual.\n */\n getStartOfWeek(): Date {\n const today = new Date();\n const day = today.getDay();\n const diff = today.getDate() - day + (day == 0 ? -6 : 1);\n const startOfWeek = new Date(today.setDate(diff));\n startOfWeek.setHours(0, 0, 0, 0);\n return startOfWeek;\n }\n\n /**\n * @author Yeison David Sepulveda Ospina\n * @createdate 14-11-2024\n * @returns {Date} - Fecha correspondiente al domingo de la semana actual.\n * Obtener el domingo de la semana actual.\n */\n getEndOfWeek(): Date {\n const today = new Date();\n const day = today.getDay();\n const diff = today.getDate() - day + (day == 0 ? 0 : 7);\n const endOfWeek = new Date(today.setDate(diff));\n endOfWeek.setHours(0, 0, 0, 0);\n return endOfWeek;\n }\n\n /**\n * @author Yeison David Sepulveda Ospina\n * @createdate 14-11-2024\n * @param {Date | null} date - Fecha que será evaluada.\n * @returns {boolean}\n * Filtro de fechas para habilitar solo los días de la semana actual.\n */\n dateFilter = (date: Date | null): boolean => {\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n\n if (!date) return false;\n const dayOfWeek = date.getDay();\n const adjustedDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n const daySchedules = this.selectedAgentSchedules ? this.selectedAgentSchedules[adjustedDayOfWeek.toString()] : [];\n const isDayAvailable = daySchedules && daySchedules.length > 0;\n\n return date >= today && date <= this.maxDate && isDayAvailable;\n };\n\n}\n","
\n
\n
\n

Agendar Videollamada

\n
\n
\n

\n Aquí podrás agendar tus videollamadas. No olvides, “El respeto y empatía son clave”.\n

\n
\n
\n
\n \n \n Nombre de la empresa\n \n Campo requerido.\n \n\n \n \n NIT\n \n Campo requerido.\n Debe contener máximo 15 carateres.\n \n \n\n \n \n Codigo del distrito\n \n Campo requerido.\n \n\n \n \n Nombre del solicitante.\n \n Campo requerido.\n \n\n \n \n Número de documento\n \n \n Campo requerido.\n Debe contener máximo 15\n carateres.\n \n\n \n \n Tipo de videollamada\n \n \n {{item.name}}\n \n \n \n\n \n \n Grupo\n \n \n {{ group.name }}\n \n \n \n\n \n \n Skills\n \n \n {{ skill.name }}\n \n \n \n\n \n \n Seleccionar Agente\n \n \n {{ agent.name }}\n \n \n \n\n \n \n Fecha\n \n \n \n \n\n \n \n Seleccionar Hora\n \n {{ schedule | date: 'shortTime'\n }}\n \n \n\n \n \n Adjuntar archivo\n \n \n \n attach_file\n \n \n\n \n \n Correo\n \n Campo requerido.\n Correo inválido \n \n\n \n \n Teléfono\n \n Campo requerido-\n Debe contener mínimo 10\n carateres. \n Debe contener máximo 10 carateres.\n \n Teléfono invalido solo se aceptan\n números.\n \n La hora seleccionada debe ser mayor a\n la actual\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Subject, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst AUDITORIA_URL = environment.AUDITORIA_URL;\nconst CRM_URL = environment.CRM_URL;\nconst CRM2_URL = environment.CRM2_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuditoriaService {\n protected dataUser;\n private _refresh$ = new Subject();\n constructor(\n private http: HttpClient,\n ) {\n\n }\n\n get refresh$() {\n return this._refresh$;\n }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n getTypeService() {\n return this.http.get(`${AUDITORIA_URL}getTipoServicio`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getTypeMonitoring() {\n return this.http.get(`${AUDITORIA_URL}getTipoMonitoreo`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getTypeAudit() {\n return this.http.get(`${AUDITORIA_URL}getTipoAuditoria`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getTypeSolution() {\n return this.http.get(`${AUDITORIA_URL}getSolucion`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getTypegetOjt() {\n return this.http.get(`${AUDITORIA_URL}getOjt`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getNoSolucion() {\n return this.http.get(`${AUDITORIA_URL}getNoSolucion`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getAsesor(cedula) {\n return this.http.get(`${AUDITORIA_URL}getAsesor?cedula=${cedula}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n createAuditoria(data) {\n return this.http.post(`${AUDITORIA_URL}crearAuditoria`, data)\n .pipe(\n catchError(this.handleError),\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n getRetroalimentar(params) {\n return this.http.get(`${AUDITORIA_URL}buscarAsesorAuditoria`, { params })\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getRetroalimentacionById(id: number) {\n return this.http.get(`${AUDITORIA_URL}auditoriaById/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n updateRetroalimentacionById(id: number, data) {\n return this.http.post(`${AUDITORIA_URL}updateRetroalimentacion/${id}`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getAuditoriasByAsesor(params) {\n return this.http.get(`${AUDITORIA_URL}getAuditorias`, { params })\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getPuntajes() {\n return this.http.get(`${AUDITORIA_URL}totalAuditorias`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n updateAuditoria(id, data) {\n return this.http.post(`${AUDITORIA_URL}updateAuditoriaAsesor/${id}`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getAllAuditorias(params) {\n return this.http.get(`${AUDITORIA_URL}auditorias`, { params })\n .pipe(\n catchError(this.handleError)\n );\n }\n\n deleteAuditoria(id, data) {\n return this.http.post(`${AUDITORIA_URL}deleteAuditoria/${id}`, data)\n .pipe(\n catchError(this.handleError),\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n get_tipo_campana() {\n return this.http.get(`${AUDITORIA_URL}get_tipo_campana`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n get_aliado() {\n return this.http.get(`${AUDITORIA_URL}get_aliado`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n get_skills() {\n return this.http.get(`${AUDITORIA_URL}get_skills`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n get_tipificacion() {\n return this.http.get(`${AUDITORIA_URL}get_tipificacion`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n get_subtipificacion(id) {\n return this.http.get(`${AUDITORIA_URL}get_subtipificacion?idt=${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n get_tiendas() {\n return this.http.get(`${AUDITORIA_URL}get_tiendas`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n get_tipos() {\n return this.http.get(`${AUDITORIA_URL}get_tipos`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n get_segmentos() {\n return this.http.get(`${AUDITORIA_URL}get_segmentos`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n get_subtipos_pqr() {\n return this.http.get(`${AUDITORIA_URL}get_subtipos_pqr`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n get_mes() {\n return this.http.get(`${AUDITORIA_URL}get_mes`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n listarCrm(formid, size, page, formAnswerId, fi, ff) {\n return this.http.get(`${CRM_URL}form-answers/list/${formid}?formAnswerId=${formAnswerId}&perPage=${size}&page=${page}&from=${fi}&to=${ff}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n listarFrm() {\n return this.http.get(`${CRM_URL}formslist`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n eliminarCrm(id) {\n return this.http.get(`${CRM_URL}form-answers/delete/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-01-11\n * Metodo que lista los formularios de CRM\n * @param crmVersion Version de CRM seleccionada en el formulario\n */\n listFormsCrm(crmVersion: number) {\n const url = crmVersion === 1 ? `${CRM_URL}form-answers/getforms` : `${CRM2_URL}form-answers/getforms`;\n return this.http.get(url)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-01-11\n * Metodo que lista las tipificaciones registradas en los formularios de CRM\n * @param formid Id del formulario\n * @param size Tamaño de los registros\n * @param page Pagina en la paginacion\n * @param formAnswerId Id del registro\n * @param fi Fecha inicial\n * @param ff Fecha final\n * @param status Estado del registro\n * @param crmVersion Version de CRM seleccionada en el formulario\n */\n listarCrmV2(formid: number, size: number, page: number, formAnswerId: number, fi: string, ff: string, status: number, crmVersion: number) {\n const url = crmVersion === 1 ? `${CRM_URL}form-answers/listv2/${formid}?formAnswerId=${formAnswerId}&perPage=${size}&page=${page}&from=${fi}&to=${ff}&status=${status}` : `${CRM2_URL}form-answers/listv2/${formid}?formAnswerId=${formAnswerId}&perPage=${size}&page=${page}&from=${fi}&to=${ff}&status=${status}`;\n return this.http.get(url)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-01-11\n * Metodo que inactiva un registro de una tipificacion\n * @param id Id de la tipificacion seleccionada\n * @param status Estado del registro seleccionado\n * @param crmVersion Version de CRM seleccionada en el formulario\n */\n eliminarCrmV2(id: number, status: number, crmVersion: number) {\n const url = crmVersion === 1 ? `${CRM_URL}form-answers/deletev2/${id}?status=${status}` : `${CRM2_URL}form-answers/deletev2/${id}?status=${status}`;\n return this.http.get(url)\n .pipe(\n catchError(this.handleError)\n );\n }\n}","import { Component, Input, OnInit } from '@angular/core';\nimport { onSideNavChange, animateText } from '../animation';\nimport { SidenavService } from '../../core/services/utils/sidenav.service';\nimport { LeftNavService } from '../../core/services/rest/left-nav.service';\nimport { Router } from '@angular/router';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport * as moment from 'moment';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AuthService } from '../../core/services/rest/auth.service';\nimport { VicidialService } from '../../shared/vicidial-voz/services/vicidial.service';\nimport { socketService } from 'src/app/modules/livechat/services/socket/index.service';\nimport { SocketActiveService } from 'src/app/modules/livechat/services/socket/socket.service';\nimport Swal from 'sweetalert2';\nimport { SideBarComponent } from '../side-bar/side-bar.component';\nimport { HttpService } from 'src/app/modules/livechat/services/http/index.service';\nimport { sessionService } from 'src/app/modules/livechat/services/session/index.service';\nimport { HttpClient } from '@angular/common/http';\n\n\ninterface AppItem {\n id: number;\n name: string;\n link: string;\n icon: string;\n}\n\n@Component({\n selector: 'app-left-nav',\n templateUrl: './left-nav.component.html',\n styleUrls: ['./left-nav.component.sass'],\n animations: [onSideNavChange, animateText],\n\n})\nexport class LeftNavComponent implements OnInit {\n public sideNavState: boolean;\n public linkText: boolean;\n public pages: Array = [];\n public socket: socketService;\n public activateMenu: any = false;\n\n @Input() scheduleEnd: any;\n\n /**\n * Variable que permite bloquear cualquier accion de pausado si el agente esta en alguna llamada de vicidial (Integracion con voz)\n */\n public pauseToTypify: boolean = false;\n\n\n constructor(private _sidenavService: SidenavService,\n private leftNavService: LeftNavService,\n public router: Router,\n private destroyService: DestroyComponentService,\n public dialog: MatDialog,\n private authService: AuthService,\n private vicidialService: VicidialService,\n private _socketActiveService: SocketActiveService,\n private _httpService: HttpService,\n private _storageService: sessionService,\n private sideBar: SideBarComponent,\n private httpClient: HttpClient) {\n this._sidenavService.sideNavState$.subscribe(res => {\n\n this.sideNavState = res;\n this.linkText = res;\n });\n\n }\n\n ngOnInit(): void {\n\n const app = this.router.url.substring(6).split('/', 1)[0];\n\n if (app === null || app === '') {\n this.consultMenu('ciu');\n } else {\n this.consultMenu(app);\n }\n\n /**\n * Servicio que se subscribe a un observable que retorna el estado del agente segun vicidial service\n */\n this.vicidialService.pauseActiveObservable.subscribe(value => {\n this.pauseToTypify = value;\n });\n\n\n //this.checkEndedSchedule();\n // pasada las horas adicionales para el cierre de turno.\n const schedule = this.authService.decryptToken();\n let hour = new Date(schedule.schedule_extra.scheduleEndPlus);\n\n setInterval(() => {\n var currentDate = new Date();\n var dateMindNight = new Date();\n dateMindNight.setHours(23, 59, 0);\n\n if (currentDate.getHours() === dateMindNight.getHours() && currentDate.getMinutes() === dateMindNight.getMinutes()) {\n this.authService.logOut().subscribe(resp => {\n if (resp) {\n window.location.replace('/login');\n localStorage.clear();\n }\n }, error => {\n window.location.replace('/login');\n localStorage.clear();\n });\n }\n }, 19000);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-01\n * Metodo que consulta del local storage los aplicativos y los muestra en el menu\n */\n consultMenu(menu: any): void {\n\n this.activateMenu = false;\n this.pages = [];\n\n this.leftNavService.getLeftMenu(menu).subscribe((resp) => {\n\n resp.data.forEach(element => {\n const item: AppItem = {\n id: element.id,\n name: element.name,\n link: element.url,\n icon: element.icon\n };\n this.pages.push(item);\n });\n\n if (menu.includes('cartera')) {\n const userSystem = this.authService.decryptToken()\n const isIndex = this.pages.findIndex(page => page.link.includes(`${menu}/administracion`) === true)\n if (isIndex !== -1) {\n import(`../../modules/cartera/modules/gestiones/services/gestion.service`).then(module => {\n const serviceDinamic = module.GestionService\n const service = new serviceDinamic(this.httpClient, this.router)\n service.getisAdmin().subscribe(users => {\n const isUser = users.find(user => user.user_id === userSystem.rrhh_id)\n if (isUser) this.pages.splice(isIndex, 1)\n })\n }).catch(error => console.error('No se encontro la ruta para consultar el servicio'))\n }\n }\n }\n );\n\n this.sideBar.getSchedule();\n\n if (menu === 'crm' || menu === 'omni') {\n this.activateMenu = true;\n }\n\n }\n\n /**\n * @author Olme Marin\n * @createdate 2021-09-13\n * Método para obtener el socket activo de omnicanlidad\n */\n getSocketActive() {\n return this.socket = this._socketActiveService.getSocketActive();\n }\n\n /**\n * @author Olme Marin\n * @createdate 2021-09-13\n * Método para desconectar el socket de un agente de omnicanlidad\n */\n async disconnectSocket() {\n const rrhh: any = this.authService.getUser();\n let project: any = this._storageService.getItem('project');\n try {\n project = JSON.parse(project);\n console.log('project-cerrar', project.id);\n await this._httpService.post(`mixins/logout-agent`, {\n rrhh: rrhh.rrhh_id,\n project: project.id\n }).toPromise()\n this.socket.sendMessage('agentDisconnect', { rrhh: rrhh.rrhh_id })\n this.socket.disconnect();\n } catch (e) {\n console.log(\"Arror api logout livechat\")\n }\n return null;\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n /**\n * Método que que notifica a la persona 10min antes del cierre de turno\n * @author Andres Buitrago\n */\n checkEndedSchedule(): void {\n setInterval(() => {\n if (this.scheduleEnd) {\n const now = moment();\n const schedDate = moment(this.scheduleEnd);\n if (Math.abs(now.diff(schedDate, 'minutes')) === 10) {\n const Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 15000,\n timerProgressBar: true,\n didOpen: (toast) => {\n toast.addEventListener('mouseenter', Swal.stopTimer);\n toast.addEventListener('mouseleave', Swal.resumeTimer);\n }\n });\n Toast.fire({\n icon: 'warning',\n title: 'En 10 minutos cerrará su turno, por favor tenerlo en cuenta para generar la marcación y desloguearse'\n });\n }\n }\n }, 50000);\n }\n\n changeActivateMenu() {\n const app = this.router.url.substring(6).split('/', 1)[0];\n if (app != 'crm' && app != 'omni') return;\n this.activateMenu = !this.activateMenu\n }\n\n}\n","
\n
\n
\n\n
\n \"\"\n \"\"\n
\n\n \n \n \n\n \n\n
\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { CategoryService } from '../../services/category.service';\nimport { EmailService } from '../../services/email.service';\n\n@Component({\n selector: 'app-assign-category',\n templateUrl: './assign-category.component.html',\n styleUrls: ['./assign-category.component.css']\n})\nexport class AssignCategoryComponent implements OnInit {\n formAssignCategory: FormGroup = new FormGroup({\n category: new FormControl('', [Validators.required])\n });\n categories: any[] = [];\n\n constructor(\n private alertService: AlertsService,\n private matSnackBar: MatSnackBar,\n private matDialogRef: MatDialogRef,\n private categoryService: CategoryService,\n private emailService: EmailService,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n ngOnInit(): void {\n this.getCategoriesByIdEmailConfig();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-10\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formAssignCategory.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-10\n * Metodo que asigna una categoria al correo seleccionado. \n */\n onSubmitFormAssignCategory(): void {\n if (this.formAssignCategory.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De asignar la categoría seleccionada?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n if (!Array.isArray(this.data.mail)) {\n this.emailService.updateCategoryToEmail(this.data.mail, this.formAssignCategory.value.category).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(res);\n });\n } else {\n const data = {\n email_list: `[${this.data.mail.map((item: any) => item.id).toString()}]`,\n id_category: this.formAssignCategory.value.category\n };\n this.emailService.updateCategoryToListEmail(data).subscribe((res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.matDialogRef.close(res);\n }));\n }\n }\n });\n } else {\n this.formAssignCategory.markAllAsTouched();\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-05\n * Metodo que trae la categorias registradas en el sistema por id de configuracion de correo. \n */\n getCategoriesByIdEmailConfig(): void {\n const emailConfigId = !Array.isArray(this.data.mail) ? this.data.mail.email_config_id : this.data.mail[0].email_config_id;\n this.categoryService.getCategoriesByIdEmailConfig(emailConfigId).subscribe(res => {\n this.categories = res.data;\n });\n }\n}","
\n
\n \n
\n
\n
\n
Asignar a una categoría
\n \n
\n
\n
\n \n Categoría a asignar\n \n {{ item.name }}\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GroupsMainComponent } from './groups-main/groups-main.component';\nimport { GroupsCreateComponent } from './groups-create/groups-create.component';\nimport { SharedModule } from '../../../../shared/shared.module';\nimport { ExportFiles, DocsSsummary , GroupsViewComponent } from './groups-view/groups-view.component';\nimport { GroupsCandidateAssignComponent } from './groups-candidate-assign/groups-candidate-assign.component';\nimport { TrainingCandidateComponent } from './training-candidate/training-candidate.component';\nimport { CandidateActionsComponent } from './candidate-actions/candidate-actions.component';\nimport { PrebondingComponent } from './prebonding/prebonding.component';\nimport { AssignUsersComponent } from './assign-users/assign-users.component';\n\n\n\n\n@NgModule({\n declarations: [\n GroupsMainComponent,\n GroupsCreateComponent,\n GroupsViewComponent,\n GroupsCandidateAssignComponent,\n TrainingCandidateComponent,\n CandidateActionsComponent,\n PrebondingComponent,\n AssignUsersComponent,\n ExportFiles,\n DocsSsummary \n ],\n imports: [\n CommonModule,\n SharedModule,\n \n ],\n entryComponents: [\n \n ],\n \n\n})\nexport class TrainingGroupsModule { }\n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { Aplication } from '../../modules/class/aplications';\n\nconst CIU_URL = environment.CIU_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationsService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-03\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n getApplications(): Observable{\n return this.http.get(`${CIU_URL}applications/?paginate=0`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author jose vicente silva\n * @createdate 2021-02-03\n * Servicio que lista todos los aplicativos del aplicativo ciu paginados\n */\n getApplicationsPaginate(isPage: number,size: number, page: number ): Observable{\n return this.http.get(`${CIU_URL}applications/?paginate=${isPage}&n=${size}&page=${page}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-10\n * Servicio que lista todos los roles por aplicacion\n */\n getRolesxApp(id: any): Observable{\n return this.http.get(`${CIU_URL}applications/`+ id + `/roles`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author José Vicente Silva Rivera\n * @createdate 2021-03-12\n * Servicio que realiza una busqueda avanzada de groupes por un valor\n * @param size tamaño de los datos a traer\n * @param value valor a buscar\n */\n searchApplications(size: number, page:number, value: any): Observable{\n return this.http.get(`${CIU_URL}applications/search?n=${size}&page=${page}&q=${value}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author José Vicente Silva Rivera\n * @createdate 2021-02-03\n * Servicio que guarda un group en su respectiva tabla\n * @param Apliactions Apliactions a guardarse\n */\n saveApplication(app: Aplication): Observable{\n \n return this.http.post(`${CIU_URL}applications`, app)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author José Vicente Silva Rivera\n * @createdate 2021-03-12\n * Servicio que edita un group en su respectiva tabla\n * @param Apliactions Apliactions a editarse\n */\n editApplication(app: Aplication): Observable{\n return this.http.put(`${CIU_URL}applications`, app)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author José Vicente Silva Rivera\n * @createdate 2021-02-04\n * Servicio que borra una campaña en su respectiva tabla modo logico\n * @param Apliactions id del group a eliminarse\n * @param idApliactions id del group a eliminarse\n */\n deleteApplication(app: Aplication,idAplication: number): Observable{\n return this.http.put(`${CIU_URL}applications/${idAplication}/updateState`, app)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { RolesService } from '../../../services/rest/roles.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { SaveRolComponent } from '../save-rol/save-rol.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ApplicationsService } from '../../../services/rest/applications.service';\n\n@Component({\n selector: 'app-admin-roles',\n templateUrl: './admin-roles.component.html',\n styleUrls: ['./admin-roles.component.sass']\n})\nexport class AdminRolesComponent implements OnInit, OnDestroy {\n\n // MatPaginator Inputs\n length;\n pageSize = 5;\n page = 0;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n newRolComponent: boolean = false;\n\n displayedColumns: string[] = ['acciones', 'nameApp', 'name', 'key', 'created_at', 'creadoPor'];\n dataSource = new MatTableDataSource();\n apps: any[] = [];\n filterApp: number | null = null;\n filterName: string | null = null;\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n constructor(public rolesService: RolesService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n public dialog: MatDialog,\n private applicationsService: ApplicationsService\n ) { }\n\n ngOnInit(): void {\n this.applicationsService.getApplications().subscribe(res => {\n this.apps = res.data;\n });\n this.getRoles(this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que trae los roles paginados\n * @param size cantidad de roles a traer en la tabla\n * @param page pagina que va a mostrar la tabla\n */\n getRoles(size: number, page: number): void {\n if (this.dataSource.filter === ''){\n this.dataSource.filter = null;\n }\n this.rolesService.getRoles(this.pageSize, this.page, this.filterApp, this.filterName).subscribe((Response) => {\n this.dataSource.data = Response.data.data;\n this.length = Response.data.total;\n });\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que realiza el filtro\n * @param event datos para filtrar que son enviados desde el input\n */\n applyFilter(): void {\n // this.rolesService.searchRol(this.pageSize, this.filterApp, this.filterName).subscribe((Response) => {\n // this.dataSource.data = Response.data.data;\n // this.length = Response.data.total;\n // });\n this.page = 0;\n this.getRoles(this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que se encarga del movimiento del paginador\n * @param event cuando se da click en el paginador trae este evento\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex;\n this.getRoles(this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que abre el modal de crear un nuevo rol, al cerral el modal se refresca la tabla\n */\n newRol(): void{\n const dialogNewRol = this.dialog.open(SaveRolComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear rol',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que abre el modal de editar usuario, envia un usuario, al cerrar el modal se refresca la tabla\n * @param rol rol a editar\n */\n editRol(rol: any): void{\n const dialogNewRol = this.dialog.open(SaveRolComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar rol',\n rol\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que elimina un rol\n * @param rol rol a eliminar\n */\n deleteRol(rol: any): void{\n\n let value = this.alertsService.alertConfirm('¿Desea eliminar este rol?');\n value.then((result) =>{\n if (result.isConfirmed) {\n this.rolesService.deleteRol(rol.id).subscribe((resp) => {\n this.alertsService.alertSuccess('Eliminado', resp.data);\n this.ngOnInit();\n });\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n\n\n}\n","
\n\n
\n

Administración de Roles

\n

Bienvenido al módulo administración de roles, recuerda que puedes
filtrar por cualquier criterio que\n encuentres en la tabla.

\n
\n\n
\n \n Aplicativo\n \n {{ app.name }}\n \n \n \n Rol\n \n \n \n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Acciones\n \n \n Aplicativo {{row.nameApp}} Rol {{row.name}} Key {{row.key}} Fecha de creación {{row.created_at | date}} Creado por {{row.created_by}}
No hay datos que coincidan con los filtros
\n \n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '../../core/services/rest/auth.service';\n\n@Component({\n selector: 'app-meetings-module',\n templateUrl: './meetings.component.html',\n styleUrls: ['./meetings.component.sass']\n})\nexport class MeetingsModuleComponent implements OnInit {\n\n nameUser: string = '';\n constructor(\n private authService: AuthService) \n { }\n\n ngOnInit() {\n const user = this.authService.getUser();\n this.nameUser = user.rrhh.name;\n }\n\n}\n","
\n
\n

Videollamadas

\n

\n {{ \"¡Bienvenid@\" }}
\n {{ nameUser }}!\n

\n

\n Este es el módulo de Videollamadas, diseñado\n para facilitar la gestión y administración eficiente de todas las\n funciones relacionadas.\n

\n
\n\n
\n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { AuthService } from '../../../core/services/rest/auth.service';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from '../../../../environments/environment';\nimport * as moment from 'moment';\n\nconst NOMINA_URL = environment.NOMINA_URL;\nconst RRHH_URL = environment.RRHH_URL;\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NoveltiesService {\n\n constructor(private http: HttpClient) {\n }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Servicio que lista todas las novedades de un usuario\n */\n getPayrollNoveltiesForCurrentUser(month?: any, year?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('month', month || '')\n .set('year', year || '')\n };\n return this.http.get(`${NOMINA_URL}novelties/myNovelties`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Servicio obtiene la información de una novedad\n */\n getEventInfoByPayrollNoveltyId(userId: number, noveltyId: number): Observable {\n return this.http.get(`${NOMINA_URL}novelties/myNovelties/${noveltyId}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Servicio para actualizar la justificación de una novedad\n */\n saveJustifyForEmployee(noveltyId: number, data: any): Observable {\n return this.http.post(`${NOMINA_URL}noveltyResponses/${noveltyId}/employee`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Servicio para crear novedades\n */\n createNovelties(data: any): Observable {\n return this.http.post(`${NOMINA_URL}noveltyResponses/createNovelty`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Servicio para crear novedades de tipo retardo\n */\n createTimeDelayNovelties(data: any): Observable {\n return this.http.post(`${NOMINA_URL}noveltyResponses/timeDelay`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Servicio para obtener los tipos de novedad\n */\n getNoveltyTypes(availableForNoveltyCreate: any = 0): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('availableInForm', availableForNoveltyCreate)\n };\n return this.http.get(`${NOMINA_URL}noveltyTypes`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez\n * @purpose Servicio para obtener las novedades por filtro\n */\n getNoveltiesBy(state?: any, idTipDoc?: any, document?: any, campaign_id?: any, novelty_date1?: any, novelty_date2?: any, noveltyType?: any, perPage: any = 5, Page?: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', state)\n .set('document', document || '')\n .set('documentType', idTipDoc || '')\n .set('campaign_id', campaign_id || '')\n .set('novelty_date1', novelty_date1 || '')\n .set('novelty_date2', novelty_date2 || '')\n .set('noveltyType', noveltyType || '')\n .set('perPage', perPage)\n .set('page', Page || 1)\n };\n return this.http.get(`${NOMINA_URL}noveltyReport/novelties`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez\n * @purpose Servicio para obtener las novedades\n */\n getNovelties(id) {\n const httpOptions = {\n params: new HttpParams().set('state', id)\n };\n return this.http.get(`${NOMINA_URL}noveltyReport/novelties`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez\n * @purpose Servicio para aprobar o rechazar una novedad\n */\n changeStatus(id: any, body: any) {\n return this.http.put(`${NOMINA_URL}noveltyResponses/${id}/changestatus`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez\n * @purpose Servicio para descarga de reporte\n */\n getReport(state?: any, idTipDoc?: any, document?: any, campaign_id?: any, novelty_date1?: any, novelty_date2?: any, noveltyType?: any, forLiquidation?: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', state)\n .set('document', document || '')\n .set('campaign_id', campaign_id || '')\n .set('novelty_date1', novelty_date1 || '')\n .set('novelty_date2', novelty_date2 || '')\n .set('documentType', idTipDoc || '')\n .set('noveltyType', noveltyType || '')\n .set('forLiquidation', forLiquidation || 0),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${NOMINA_URL}noveltyReport/reportNovelty`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andres Buitrago\n * @purpose Servicio para descarga de reporte de las novedades vinculadas al trabajador\n */\n getNoveltiesReportForLiquidation(docNumber: string, docTypeId: number, startDate: string, endDate: string): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('docNumber', docNumber)\n .set('docType', docTypeId.toString() || '')\n .set('startDate', startDate || '')\n .set('endDate', endDate || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${NOMINA_URL}novelties/workerUser`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Servicio que obtiene los dias habiles/no habiles de un rango de fechas seleccionado para el proceso de vacaciones\n */\n getAvailableDaysForVacations(data: any): Observable {\n return this.http.post(`${NOMINA_URL}holidays/checkAvailableDays`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Servicio para crear novedades de vacaciones\n */\n createVacationNovelties(data: any): Observable {\n return this.http.post(`${NOMINA_URL}holidays/requestHolidays`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * Metodo encargado de notificar al personal para cargue de mallas horarias\n * @author Daniel Dominguez\n * @createdate 2021-05-20\n */\n sendEmail(): Observable {\n return this.http.get(`${NOMINA_URL}schedules/sendAlertSchedule`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez\n * @purpose Servicio para crear novedades\n */\n createDisabilitiesNoveltie(data: any): Observable {\n return this.http.post(`${NOMINA_URL}disabilities/submitDisability`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez\n * @purpose Servicio para crear novedad de permiso\n */\n createPermitNoveltie(data: any): Observable {\n return this.http.post(`${NOMINA_URL}permissions/createPermit`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez\n * @purpose Servicio para obtener resumen de novedades\n */\n getSumary(month?: any, year?: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('month', month || '')\n .set('year', year || '')\n };\n return this.http.get(`${NOMINA_URL}noveltyResponses/sumaryNovelties`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez\n * @purpose Servicio que lista todos los valores de resumen nomina\n */\n geValuesNomina() {\n return this.http.get(`${NOMINA_URL}nomina/resume`);\n }\n\n /**\n * exporta el listado de todas las novedades\n * @author Andres Buitrago\n * @createdate 2021-10-01\n * @param filters filtros a aplicar\n */\n downloadReportNovelties(filters: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('reportType', filters.typeReport || '')\n .set('startDate', moment(filters.startDate).format('YYYY-MM-DD') || '')\n .set('endDate', moment(filters.endDate).format('YYYY-MM-DD') || '')\n .set('campaignId', filters.campaignId || '')\n .set('docNumber', filters.docNumber || '')\n .set('docType', filters.docType || '')\n .set('userId', filters.userId || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${NOMINA_URL}novelties/generateReportAllNovelties`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n\n\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para obtener listado de EPS\n */\n getEps() {\n return this.http.get(`${RRHH_URL}eps`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Javier Castañeda\n * @purpose Servicio para obtener EPS por id\n */\n getEpsById(id: any) {\n return this.http.get(`${RRHH_URL}eps/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n* @author Javier Castañeda\n* @purpose Servicio para obtener una empresa por id\n*/\n getCompanyById(id) {\n return this.http.get(`${RRHH_URL}company/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para obtener listado de empresas\n */\n getCompanys() {\n return this.http.get(`${RRHH_URL}companies`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n* @author Javier Castañeda\n* @purpose Servicio para la busqueda de diagnostico\n*/\n searchDiagnostic(search: any): Observable {\n return this.http.get(`${NOMINA_URL}diagnostics/filter/${search}`)\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para obterner informacion del trabajador\n */\n getInfoWorker(id: any): Observable {\n return this.http.get(`${RRHH_URL}user/candidate/${id}`)\n }\n\n /**\n * @author Javier Castañeda\n * @purpose Servicio para la justificar de novedades de retardo masivamente o individual\n */\n justifyNovelties(data: any): Observable {\n return this.http.post(`${NOMINA_URL}noveltyResponses/justificationForDelays`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Nicolas Soler\n * @purpuse Servicio para consultar todas las novedades de retardo \n */\n getAllDelay(document: any, documentType: any, campaign_id: any, novelty_date1?: any, novelty_date2?: any, justifyType?: any, perPage: any = 5, Page?: any, state: any = 1) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', state)\n .set('document', document || '')\n .set('documentType', documentType || '')\n .set('campaign_id', campaign_id || '')\n .set('novelty_date1', novelty_date1 || '')\n .set('novelty_date2', novelty_date2 || '')\n .set('typeJustification', justifyType || '')\n .set('perPage', perPage)\n .set('page', Page || 1)\n };\n return this.http.get(`${NOMINA_URL}noveltyReport/noveltiesForDelays`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Nicolas Soler\n * @purpuse Servicio para aprovar o rechazar de forma masiva o individual los retardos\n */\n delayMasiveAprove(body) {\n return this.http.put(`${NOMINA_URL}noveltyResponses/changestatusForDelays`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Nicolas Soler\n * @purpuse Servicio para aprovar o rechazar de forma masiva o individual los retardos\n */\n getDelayReport(document: any, documentType: any, campaign_id: any, novelty_date1?: any, novelty_date2?: any, justifyType?: any, state: any = 1) {\n const httpOptions = {\n params: new HttpParams()\n .set('state', state)\n .set('document', document || '')\n .set('documentType', documentType || '')\n .set('campaign_id', campaign_id || '')\n .set('novelty_date1', novelty_date1 || '')\n .set('novelty_date2', novelty_date2 || '')\n .set('typeJustification', justifyType || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${NOMINA_URL}noveltyReport/noveltiesForDelays/report`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n* @author Javier Castañeda \n* @purpose Servicio que obtiene los dias habiles/no habiles de un rango de fechas seleccionado y rrhh_id del usuario para el proceso de vacaciones\n*/\n getAvailableDaysForVacationsByUser(data: any): Observable {\n return this.http.post(`${NOMINA_URL}holidays/checkAvailableDaysByUser`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n* @author Johan Soler\n* @createDate 2022-06-03\n* Servicio para obtener los tipos de novedad usados en el filtro\n*/\n getFilterNoveltyTypes(): Observable {\n return this.http.get(`${NOMINA_URL}noveltyTypes/getTypesNoveltiesByListNovelties`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Johan Soler\n * @purpose Servicio para crear la calamidad domestica\n */\n createDomesticCalamity(data: any){\n return this.http.post(`${NOMINA_URL}novelty/createNoveltyDomesticCalamity`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Johan Soler \n * @purpose Servicio para crear novedades de vacaciones extemporaneas\n */\n createVacationExtemporal(data: any): Observable {\n return this.http.post(`${NOMINA_URL}holidays/requestExtemporaneousVacations`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author David Reinoso\n * @purpose Servicio para obtener los dias disponibles de vacaciones de un usuario\n */\n getDaysVacationsAvailable(rrhh_id: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('rrhh_id', rrhh_id || '')\n };\n return this.http.get(`${NOMINA_URL}vacation/getPassiveVacational`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author David Reinoso\n * @purpose Servicio para obtener los dias disponibles de vacaciones de un usuario\n */\n isOperationalPosition(): Observable {\n return this.http.get(`${RRHH_URL}position/userLogged`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez\n * @purpose Servicio para crear novedad de permiso\n */\n createPermitGrantedPreviousDaysNoveltie(data: any): Observable {\n return this.http.post(`${NOMINA_URL}permissions/createPermitGrantedPreviousDays`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { AuthService } from './../../core/services/rest/auth.service';\nimport { Component, OnInit, ElementRef, ViewChild } from '@angular/core';\nimport { ModalLandingComponent } from './modal-landing/modal-landing.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { OnBoardingComponent } from '../on-boarding/on-boarding.component';\n\n\n@Component({\n selector: 'app-landing-page',\n templateUrl: './landing-page.component.html',\n styleUrls: ['./landing-page.component.sass'],\n})\nexport class LandingPageComponent implements OnInit {\n\n @ViewChild('videoPlayer') videoplayer: ElementRef;\n\n public userName : any;\n\n constructor(public dialog: MatDialog, private authService : AuthService) { }\n\n ngOnInit(): void {\n this.userName = this.authService.decryptToken();\n }\n\n modalLanding(): void{\n const dialogLanding = this.dialog.open(ModalLandingComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'ver',\n title: 'Visualizacion',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogLanding.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-01-31\n *función onlandingBoar abre el modal, se debe pasar el array\n *con la especificacion de imagenes\n */\n onBoadingCiu(): void{\n const dialogLanding = this.dialog.open(OnBoardingComponent, {\n data: [{\n img: 'ciu/Onboarding-1.svg',\n },\n {\n img: 'ciu/Onboarding-2.svg',\n },\n {\n img: 'ciu/Onboarding-3.svg',\n },\n {\n img: 'ciu/Onboarding-4.svg',\n },\n {\n img: 'ciu/Onboarding-5.svg',\n },\n {\n img: 'ciu/Onboarding-6.svg',\n },\n {\n img: 'ciu/Onboarding-7.svg',\n },\n {\n img: 'ciu/Onboarding-8.svg',\n }\n ],\n disableClose: true,\n panelClass: 'full-screen-modal',\n });\n\n }\n\n toggleVideo(event: any) {\n this.videoplayer.nativeElement.play();\n}\n\n}\n","
\n\n
\n
\n
\n
\n
\n
\n

Control de usuarios

\n
\n

¡Bienvenid@
{{userName.rrhh.name | titlecase}}!

\n
\n
\n

\n Este es el módulo de CIU, donde podrás gestionar las mallas de horario y la administración de roles,\n usuarios y permisos\n

\n
\n
\n
\n \n
\n
\n
\n\n
\n \"\"\n
\n
\n
\n
\n \n \n
\n
\n
","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\n\nconst CIU_URL = environment.CIU_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DobbleAuthService {\n\n constructor(private http: HttpClient) { }\n\n validateToken(params) {\n return this.http.post(`${CIU_URL}dobbleAuthTokens/validateToken`, params);\n }\n}\n","import { DecimalPipe } from '@angular/common';\nimport { Directive, HostListener, ElementRef, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[appCopCurrency]'\n})\nexport class CopCurrencyDirective {\n\n currencyChars = new RegExp('[\\.,]', 'g');\n\n @HostListener('input', [\"$event.target.value\"]) onInput(e: string) {\n this.format(e);\n };\n\n @HostListener('paste', ['$event']) onPaste(event: ClipboardEvent) {\n event.preventDefault();\n this.format(event.clipboardData.getData('text/plain'));\n }\n\n constructor(public el: ElementRef, public renderer: Renderer2, private decimalPipe: DecimalPipe) {\n }\n\n\n format(val: string) {\n const numberFormat = parseInt(String(val).replace(this.currencyChars, ''));\n const usd = this.decimalPipe.transform(numberFormat, '1.0', 'en-US');\n this.renderer.setProperty(this.el.nativeElement, 'value', usd);\n }\n\n}\n","import { createAction, props } from \"@ngrx/store\";\nimport { CampañaModel } from \"../../core/interfaces/campaña.interface\";\nimport { SelectsModel } from '../../core/interfaces/selects.interface';\n\n/**\n * @author Cristian Gallo\n * @createdate 2021-12-10\n * Action que cargara la información de los diferentes selects que se encuentren en app-coaching.\n * Los selects que hay son:\n * indicadores, procesos, campañas, cuartiles, causa raiz y estados\n*/\n\nexport const loadSelects = createAction(\n '[Selects] Load selects',\n props<{ rol?,rrhhId?}>()\n);\n\nexport const loadedSelects = createAction(\n '[Selects] Loaded selects',\n props<{ \n selects:SelectsModel \n }>()\n);\n\nexport const loadedCampañas = createAction(\n '[Campañas] Loaded Campañas',\n props<{ campañas:CampañaModel[] }>()\n);\n// export const loadedIndicadores = createAction(\n// '[Indicadores] Loaded indicadores',\n// props<{ indicadores:IndicadorModel[] }>()\n// );\n\n// export const loadedProcesos = createAction(\n// '[Procesos] Loaded procesos',\n// props<{ procesos:ProcesoModel[] }>()\n// );\n\n\n// export const loadedCuartiles = createAction(\n// '[Cuartiles] Loaded cuartiles',\n// props<{ cuartiles:CuartilModel[] }>()\n// );\n\n// export const loadedCausas = createAction(\n// '[Causas] Loaded causas',\n// props<{ causas:CausaRaizModel[] }>()\n// );\n\n// export const loadedEstados = createAction(\n// '[Estados] Loaded estados',\n// props<{ estados:EstadoModel[] }>()\n// );\n\n// export const loadedCompromisos = createAction(\n// '[Compromisos] Loaded compromisos',\n// props<{ compromisos:CompromisoModel[] }>()\n// );\n\n// export const loadedEvoluciones = createAction(\n// '[Evoluciones] Loaded evoluciones',\n// props<{ evoluciones:EvolucionModel[] }>()\n// );","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'weekDays'\n})\nexport class WeekDaysPipe implements PipeTransform {\n\n transform(value: unknown, ...args: unknown[]): unknown {\n let object = results.find(e=>{return e.key === String(value)})\n return object? object.name : 'N/A';\n }\n\n}\nconst results=[\n {key: 'Monday', name: 'Lunes'},\n {key: 'Tuesday', name: 'Martes'},\n {key: 'Wednesday', name: 'Miércoles'},\n {key: 'Thursday', name: 'Jueves'},\n {key: 'Friday', name: 'Viernes'},\n {key: 'Saturday', name: 'Sábado'},\n {key: 'Sunday', name: 'Domingo'},\n]\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { TrainingGroupsService } from '../../../services/training-groups.service';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { environment } from '../../../../../../environments/environment';\nimport { CandidateCommentsComponent } from '../../candidates/candidate-comments/candidate-comments.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { retreatGroup, commentsGroup, statusGroup } from './commentsTypes';\n@Component({\n selector: 'app-training-candidate',\n templateUrl: './training-candidate.component.html',\n styleUrls: ['./training-candidate.component.sass']\n})\nexport class TrainingCandidateComponent implements OnInit {\n\n createComment = false;\n createEvaluation = false;\n types_retreat=retreatGroup\n formComment:FormGroup;\n formEvaluation:FormGroup\n comments:any[] = [];\n evaluations:any[] = [];\n attachments:any = [];\n uploadedFile = false;\n attachmentsName:any;\n attachmentStore\n comentPermit= false\n types_comments = commentsGroup;\n status_comments=statusGroup;\n states:boolean= false\n //Estado del candidato\n candidate_state:string;\n constructor(private fb:FormBuilder,\n private trainingGroup:TrainingGroupsService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alertNotification:AlertsService,\n private auth:AuthService,\n private dialog:MatDialog) {\n this.createCommentForm();\n }\n\n\n ngOnInit(): void {\n this.auth.getUser().roles.forEach(element => {\n if(element == 'rrhh::usuario'){\n this.states = true\n }\n });\n if(this.data.candidate.states.name =='Transferido'){\n this.comentPermit =true\n }\n this.createEvaluationForm();\n this.candidateComments();\n }\n\n createCommentForm(){\n this.formComment = this.fb.group({\n 'typeComment':[null],\n 'comment':[null,Validators.required],\n 'createdAt':[null],\n })\n }\n createEvaluationForm(){\n this.formEvaluation = this.fb.group({\n 'typeEvaluation':[null],\n 'evaluation':[null,Validators.required],\n 'createdAt':[null]\n })\n }\n\n saveComment(){\n this.formComment.get('createdAt').setValue(new Date().toISOString())\n if(this.formComment.valid){\n this.comments.push(this.formComment.value)\n let params = {\n 'comments':JSON.stringify(this.comments),\n 'groupId':this.data.groupId,\n 'candidateId':this.data.candidate.id\n }\n\n\n this.trainingGroup.createCommentOrEvaluations(params).subscribe( (e:any) => {\n this.alertNotification.alertSuccess('Comentario creado con éxito','');\n\n this.cancelForm('formComment','createComment');\n this.candidateComments();\n })\n }\n }\n saveEvalution(){\n\n this.formEvaluation.get('createdAt').setValue(new Date().toISOString())\n if(this.formEvaluation.valid){\n this.evaluations.push({...this.formEvaluation.value,'attachmentName':this.attachmentsName,\n 'attachment':this.attachmentStore})\n let params = {\n 'evaluations':JSON.stringify(this.evaluations),\n 'groupId':this.data.groupId,\n 'candidateId':this.data.candidate.id\n }\n\n this.trainingGroup.createCommentOrEvaluations(params).subscribe( (e:any) => {\n this.alertNotification.alertSuccess('¡Hecho!','Evaluacién creada con éxito');\n this.attachmentsName = null;\n this.attachmentStore = null;\n this.cancelForm('formEvaluation','createEvaluation');\n })\n }\n\n }\n cancelForm(form,arg){\n this[form].reset();\n this[arg] = !this[arg]\n }\n\n candidateComments(){\n this.trainingGroup.candidateComments({'candidateId':this.data.candidate.id,'groupId':this.data.groupId}).subscribe((e:any) => {\n if(e.comments != null){\n this.comments = e.comments;\n this.comments.reverse()\n }\n this.candidate_state = e.state_id;\n this.evaluations = e.evaluationsJson ? e.evaluationsJson : [];\n })\n }\n\n onFileSelected(files) {\n this.attachmentsName = files[0].name;\n this.attachments = files[0];\n this.uploadedFile = true;\n this.trainingGroup.uploadAttachments(this.attachments,this.data.candidate.id).subscribe((e:any) => {\n this.attachmentStore = e;\n\n })\n }\n\n downloadFile(file){\n // this.testService.downloadFile(file.id, 'attach').subscribe((resp:any) => {\n // importedSaveAs(resp, `${file.resources.candidateAttachmentName}`);\n // })\n // const rrhh = environment.RRHH_URL;\n // const fileLink = file.substr(7);\n // const rrhhPublic = rrhh.substr(0, rrhh.length - 4);\n // window.open(rrhhPublic + 'storage/' + fileLink);\n }\n\n openComments(){\n const candidateComments = this.dialog.open ( CandidateCommentsComponent, {\n minWidth: '80%',\n disableClose: true,\n data: { candidateId: this.data.candidate.id, requestId: this.data.candidate.requestId }\n });\n candidateComments.afterClosed().subscribe( (params) => {\n });\n }\n\n}\n","\n

Proceso de Formación

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

Lista de comentarios

\n \n
\n
\n \n Tipo de Comentario\n \n \n {{type.name}}\n \n \n \n Tipo de retiro\n \n\n \n \n {{type.viewValue}}\n \n \n \n \n \n \n Estados del comentario\n \n \n {{type.name}}\n \n \n\n \n Comentario\n \n \n\n
\n \n \n
\n\n
\n \n
\n

No hay comentarios creados relacionados a este candidato

\n \n \n
\n
{{row.typeComment}}
\n\n

\n {{row.comment}}
\n Creado  {{row.createdAt | date:'dd/MM/yyyy'}}\n

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

Lista de Evaluaciones

\n \n
\n\n
\n\n \n Tipo de Evaluación\n \n \n\n \n Evaluación\n \n \n \n Prueba Realizada\n \n \n\n \n\n \n\n\n
\n \n \n\n
\n\n
\n \n
\n

No hay evaluaciones creadas relacionados a este candidato

\n \n
\n\n
{{row.typeEvaluation}}
\n
{{row.evaluation}}
\n {{row.attachmentName}}
\n Creado\n {{row.createdAt | date:'dd/MM/yyyy'}}\n
\n
\n \n
\n \n
\n
\n\n
\n\n
\n
\n
\n
\n\n \n \n\n","import { Inject } from '@angular/core';\nimport { Component, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { ProfileService } from 'src/app/modules/ciu/services/rest/profile.service';\nimport Swal from 'sweetalert2';\nimport {Router} from '@angular/router';\n\n\n@Component({\n selector: 'app-forgot-change-password',\n templateUrl: './forgot-change-password.component.html',\n styleUrls: ['./forgot-change-password.component.sass']\n})\nexport class ForgotChangePasswordComponent implements OnInit {\n passForm: FormGroup;\n hide: boolean = true;\n hideDos: boolean = true;\n hideTres: boolean = true;\n id : any;\n\n constructor(\n public authService: AuthService,\n private profileService: ProfileService,\n private snack: MatSnackBar,\n private destroyService: DestroyComponentService,\n private route: ActivatedRoute,\n private router: Router) { }\n\n ngOnInit(): void {\n this.route.params.subscribe( params => this.id = params['id']);\n this.formControl();\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-05-19\n * Metodo que regula las validaciones de cada campo del formulario de cambio de contraseña\n */\n formControl(): void{\n\n this.passForm = new FormGroup({\n nueva: new FormControl('', [this.passwordValidate(),Validators.required,Validators.maxLength(15),Validators.minLength(5)]),\n confirma: new FormControl('', [this.passwordValidate(),Validators.required,Validators.maxLength(15),Validators.minLength(5), this.matchValues('nueva')])\n });\n\n }\n\n get error(): any { return this.passForm.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que se encarga de las diferentes validaciones de los campos contraseña\n * @returns control de error\n */\n passwordValidate(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (!/[A-Z]/.test(control.value)) {\n return { hasCapitalCase: { value: control.value } };\n }\n else if (!/[a-z]/.test(control.value)) {\n return { hasSmallCase: { value: control.value } };\n }\n else if (!/[!@#$%^&*()_+=[{};':\"|,.<>/?/{};':\"|,.<>/?-]/.test(control.value)) {\n return { hasSpecialCharacters: { value: control.value } };\n }\n else if (!/\\d/.test(control.value)) {\n return { hasNumber: { value: control.value } };\n }\n return null;\n };\n }\n\n/**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que se encarga de verificar si la contraseña nueva y el campo de validacion son iguales\n * @param matchTo contraseña en el campo de validacion\n * @returns control de error\n */\n matchValues( matchTo: string ): (AbstractControl) => ValidationErrors | null {\n return (control: AbstractControl): ValidationErrors | null => {\n return !!control.parent &&\n !!control.parent.value &&\n control.value === control.parent.controls[matchTo].value\n ? null\n : { isMatching: false };\n };\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que se encarga de omitir algunos caracteres en el campo de contraseña\n * @param event valor a evaluar\n * @returns boolean\n */\n omitSpecialChar(event): any{\n let k;\n k = event.charCode;\n return((k > 32 && k < 126));\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-12-10\n * Metodo que se encarga de realizar el cambio de la contraseña\n */\n changePass(): void{\n\n const formData = new FormData();\n\n formData.append( 'token' , this.id);\n formData.append( 'new_password' , this.passForm.value.confirma);\n\n this.authService.changePasswordAuth(formData).subscribe((resp) => {\n\n if (resp?.data === 'OK' || resp?.data?.ciu === \"OK\") {\n Swal.fire({\n html: `Tu contraseña se ha cambiado con éxito`,\n icon: 'success',\n confirmButtonText: 'Aceptar'\n }).then(() => {\n this.router.navigateByUrl('/login');\n });\n } else if(resp?.error_code == 401 || resp?.error_code == 403)\n {\n Swal.fire({\n html: `${resp.error}`,\n icon: 'error',\n confirmButtonText: 'Aceptar'\n });\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","
\n
\n \"\"\n
\n\n\n \n\n \n
\n
\n\n
\n \n

Estás a un paso

\n

A continuación, ingresa tu nueva contraseña

\n
\n \n Contraseña nueva\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 5 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 15 caracteres\n Su contraseña debe tener un número\n Su contraseña debe tener una mayuscula\n Su contraseña debe tener una minuscula\n Su contraseña debe tener un caracter especial\n Su nueva contraseña no puede ser igual a la actual\n \n {{hideDos ? 'visibility' : 'visibility_off'}}\n \n \n
\n
\n \n Confirma la contraseña nueva\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 5 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 15 caracteres\n Su contraseña debe tener un número\n Su contraseña debe tener una mayuscula\n Su contraseña debe tener una minuscula\n Su contraseña debe tener un caracter especial\n Su contraseña no es igual a la ingresada previamente\n \n {{hideTres ? 'visibility' : 'visibility_off'}}\n \n \n
\n\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { throwError, Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { catchError } from 'rxjs/operators';\n\nconst MAIL_URL = environment.MAIL_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MailService {\n\n constructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n getCola(size: number, page: number): Observable{\n return this.http.get(`${MAIL_URL}correos-en-cola?&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getHistoricos(size: number, page: number): Observable{\n return this.http.get(`${MAIL_URL}correos-historicos?&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getActivos(size: number, page: number): Observable{\n return this.http.get(`${MAIL_URL}mis-correos?&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getEnviados(size: number, page: number): Observable{\n return this.http.get(`${MAIL_URL}correos-respuestas?&n=` + size + `&page=` + page)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n Busqueda(size: number, page: number, form: FormData): Observable{\n return this.http.post(`${MAIL_URL}avanzada?&n=` + size + `&page=` + page, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n Actualizar(form: FormData): Observable{\n return this.http.post(`${MAIL_URL}recibecorreo`, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n Asignar(form: FormData): Observable{\n return this.http.post(`${MAIL_URL}autoasignar-email`, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n devolverBandeja(form: FormData): Observable{\n return this.http.post(`${MAIL_URL}devolver-bandeja`, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n VolverHistorico(form: FormData): Observable{\n return this.http.post(`${MAIL_URL}volver-historico`, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n VolverCola(form: FormData): Observable{\n return this.http.post(`${MAIL_URL}volver-cola`, form)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n postCargarArchivos(params: FormData): Observable {\n return this.http.post(`${MAIL_URL}cargar-adjuntos`, params)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n postCuentaEmailConfig(): Observable {\n return this.http.get(`${MAIL_URL}cuenta-email-config`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n postCorreoNuevo(params: FormData): Observable {\n return this.http.post(`${MAIL_URL}nuevo-correo`, params)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n postresponderCorreo(params: FormData): Observable {\n return this.http.post(`${MAIL_URL}responder-correo`, params)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n postObtenerCorreo(params: FormData): Observable {\n return this.http.post(`${MAIL_URL}obtener-correo`, params)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n download(params: FormData){\n return this.http.post(`${MAIL_URL}descargar-adjuntos`, params, {responseType: 'blob'});\n }\n\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { SolicitudModel } from 'src/app/modules/coaching/core/interfaces/solicitud.interface';\nimport { CoachingState } from 'src/app/modules/coaching/state/coaching.state';\nimport { solicitudSelect } from 'src/app/modules/coaching/state/selectors/solicitud.selector';\n\n@Component({\n selector: 'app-info-solicitud',\n templateUrl: './info-solicitud.component.html',\n styleUrls: ['./info-solicitud.component.sass']\n})\nexport class InfoSolicitudComponent implements OnInit {\n solicitud$:Observable = new Observable();\n solicitud:SolicitudModel;\n hiddenItems:boolean=true;\n constructor(\n private store:Store\n ) { }\n\n ngOnInit(): void {\n this.solicitud$ = this.store.select(solicitudSelect);\n this.solicitud$.forEach(element => {\n if (element) {\n this.solicitud = element[0];\n if(this.solicitud.acompanamiento.tipo_proceso.nombre.toLowerCase().includes(\"felicitac\")){\n this.hiddenItems= false;\n }\n }\n });\n }\n\n}\n","

Información solicitud

\n\n
\n \n
Cédula
\n
{{ solicitud ? solicitud.acompanamiento.cedulaCoaching:'' }}
\n
\n \n
Nombre del Coachee
\n
{{ solicitud ? solicitud.acompanamiento.nombreCoaching :'' }}
\n
\n \n
Campaña
\n
{{ solicitud.campaign.name | uppercase }}
\n
\n\n
\n
\n
\n \n
Fecha coaching
\n
{{ solicitud ? (solicitud.acompanamiento.created_at | date:'dd-MM-yyyy'):''}}
\n
\n \n
Indicador a trabajar
\n
{{ solicitud ? solicitud.acompanamiento.indicadores.nombre:'' }}
\n
\n \n
Indicador inicial
\n
{{ solicitud ? (solicitud.acompanamiento.indicadorInicial | number:'1.0-3'):'' }}
\n
\n
\n
\n \n
Cuartil inicial
\n
{{ solicitud ? solicitud.acompanamiento.cuartil_inicial.nombre:'' }}
\n
\n \n
Próximo seguimiento
\n
{{ solicitud ? solicitud.acompanamiento.proximoSeguimiento:'' }}
\n
\n \n
Objetivo planteado
\n
{{ solicitud && solicitud.acompanamiento.objetivoPlanteado !=null ? (solicitud.acompanamiento.objetivoPlanteado|number:'1.0-3'):solicitud ?(solicitud.acompanamiento.objetivoKPI |number:'1.0-3'):'' }}
\n
\n
\n
\n \n
Causa raíz
\n
{{ solicitud && solicitud.acompanamiento.causas_raiz ? solicitud.acompanamiento.causas_raiz.nombre:'' }}
\n
\n \n
Seguimiento
\n
{{ solicitud ? (solicitud.acompanamiento.objetivoKPI | number:'1.0-3'):'' }}
\n
\n \n
Cumple compromiso?
\n
{{ solicitud ? solicitud.acompanamiento.cumple_compromisos.nombre:'' }}
\n
\n \n
Tipo de proceso
\n
{{ solicitud ? solicitud.acompanamiento.tipo_proceso.nombre:'' }}
\n
\n
\n
\n \n
Presenta evolución
\n
{{ solicitud ? solicitud.acompanamiento.presenta_evolucions.nombre:'' }}
\n
\n \n
Tipo de proceso
\n
{{ solicitud ? solicitud.acompanamiento.tipo_proceso.nombre:'' }}
\n
\n
\n
\n ","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport * as moment from 'moment';\nimport { AuditoriaService } from 'src/app/modules/calidad/services/auditoria.service';\nimport { PusherService } from 'src/app/modules/crm/services/pusher.service';\nimport { DetalleRetroalimentacionComponent } from '../retroalimentar/components/detalle-retroalimentacion/detalle-retroalimentacion.component';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-tabla-auditado',\n templateUrl: './tabla-auditado.component.html',\n styleUrls: ['./tabla-auditado.component.sass']\n})\nexport class TablaAuditadoComponent implements OnInit {\n private uuid = '5ede9452-9204-11ee-b9d1-0242ac120002';\n public config: any;\n\n dataSource = [];\n displayedColumns:string[] = ['ac','id','campania','fecha_auditoria','nombre_matriz','auditor','calificacion','gestion'];\n\n filtroFecha = new FormGroup({\n fechaInicial: new FormControl(),\n fechaFinal: new FormControl(),\n });\n\n filtroGestion;\n\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions = [5,10,25,50,100];\n @ViewChild(MatPaginator) paginator:MatPaginator;\n campania:string = '';\n\n constructor(\n private dialog:MatDialog,\n private auditoriaService:AuditoriaService,\n private pusher:PusherService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.getAuditoriasByAsesor(this.page,this.pageSize);\n this.pusher.getNotificationsGlobal().bind('notification',()=>{\n this.getAuditoriasByAsesor(this.page,this.pageSize);\n });\n }\n\n getAuditoriasByAsesor(page,pageSize){\n const params = {\n fechaInicial: '',\n fechaFinal: '',\n retroalimentacion: '',\n numeroReg: pageSize,\n page: page,\n };\n if (this.filtroFecha.get('fechaInicial').value != null) {\n params.fechaInicial = moment(this.filtroFecha.get('fechaInicial').value).format('yyyy-MM-DD');\n }\n if (this.filtroFecha.get('fechaFinal').value != null) {\n params.fechaFinal = moment(this.filtroFecha.get('fechaFinal').value).format('yyyy-MM-DD');\n }\n\n if (this.filtroGestion != '') {\n params.retroalimentacion = this.filtroGestion;\n }\n\n this.auditoriaService.getAuditoriasByAsesor(params).subscribe((resp:any)=>{\n this.dataSource = resp.data;\n this.length = resp.total;\n });\n }\n\n pageEvent(event:any){\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getAuditoriasByAsesor(this.page,this.pageSize);\n }\n\n detailRetroAlimentacion(id){\n const retroalimentacionRef = this.dialog.open(DetalleRetroalimentacionComponent,{\n width:'1056px',\n disableClose:true,\n data: id,\n });\n retroalimentacionRef.afterClosed().subscribe(()=>{\n\n });\n }\n\n filtroFechas(){\n if (this.filtroFecha.get('fechaInicial').value != null && this.filtroFecha.get('fechaFinal').value != null) {\n this.filtro();\n }\n }\n\n filtro(){\n this.paginator.firstPage();\n this.getAuditoriasByAsesor(this.page,this.pageSize);\n }\n\n get campaign(){\n let campaignMatriz;\n this.dataSource.forEach(element => {\n campaignMatriz = element.campaing;\n if (campaignMatriz.length == 0) {\n return false;\n }else{\n return true;\n }\n });\n this.campania = campaignMatriz.name;\n return true;\n }\n\n}\n","
\n
\n \n {{config.auditoria.fecha}}\n \n \n \n \n \n \n \n \n \n \n {{config.auditoria.filtrarPorAuditoria}}\n \n -------\n {{config.auditoria.retroalimentada}}\n {{config.auditoria.sinRetroalimentacion}}\n \n \n
\n
\n \n\n \n \n
\n
\n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n
\n \n ID{{config.auditoria.id}} {{ element.id}}{{config.auditoria.campanha}}{{config.auditoria.nombreCampanha}} {{ element.campaing.name ? element.campaing.name: config.auditoria.ninguna}}{{config.auditoria.fechaAuditoria}}{{ element.fecha | date:'dd/MM/yyyy' }}{{config.auditoria.nombreMatriz}}{{ element.nombre_matriz }}{{config.auditoria.auditadoPor}}{{ element.auditor }}{{config.auditoria.calificacion}}{{ element.calidicacion | number:'1.0-3'}}{{config.auditoria.gestion}}{{ element.gestion }}
{{config.auditoria.noRegistros}}
\n\n \n \n
\n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { PreguntasService } from 'src/app/modules/calidad/services/preguntas.service';\nimport Swal from 'sweetalert2';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-crear-pregunta',\n templateUrl: './crear-pregunta.component.html',\n styleUrls: ['./crear-pregunta.component.sass']\n})\nexport class CrearPreguntaComponent implements OnInit {\n private uuid = 'b8d92fda-8fb1-11ee-b9d1-0242ac120002';\n public config: any;\n\n // Formulario para la creación de preguntas\n questionForm: FormGroup;\n constructor(\n private fb:FormBuilder,\n public questionRef:MatDialogRef,@Inject(MAT_DIALOG_DATA) public datos:any,\n private preguntaService:PreguntasService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.createForm();\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n createForm(){\n this.questionForm = this.fb.group({\n question_type_id: ['',Validators.required],\n question: ['',Validators.required],\n question_type_item_id: [''],\n multiple: this.fb.array([this.fb.group({\n opcion: ''\n }),\n this.fb.group({\n opcion: ''\n })\n ]),\n requerida: [false],\n })\n\n }\n\n changeSelect(){\n if (this.questionForm.get('question_type_id').value == 3) {\n this.questionForm.get('question_type_item_id').setValidators(Validators.required);\n }else{\n this.questionForm.get('question_type_item_id').setValidators(null);\n }\n }\n\n /**\n * @author Cristian Gallo\n * Observador para las opciones para preguntas de selección multiple,\n * el cual retonar todas las opciones que hayan\n */\n get getOptions(){\n return this.questionForm.get('multiple') as FormArray;\n }\n\n /**\n * @author Cristian Gallo\n * Función para guardar una nueva pregunta\n */\n save() {\n this.questionForm.addControl('other_answer', new FormControl(0))\n if (this.questionForm.invalid) {\n return;\n }\n this.preguntaService.saveQuestion(this.questionForm.value).subscribe((resp: any) => {\n if (resp.respuesta.codigo >= 400) {\n Swal.fire({\n icon: 'error',\n title: this.config.confirm.errorTitle,\n text: this.config.confirm.errorText,\n showConfirmButton: false,\n timer: 2500\n });\n return;\n }\n Swal.fire({\n icon: 'success',\n title: this.config.confirm.successTitle,\n text: this.config.confirm.successText,\n showConfirmButton: false,\n timer: 2500\n });\n this.questionRef.close();\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función para agregar una nueva opción\n */\n addOption(){\n const option = this.questionForm.controls['multiple'];\n option.push(this.fb.group({\n opcion: [''],\n }));\n }\n\n /**\n * @author Cristian Gallo\n * Función para retirar una opción\n */\n removeOption(item: number) {\n const option = this.questionForm.controls['multiple'];\n option.removeAt(item);\n }\n\n}\n","\n
\n

{{ config.title }}

\n \n \n {{ config.questionType }}\n \n {{tipo.name}}\n \n {{ config.rules.option }} \n \n \n {{config.question}}\n \n {{config.rules.question}}\n \n
\n
\n
\n \n {{config.list.option}} {{i+1}}\n \n 1\" (click)=\"removeOption(i)\">\n \n
\n
\n \n
\n
\n \n \n {{config.lineal.scale}} {{opcion.name}}\n \n \n \n {{config.rules.scale}}\n \n
\n
\n
\n
\n \n {{config.list.option}} {{i+1}}\n \n 1\" (click)=\"removeOption(i)\">\n \n
\n
\n \n
\n {{config.mandatoryQuestion}}\n
\n \n \n
\n
\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MedicaltestService } from '../../../services/medicaltest.service';\n\n@Component({\n selector: 'app-medical-test-import',\n templateUrl: './medical-test-import.component.html',\n styleUrls: ['./medical-test-import.component.sass']\n})\nexport class MedicalTestImportComponent implements OnInit {\n\n private uploadFile;\n @ViewChild('fileInput') myInputVariable: ElementRef;\n nameFile: any;\n FileData: any;\n constructor(\n private formBuilder: FormBuilder,\n private medicalTestServices:MedicaltestService,\n private alert: AlertsService,\n public dialogRef: MatDialogRef\n ) { }\n\n ngOnInit() {\n this.uploadFile = this.formBuilder.group({\n file: ['']\n });\n }\n\n /**\n * @author David Reinoso\n * Metodo para descargar plantilla \n */\n downloadTemplate(){\n this.medicalTestServices.downloadTemplateMedicalTest().subscribe(resp => {\n importedSaveAs(resp, 'plantilla_de_asignacion_masiva_de_examenes_medicos.xlsx');\n });\n }\n\n /**\n * @author David Reinoso\n * Metodo para cargar el archivo \n */\n onChangeFile(e) {\n this.uploadFile.get('file').setValue('');\n this.nameFile = e.target.files[0].name;\n this.FileData = e.target.files[0];\n this.uploadFile.get('file').setValue(this.FileData);\n this.uploadData();\n this.myInputVariable.nativeElement.value = \"\";\n }\n\n uploadData(){\n const formData = new FormData();\n formData.append('file', this.uploadFile.get('file').value);\n formData.append('nameFile', this.nameFile);\n \n this.medicalTestServices.uploadMedicalTest(formData).subscribe( (resp:any) => {\n if (resp?.errors) {\n let message = '';\n let titleErros = '';\n for (let i = 0; i < resp?.errors.length; i++) {\n if (resp?.errors[i] != 'El archivo seleccionado no cuenta con la estructura necesaria.') titleErros = 'Cédulas con errores:';\n message += '

' + resp?.errors[i] + '

\\n';\n }\n\n this.alert.alertError('¡Oops!', ``\n + 'Lo sentimos, ha ocurrido un error inesperado y no' + '\\n'\n + 'fue posible completar la acción, inténtalo nuevamente.' + '\\n'\n + '\\n' + '

' + titleErros + '\\n'\n + '\\n' + '
' + message + '
' + '\\n'\n + '\\n'\n ); \n }else{\n this.alert.alertSuccess(\"Excelente\",\"Proceso realizado correctamente\")\n this.dialogRef.close('');\n }\n \n });\n }\n\n}\n","\n
\n \n
\n
\n

Asignación masiva de exámenes médicos

\n
\n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n
\n\n
\n \n
\n\n
\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MatOption } from '@angular/material/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSelect } from '@angular/material/select';\nimport { ControlService } from 'src/app/modules/calidad/services/control.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport {TranslatesService} from '../../../../services/translates.service';\n\n@Component({\n selector: 'app-agregar-agente',\n templateUrl: './agregar-agente.component.html',\n styleUrls: ['./agregar-agente.component.sass']\n})\nexport class AgregarAgenteComponent implements OnInit {\n private uuid = 'b46ef9b8-92bb-11ee-b9d1-0242ac120003';\n public config: any;\n\n agentes = [];\n listAgentes = [];\n seleccion = [];\n selectable = false;\n removable = true;\n\n filtroCedula:string = '';\n @ViewChild('matSeleccion') matSeleccion:MatSelect;\n constructor(\n private controlService:ControlService,\n @Inject(MAT_DIALOG_DATA) public datos:any,\n private agenteRef:MatDialogRef,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.getListAgentes();\n }\n\n getListAgentes(){\n this.listAgentes = [];\n const params = {\n idGrupo: this.datos.idGrupo,\n cedula:''\n }\n if (this.filtroCedula != '' && this.filtroCedula != null) {\n params.cedula = this.filtroCedula;\n }\n this.controlService.getAsesores(params).subscribe((resp:any)=>{\n if (this.filtroCedula != '' && this.filtroCedula != null) {\n this.listAgentes.push(resp);\n }else if (this.datos.agentes.length == 0 ) {\n this.listAgentes = resp;\n }else{\n this.listAgentes = resp;\n this.datos.agentes.forEach(agenteExistente => {\n this.listAgentes.forEach((agente,index) => {\n if (agenteExistente.usuario_id == agente.id) {\n this.listAgentes.splice(index,1);\n }\n });\n });\n }\n });\n }\n\n closeDialog(){\n this.agenteRef.close();\n }\n\n addAsesor(){\n const data = {\n idGrupo: this.datos.idGrupo,\n data: this.seleccion.map(agente=>{\n return {id_asesor: agente.id,nombre_asesor:agente.nombre,cedula_asesor:agente.cedula}\n }),\n }\n let mensaje:string = '';\n if (data.data.length == 1) {\n mensaje = this.config.modal.addAsesor;\n }else if (data.data.length > 1) {\n mensaje = this.config.modal.addAsesors;\n }\n this.controlService.addAsesor(data).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Tools.swalSuccess(this.config.modal.excellent ,mensaje);\n this.closeDialog();\n }\n if (resp.respuesta.codigo != 202) {\n Tools.swalError('¡Oops!', this.config.modal.addAsesorError)\n }\n });\n }\n\n findById(){\n this.getListAgentes()\n }\n}\n","\n
\n

{{config.addAgent}}

\n \n
\n \n {{config.agentName}}\n \n {{agente.nombre}}\n \n \n \n {{config.idNumber}}\n \n \n \n
\n
\n \n \n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { EscalationService } from '../../../services/rest/escalation.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\n\n@Component({\n selector: 'app-create-affair',\n templateUrl: './create-affair.component.html',\n styleUrls: ['./create-affair.component.sass']\n})\nexport class CreateAffairComponent implements OnInit {\n\n rolAsunto: FormGroup;\n areas: any;\n jefes: any;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public escalationService: EscalationService,\n private alertsService: AlertsService,\n private destroyService: DestroyComponentService) { }\n\n ngOnInit(): void {\n\n this.escalationService.getArea().subscribe((resp) => {\n this.areas = resp;\n });\n\n this.formControl();\n this.setEdit();\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de crear los controles del formulario\n */\n formControl(): void{\n\n this.rolAsunto = new FormGroup({\n nombre: new FormControl('', [Validators.required]),\n area: new FormControl('', [Validators.required]),\n jefeDirecto: new FormControl('', [Validators.required]),\n jefeInmediato: new FormControl('', Validators.required),\n horaJefeDirecto: new FormControl('', [Validators.required]),\n horaJefeInmediato: new FormControl('', [Validators.required]),\n prioridadAlta: new FormControl('', [Validators.required]),\n prioridadMedia: new FormControl('', [Validators.required]),\n prioridadBaja: new FormControl('', [Validators.required]),\n descripcion: new FormControl('', [Validators.required]),\n });\n\n }\n\n get error(): any { return this.rolAsunto.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Trae los jefes dependiendo del area\n * @param id id del area\n */\n jefeByArea(id: any): void {\n this.escalationService.getSupervisorByArea(id).subscribe((resp) => {\n this.jefes = resp;\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que guarda un asunto\n * @param rolAsunto asunto a guardar\n */\n saveAsunto(rolAsunto: any): void {\n\n if (this.data.type === 'crear'){\n const asunto = {\n name: rolAsunto.value.nombre,\n description: rolAsunto.value.descripcion,\n area_id: rolAsunto.value.area,\n jefe1_id: rolAsunto.value.jefeDirecto,\n jefe2_id: rolAsunto.value.jefeInmediato,\n tiempo_jefe1: rolAsunto.value.horaJefeDirecto,\n tiempo_jefe2: rolAsunto.value.horaJefeInmediato,\n alta: rolAsunto.value.prioridadAlta,\n media: rolAsunto.value.prioridadMedia,\n baja: rolAsunto.value.prioridadBaja\n };\n\n this.escalationService.postAsunto(asunto).subscribe((resp) => {\n this.alertsService.alertSuccess('Guardado', resp.data);\n });\n } else if (this.data.type === 'editar'){\n this.editAsunto(rolAsunto);\n }\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que en caso que el modal sea de edicion setea los campos\n */\n setEdit(): void {\n if (this.data.type === 'editar') {\n\n this.jefeByArea(this.data.data.area_id);\n\n this.rolAsunto.controls.nombre.setValue(this.data.data.name);\n this.rolAsunto.controls.descripcion.setValue(this.data.data.description);\n this.rolAsunto.controls.area.setValue(this.data.data.area_id);\n this.rolAsunto.controls.jefeDirecto.setValue(this.data.data.jefe1_id);\n this.rolAsunto.controls.jefeInmediato.setValue(this.data.data.jefe2_id);\n this.rolAsunto.controls.horaJefeDirecto.setValue(this.data.data.tiempo_jefe1);\n this.rolAsunto.controls.horaJefeInmediato.setValue(this.data.data.tiempo_jefe2);\n this.rolAsunto.controls.prioridadAlta.setValue(this.data.data.alta);\n this.rolAsunto.controls.prioridadMedia.setValue(this.data.data.media);\n this.rolAsunto.controls.prioridadBaja.setValue(this.data.data.baja);\n\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de la edicion de un registro\n * @param rolAsunto registro a editar\n */\n editAsunto(rolAsunto): void{\n\n const asunto = {\n name: rolAsunto.value.nombre,\n description: rolAsunto.value.descripcion,\n area_id: rolAsunto.value.area,\n jefe1_id: rolAsunto.value.jefeDirecto,\n jefe2_id: rolAsunto.value.jefeInmediato,\n tiempo_jefe1: rolAsunto.value.horaJefeDirecto,\n tiempo_jefe2: rolAsunto.value.horaJefeInmediato,\n alta: rolAsunto.value.prioridadAlta,\n media: rolAsunto.value.prioridadMedia,\n baja: rolAsunto.value.prioridadBaja\n };\n\n this.escalationService.postEditAsunto(this.data.data.id, asunto).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', resp.data);\n });\n\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","

{{data.title}}\n \n

\n\n
\n\n\n\n \n Nombre\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Área\n \n {{area.name}}\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Jefe Directo\n \n {{jefe.name}}\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Jefe Inmediato\n \n {{jefe.name}}\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Hora Jefe Directo\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Hora Jefe inmediato\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Prioridad Alta\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Prioridad Media\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Prioridad Baja\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Descripción\n \n ¡Advertencia! Este campo es requerido\n \n \n\n\n\n \n \n\n\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { SPEECH_URL } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RequestService {\n constructor(private httpClient: HttpClient) { }\n\n /**\n * Metodo que retorna los errores generados por HTTP. \n * @author Yeison Sepulveda\n * @createdate 2024-02-19\n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n \n /**\n * Metodo que crea la peticion de analisis\n * @author Yeison Sepulveda\n * @createdate 2024-02-19\n * @param request Informacion de los registros a analizar.\n */\n newRequestAnalytics(request: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}request/`, request).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que reprocesa el audio para nuevo analisis\n * @author Yeison Sepulveda\n * @createdate 2024-02-19\n * @param request Informacion de los registros a analizar.\n */\n duplicateUpdateAnalytics(request: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}initialRequest/duplicateUpdate`, request).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo trae el audio del backend poara su reproduccion\n * @author Yeison Sepulveda\n * @createdate 2024-02-19\n * @param recordingId Id de la grabacion\n */\n getAudioUrl(recordingId: number): string {\n return `${SPEECH_URL}audio/${recordingId}`;\n }\n\n}","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport * as moment from 'moment';\nimport { MatrizService } from '../../services/matriz.service';\nimport { ReportsService } from '../../services/reports.service';\nimport { Tools } from '../../utils/tools.utils';\nimport {TranslatesService} from '../../services/translates.service';\n\n@Component({\n selector: 'app-reporteria',\n templateUrl: './reporteria.component.html',\n styleUrls: ['./reporteria.component.sass']\n})\nexport class ReporteriaComponent implements OnInit {\n private uuid = '8f87d0e0-92d3-11ee-b9d1-0242ac120007';\n public config: any;\n\n //Filtros\n filtroTipo_matriz:string = '';\n filtroFecha = new FormGroup({\n fechaInicial: new FormControl(),\n fechaFinal: new FormControl(),\n });\n filtroNombre:string = '';\n\n\n tiposMatrices = [];\n\n constructor(\n private matrizService:MatrizService,\n private reporService:ReportsService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.getTypeMatrix();\n }\n\n filtroFechas(){\n if (this.filtroFecha.get('fechaInicial').value != null && this.filtroFecha.get('fechaFinal').value != null) {\n this.filtrar();\n }\n }\n\n filtrar(){\n\n }\n\n getReportGeneral(){\n const params = {\n fechaInicial: '',\n fechaFinal: '',\n tipoMatriz: '',\n nombre: '',\n }\n\n if (this.filtroNombre != '') {\n params.nombre = this.filtroNombre;\n }\n\n if (this.filtroFecha.get('fechaInicial').value != '' && this.filtroFecha.get('fechaInicial').value != null) {\n params.fechaInicial = moment(this.filtroFecha.get('fechaInicial').value).format('yyyy-MM-DD');\n }\n if (this.filtroFecha.get('fechaFinal').value != '' && this.filtroFecha.get('fechaFinal').value != null) {\n params.fechaFinal = moment(this.filtroFecha.get('fechaFinal').value).format('yyyy-MM-DD');\n }\n\n if (this.filtroTipo_matriz != '') {\n params.tipoMatriz = this.filtroTipo_matriz;\n }\n\n this.reporService.getReportGeneral(params).subscribe((resp:any)=>{\n Tools.downloadFile(resp,'General_'+moment(new Date).format('DD_MM_yyy_hh_mm_ss'));\n });\n\n }\n\n getTypeMatrix(){\n this.matrizService.getTypeMatrix().subscribe((resp:any)=>{\n this.tiposMatrices = resp;\n })\n}\n\n}\n","
\n\n
\n\n

{{ config.labels.reporting }}

\n
\n

{{ config.labels.reportingDescription }}

\n

{{ config.labels.reportingKeyMessage }}

\n
\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ActivatedRoute } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map, startWith, filter } from 'rxjs/operators';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { GroupsService } from 'src/app/modules/crm/services/rest/groups.service';\nimport { AdminGroupsComponent } from '../admin-groups/admin-groups.component';\n\n@Component({\n selector: 'app-groups-list',\n templateUrl: './groups-list.component.html',\n styleUrls: ['./groups-list.component.sass']\n})\nexport class GroupsListComponent implements OnInit {\n groupsLists: any[];\n campaingId: string;\n public campaingName: string = '';\n dataSource: any;\n filteredOptions: Observable;\n Form: FormGroup;\n permit: any;\n\n constructor(\n public group: GroupsService, \n private route: ActivatedRoute, \n public dialog: MatDialog,\n private authService: AuthService\n ) { }\n\n ngOnInit(): void {\n this.Form = new FormGroup({\n search: new FormControl('', [])\n });\n this.campaingId = this.route.snapshot.queryParamMap.get('id');\n this.campaingName = this.route.snapshot.queryParamMap.get('name');\n this.permit = this.authService.getUser().permissions.crm.groups;\n /* if(this.permit.all == 1){\n this.group.getGroups('groupslist',this.campaingId).subscribe(res=>{\n this.groupsLists =res; \n this.groupsLists.map(data =>{\n if (data.state == 1) {\n data['status'] = true;\n } else {\n data['status'] = false; \n }\n });\n \n this.filteredOptions = this.Form.get('search').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name_group),\n map(groups => groups ? this._filter(groups) : this.groupsLists.slice())\n );\n });\n }else{ */\n let user = this.authService.getUser();\n let userID = user.rrhh_id;\n this.group.getGroupsByUser('groupsbyuser/', userID).subscribe(res=>{\n this.groupsLists =res.groups; \n this.groupsLists.map(data =>{\n if (data.state == 1) {\n data['status'] = true;\n } else {\n data['status'] = false; \n }\n });\n \n this.filteredOptions = this.Form.get('search').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name_group),\n map(groups => groups ? this._filter(groups) : this.groupsLists.slice())\n );\n });\n \n /* } */ \n\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-03\n * Metodo filtro busqueda\n */\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n \n return this.groupsLists.filter(option => option.name_group.toLowerCase().indexOf(filterValue.toLocaleLowerCase()) > -1);\n }\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-03\n * Metodo cambiar estado del grupo\n */\n changeStatus(id,state){\n if (state == 1) {\n state = 0;\n } else {\n state = 1;\n }\n let data={\n state: state\n }\n this.group.putState(id, data).subscribe(res => {\n this.ngOnInit();\n });\n }\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-03\n * Metodo abrir modal de crear grupo\n */\n newgroup(): void{\n const dialogNewgroup = this.dialog.open(AdminGroupsComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear grupo',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n\n }\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-03\n * Metodo abrir modal de editar grupo\n */\n editgroup(group: any): void{\n const dialogNewgroup = this.dialog.open(AdminGroupsComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar Grupo',\n group\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n\n}\n","
\n
\n
\n
\n

Grupos

\n

Grupos de {{campaingName}}

\n

En este espacio podrás ver todos los grupos
que tienes creados

\n
\n
\n
\n \n Buscar grupo\n \n \n \n
\n
\n \n
\n
\n
\n\n
\n \n \n \n \n \n
\n \n \n {{list?.name_group}}\n \n {{list?.description}}\n \n \n
\n\n
\n
\n\n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MaterialModule } from 'src/app/shared/material/material.module';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { SoulBiComponent } from './soul_bi.component';\nimport { SoulBiRoutingModule } from './soul_bi-routing.module';\nimport { ConfigurationComponent } from './modules/configuration/configuration.component';\nimport { EditConfigurationComponent } from './modules/edit-configuration/edit-configuration.component';\nimport { ShowReportComponent } from './modules/show-report/show-report.component';\nimport { IndexComponent } from './modules/index/index.component';\n\n\n\n@NgModule({\n declarations: [\n SoulBiComponent,\n ConfigurationComponent,\n EditConfigurationComponent,\n ShowReportComponent,\n IndexComponent\n ],\n imports: [\n CommonModule,\n SoulBiRoutingModule,\n MaterialModule,\n SharedModule,\n ]\n})\nexport class SoulBiModule { }\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { AssingUserService } from '../assing-user.service';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { inject } from '@angular/core/testing';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-assing-user',\n templateUrl: './assing-user.component.html',\n styleUrls: ['./assing-user.component.sass']\n})\nexport class AssingUserComponent implements OnInit {\n\n /**\n * Data debe contenter { role : '' }\n */\n usersFound: any[]=[];\n documentId = new FormControl('',[Validators.required,Validators.minLength(2),Validators.maxLength(15)]); \n constructor(private fb:FormBuilder,\n private assingService:AssingUserService,\n private matDialogRef:MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private notification:AlertsService) { }\n\n ngOnInit(): void {\n\n\n }\n\n \n searchUser(){\n this.assingService.getUser( this.documentId.value).subscribe( (resp:any) => {\n this.usersFound = resp;\n })\n }\n\n selectUser(user){\n this.notification.alertConfirm(`¿Estas seguro que desea seleccionar al usuario ${user.name}?`).then( e => {\n if(e.isConfirmed){\n this.assingService.assingUserRole(user.id,this.data.role).subscribe( (userResp:any) => {\n this.matDialogRef.close({'user':userResp,'role':this.data.role});\n })\n }\n })\n }\n\n\n}\n\n\n /**\n * Pasos para ser usado.\n * Usar como cualquier componente.\n * Despues de seleccionar el usuario el mismo sera retornado al\n * compoenente padre al igual que el rol que requiere el usuario\n * es decir, si el rol es ([key]: formador) sera el rol que va a llevar\n * el usuario seleccionado.\n *\n * El mismo rol debe ser confirmado para asignar si es necesario\n * el endpoint sera el siguiente:\n *\n * assign/hired/user/{userId}/{role}\n *\n * Este endpoint es solo para validar y crear role la respuesta\n * seran los valores del hiredUser con candidate data\n *\n */\n","\n
\n\n

Buscar Colaborador

\n
\n
\n\n Documento de Identidad\n \n \n\n
0\">\n
\n\n

0\">Seleccione

\n \n \n {{user.name}}\n
\n \n \n {{chip}}\n \n \n
\n \n\n
\n \n
\n\n
","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\nimport { delay } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class PhoneService {\n\tprivate user;\n\tprivate server = environment.VICIDIAL_URL;\n\tprivate serverUrl = environment.SERVER_URL; // Nueva URL para las colas\n\n\tconstructor(\n\t\tprivate http: HttpClient,\n\t\tprivate authService: AuthService) {\n\t\tthis.user = this.authService.getUser();\n\t}\n\n\n\n\t/**\n\t * get user asterisk configs\n\t * @returns\n\t */\n\tgetUserConfigs(campaign: number) {\n\t\treturn this.http.get(`${this.server}v2/get-configs/${this.user.rrhh_id}/${campaign}`);\n\t}\n\n\t/**\n\t * get user asterisk configs\n\t * @returns\n\t */\n\tverifyExten(userExtension: string) {\n\t\treturn this.http.get(`${this.server}v2/user/verify_ext/${this.user.rrhh_id}/${userExtension}`);\n\t}\n\n\n\n\t/**\n\t * Drop active conection if exists\n\t * @returns\n\t */\n\tmarkFreeConn() {\n\t\treturn this.http.get(`${this.server}v2/mark-free/${this.user.rrhh_id}`);\n\t}\n\n\n\n\t/**\n\t * Add mute time to call\n\t * @param callId\n\t * @param time\n\t * @returns\n\t */\n\taddMuteTime(callId: string, time: number) {\n\t\treturn this.http.get(`${this.server}v2/call/muted_time/${callId}/${time}`);\n\t}\n\n\t/**\n\t * Add mute time to call\n\t * @param callId\n\t * @param time\n\t * @returns\n\t */\n\taddHoldTime(callId: string, time: number) {\n\t\treturn this.http.get(`${this.server}v2/call/hold_time/${callId}/${time}`);\n\t}\n\n\n\t/**\n\t * Cange the call state\n\t * @param callId\n\t * @param stateId\n\t * @returns\n\t */\n\tchangeCallState(callId: string, stateId: number) {\n\t\treturn this.http.get(`${this.server}v2/call/state/${callId}/${stateId}`);\n\n\t}\n\n\t/**\n\t * Mark call as ended\n\t * @param callId\n\t * @returns\n\t */\n\tendCall(callId: string, originator: string) {\n\t\treturn this.http.get(`${this.server}v2/call/end/${callId}/${originator}`);\n\t}\n\n\tsetUserToCall(userExtension: string, callId: string) {\n\t\treturn this.http.get(`${this.server}v2/call/user_by_ext/${userExtension}/${callId}`);\n\t}\n\n\t/**\n\t * Set conection start log\n\t * @param userId user id\n\t */\n\tconnetionLog(extension: string, campaignId: number) {\n\t\treturn this.http.get(`${this.server}v2/user/log-connection/${this.user.rrhh_id}/${campaignId}/CONNECT`);\n\t}\n\t/**\n\t * Set conection start log\n\t * @param userId user id\n\t */\n\tunConnetionLog(extension: string, campaignId: number) {\n\t\treturn this.http.get(`${this.server}v2/user/log-connection/${this.user.rrhh_id}/${campaignId}/UNCONNECT`);\n\t}\n\n\t/**\n\t * Se transfer log call\n\t * @param from\n\t * @param to\n\t * @param callId\n\t */\n\tlogTransferCall(data) {\n\t\treturn this.http.post(`${this.server}v2/call/log-transfer`, data);\n\t}\n\n\tsearchCall(phone) {\n\t\treturn this.http.get(`${this.server}v2/call/get-by-phone/${phone}`);\n\t}\n\n\tgetOperationTransfers() {\n\t\treturn this.http.get(`${this.server}v2/transfers/${this.user.rrhh_id}`);\n\t}\n\n\tgetOriginTransfer(callId) {\n\t\treturn this.http.get(`${this.server}v2/transfers/getOrigin/${callId}`);\n\t}\n\tgetSoundbar(rrhh_id: string) {\n\t\tconst url = `${this.server}v2/agente-soundbars/${rrhh_id}`;\n\t\treturn this.http.get(url);\n\t }\n\t addQueueMember(body: any) {\n\t\treturn this.http.post(`${this.serverUrl}/add`, body, {\n\t\t\theaders: new HttpHeaders({\n\t\t\t\t'Content-Type': 'application/json'\n\t\t\t})\n\t\t});\n\t}\n\t\n\tgetPaused() {\n\t\treturn this.http.get(`${this.server}v2/pausecodes-all`);\n\t}\n\tcreatePause(pauseData: any) {\n\t\treturn this.http.post(`${this.server}v2/create-pause`, pauseData);\n\t }\n\t updatePause(resumeData: any) {\n\t\treturn this.http.patch(`${this.server}v2/update-pause`, resumeData);\n\t}\n\t\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { PageEvent } from '@angular/material/paginator';\nimport { ContactGroupService } from '../../services/contact-group.service';\nimport { FormControl, Validators } from '@angular/forms';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { EmailService } from '../../services/email.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from \"../../constantes/keys-roles\";\nimport { MatSelectChange } from '@angular/material/select';\n\n@Component({\n selector: 'app-contact-group',\n templateUrl: './contact-group.component.html',\n styleUrls: ['./contact-group.component.css']\n})\nexport class ContactGroupComponent implements OnInit {\n dataContactGroup: any[] = [];\n configPaginator: any = { length: 0, pageIndex: 0, pageSize: 5 };\n filter: FormControl = new FormControl('', [Validators.maxLength(30)]);\n emailsConfig: any[] = [];\n filterSelect: number = 0;\n\n constructor(\n private matDialogRef: MatDialogRef,\n private contactGroupService: ContactGroupService,\n private authService: AuthService,\n private emailService: EmailService,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n ngOnInit(): void {\n this.getEmailsConfigByRol();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-02\n * Metodo que trae los grupos de contacto registrados en el sistema. \n */\n getContactGroup(): void {\n if (this.filterSelect !== 0) {\n this.contactGroupService.getContactGroups(this.configPaginator, this.filter.value, false, this.filterSelect).subscribe(res => {\n this.dataContactGroup = res.data.data;\n this.configPaginator.length = res.data.total;\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-07\n * Metodo que setea la propiedad filter.\n * @param $event Evento emitido por el campo de texto. \n */\n onChangeFilter($event: any): void {\n if (this.filter.valid) this.getContactGroup();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-02\n * Metodo que envia la lista de grupos de contacto seleccionados al componente padre.\n * @param $event Evento emitido por el componente hijo. \n */\n getGroupSelected($event: any): void {\n this.matDialogRef.close({\n contactGroupSelected: $event.contactGroupSelected,\n nameField: $event.nameField\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-02\n * Metodo que setea los valores de la paginacion.\n * @param $event Evento emitido por el componente hijo. \n */\n onChangePaginator($event: PageEvent): void {\n this.configPaginator = $event;\n this.getContactGroup();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-11-02\n * Metodo que emite el cambio del filtro sobre el select.\n * @param $event Evento emitido por el paginador. \n */\n onChangeSelectFilter($event: MatSelectChange): void {\n this.filterSelect = $event.value;\n this.getContactGroup();\n }\n}","
\n
\n \n
\n
\n
\n
Grupos de contactos
\n \n
\n Para elegir el o los grupos de contactos, solo debes seleccionarlo(s) dando clic en el check y guardar.\n
\n
\n
\n \n Cuenta de correo\n \n {{ item.name\n }}\n \n \n
\n
\n \n Nombre del grupo\n \n \n \n Máximo 30 caracteres\n \n \n
\n
\n \n
","import { Component, Inject, OnInit } from '@angular/core';\n\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nimport { NoveltiesService } from '../../../../services/novelties.service';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { AuthService } from '../../../../../../core/services/rest/auth.service';\nimport { InactiveDatesService } from '../../../../services/rest/inactive-dates.service';\n\n// FullCalendar options\nimport { CalendarOptions } from '@fullcalendar/angular';\nimport esLocale from '@fullcalendar/core/locales/es';\nimport * as moment from 'moment';\nimport { debounceTime, delay, distinctUntilChanged, filter, finalize, switchMap, tap } from 'rxjs/operators';\nimport { DatePipe } from '@angular/common';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport Swal from 'sweetalert2';\n\nconst NOMINA_URL = environment.NOMINA_URL;\n@Component({\n selector: 'app-create-novelties',\n templateUrl: './create-novelties.component.html',\n styleUrls: ['./create-novelties.component.sass']\n})\nexport class CreateNoveltiesComponent implements OnInit {\n\n public sending: boolean;\n public noveltyDate: string;\n public noveltyTypes: any[] = [];\n public noveltyTypesOld: any[] = [];\n public noveltyForm: FormGroup;\n Object = Object;\n public calendarOptions: CalendarOptions = {};\n public validDates: boolean;\n public showCalendar: boolean;\n public isVacation: boolean;\n public vacationCode: number;\n public vacationPaidCode: number;\n public disabilitiesCode: number;\n public userRrhhId: number;\n public campaignId: number;\n public availableDays: number;\n public businessDays: number;\n public permitCode: number;\n public permitGrantedPreviousDaysCode: number;\n public vacationExtemporalCode: number;\n public inactivesInCurrentYear: any[] = [];\n currentDate;\n public cleanNoveltyDate;\n public domesticCalamity: number;\n\n public nameFile: any = [];\n public dataFileArray: any = [];\n public formData = new FormData();\n public editDate: boolean = false;\n public durationInSeconds = 10;\n public nameUser: string = '';\n public isVacationPaid = false;\n public isOperationalPosition = false;\n\n public vacationsTypes: any = [ \n {id: 90, name: 'Vacaciones en disfrute'}, //91 = Key Vacaciones Pagas Nomina \n ];\n\n //EPS\n epsData: any;\n companyData: any;\n companyId: any = '';\n companyName: any = '';\n company: any;\n eps: any;\n hiddenEps: boolean = false;\n\n //Diagnostico\n searchDiagnosticCtrl = new FormControl();\n filteredDiagnostic: any[] = [];\n isLoading = false;\n errorMsg: string;\n selectedDiagnostic: any = \"\";\n showField: boolean = false;\n hiddeWhenIsLicency: boolean = false;\n isSelected: Number = 0;\n\n //tamaño del archivo\n showFileError = false;\n permittedSize = 4500000;\n currentSize = 0;\n\n //dias vacaciones\n totalDaysVacations = 0;\n totalDaysVacationPaid = 0;\n totalDaysMixted = 0;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private noveltiesService: NoveltiesService,\n private alert: AlertsService,\n private authService: AuthService,\n private inactiveDatesService: InactiveDatesService,\n private fb: FormBuilder,\n private snackBar: MatSnackBar,\n public dialogRef: MatDialogRef,\n private http: HttpClient) {\n this.showCalendar = false;\n this.isVacation = false;\n this.vacationCode = 90;\n this.vacationPaidCode = 91;\n this.disabilitiesCode = 27;\n this.availableDays = 0;\n this.businessDays = 0;\n this.permitCode = 40;\n this.domesticCalamity = 99\n this.vacationExtemporalCode = 92;\n this.permitGrantedPreviousDaysCode = 42;\n }\n\n ngOnInit(): void {\n this.currentDate = new Date();\n this.userRrhhId = this.authService.getUser().rrhh_id;\n this.campaignId = this.authService.getUser().rrhh.campaign_id ?? null;\n this.companyId = this.authService.getUser().rrhh.company_id ?? null;\n this.companyName = this.authService.getUser().rrhh.company ?? null;\n this.noveltyDate = moment(`${this.data.extraData.dateStr} 00:00:00`).locale('es').format('D [de] MMMM, YYYY');\n this.cleanNoveltyDate = new Date(`${this.data.extraData.dateStr} 23:59:59`);\n const date = new Date(this.data.extraData.dateStr);\n date.setMinutes(date.getMinutes() + date.getTimezoneOffset());\n\n this.noveltiesService.getInfoWorker(this.userRrhhId).subscribe(resp => {\n let x = resp?.agreementRules?.eps?.id;\n let idEps: number = +x;\n this.noveltyForm.controls.eps.setValue(idEps);\n this.noveltyForm.controls.company.setValue(this.companyId);\n });\n this.noveltyForm = this.fb.group({\n rrhhId: [this.userRrhhId, Validators.required],\n noveltyDate: [date, Validators.required],\n noveltyDateEnd: [''],\n noveltyDateEndMixted: [''],\n noveltyTypeId: ['', Validators.required],\n noveltySubTypeId: [''],\n campaignId: [this.campaignId, Validators.required],\n noveltyJustify: ['', Validators.required],\n paidVacations: [''],\n eps: [''],\n company: [''],\n other: [''],\n vacationTypeId:['']\n });\n this.getNoveltyTypes();\n this.inactiveDatesService.getInactiveInCurrentYear()\n .subscribe(resp => {\n this.inactivesInCurrentYear = resp.data;\n });\n this.noveltiesService.getEps().subscribe(resp => {\n this.epsData = resp;\n });\n\n this.noveltiesService.getCompanys().subscribe(resp => {\n this.companyData = resp;\n });\n this.noveltyForm.controls.company.valueChanges.subscribe(resp => {\n if (resp || this.companyId) {\n this.noveltiesService.getCompanyById(resp || this.companyId).subscribe(resp => {\n this.company = resp;\n });\n }\n });\n\n this.form.noveltySubTypeId.valueChanges.subscribe(resp => {\n\n resp == 2 ? this.hiddenEps = true : this.hiddenEps = false;\n\n if (resp == 1 || resp == 5 || resp == 6) {\n this.hiddeWhenIsLicency = false;\n this.searchDiagnosticCtrl.setValidators(Validators.required);\n this.searchDiagnosticCtrl.updateValueAndValidity();\n\n\n } else if (resp == 4) {\n this.searchDiagnosticCtrl.setValue('');\n this.searchDiagnosticCtrl.clearValidators();\n this.searchDiagnosticCtrl.updateValueAndValidity();\n this.hiddeWhenIsLicency = true;\n\n } else if (resp == 2 || resp == 3) {\n this.searchDiagnosticCtrl.setValue('');\n this.searchDiagnosticCtrl.clearValidators();\n this.searchDiagnosticCtrl.updateValueAndValidity();\n this.noveltyForm.controls.eps.clearValidators();\n this.noveltyForm.controls.eps.updateValueAndValidity();\n this.hiddeWhenIsLicency = true;\n\n }\n });\n\n this.noveltyForm.controls.eps.valueChanges.subscribe(resp => {\n this.noveltiesService.getEpsById(resp).subscribe(resp => {\n this.eps = resp;\n });\n });\n\n this.searchDiagnosticCtrl.valueChanges\n .pipe(\n filter(res => {\n return res !== null && res.length >= 3\n }),\n distinctUntilChanged(),\n debounceTime(500),\n tap(() => {\n this.errorMsg = \"\";\n this.filteredDiagnostic = [];\n this.isLoading = true;\n }),\n //this.http.get(`${NOMINA_URL}diagnostics/filter/${value}`\n switchMap((value) => this.noveltiesService.searchDiagnostic(value)\n .pipe(\n finalize(() => {\n this.isLoading = false\n }),\n )\n )\n //this.noveltiesService.searchDiagnostic(res).subscribe(data => {} )\n ).subscribe((resp) => {\n if (resp?.data.length == 0) {\n this.errorMsg = 'No hay coincidencias';\n this.filteredDiagnostic = [];\n } else {\n this.errorMsg = \"\";\n this.filteredDiagnostic = resp?.data;\n }\n });\n\n // atento a cambios para setear como requerido el campo de subtipos de novedad\n this.form.noveltyTypeId.valueChanges.subscribe(val => {\n this.form.vacationTypeId.setValue(\"\");\n const noveltyKey = this.noveltyTypesOld[val].key;\n if (this.noveltyTypesOld[val].sub_types.length > 0) {\n this.form.noveltySubTypeId.setValidators(Validators.required);\n this.form.noveltySubTypeId.updateValueAndValidity();\n } else {\n this.form.noveltySubTypeId.clearValidators();\n this.form.noveltySubTypeId.updateValueAndValidity();\n }\n this.showCalendar = false;\n\n // vacations validate if required\n if (noveltyKey == this.vacationCode || noveltyKey == this.permitCode || noveltyKey == this.disabilitiesCode || this.permitGrantedPreviousDaysCode) {\n if(this.form.vacationTypeId.value == this.vacationCode){\n this.form.noveltyDateEnd.setValidators(Validators.required);\n this.form.noveltyDateEnd.updateValueAndValidity();\n this.cleanValidations(['paidVacations','noveltyDateEndMixted']);\n }else if(this.form.vacationTypeId.value == this.vacationPaidCode || this.form.vacationTypeId.value == 'mixed'){\n this.form.paidVacations.setValidators([Validators.required,Validators.min(1)]);\n this.form.paidVacations.updateValueAndValidity();\n this.cleanValidations(['noveltyDateEnd','noveltyDateEndMixted']);\n }else if(this.form.vacationTypeId.value == 'mixed'){\n this.form.noveltyDateEndMixted.setValidators(Validators.required);\n this.form.noveltyDateEndMixted.updateValueAndValidity();\n this.form.paidVacations.setValidators([Validators.required,Validators.min(1)]);\n this.form.paidVacations.updateValueAndValidity();\n this.cleanValidations(['noveltyDateEnd']);\n }else{\n this.form.noveltyDateEnd.setValidators(Validators.required);\n this.form.noveltyDateEnd.updateValueAndValidity();\n }\n } else {\n this.form.noveltyDateEnd.clearValidators();\n this.form.noveltyDateEnd.updateValueAndValidity();\n }\n });\n\n // cambio de fecha fin para validar dias habiles\n this.form.noveltyDateEnd.valueChanges.subscribe((resp) => {\n if (this.form.noveltyTypeId.value && this.noveltyTypesOld[this.form.noveltyTypeId.value].key == this.vacationCode || this.form.noveltyTypeId.value && this.noveltyTypesOld[this.form.noveltyTypeId.value].key == this.vacationExtemporalCode) {\n this.getCalendarWithAvailableDays();\n }\n });\n\n // cambio de fecha inicio para validar dias habiles\n this.form.noveltyDate.valueChanges.subscribe((resp) => {\n if (this.form.noveltyTypeId.value && this.noveltyTypesOld[this.form.noveltyTypeId.value].key == this.vacationCode || this.form.noveltyTypeId.value && this.noveltyTypesOld[this.form.noveltyTypeId.value].key == this.vacationExtemporalCode) {\n this.getCalendarWithAvailableDays();\n }\n });\n \n // cambio de fecha fin para validar dias habiles\n this.form.noveltyDateEndMixted.valueChanges.subscribe((resp) => {\n this.getCalendarWithAvailableDays(true);\n });\n\n //cambio de tipo de vacaciones para validar dias habiles\n this.form.vacationTypeId.valueChanges.subscribe(resp => {\n this.businessDays = 0;\n this.businessDays = 0;\n this.totalDaysVacationPaid = 0;\n this.totalDaysVacations = 0;\n this.form.noveltyDateEnd.setValue('');\n this.form.paidVacations.setValue('');\n this.form.noveltyDateEndMixted.setValue('');\n //Se validan los campos obligatorios\n if(this.form.vacationTypeId.value == this.vacationCode){\n this.form.noveltyDateEnd.setValidators(Validators.required);\n this.form.noveltyDateEnd.updateValueAndValidity();\n this.cleanValidations(['paidVacations','noveltyDateEndMixted']);\n }\n if(this.form.vacationTypeId.value == this.vacationPaidCode || this.form.vacationTypeId.value == 'mixed'){\n this.form.paidVacations.setValidators([Validators.required,Validators.min(1)]);\n this.form.paidVacations.updateValueAndValidity();\n this.cleanValidations(['noveltyDateEnd','noveltyDateEndMixted']);\n }\n if(this.form.vacationTypeId.value == 'mixed'){\n this.form.noveltyDateEndMixted.setValidators(Validators.required);\n this.form.noveltyDateEndMixted.updateValueAndValidity();\n this.form.paidVacations.setValidators([Validators.required,Validators.min(1)]);\n this.form.paidVacations.updateValueAndValidity();\n this.cleanValidations(['noveltyDateEnd']);\n }\n if (this.form.vacationTypeId.value != '') {\n this.getDaysVacationsAvailable();\n }\n });\n\n //se setea el valor de fin fecha vacaciones, se suma los dias de pagos\n this.form.paidVacations.valueChanges.subscribe(resp => {\n if(resp != null || resp != ''){\n if(resp > 0){\n this.isVacationPaid = true;\n let dateEnd = new Date(this.form.noveltyDate.value);\n dateEnd.setDate(dateEnd.getDate() + (resp - 1));\n this.form.noveltyDateEnd.setValue(dateEnd);\n setTimeout(() => {\n this.isVacationPaid = false\n }, 1500);\n ;\n }\n }\n });\n\n // cambio de diagnostico\n this.searchDiagnosticCtrl.valueChanges.subscribe((resp) => {\n if (!this.hiddeWhenIsLicency) {\n if (resp?.id) {\n this.isSelected = 2;\n } else if (resp?.length > 0) {\n this.isSelected = 1;\n }\n } else {\n this.isSelected = 0;\n }\n })\n\n //se valida si la persona tiene cargo operativo\n this.noveltiesService.isOperationalPosition().subscribe(resp => {\n if(resp === true || resp === false) this.isOperationalPosition = resp;\n if(this.isOperationalPosition == true){\n this.vacationsTypes.push({id: 91, name: 'Vacaciones en dinero'}); //90 = Key Vacaciones Nomina \n this.vacationsTypes.push({id: 'mixed', name: 'Vacaciones mixtas'}); //vacaciones mixtas\n }\n });\n }\n onSelected() {\n this.selectedDiagnostic = this.selectedDiagnostic;\n if (this.selectedDiagnostic.code == 'OTRO') {\n this.showField = true;\n } else {\n this.showField = false;\n }\n }\n\n\n displayFn(value: any): string {\n if (!value) {\n return '';\n }\n return value.code + ' - ' + value.description;\n }\n\n clearSelection() {\n this.selectedDiagnostic = \"\";\n this.filteredDiagnostic = [];\n this.showField = false;\n }\n\n /**\n * Obtiene el calendario con los dias habiles para la solicitud vacaciones\n * @author Andrés Buitrago \n */\n getCalendarWithAvailableDays(mixed = null): void {\n if (!this.form.noveltyDateEnd.value) return;\n this.noveltiesService.getAvailableDaysForVacations({\n startDate: moment(this.form.noveltyDate.value).locale('es').format('YYYY-MM-DD'),\n endDate: mixed == null ? moment(this.form.noveltyDateEnd.value).locale('es').format('YYYY-MM-DD') : moment(this.form.noveltyDateEndMixted.value).locale('es').format('YYYY-MM-DD')\n }).subscribe((respDates) => {\n this.validDates = respDates.data.validDates;\n this.availableDays = respDates.data.availableDays < 0 ? 0 : respDates.data.availableDays;\n if(mixed != null) this.totalDaysMixted = respDates.data.businessDays;\n //Validacion dias habiles vacaciones renumeradas\n if(this.form.vacationTypeId.value == this.vacationCode) this.businessDays = respDates.data.businessDays;\n //Validacion dias vacaciones pagas\n if(this.isVacationPaid === true || this.form.vacationTypeId.value == this.vacationPaidCode){\n this.totalDaysVacationPaid = respDates.data.totalDays;\n }\n if(this.form.vacationTypeId.value == this.vacationPaidCode) this.businessDays = respDates.data.totalDays;\n //Suma de vacaciones remuneras y vacaciones paas\n if(this.form.vacationTypeId.value == 'mixed') {\n if(this.isVacationPaid == false) this.totalDaysVacations = respDates.data.businessDays;\n this.businessDays = this.totalDaysVacationPaid + this.totalDaysVacations;\n }\n \n // configure calendar options\n this.calendarOptions = {\n initialView: 'dayGridMonth',\n locales: [esLocale],\n locale: 'es',\n headerToolbar: {\n left: 'title',\n center: '',\n right: 'prev,next'\n },\n titleFormat: {\n month: 'long',\n year: 'numeric'\n },\n events: respDates.data.dates,\n handleWindowResize: true,\n windowResizeDelay: 200\n };\n this.showCalendar = (this.form.vacationTypeId.value == this.vacationCode || this.noveltyTypesOld[this.form.noveltyTypeId.value].key == this.vacationExtemporalCode);\n });\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Justifica la novedad seleccionada previamente en el calendario\n */\n createNovelty(): void {\n this.sending = true;\n const formData = new FormData();\n switch (Number(this.noveltyTypesOld[this.form.noveltyTypeId.value].key)) {\n case this.vacationCode:\n\n if (this.inactivesInCurrentYear[moment(this.form.noveltyDate.value).locale('es').format('YYYY-MM-DD')]) {\n this.alert.alertWarning('Proceso detenido', 'La fecha inicial no empezar en un día no hábil, por favor seleccione una fecha diferente');\n this.sending = false;\n return;\n }\n\n if (this.inactivesInCurrentYear[moment(this.form.noveltyDateEnd.value).locale('es').format('YYYY-MM-DD')] && this.form.vacationTypeId.value != 'mixed' && this.form.vacationTypeId.value != this.vacationPaidCode) {\n this.alert.alertWarning('Proceso detenido', 'La fecha final no puede terminar en un día no hábil, por favor seleccione una fecha diferente');\n this.sending = false;\n return;\n }\n\n // validamos que para pedir las vacaciones sea menor al dia siguiente\n if (moment(this.form.noveltyDate.value).locale('es').format('YYYY-MM-DD') <= moment(this.currentDate).format('YYYY-MM-DD')) {\n this.alert.alertWarning('Proceso detenido', 'Solo puede solicitar vacaciones a partir del día siguiente');\n this.sending = false;\n return;\n }\n let validDateMixted = false;\n if(this.form.vacationTypeId.value == 'mixed'){\n validDateMixted = (this.form.paidVacations.value + this.totalDaysMixted) > this.availableDays;\n }\n if (!this.validDates || validDateMixted ) {\n this.alert.alertWarning('Proceso detenido', 'Verifique las fechas de su solicitud de vacaciones');\n this.sending = false;\n return;\n }\n\n if(this.form.paidVacations.value > 7){\n this.alert.alertWarning('Proceso detenido', 'Solo puedes solicitar máximo 7 días de vacaciones pagas.');\n this.sending = false;\n return;\n }\n\n var vacationToCreate:any = {\n rrhhId: this.userRrhhId,\n start_date: moment(this.form.noveltyDate.value).locale('es').format('YYYY-MM-DD'),\n end_date: moment(this.form.noveltyDateEnd.value).locale('es').format('YYYY-MM-DD'),\n justify: this.form.noveltyJustify.value,\n noveltyType: this.form.vacationTypeId.value\n };\n\n if(this.form.vacationTypeId.value == 'mixed'){\n vacationToCreate = {\n noveltyType: 'mixed',\n start_date: moment(this.form.noveltyDate.value).locale('es').format('YYYY-MM-DD'),\n vacations:[\n {\n rrhhId: this.userRrhhId,\n start_date: moment(this.form.noveltyDate.value).locale('es').format('YYYY-MM-DD'),\n end_date: moment(this.form.noveltyDateEnd.value).locale('es').format('YYYY-MM-DD'),\n justify: this.form.noveltyJustify.value,\n noveltyType: this.vacationPaidCode\n },\n {\n rrhhId: this.userRrhhId,\n start_date: moment(this.form.noveltyDate.value).locale('es').format('YYYY-MM-DD'),\n end_date: moment(this.form.noveltyDateEndMixted.value).locale('es').format('YYYY-MM-DD'),\n justify: this.form.noveltyJustify.value,\n noveltyType: this.vacationCode\n }\n ]\n } \n }\n\n this.noveltiesService.createVacationNovelties(vacationToCreate).subscribe(resp => {\n this.dialogRef.close('');\n this.alert.alertSuccess('Solicitud creada!', 'En espera de validación por el área encargada');\n this.sending = false;\n }, (error) => {\n this.sending = false;\n });\n break;\n case this.disabilitiesCode:\n if (this.inactivesInCurrentYear[moment(this.form.noveltyDate.value).locale('es').format('YYYY-MM-DD')]) {\n this.alert.alertWarning('Proceso detenido', 'La fecha inicial no empezar en un día no hábil, por favor seleccione una fecha diferente');\n this.sending = false;\n return;\n }\n\n if (this.inactivesInCurrentYear[moment(this.form.noveltyDateEnd.value).locale('es').format('YYYY-MM-DD')]) {\n this.alert.alertWarning('Proceso detenido', 'La fecha final no puede terminar en un día no hábil, por favor seleccione una fecha diferente');\n this.sending = false;\n return;\n }\n\n const dateEnd: string | null = new DatePipe('en-US').transform(this.form.noveltyDateEnd.value, 'yyyy-MM-dd');\n const dateStart: string | null = new DatePipe('en-US').transform(this.form.noveltyDate.value, 'yyyy-MM-dd');\n formData.append('rrhhId', this.form.rrhhId.value);\n formData.append('noveltyDate', dateStart ?? '');\n formData.append('noveltyDateEnd', dateEnd ?? '');\n formData.append('noveltyTypeId', this.form.noveltyTypeId.value);\n formData.append('noveltySubtypeId', this.form.noveltySubTypeId.value);\n formData.append('noveltyJustify', this.form.noveltyJustify.value);\n formData.append('campaignId', this.form.campaignId.value);\n for (let i = 0; i < this.dataFileArray.length; i++) {\n formData.append('Files[]', this.dataFileArray[i]);\n }\n if (this.form.noveltySubTypeId.value == 2) {\n formData.append('eps[id]', '');\n formData.append('eps[name]', '');\n } else {\n formData.append('eps[id]', this.eps.id || '');\n formData.append('eps[name]', this.eps.name || '');\n }\n formData.append('empresa[id]', this.company.id);\n formData.append('empresa[name]', this.company.name);\n formData.append('other_diagnostic', this.form.other.value);\n formData.append('diagnostic_id', this.selectedDiagnostic.id == undefined ? '' : this.selectedDiagnostic.id);\n this.noveltiesService.createDisabilitiesNoveltie(formData)\n .subscribe(resp => {\n this.dialogRef.close('');\n this.alert.alertSuccess('Novedad creada!', 'En espera de validación por el área encargada');\n this.sending = false;\n }, (error) => {\n this.sending = false;\n });\n break;\n case this.permitCode:\n if (this.inactivesInCurrentYear[moment(this.form.noveltyDate.value).locale('es').format('YYYY-MM-DD')]) {\n this.alert.alertWarning('Proceso detenido', 'La fecha inicial no empezar en un día no hábil, por favor seleccione una fecha diferente');\n this.sending = false;\n return;\n }\n\n if (this.inactivesInCurrentYear[moment(this.form.noveltyDateEnd.value).locale('es').format('YYYY-MM-DD')]) {\n this.alert.alertWarning('Proceso detenido', 'La fecha final no puede terminar en un día no hábil, por favor seleccione una fecha diferente');\n this.sending = false;\n return;\n }\n\n const datePermitEnd: string | null = new DatePipe('en-US').transform(this.form.noveltyDateEnd.value, 'yyyy-MM-dd');\n const datePermit: string | null = new DatePipe('en-US').transform(this.form.noveltyDate.value, 'yyyy-MM-dd');\n formData.append('rrhhId', this.form.rrhhId.value);\n formData.append('noveltyDate', datePermit ?? '');\n formData.append('noveltyDateEnd', datePermitEnd ?? '');\n formData.append('noveltyTypeId', this.form.noveltyTypeId.value);\n formData.append('noveltyJustify', this.form.noveltyJustify.value);\n formData.append('campaignId', this.form.campaignId.value);\n for (let i = 0; i < this.dataFileArray.length; i++) {\n formData.append('Files[]', this.dataFileArray[i]);\n }\n this.noveltiesService.createPermitNoveltie(formData)\n .subscribe(resp => {\n this.dialogRef.close('');\n this.alert.alertSuccess('Novedad creada!', 'En espera de validación por el área encargada');\n this.sending = false;\n }, (error) => {\n this.sending = false;\n });\n break;\n case this.domesticCalamity:\n if (this.inactivesInCurrentYear[moment(this.form.noveltyDate.value).locale('es').format('YYYY-MM-DD')]) {\n this.alert.alertWarning('Proceso detenido', 'La fecha inicial no empezar en un día no hábil, por favor seleccione una fecha diferente');\n this.sending = false;\n return;\n }\n\n if (this.inactivesInCurrentYear[moment(this.form.noveltyDateEnd.value).locale('es').format('YYYY-MM-DD')]) {\n this.alert.alertWarning('Proceso detenido', 'La fecha final no puede terminar en un día no hábil, por favor seleccione una fecha diferente');\n this.sending = false;\n return;\n }\n const dateCalamityEnd: string | null = new DatePipe('en-US').transform(this.form.noveltyDateEnd.value, 'yyyy-MM-dd');\n const dateCalamity: string | null = new DatePipe('en-US').transform(this.form.noveltyDate.value, 'yyyy-MM-dd');\n formData.append('rrhhId', this.form.rrhhId.value);\n formData.append('noveltyDate', dateCalamity ?? '');\n formData.append('noveltyDateEnd', dateCalamityEnd ?? '');\n formData.append('noveltyTypeId', this.form.noveltyTypeId.value);\n formData.append('noveltyJustify', this.form.noveltyJustify.value);\n formData.append('campaignId', this.form.campaignId.value);\n for (let i = 0; i < this.dataFileArray.length; i++) {\n formData.append('Files[]', this.dataFileArray[i]);\n }\n\n this.noveltiesService.createDomesticCalamity(formData)\n .subscribe(resp => {\n this.dialogRef.close('');\n this.alert.alertSuccess('Novedad creada!', 'En espera de validación por el área encargada');\n this.sending = false;\n }, (error) => {\n this.sending = false;\n });\n break;\n case this.vacationExtemporalCode:\n\n if (this.inactivesInCurrentYear[moment(this.form.noveltyDate.value).locale('es').format('YYYY-MM-DD')]) {\n this.alert.alertWarning('Proceso detenido', 'La fecha inicial no empezar en un día no hábil, por favor seleccione una fecha diferente');\n this.sending = false;\n return;\n }\n\n if (this.inactivesInCurrentYear[moment(this.form.noveltyDateEnd.value).locale('es').format('YYYY-MM-DD')]) {\n this.alert.alertWarning('Proceso detenido', 'La fecha final no puede terminar en un día no hábil, por favor seleccione una fecha diferente');\n this.sending = false;\n return;\n }\n\n // validamos que para pedir las vacaciones sea a partir del dia siguiente\n if (moment(this.form.noveltyDate.value).locale('es').format('YYYY-MM-DD') >= moment(this.currentDate).format('YYYY-MM-DD')) {\n this.alert.alertWarning('Proceso detenido', 'Solo puede solicitar vacaciones a partir del día anterior');\n this.sending = false;\n return;\n }\n\n if (!this.validDates) {\n this.alert.alertWarning('Proceso detenido', 'Verifique las fechas de su solicitud de vacaciones');\n this.sending = false;\n return;\n }\n\n const vacationExtemporal = {\n campaignId: this.campaignId,\n rrhhId: this.userRrhhId,\n start_date: moment(this.form.noveltyDate.value).locale('es').format('YYYY-MM-DD'),\n end_date: moment(this.form.noveltyDateEnd.value).locale('es').format('YYYY-MM-DD'),\n justify: this.form.noveltyJustify.value,\n paidVacations: this.form.paidVacations.value\n };\n\n const user = this.authService.getUser();\n this.nameUser = user.rrhh.name;\n\n this.showModal(vacationExtemporal);\n break;\n case this.permitGrantedPreviousDaysCode:\n if (this.inactivesInCurrentYear[moment(this.form.noveltyDate.value).locale('es').format('YYYY-MM-DD')]) {\n this.alert.alertWarning('Proceso detenido', 'La fecha inicial no empezar en un día no hábil, por favor seleccione una fecha diferente');\n this.sending = false;\n return;\n }\n\n if (this.inactivesInCurrentYear[moment(this.form.noveltyDateEnd.value).locale('es').format('YYYY-MM-DD')]) {\n this.alert.alertWarning('Proceso detenido', 'La fecha final no puede terminar en un día no hábil, por favor seleccione una fecha diferente');\n this.sending = false;\n return;\n }\n\n const datePermitPreviusDays: string | null = new DatePipe('en-US').transform(this.form.noveltyDate.value, 'yyyy-MM-dd');\n const datePermitPreviusDaysEnd: string | null = new DatePipe('en-US').transform(this.form.noveltyDateEnd.value, 'yyyy-MM-dd');\n formData.append('rrhhId', this.form.rrhhId.value);\n formData.append('noveltyDate', datePermitPreviusDays ?? '');\n formData.append('noveltyDateEnd', datePermitPreviusDaysEnd ?? '');\n formData.append('noveltyTypeId', this.form.noveltyTypeId.value);\n formData.append('noveltyJustify', this.form.noveltyJustify.value);\n formData.append('campaignId', this.form.campaignId.value);\n for (let i = 0; i < this.dataFileArray.length; i++) {\n formData.append('Files[]', this.dataFileArray[i]);\n }\n this.noveltiesService.createPermitGrantedPreviousDaysNoveltie(formData)\n .subscribe(resp => {\n this.dialogRef.close('');\n this.alert.alertSuccess('Novedad creada!', 'En espera de validación por el área encargada');\n this.sending = false;\n }, (error) => {\n this.sending = false;\n });\n break;\n default:\n this.noveltiesService.createNovelties(this.noveltyForm.value)\n .subscribe(resp => {\n this.dialogRef.close('');\n this.alert.alertSuccess('Novedad creada!', 'En espera de validación por el área encargada');\n this.sending = false;\n }, (error) => {\n this.sending = false;\n });\n break;\n }\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Obtiene los tipos de novedad con sus subtipos\n */\n getNoveltyTypes(): void {\n this.noveltyTypes = [];\n this.noveltiesService.getNoveltyTypes(1)\n .subscribe(resp => {\n this.noveltyTypesOld = resp.data;\n for (let nType in resp.data) {\n if (resp.data.hasOwnProperty(nType)) {\n if (this.vacationCode == resp.data[nType].key && this.data.extraData.dateStr <= moment(this.currentDate).format('YYYY-MM-DD')) {\n continue;\n }\n if (this.vacationExtemporalCode == resp.data[nType].key && this.data.extraData.dateStr >= moment(this.currentDate).format('YYYY-MM-DD')) {\n continue;\n }\n if (this.disabilitiesCode == resp.data[nType].key && this.data.extraData.dateStr > moment(this.currentDate).format('YYYY-MM-DD')) {\n continue;\n }\n this.noveltyTypes.push(resp.data[nType]);\n }\n }\n });\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose limpiar propiedades\n */\n clear(): void {\n this.sending = false;\n this.noveltyForm.reset();\n this.ngOnInit();\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose obtiene los controles del form de creacion de novedades\n */\n get form(): any {\n return this.noveltyForm.controls;\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose limpiar posible opcion seleccionada\n */\n cleanPossibleSubtypeSelected(): any {\n this.form.noveltySubTypeId.reset();\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Inicializar el calendario\n */\n initCalendar(): void {\n this.calendarOptions = {\n initialView: 'dayGridMonth',\n locales: [esLocale],\n locale: 'es',\n headerToolbar: {\n left: 'title',\n center: '',\n right: 'prev,next'\n },\n titleFormat: {\n month: 'long',\n year: 'numeric'\n },\n handleWindowResize: true,\n windowResizeDelay: 200\n };\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-06-21\n * Metodo eliminar un archivo del array\n */\n show() {\n if (this.editDate == false) {\n this.editDate = true;\n } else {\n this.editDate = false;\n const date = new Date(this.data.extraData.dateStr);\n date.setMinutes(date.getMinutes() + date.getTimezoneOffset());\n this.form.noveltyDate.setValue(new Date(date));\n }\n this.validateFileSize();\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-05-26\n * Metodo eliminar un archivo del array\n */\n deleteFieldFile(indice) {\n this.dataFileArray.splice(indice, 1);\n this.showFileError = !this.showFileError;\n this.validateFileSize();\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-05-27\n * Metodo para la captura de archivos\n */\n public onChangeFile(e): void {\n const files = e.target.files;\n const type = ['image/jpeg', 'image/png', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', '.docx', 'application/pdf'];\n for (let i = 0; i < e.target.files.length; i++) {\n if (type.indexOf(e.target.files[i].type) !== -1) {\n this.dataFileArray.push(e.target.files.item(i));\n }\n }\n\n this.validateFileSize();\n if (this.dataFileArray.length > 0) {\n this.snackBar.open('Archivo cargado correctamente', 'cerrar', {\n horizontalPosition: 'center',\n verticalPosition: 'top',\n duration: 3500,\n });\n }\n }\n\n /**\n * @author Johan Soler\n * @createdate 2022-06-14\n * Metodo mostrar los modales de confirmacion\n */\n showModal(vacationExtemporal) {\n let str = '¿En verdad deseas solicitar vacaciones en fechas' + '\\n' \n + 'pasadas?, ten presente que únicamente se ' + '\\n' \n + 'pueden solicitar si el rango de fecha tiene la' + '\\n' \n + 'novedad \"ausencia injustificada\". Recuerda que' + '\\n' \n + 'esta acción será definitiva y no se podrá deshacer.' + '\\n \\n \\n' \n + 'Resumen de la gestión' + '\\n' \n + 'Trabajador: ' + this.nameUser + '\\n' \n + 'Vacaciones: ' + vacationExtemporal.start_date + ' al ' + vacationExtemporal.end_date;\n Swal.fire({\n title: '¿Estás seguro?',\n html: '
' + str + '
',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.noveltiesService.createVacationExtemporal(vacationExtemporal)\n .subscribe(resp => {\n this.dialogRef.close('');\n this.alert.alertSuccessWithoutButton('Excelente','Se han guardado los cambios con éxito');\n this.sending = false;\n }, (error) => {\n this.sending = false;\n });\n }\n });\n }\n /**\n * @author Johan Soler \n * @createdate 2022-06-06\n * Validar que el peso del archivo sea correcto\n */\n validateFileSize(){\n let generalSize = 0;\n for (let i = 0; i < this.dataFileArray.length; i++) {\n generalSize = this.dataFileArray[i].size;\n }\n this.currentSize = generalSize;\n\n if(generalSize < this.permittedSize){\n this.showFileError = false;\n }else {\n this.showFileError = true;\n }\n }\n\n /**\n * @author David Reinoso \n * @createdate 16-ene-23\n * Consulta los dias de vacaciones disponibles\n */\n getDaysVacationsAvailable(){\n this.noveltiesService.getDaysVacationsAvailable('').subscribe(res => {\n if(res?.data >= 0){\n this.availableDays = res.data;\n }\n });\n }\n\n /**\n * @author David Reinoso \n * @createdate 16-ene-23\n * Limpia las validaciones de los formularios pasados\n */\n cleanValidations(keys){\n for (let i = 0; i < keys.length; i++) {\n this.noveltyForm.get(keys[i]).clearValidators();\n this.noveltyForm.get(keys[i]).updateValueAndValidity();\n }\n }\n\n}\n","
\n\n

\n Creación de Novedad\n \n

\n\n \n
\n
\n
\n
\n\n
\n Fecha de Novedad: {{ noveltyDate }}\n \n
\n\n
\n \n Tipo de Novedad\n \n {{ noveltyType.name }}\n \n \n ¡Advertencia! Este campo es requerido\n \n \n
\n\n
0\">\n \n Subtipo de Novedad\n \n {{ subType.name }}\n \n ¡Advertencia! Este campo es requerido\n \n \n
\n\n
\n
\n
\n \n Fecha inicio\n \n \n \n ¡Advertencia! Este campo es requerido\n \n \n
\n\n
\n \n Fecha fin\n \n \n \n ¡Advertencia! Este campo es requerido\n \n \n
\n\n
\n\n
\n\n
\n \n Fin Vacaciones\n \n \n \n ¡Advertencia! Este campo es requerido\n \n \n
\n\n
\n \n Fin de calamidad\n \n \n \n ¡Advertencia! Este campo es requerido\n \n \n
\n\n
\n

\n Días disponibles: {{ availableDays }} | Días solicitados: {{ businessDays }}\n

\n
\n\n
\n \n Tipo de vacaciones\n \n {{ vacationType.name }}\n \n \n ¡Advertencia! Este campo es requerido\n \n
\n\n
\n \n
\n \n Rango vacaciones en disfrute\n \n \n \n ¡Advertencia! Este campo es requerido\n \n
\n \n
\n \n Días solicitados en dinero\n \n ¡Advertencia! Este campo es requerido\n ¡Advertencia! Este campo debe ser mayor o igual a uno (1)\n \n Recuerda que solo puedes solicitar la mitad o menos de los días que tienes disponibles en vacaciones anualmente.\n
\n \n
\n \n Rango vacaciones en disfrute\n \n \n \n ¡Advertencia! Este campo es requerido\n \n
\n
\n\n
\n \n Fin incapacidad\n \n \n \n ¡Advertencia! Este campo es requerido\n \n \n
\n\n \n\n
\n \n Eps\n \n {{ item.name }}\n \n \n ¡Advertencia! Este campo es requerido\n \n \n

Por favor actualizar información\n si lo ve necesario

\n
\n\n \n\n
\n \n Empresa\n \n {{ item.name }}\n \n \n ¡Advertencia! Este campo es requerido\n \n \n

Por favor actualizar información\n si lo ve necesario

\n
\n\n
\n \n \n \n \n Loading...\n \n \n {{item.code +'-'+ item.description}}\n \n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n ¡Advertencia!\n Debe seleccionar una opcion de la lista\n \n\n
\n\n
\n \n Especifique: \n \n ¡Advertencia! Este campo es requerido\n \n \n
\n\n
\n \n Fecha fin\n \n \n \n ¡Advertencia! Este campo es requerido\n \n \n
\n\n
\n \n Justificación\n \n ¡Advertencia! Este campo es requerido\n \n \n
\n\n
\n
\n
\n\n \n \n\n \n ¡Advertencia! Los archivos en conjunto no deben pesar mas de\n {{permittedSize/1000000}} Mb actualmente pesan {{currentSize/1000000 | number: '1.1-1'}} Mb\n \n \n\n \n
Solo se aceptan archivos .docx .jpg .png o .pdf
\n\n
\n {{item.name}}\n
\n\n
\n
\n
\n \n \n
\n
\n\n \n \n\n \n \n ¡Advertencia! Los archivos en conjunto no deben pesar mas de\n {{permittedSize/1000000}} Mb actualmente pesan {{currentSize/1000000 | number: '1.1-1'}} Mb\n \n \n
Solo se aceptan archivos .pdf
\n\n
\n {{item.name}}\n
\n\n
\n
\n
\n\n
\n \n
\n\n\n\n\n \n
\n
\n\n
\n
\n \n
\n \"noveltyIcon\"\n
\n\n
\n \n\n \n \n \n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AssingUserComponent } from './assing-user/assing-user.component';\nimport { SharedModule } from '../../../../shared/shared.module';\nimport { MaterialModule } from '../../../../shared/material/material.module';\n\n\n\n@NgModule({\n declarations: [AssingUserComponent],\n imports: [\n CommonModule,\n SharedModule,\n MaterialModule\n ]\n})\nexport class AssignUserModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\n\nconst CRM_URL = environment.CRM_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DynamicFormServiceService {\n\n constructor(private http:HttpClient) { }\n\n getData(apiserve:string, key:string){\n // const httpOptions = {\n // headers: new HttpHeaders({\n // Authorization: 'bearer ' + this.AuthService.getUser().access_token,\n // }),\n // };\n\n let serve = null;\n if(apiserve == 'rrhh'){\n serve = environment.RRHH_URL;\n }else if(apiserve == 'bpms'){\n serve = environment.BPMS_URL;\n }else if(apiserve == 'nomina'){\n serve = environment.NOMINA_URL\n }else if(apiserve == 'health'){\n serve = environment.HEALTH_URL\n }\n if(!serve) throw new Error(\"Api Serve no encontrado\");\n return this.http.get( `${serve}${key}`);\n }\n\n downloadFile(params: FormData){\n return this.http.post(`${CRM_URL}formanswer/download`, params, {responseType: 'blob'});\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-rrhh',\n templateUrl: './rrhh.component.html',\n styleUrls: ['./rrhh.component.sass']\n})\nexport class RrhhComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n","import { Injectable } from '@angular/core';\nimport { environment } from '../../../../environments/environment';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthService } from '../../../core/services/rest/auth.service';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TrainingGroupsService {\n\n private server = environment.RRHH_URL;\n user;\n\n constructor(private http: HttpClient,\n private activeRoute: ActivatedRoute,\n private authService: AuthService) {\n this.user = this.authService.getUser();\n }\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n };\n\n getGroups(entries) {\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}formation/groups`, {params});\n }\n\n getGroup(groupId) {\n return this.http.get(`${this.server}formationgroup/${groupId}`, this.httpOptions);\n }\n\n getSites() {\n return this.http.get(`${this.server}sites`, this.httpOptions);\n }\n\n createGroup(params){\n return this.http.post(`${this.server}formation/groups`, params);\n }\n\n updateGroup(groupId, params){\n return this.http.post(`${this.server}formation/groups/${groupId}`, params);\n }\n\n getCandidatesByGroup(groupId,entries){\n\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}formationgroup/candidate/${groupId}`, {params});\n }\n\n assignCandidatesToGroup(params){\n return this.http.post(`${this.server}formation/assign/candidates`, params);\n }\n\n candidateComments(entries){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}formationgroup/commments/candidate`,{params});\n }\n\n createCommentOrEvaluations(entries){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.post(`${this.server}formation/candidate/data`,params);\n\n }\n\n uploadAttachments(entries,candidateId){\n const formData = new FormData();\n formData.append('attachments', entries);\n formData.append('candidateId', candidateId);\n\n return this.http.post(`${this.server}formationgroup/attachments`,formData);\n }\n\n stateToFilter(){\n return this.http.get(`${this.server}formationgroup/filter/list`);\n }\n\n downloadFormat(formationGroupId:number,format:string): Observable{\n // const params = {'format':format,responseType:'blob'};\n return this.http.get(`${this.server}candidate/export/format/${formationGroupId}/${format}`, {responseType:'blob'});\n }\n\n candidatesByGroup(formationGroupId){\n return this.http.get(`${this.server}formationgroups/candidates/${formationGroupId}`);\n }\n commentsMultiples(entries){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.post(`${this.server}formation/comment/candidates`,params);\n }\n\n scheduleDateToCandidates(entries){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.post(`${this.server}candidates/schedule/date`,params);\n }\n getValidGroups(direction){\n return this.http.get(`${this.server}${direction}`);\n }\n postReassignment(direction, data){\n return this.http.post(`${this.server}${direction}`, data);\n }\n postProBording(direction, data){\n return this.http.post(`${this.server}${direction}`, data);\n }\n getDataFilters(direction){\n return this.http.get(`${this.server}${direction}`);\n }\n getUsersByRols(direction, rol){\n return this.http.get(`${this.server}${direction}/${rol}`);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { ActivatedRoute } from '@angular/router';\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { MatDialog } from '@angular/material/dialog';\nimport { UsersReportsCreateComponent } from '../users-reports-create/users-reports-create.component';\nimport { ReportService } from '../../../services/rest/reports.service';\n\n\n@Component({\n selector: 'app-users-reports',\n templateUrl: './users-reports.component.html',\n styleUrls: ['./users-reports.component.sass']\n})\nexport class UsersReportsComponent implements OnInit {\n\n formId: any;\n reports: any;\n key : any;\n selectTitle: any;\n dataReport: any = [];\n\n constructor(private location: Location,\n private activatedRoute: ActivatedRoute,\n private sanitizer: DomSanitizer,\n public dialog: MatDialog,\n private reportService : ReportService\n ) {}\n\n ngOnInit(): void {\n this.getReports();\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Metodo que lista los reportes en estado activo\n */\n getReports()\n {\n this.reportService.getReports().subscribe(\n response => {\n this.reports = response;\n }\n );\n }\n\n/**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Metodo que retorna a la pagina anterior\n */\n backRoute(){\n this.location.back();\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Metodo que setea la variable del select y sanitia la ruta\n * @param evento on click\n */\n select(event: any)\n {\n let valueAtIndex = this.reports[event];\n this.selectTitle = valueAtIndex.name;\n this.key =this.sanitizer.bypassSecurityTrustResourceUrl('http://reportes.outsourcingcos.com/report/'+valueAtIndex.key_powerBi);\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Metodo que abre el modal para guardar un reporte\n */\n saveReport(): void{\n\n const dialogRefSave = this.dialog.open(UsersReportsCreateComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Reporte',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogRefSave.afterClosed().subscribe(() => {\n setTimeout(()=>{\n this.getReports();\n }, 2500);\n });\n\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Metodo que abre el modal para editar un reporte\n * @param item del array listado\n */\n editReport(item)\n {\n const dialogRefSave = this.dialog.open(UsersReportsCreateComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'Editar',\n title: 'Editar Reporte',\n item :item,\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogRefSave.afterClosed().subscribe(() => {\n setTimeout(()=>{\n this.selectTitle = null;\n this.getReports();\n }, 2500);\n });\n }\n\n}\n","
\n\n
\n
\n \n
\n
\n

Gestión de reportes

\n

Bienvenido al módulo de reportes de ciu.

\n
\n
\n
\n\n
\n \n Reporte\n \n {{selectTitle}}\n\n \n
\n {{item.name}}\n \n edit\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n\n
\n \n
\n\n
\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\nimport { CoachingState } from \"../coaching.state\";\n\nconst getCoachingState = createFeatureSelector('COACHING');\n\nexport const listAcompañamientos = createSelector(\n getCoachingState,\n (state) => state.acompañamientos.acompañamientos,\n);","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport SwiperCore, { Navigation, Pagination, SwiperOptions, Swiper } from 'swiper';\n\nSwiperCore.use([Navigation, Pagination]);\n\n@Component({\n selector: 'app-swiper-report-months',\n templateUrl: './swiper-report-months.component.html',\n styleUrls: ['./swiper-report-months.component.css']\n})\nexport class SwiperReportMonthsComponent implements OnInit {\n @Input() cardsMonths: any[] = [];\n @Output() onClickMonthSelected: EventEmitter = new EventEmitter();\n swiper: Swiper;\n swipperConfigMonths: SwiperOptions;\n \n constructor() { }\n\n ngOnInit(): void {\n this.swipperConfigMonths = {\n navigation: {\n nextEl: '.swiper-button-next-months',\n prevEl: '.swiper-button-prev-months',\n },\n pagination: { clickable: true },\n breakpoints: {\n 640: { slidesPerView: this.validateLengthCardsMonts(), spaceBetween: 10, pagination: { el: '.swiper-pagination-hide' } },\n },\n };\n this.swiper = new Swiper('.months-swiper', this.swipperConfigMonths);\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-09-17\n * Metodo que retorna la cantidad de slides renderizados en el swiper.\n */\n validateLengthCardsMonts(): number {\n if (this.cardsMonths.length === 1 || this.cardsMonths.length === 2) return this.cardsMonths.length;\n return 3;\n }\n}","
\n \n \n
\n
\n
{{ month.name }}\n
\n
\n
\n
\n
\n
\n
\n
","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { StorageService } from '../storage/storage.service';\n\n\n@Injectable()\nexport class InterceptorInterceptor implements HttpInterceptor {\n\n constructor(public authService: AuthService, private storageService: StorageService) {}\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n\n const user = this.authService.getToken();\n\n if(user !== null) {\n\n const tokenizeReq = req.clone({\n setHeaders: {\n Authorization: `Bearer ${user}`\n }\n })\n return next.handle(tokenizeReq);\n\n }\n\n else {\n\n const tokenizeReq = req.clone({\n setHeaders: {\n Authorization: `Bearer `\n }\n })\n return next.handle(tokenizeReq);\n\n }\n\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DetalleRetroalimentacionComponent } from '../detalle-retroalimentacion/detalle-retroalimentacion.component';\nimport {TranslatesService} from '../../../../../../services/translates.service';\n\n@Component({\n selector: 'app-tabla-retroalimentar',\n templateUrl: './tabla-retroalimentar.component.html',\n styleUrls: ['./tabla-retroalimentar.component.sass']\n})\nexport class TablaRetroalimentarComponent implements OnInit {\n private uuid = 'b46ef9b8-92bb-11ee-b9d1-0242ac120002';\n public config: any;\n\n @Input() dataSource = [];\n displayedColumns:string[] = ['acciones','id','tipo_auditoria','fecha_auditoria','campaña','cedula_auditado','nombre_auditado','ucid'];\n\n @Input()length;\n @Input()pageSize = 5;\n @Input() page = 1;\n pageSizeOptions = [5,10,25,50,100];\n @Output() paginacion = new EventEmitter();\n campania:string = '';\n constructor(\n private dialog:MatDialog,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n detailRetroAlimentacion(id){\n const retroalimentacionRef = this.dialog.open(DetalleRetroalimentacionComponent,{\n width:'1056px',\n disableClose:true,\n data: id,\n });\n retroalimentacionRef.afterClosed().subscribe(()=>{\n\n });\n }\n\n pageEvent(event:any){\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.paginacion.emit({\n pagina: this.page,\n registros: this.pageSize,\n });\n }\n\n get campaign(){\n let campaignMatriz;\n this.dataSource.forEach(element => {\n campaignMatriz = element.campaign;\n });\n if (campaignMatriz.length == 0) {\n return false\n }\n this.campania = campaignMatriz.name;\n return true;\n }\n\n}\n","
\n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n
\n \n {{config.labels.id}} {{ element.matriz.id}} {{config.labels.tipoAuditoria}} {{ element.matriz.tipo_audioria.nombre }} {{config.labels.fechaAuditoria}} {{ element.matriz.created_at | date:'dd/MM/yyyy' }} {{config.labels.campania}} {{ campaign ? campania: config.labels.noDataToShow }} {{config.labels.cedulaAuditado}} {{ element.matriz.cedula_asesor }} {{config.labels.nombreAuditado}} {{ element.matriz.nombre_asesor }} {{config.labels.ucid}} {{ element.matriz.ucid }}
{{config.labels.noDataToShow}}
\n\n \n \n
\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport Swal from 'sweetalert2';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { AdminServersService } from '../../../../services/admin-servers.service';\nimport { EditConnectionComponent } from '../edit-connection/edit-connection.component';\nimport { CretateConnectionsComponent } from '../create-connection/create-connection.component';\n\n@Component({\n selector: 'app-connects',\n templateUrl: './connects.component.html',\n styleUrls: ['./connects.component.sass']\n})\nexport class ConnectsComponent implements OnInit {\n\n formFilters:FormGroup;\n filter: string = '';\n newStateToggle: any;\n textInputFilter: string = '';\n pageSizeOptions: any = [5, 10, 25, 50, 100];\n public queryParams : string = 'page=1&per_page=5';\n configPaginator: any = { length: 0, pageSize: 5, pageIndex: 0, previousPageIndex: 0 };\n\n dataSource = new MatTableDataSource();\n @ViewChild(MatSort) sort: MatSort;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n //configuracion tabla\n keysColumnsTable: string[] = [];\n displayedColumns: string[] = ['slide', 'name', 'server', 'database'];\n\n configColumnsTable: any[] = [\n { key: 'slide', name: 'Acciones' },\n { key: 'name', name: 'Nombre' },\n { key: 'server_host', name: 'Servidor' },\n { key: 'database_name', name: 'Base de datos' },\n ];\n\n ngOnInit(): void {\n this.getServers();\n this.keysColumnsTable = this.configColumnsTable.map((item: any) => item.key);\n }\n\n constructor(\n private dialog:MatDialog,\n private adminServersService: AdminServersService,\n ) { }\n\n\n /**\n * Metodo abir modal agregar conexion-\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n addConnection(): void {\n const dialogRef= this.dialog.open(CretateConnectionsComponent, {\n width: '50%',\n maxHeight: '95vh'\n });\n }\n\n /**\n * Metodo para modal editar\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n openEditModal(id: number): void {\n const dialogRef = this.dialog.open(EditConnectionComponent, {\n width: '50%',\n maxHeight: '95vh',\n data: { id: id }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n this.getServers();\n });\n }\n\n /**\n * Metodo que pagina la informacion de la tabla.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * @param $event Evento emitido por el paginador.\n */\n changePage($event: PageEvent): void {\n this.configPaginator = $event;\n this.getServers();\n }\n\n /**\n * Metodo que filtra los datos de la tabla.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * @param $event Evento emitido por el input.\n */\n onSearchClick(value: string): void {\n this.filter = value;\n this.configPaginator.pageIndex= 0;\n this.paginator.firstPage();\n this.getServers();\n }\n\n\n /**\n * Metodo que trae todos los servidores registrados.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n getServers(): void {\n this.adminServersService.getServers(this.configPaginator, this.filter).subscribe(res => {\n this.dataSource.data = res.data.data;\n this.dataSource.sort = this.sort;\n this.configPaginator.length = res.data.total;\n });\n }\n\n /**\n * Metodo cambiar de estado el toggle\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n toggleStateChanged(element: any): void {\n let confirmationMessage = '';\n if (!element.state) {\n confirmationMessage = '¿Estás seguro de deshabilitar la conexión seleccionada?';\n } else {\n confirmationMessage = '¿Estás seguro de habilitar la conexión seleccionada?';\n }\n\n Swal.fire({\n title: '¿Estás seguro?',\n icon: 'warning',\n text: confirmationMessage,\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.changeState(element);\n } else {\n element.state = !element.state;\n }\n });\n }\n\n /**\n * Metodo actualizar campaña activa\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n changeState(element: any): void {\n this.adminServersService.StateServer({ id: element.id })\n .subscribe(\n () => {\n let confirmationMessage = '';\n if (!element.active) {\n confirmationMessage = 'Se ha deshabilitado la conexión con éxito.';\n } else {\n confirmationMessage = 'Se ha habilitado la conexión con éxito.';\n }\n Swal.fire({\n icon: 'success',\n title: '¡Excelente!',\n text: confirmationMessage,\n timer: 3000,\n showConfirmButton: false,\n willClose: () => {\n this.getServers();\n }\n });\n },\n (error) => {\n console.error('No se pudo actualizar el estado de la conexión', error.error);\n Swal.fire({\n icon: 'error',\n title: 'No se pudo actualizar el estado de la conexión',\n text: error.error.error,\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n }).then(() => {\n this.getServers();\n });\n }\n );\n }\n\n}\n","
\n
\n \n Buscar\n \n \n \n
\n
\n
\n \n
\n
\n\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ column.name }} {{ element[column.key] }} {{ column.name }} \n \n \n
No existe información relacionada
\n\n \n \n
\n \n
\n
","import { Component, Inject, OnInit } from '@angular/core';\n\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\n\n// Models\nimport { CampaignUser } from '../../../../modules/shared/models/campaign-user';\n\n// Services\nimport { LocalStorageService } from '../../services/localStorage.service';\n\n@Component({\n\tselector: 'app-choose-campaign',\n\ttemplateUrl: './choose-campaign.component.html',\n\tstyleUrls: ['./choose-campaign.component.sass']\n})\nexport class ChooseCampaignComponent implements OnInit {\n\tcolumns = ['index', 'code', 'name']; // Columnas de la tabla de campañas\n\tdataSource = new MatTableDataSource(); // Datos de la tabla de campañas\n\tselectedRowIndex = null; // Index seleccionado\n\tselectedCampaign: CampaignUser = null; // Campaña selecionada de la tabla de campañas\n\n\tconstructor(@Inject(MAT_DIALOG_DATA) public campaigns: any, private matDialog: MatDialog, private localStorageService: LocalStorageService) {}\n\n\tngOnInit(): void {\n\t\tthis.dataSource.data = this.campaigns.campaigns;\n\t}\n\n\t/**\n\t * Método que se llama cuando se selecciona una campaña.\n\t * Esto se hace para agregar el foco a la campaña seleccionada.\n\t * @param row campaña seleccionada\n\t * @param index index de la campaña seleccionada.\n\t * @author Carlos Gómez\n\t * @createdate 2021-05-21\n\t */\n\thighlight(row: any, index: number): void {\n\t\tthis.selectedRowIndex = index;\n\t\tthis.selectedCampaign = row;\n\t}\n\n\t/**\n\t * Método para guardar la campaña seleccionada en el localStorage y cerrar el popup\n\t * @author Carlos Gomez\n\t * @createdate 2021-05-21\n\t */\n\tchooseCampaign(): void {\n\t\tthis.localStorageService.setCampaignUser(this.selectedCampaign);\n\t\tthis.matDialog.getDialogById('dialog_chooseCampaign').close(null);\n\t}\n}\n","
\n\t
\n\t\t

¡Elige la campaña!

\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
{{ i + 1 }}Código{{ element.campaign.code }}Nombre{{ element.campaign.name }}
No hay campañas
\n\t\t
\n\t\t\n\t\t\t\n\t\t\n\t
\n
\n","import { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst NOMINA_URL = environment.NOMINA_URL;\n@Injectable({\n providedIn: 'root'\n})\nexport class PaymentSlipService {\n\n constructor(private http: HttpClient) { }\n\n /**\n * @author Juan Carlos Alonso\n * @updateDate 2023-09-08\n * Metodo para consultar el pdf generado en el back del desprendible de nomina\n */\n getPayment(month, year, lastMonth?, liquidations?, selected_user_id?) {\n if(lastMonth){\n return this.http.get(`${NOMINA_URL}nomina/resume/paymentSlip?month=${month}&year=${year}&liquidations=${liquidations ?? ''}&selected_user_id=${selected_user_id ?? ''}`, {responseType: 'blob'})\n }\n return this.http.get(`${NOMINA_URL}nomina/resume/paymentSlip?month=${month}&year=${year}&lastMonth=${!lastMonth}&liquidations=${liquidations ?? ''}&selected_user_id=${selected_user_id ?? ''}`, {responseType: 'blob'})\n }\n\n /**\n * @author Johan Soler\n * @createDate 2022-06-29\n * Metodo para traer los meses trabajados del empleado\n */\n getWorkersMonth() {\n return this.http.get(`${NOMINA_URL}monthsWorked`)\n }\n\n /**\n * @author Johan Soler\n * @createDate 2022-06-29\n * Metodo para traer los meses trabajados del empleado\n */\n getPaymentsNominaByUser(year?,rrhh_id?) {\n return this.http.get(`${NOMINA_URL}paymentSlip/getPaymentSlipDataByUser?year=${year ?? ''}&rrhh_id=${rrhh_id}`)\n }\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-on-boarding',\n templateUrl: './on-boarding.component.html',\n styleUrls: ['./on-boarding.component.sass']\n})\nexport class OnBoardingComponent implements OnInit {\n\n public id: string;\n public img : string;\n public index: number;\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-01-31\n * se debe pasar un array con la siguiente estructura:\n * [{ img: 'ciu/Onboarding-1.svg'}, { img: 'ciu/Onboarding-2.svg' },]\n * se debe tener en cuenta que las imagenes se deben alojar en la ubicación '/images/on-boarding'\n * y completar con la ruta de la imagen\n * @param data array con la ubicación y nombre del archivo imagen\n */\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-01-31\n *setea la variable inicial a mostrar\n */\n ngOnInit(): void {\n this.index = 0;\n this.img = this.data[this.index].img;\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-01-31\n *función para cambio de siguiente imagen\n */\n ChangeNext()\n {\n this.index += 1;\n this.img = this.data[this.index].img;\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-01-31\n *función para cambio de imagen anterior\n */\n\n ChangeBack()\n {\n this.index -= 1;\n this.img = this.data[this.index].img;\n }\n\n}\n","
\n
\n \n
\n
\n \n \n \n
\n
\n\n","export class Import{\n file:File;\n\nconstructor( file:File ){\n this.file = file;\n}\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { TestsService } from '../../../services/tests.service';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { UploadTestComponent } from '../upload-test/upload-test.component';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { environment } from 'src/environments/environment';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { CandidateCommentsComponent } from '../../candidates/candidate-comments/candidate-comments.component';\n@Component({\n selector: 'app-assign-test',\n templateUrl: './assign-test.component.html',\n styleUrls: ['./assign-test.component.sass']\n})\nexport class AssignTestComponent implements OnInit {\n\n test;\n\n testsList: any = [];\n candidate;\n selectedTests = [];\n testCandidates = [];\n testsNames =[];\n califications = [1, 2, 3];\n testSelectedToEvaluation: any = {};\n enableForm=false\n constructor(private testService: TestsService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private formBuilder: FormBuilder,\n private dialog: MatDialog,\n private alertService: AlertsService,\n \n public dialogRef: MatDialogRef) {\n this.candidate = data.candidate;\n this.getTestCandidates();\n }\n\n ngOnInit(): void {\n \n this.testService.getTestsList().subscribe( resp => {\n this.testsList = resp;\n });\n \n }\n\n getTestCandidates(){\n this.enableForm=false\n this.testService.getTestByCandidate(this.candidate.id).subscribe((resp: any) => {\n this.candidate = resp;\n this.enableForm=true\n \n });\n }\n\n pushArray(event) {\n this.selectedTests = event.selectedOptions.selected.map(item => item.value.id);\n this.testsNames = event.selectedOptions.selected.map(item => item.value);\n }\n\n saveTests(testId) {\n this.registerTest().then( () => {\n if (this.selectedTests.includes(3) || this.selectedTests.includes(1)){\n const uploadTestDialog = this.dialog.open ( UploadTestComponent, {\n minWidth: '55%',\n disableClose: true,\n data: {\n testsNames:this.testsNames,\n candidateId: this.candidate.id,\n requestId: this.data.requestId\n }\n });\n uploadTestDialog.afterClosed().subscribe(res=>{\n this.dialog.closeAll()\n this.getTestCandidates();\n })\n }\n \n });\n \n }\n\n registerTest(){\n return new Promise(resolve => {\n this.testService.saveTests({candidateIds:this.candidate.id, testIds: this.selectedTests.toString(), requestId: this.data.requestId})\n .subscribe( resp => {\n this.alertService.alertSuccess('¡Hecho!', 'Pruebas asignadas correctamente');\n resolve(resp);\n });\n });\n }\n\n resolveAfter2Seconds(x) {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve(x);\n }, 2000);\n });\n }\n\n saveTestsClinicaVentas(candidateTestId, resources){\n this.testService.saveResourcesFromAdmin(candidateTestId, {resources}).subscribe( (resp: any) => {\n this.alertService.alertSuccess('Clínica de Ventas guardada con éxito', '');\n });\n }\n\n downloadFile(file){\n\n this.testService.downloadFile(file.id, 'attach').subscribe((resp:any) => {\n importedSaveAs(resp, `${file.resources.candidateAttachmentName}`);\n })\n\n }\n\n selectedTest(test){\n this.testSelectedToEvaluation = test;\n }\n saveEvaluation(){\n this.testService.saveEvalutationOrAssesments(this.testSelectedToEvaluation.id, this.testSelectedToEvaluation).subscribe(e => {\n this.alertService.alertSuccess('¡Hecho!', 'Evaluación creada con éxito');\n this.candidate.enableCommentBtn = true;\n });\n }\n openComments(){\n const candidateComments = this.dialog.open ( CandidateCommentsComponent, {\n minWidth: '80%',\n disableClose: true,\n data: { candidateId: this.candidate.id, requestId: this.data.requestId }\n });\n candidateComments.afterClosed().subscribe( (params) => {\n });\n }\n\n}\n","\n

Pruebas del candidato

\n
\n\n
\n

Seleccione las pruebas que desea asignar al candidato

\n \n \n {{test.name}}\n \n \n
\n\n
0\">\n \n \n
\n

Calificación general\n Pendiente \n {{test.evaluation}}%\n

\n \n

Área de selección
\n Pendiente \n Calificación general {{test.resources[0].evaluation}}%\n

\n
    \n
  • \n

    {{item.name}} - Calificación\n {{item.calification | assessmentResults}}\n

    \n
  • \n
\n

Área de operación
\n Pendiente \n Calificación general {{test.resources[1].evaluation}}%\n

\n
    \n
  • \n

    {{item.name}} - Calificación\n {{item.calification | assessmentResults}}\n

    \n
  • \n
\n

Área de formación
\n Pendiente \n Calificación general {{test.resources[2].evaluation}}%\n

\n
    \n
  • \n

    {{item.name}} - Calificación\n {{item.calification |assessmentResults}}\n

    \n
  • \n
\n
\n\n
\n
\n

El candidato aún no ha suminstrado sus respuestas

\n
\n
\n

Respuestas suministradas por el candidato

\n
\n

Comentario {{ test?.resources?.comments }}

\n
\n

Archivo Adjuntado {{test?.resources?.candidateAttachmentName}}

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

De acuerdo a los resultados obtenidos por el candidato, ingrese su calificación y comentarios finales.
Una vez se registren sus calificaciones por prueba deberá registrar el concepto final para el candidato.
\n

\n
\n
\n \n Pruebas a Evaluar\n \n {{ row.test.name }}\n \n \n \n \n Evaluación\n \n \n
\n
\n \n \n
\n \n
\n\n\n
\n
\n
\n\n\n
\n\n \n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-ciu',\n templateUrl: './ciu.component.html',\n styleUrls: ['./ciu.component.sass']\n})\nexport class CiuComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n \n }\n}","\n \n ","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport * as moment from 'moment';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\nimport { delay } from 'rxjs/operators';\nimport { VacationsService } from 'src/app/modules/nomina/services/rest/vacations.service';\nimport Swal from 'sweetalert2';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-cancel-vacations',\n templateUrl: './cancel-vacations.component.html',\n styleUrls: ['./cancel-vacations.component.sass']\n})\nexport class CancelVacationsComponent implements OnInit {\n\n public currentDay: Date | string;\n public startDay: Date | string;\n public initDay: Date;\n public endDay: Date | string;\n public minDay: Date | string;\n public maxDay: Date | string;\n public vacationForm: FormGroup;\n public showTotalDays: boolean;\n public totalDays: number;\n public cancelTotalDays: number;\n public availableDays: any;\n public businessDays; any;\n public dataInfo: any;\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n private noveltiesService: NoveltiesService,\n private vacationService: VacationsService,\n private alert: AlertsService\n ){\n }\n\n ngOnInit() {\n this.startVariables();\n this.getCalendarWithAvailableDays();\n\n this.vacationForm.controls.startDay.valueChanges.subscribe(resp => {\n this.startDay = moment(this.vacationForm.controls.startDay.value).locale('es').format('YYYY-MM-DD');\n this.betwenDays();\n });\n }\n\n /**\n * @author Johan Soler \n * @createDate 15-Jun-2022\n * Metodo para inicializar las variables del componente\n */\n startVariables() {\n this.vacationService.getInfoVacationId(this.data.idHoliday).subscribe(resp => {\n this.dataInfo = resp.data;\n\n })\n \n this.showTotalDays = false;\n this.totalDays = 0;\n this.cancelTotalDays = 0;\n this.currentDay = moment(new Date()).locale('es').format('YYYY-MM-DD');\n this.startDay = new Date();\n this.vacationForm = new FormGroup({\n startDay: new FormControl('', [Validators.required]),\n justification: new FormControl('', [Validators.required])\n })\n \n if(this.currentDay <= this.data.fechaSolicitud){\n this.minDay = moment(this.data.fechaSolicitud).locale('es').format('YYYY-MM-DD');\n }else{\n this.minDay = moment(this.currentDay).add(1,'d').locale('es').format('YYYY-MM-DD');\n }\n this.maxDay= moment(this.data.fechaFinSolicitud).locale('es').format('YYYY-MM-DD');\n this.endDay = moment(this.data.fechaFinSolicitud).add(1,'d').locale('es').format('YYYY-MM-DD');\n this.initDay = this.data.fechaSolicitud;\n }\n /**\n * @author Johan Soler \n * @createDate 15-Jun-2022\n * Metodo para calcular los dias existentes entre las dos fechas\n */\n betwenDays() {\n const init = moment(this.initDay);\n const end = moment(this.endDay);\n \n this.noveltiesService.getAvailableDaysForVacations({\n startDate: moment(this.data.fechaSolicitud).locale('es').format('YYYY-MM-DD'),\n endDate: moment(this.data.fechaFinSolicitud).locale('es').format('YYYY-MM-DD')\n }).subscribe(resp => {\n this.totalDays = resp.data.businessDays\n })\n\n this.noveltiesService.getAvailableDaysForVacations({\n startDate: moment(this.startDay).locale('es').format('YYYY-MM-DD'),\n endDate: moment(this.maxDay).locale('es').format('YYYY-MM-DD')\n }).subscribe(resp => {\n this.cancelTotalDays = resp.data.businessDays\n })\n this.showTotalDays = true;\n }\n\n /**\n * @author Johan Soler \n * @createDate 15-Jun-2022\n * Metodo para enviar los datos al back para registrar la cancelacion\n */\n cancelVacation() {\n let str = '¿En verdad deseas Interrumpir las vacaciones del ' + '\\n' \n + 'trabajador?, ten en cuenta que los días no' + '\\n' \n + 'tomados se le devolveran como días disponibles' + '\\n' \n + 'al trabajador para que pueda solicitar de nuevo' + '\\n' \n + 'vacaciones. Recuerda que esta acción será' + '\\n' \n + 'definitiva y no se podrá deshacer. ';\n\n Swal.fire({\n title: '¿Estás seguro?',\n html: '
' + str + '
',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n const body = {\n days_not_taken: this.cancelTotalDays,\n days_taken: this.totalDays - this.cancelTotalDays,\n date_start: this.startDay,\n date_end: moment(this.data.fechaFinSolicitud).locale('es').format('YYYY-MM-DD'),\n justify: this.vacationForm.controls['justification'].value\n }\n this.vacationService.cancelVacation(this.data.idHoliday,body).subscribe(resp => {\n if (resp) {\n this.alert.alertSuccessWithoutButton('Excelente', 'Se han interrumpido las vacaciones del'+ '\\n' + 'trabajador con exito');\n this.dialogRef.close('');\n }\n }) \n\n }\n });\n }\n\n /**\n * @author Johan soler\n * @createdate 2022-06-17\n * Metodo para obtener los dias disponibles y los solicitados\n */\n getCalendarWithAvailableDays(): void {\n let startDate = this.data?.fechaSolicitud;\n let endDate = this.data?.fechaFinSolicitud;\n this.noveltiesService.getAvailableDaysForVacationsByUser({ startDate: startDate, endDate: endDate, rrhh_id: this.data?.rrhh_id }).pipe(delay(1000)).subscribe((respDates) => {\n if (respDates.data.totalDaysVacations > 0) {\n this.availableDays = respDates.data.totalDaysVacations;\n } else {\n this.availableDays = respDates.data.availableDays < 0 ? 0 : respDates.data.availableDays;\n }\n this.businessDays = respDates.data.businessDays; \n });\n }\n}\n","
\n\n

\n
\n
\n \"noveltyIcon\"\n \n

{{data.name}}

\n
{{data.id_number}}
\n
\n
\n
\n

Estado: {{data.stateName}}

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

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

Vacaciones solicitadas

\n

Desde: {{ data?.fechaSolicitud | date:'dd/MM/yyyy' }}\n Hasta: {{data?.fechaFinSolicitud | date:'dd/MM/yyyy' }}

\n
\n
\n

Días disponibles: {{ availableDays }} Días hábiles solicitados:\n {{ businessDays }}

\n
\n
\n
\n

Observaciones trabajador

\n

{{ dataInfo?.first_response.justify }}

\n
\n
\n
\n

Aprobacion jefe de área

\n

Fecha de aprobacion: {{ dataInfo?.first_response.updated_at | date:'dd/MM/yyyy' }}

\n

Observaciones jefe de área

\n

{{ dataInfo?.first_response.response }}

\n
\n
\n
\n

Respuesta Nómina

\n

Fecha de aprobacion: {{ dataInfo?.second_response.updated_at | date:'dd/MM/yyyy' }}

\n

Observaciones área jurídica

\n

{{ dataInfo?.second_response?.response }}\n

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

Interrumpir vacaciones

\n

Fecha de interrupción: {{ data.novelty_cancel_vacation[0].date_start |\n date:'dd/MM/yyyy' }} Días tomados: {{data.novelty_cancel_vacation[0].days_taken}} Días no tomados: {{data.novelty_cancel_vacation[0].days_not_taken}}

\n

Pendiente por aprobacion

\n
\n

Observaciones área jurídica

\n

{{ dataInfo?.third_response?.response }}

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

Interrumpir vacaciones

\n
\n \n Fecha inicio de interrupcion\n \n \n \n ¡Advertencia! Este campo es\n requerido\n \n \n
\n
\n\n
\n
\n
\n

Deseas cancelar {{cancelTotalDays}} dias de vacaciones de {{totalDays}}\n dias

\n
\n
\n
\n\n
\n
\n \n Justificación\n \n ¡Advertencia! Este campo es\n requerido\n \n \n
\n
\n\n
\n
\n \n
\n
\n\n
\n
\n
\n
","import { Component, EventEmitter, Input, OnDestroy, OnInit, ViewChild, Output, ElementRef } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators, ReactiveFormsModule } from '@angular/forms';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { DestroyComponentService } from '../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../shared/alerts/alerts.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { ImportDesprendibleService } from '../../services/rest/ImportDesprendible.service';\nimport Swal from 'sweetalert2';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { PaymentSlipService } from 'src/app/modules/rrhh/services/paymentSlip.service';\nimport { FilesViewComponent } from 'src/app/shared/files-view/files-view.component';\n\n\n@Component({\n selector: 'app-liquidations-import',\n templateUrl: './liquidations-import.component.html',\n styleUrls: ['./liquidations-import.component.sass']\n})\nexport class LiquidationsImportComponent implements OnInit {\n\n // MatPaginator Inputs\n dataSource = new MatTableDataSource();\n documento_work = new FormControl('');\n typeDocument = new FormControl('');\n data_name_work = [];\n FrmFormulario: FormGroup;\n length = 100;\n result_busqueda = 0; // Si encuentra o no resultados, se activan las visualez\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n total_registros = 5;\n\n displayedColumns: string[] = ['actions','fecha_carga', 'nombre', 'documento', 'salario_basico', 'total_descuentos', 'total_neto_pagar']; //Tabla inicial\n displayedColumns2: string[] = ['nombre', 'documento', 'salario_basico', 'total_descuentos', 'total_neto_pagar']; //Tabla para el modal\n\n months: any = [\n { id: 'all', name: 'Todos' },\n { id: 1, name: 'Enero' },\n { id: 2, name: 'Febrero' },\n { id: 3, name: 'Marzo' },\n { id: 4, name: 'Abril' },\n { id: 5, name: 'Mayo' },\n { id: 6, name: 'Junio' },\n { id: 7, name: 'Julio' },\n { id: 8, name: 'Agosto' },\n { id: 9, name: 'Septiembre' },\n { id: 10, name: 'Octubre' },\n { id: 11, name: 'Noviembre' },\n { id: 12, name: 'Diciembre' },\n ];\n years: any = [];\n\n documents: any = [];\n\n private month: string = '';\n private year: string = '';\n private document: string = '';\n private typeDoc: string = '';\n public uploadFile;\n nameFile: any;\n FileData: any;\n @ViewChild('fileInput') fileInput: ElementRef;\n selectMonths = new FormControl('');\n selectYears = new FormControl('');\n\n constructor(private importDesprendibles: ImportDesprendibleService,\n private alert: AlertsService,\n private formBuilder: FormBuilder,\n private users: CandidatesService,\n private dialog: MatDialog,\n private paymentSlipService: PaymentSlipService) { }\n\n ngOnInit(): void {\n let dateCurrier = new Date();\n let yearCurrier = dateCurrier.getFullYear();\n let yearMin = 2022;\n while (yearMin <= yearCurrier) { //Llenamos el array years con los años para el filtro\n this.years.push(yearMin);\n yearMin++;\n }\n //se listan los tipos de documentos\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n //Tabla historico de desprendibles\n this.get_data(this.pageSize, this.page);\n this.uploadFile = this.formBuilder.group({\n file: ['']\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.typeDoc = resp;\n });\n\n this.selectMonths.setValidators([Validators.required]);\n this.selectMonths.updateValueAndValidity();\n\n this.selectYears.setValidators([Validators.required]);\n this.selectYears.updateValueAndValidity();\n\n this.selectMonths.valueChanges.subscribe(resp => {\n this.month = resp;\n this.get_data(this.pageSize, this.page);\n this.show_list(this.month, this.year);\n });\n this.selectYears.valueChanges.subscribe(resp => {\n this.year = resp;\n this.get_data(this.pageSize, this.page);\n this.show_list(this.month, this.year);\n });\n }\n\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.get_data(this.pageSize, this.page);\n }\n\n /**\n * @author David Reinoso\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e) {\n this.document = e;\n this.get_data(this.pageSize, this.page);\n }\n\n /**\n * @author David Reinoso\n * Metodo para cargar el archivo\n */\n onChangeFile(e) {\n this.uploadFile.get('file').setValue('');\n this.nameFile = e.target.files[0].name;\n this.FileData = e.target.files[0];\n this.uploadFile.get('file').setValue(this.FileData);\n this.upload();\n e.target.value = null;\n }\n\n\n /**\n * @author David Reinoso\n * Metodo para listar\n */\n get_data(pageSize, page) {\n this.importDesprendibles.getPaymentSlipData({\n liquidations: true,\n month: this.month,\n year: this.year,\n document: this.document,\n typeDoc: this.typeDoc,\n }, pageSize, page).subscribe(resp => {\n this.dataSource = resp.data.data;\n this.length = resp.data.total;\n });\n }\n\n /**\n * @author David Reinoso\n * Metodo descargar la plantilla\n */\n downloadTemplate() {\n this.importDesprendibles.downloadTemplate(true).subscribe(resp => {\n importedSaveAs(resp, 'plantilla_cargue_desprendibles_de_liquidaciones.xlsx');\n });\n }\n\n /**\n * @author David Reinoso\n * Metodo realizar el import del archivpo\n */\n upload() {\n const formData = new FormData();\n formData.append('liquidations',\"true\");\n formData.append('file', this.uploadFile.get('file').value);\n\n let str = '¿En verdad deseas cargar el archivo?,' + '\\n' + 'recuerda que si te equivocas podrás cargar de nuevo la' + '\\n' + 'plantilla y el sistema lo corregirá' + '\\n' + 'automáticamente

Nombre del archivo
' + this.nameFile;\n Swal.fire({\n title: '¿Estás seguro?',\n html: '
' + str + '
',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.importDesprendibles.uploadFile(formData).subscribe(resp => {\n if (resp?.data?.msg == 'Se generó un Excel con los errores presentados') {\n this.alert_error(resp?.data?.file_url, resp?.data?.count_good, resp?.data?.count_bad);\n }\n if (resp.data == \"Proceso realizado correctamente\") {\n this.alert.alertSuccessWithoutButton('¡Excelente!', 'Se ha cargado el archivo con éxito.');\n }\n this.get_data(this.pageSize, this.page);\n });\n }\n });\n this.uploadFile.get('file').setValue('');\n this.nameFile = '';\n this.FileData = '';\n }\n\n /**\n * @author David Reinoso\n * Metodo que muestra los errores al cargar el desprendible\n */\n alert_error(file_error, good, bad) {\n\n let mgs = \"Lo sentimos, ha ocurrido un error inesperado y no
fue posible cargar todos los desprendibles.\";\n mgs = mgs.concat(\"

Resumen de la gestión
\");\n mgs = mgs.concat(\"
Desprendibles cargados: \" + good + \"\");\n mgs = mgs.concat(\"
Desprendibles con error: \" + bad + \"
\");\n\n let btn_import = '
');\n\n let btn_dowload = '

');\n\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: 'btn',\n cancelButton: 'btn'\n },\n buttonsStyling: false\n })\n\n swalWithBootstrapButtons.fire({\n icon: 'error',\n title: '¡Oops!',\n showCloseButton: true,\n width: '628px',\n html: mgs,\n showCancelButton: true,\n confirmButtonText: btn_dowload,\n cancelButtonText: btn_import,\n reverseButtons: false,\n allowOutsideClick: false\n }).then((result) => {\n if (result.isConfirmed) {\n window.open(file_error, '_blank');\n } else if (result.dismiss === Swal.DismissReason.cancel) {\n this.fileInput.nativeElement.click();\n }\n })\n }\n\n /**\n * @author David Reinoso\n * Metodo para mostrar la lista\n */\n show_list(mount, year) {\n if (mount != '' && year != '') this.result_busqueda = 1;\n else this.result_busqueda = 0;\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2023-09-08\n * Método que obtiene el desprendible, si es vista se visualiza en un modal, de lo contrario lo descarga\n */\n getCertificate(id:number,isView:boolean){\n const lastMonth = new Date().getMonth()+1 == this.selectMonths.value;\n this.paymentSlipService.getPayment(Number(this.selectMonths.value), this.selectYears.value, lastMonth, true, id).subscribe((resp: any) => {\n if (isView) {\n let fileURL = URL.createObjectURL(resp);\n const checkDialog = this.dialog.open(FilesViewComponent, {\n data: { url: fileURL, name: \"desprendible_liquidación\", file: resp ,print: true}\n });\n } else {\n importedSaveAs(resp, \"desprendible_liquidación\");\n }\n\n })\n }\n}\n","
\n
\n

Desprendibles de Liquidación

\n

En este espacio podrás revisar y cargar los ítems de los desprendibles
de liquidación, no olvides, \"El respeto y\n empatía son clave\".

\n
\n\n
\n\n
\n \n Mes\n \n Seleccionar\n \n {{item?.name}}\n \n \n\n \n
\n\n
\n \n Año\n \n Seleccionar\n\n \n {{item}}\n \n \n \n
\n\n
\n\n
\n \n
\n\n
\n \n\n \n
\n\n
Nota: Ten en cuenta que debes seleccionar el mes para\n descargar, cargar y ver los desprendibles. Si te equivocas, podrás cargar de nuevo la plantilla y el\n sistema hará automáticamente las correcciones.
\n\n
\n \"\"\n
\n\n
\n\n\n
\n\n
\n \n Documento\n \n \n {{item.key}}\n \n \n
\n\n
\n\n\n
\n
\n\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
\n \n \n Fecha de carga {{row.created_at | date:\"dd-MM-yyyy\"}} Nombre {{row.name}} Documento {{row.document}} Salario básico {{row.basic_salary}} Total descuentos {{row.total_discounts}} Total neto pagado {{row.total_net_paid}}
No hay datos
\n\n \n \n\n
\n
\n
\n","import { Location } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport * as moment from 'moment';\nimport { CrudService } from 'src/app/shared/basic-crud-page-service/crud.service';\nimport {\n ConfigTable,\n Paginator,\n SelectType,\n} from 'src/app/shared/basic-crud-page/type';\nimport { environment } from 'src/environments/environment';\nimport Swal from 'sweetalert2';\nimport { RecordDialogComponent } from '../dialogs/record-dialog/record-dialog.component';\nimport { VideoRecordsService } from './video-records.service';\n\nconst { MEETINGS_URL } = environment;\n\n@Component({\n selector: 'app-video-records',\n templateUrl: './video-records.component.html',\n styleUrls: ['./video-records.component.sass'],\n})\nexport class VideoRecordsComponent implements OnInit {\n // videoRecords: any[] = [{ id_client: 1015438482, date: '13/12/2024 10:30', rrhhId_agent: 1205, recording: 'file:///C:/Users/Fabian/Pictures/prueba.mp4' }];\n videoRecords: any[] = [];\n configColumnsTable: ConfigTable[] = [\n { name: '', key: 'actions', type: 'events' },\n { name: 'NIT del cliente', key: 'id_client' },\n { name: 'Nombre del cliente', key: 'client_name' },\n { name: 'Fecha - Hora', key: 'date' },\n { name: 'Agente ID', key: 'rrhhId_agent' },\n { name: 'Grupo', key: 'name_group' },\n { name: 'Subgrupo', key: 'name_subgroup' },\n { name: 'Estado', key: 'state_recor' },\n ];\n configPaginator: Paginator = { length: 0, pageIndex: 0, pageSize: 5 };\n filter: string = null;\n filter2: string = null;\n filter3: string = null;\n filterByGroup: string = null;\n filterBySkill: string = null;\n filterInitDate: string = null;\n filterEndDate: string = null;\n max_date: Date = new Date();\n\n filterOptionsModel4: SelectType[] = [];\n filterOptionsModel5: SelectType[] = [];\n\n textFilterModel: string = null;\n textFilterModel2: string = null;\n textFilterModel3: string = null;\n\n dateFilter: Date = null;\n dateFilterStart: Date = null;\n dateFilterEnd: Date = null;\n\n isFilterActive: boolean = false;\n messageWithoutResults: string = 'No se encontraron resultados con los filtros configurados.';\n\n constructor(\n private matDialog: MatDialog,\n private crudService: CrudService,\n private location: Location,\n private videoRecordsService: VideoRecordsService\n ) {}\n\n ngOnInit(): void {\n this.getGroups();\n this.getVideoRecords();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-15\n * Metodo que redirecciona a la pagina anterior visitada.\n */\n backToPreviousPage(): void {\n this.location.back();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-12-04\n * Metodo que trae las carpetas registradas en el sistema.\n */\n getVideoRecords(): void {\n const filters = {\n perPage: this.configPaginator.pageSize,\n page: this.configPaginator.pageIndex + 1,\n id_cliente: this.filter,\n client_name: this.filter2,\n agent_name: this.filter3,\n startDate: this.filterInitDate,\n endDate: this.filterEndDate,\n id_group: this.filterByGroup,\n id_skill: this.filterBySkill,\n };\n\n this.crudService\n .postData({\n url: `${MEETINGS_URL}recordings/list-paginated`,\n formData: filters,\n })\n .subscribe((res) => {\n this.videoRecords = res.data;\n this.configPaginator.length = res.total;\n });\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-12-04\n * Metodo que setea el filtro emitido por el componente hijo.\n * @param $event Evento emitido por el componente hijo.\n */\n onChangeFilter($event: string, filter_index: number) {\n switch (filter_index) {\n case 1:\n this.filter = $event;\n break;\n case 2:\n this.filter2 = $event;\n break;\n case 3:\n this.filter3 = $event;\n break;\n case 4:\n this.filterByGroup = $event;\n this.filterOptionsModel5 = null;\n this.filterBySkill = null;\n this.getSubgroups($event);\n break;\n case 5:\n this.filterBySkill = $event;\n break;\n case 6:\n }\n\n this.isFilterActive =\n this.filter.length ||\n this.filter2.length ||\n this.filter3.length ||\n this.filterByGroup.length ||\n this.filterBySkill.length\n ? true\n : false;\n\n this.configPaginator.pageIndex = 0;\n this.getVideoRecords();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-12-04\n * Metodo que permite ejecutar la modal para crear o actualizar una carpeta.\n * @param folder Bandeja seleccionada de la tabla.\n */\n onClickShowVideoRecord($event: any): void {\n if ($event.element.recording) {\n this.matDialog\n .open(RecordDialogComponent, {\n width: '50%',\n autoFocus: false,\n data: {\n showVideoRecord: true,\n urlVideo: $event.element.recording,\n },\n })\n .afterClosed()\n .subscribe((res) => {\n if (res) this.getVideoRecords();\n });\n } else {\n Swal.fire({\n title: '¡Atención!',\n text: 'La grabación no esta disponible.',\n icon: 'info',\n confirmButtonText: 'Aceptar',\n });\n }\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-12-04\n * Metodo que permite actualizar la configuracion de la paginacion.\n * @param $event Evento emitido por el componente hijo.\n */\n onChangePage($event: Paginator): void {\n this.configPaginator = $event;\n this.getVideoRecords();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-12-04\n * Metodo que trae el rango de fechas emitido por el componente hijo.\n * @param $event Evento emitido por el componente hijo.\n */\n onChangeFilterRangeDate($event: { start: Date; end: Date }): void {\n if ($event.start && $event.end) {\n this.filterInitDate = moment($event.start).format('YYYY-MM-DD');\n this.filterEndDate = moment($event.end).format('YYYY-MM-DD');\n this.configPaginator.pageIndex = 0;\n this.getVideoRecords();\n }\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2025-01-09\n * Método que resetea el texto que contiene los filtros y trae la información nuevamente\n */\n onClickCelarFiltersButton() {\n this.filter = null;\n this.filter2 = null;\n this.filter3 = null;\n this.filterByGroup = null;\n this.filterBySkill = null;\n this.getVideoRecords();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-10-31\n * Metodo que limpia los filtros.\n */\n onClickClearFilters(): void {\n this.textFilterModel = null;\n this.textFilterModel2 = null;\n this.textFilterModel3 = null;\n this.dateFilter = null;\n this.dateFilterStart = null;\n this.dateFilterEnd = null;\n }\n\n getGroups() {\n this.videoRecordsService.getGroups().subscribe({\n next: (groups: SelectType[]) => (this.filterOptionsModel4 = groups),\n });\n }\n\n getSubgroups(id: string) {\n this.videoRecordsService.getSubgroups(id).subscribe({\n next: (groups: SelectType[]) => (this.filterOptionsModel5 = groups),\n });\n }\n}","\n\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { Chart, registerables } from 'chart.js';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { OPTIONS_PIE } from '../../constantes/create-data-chart';\n\n@Component({\n selector: 'app-view-graph-states',\n templateUrl: './view-graph-states.component.html',\n styleUrls: ['./view-graph-states.component.css']\n})\nexport class ViewGraphStatesComponent implements OnInit {\n ctx: any = null;\n canvas: HTMLCanvasElement = null;\n barChart: Chart<'pie'> = null;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any) {\n Chart.register(...registerables);\n }\n\n ngOnInit(): void {\n this.paintGraphic();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-02-09\n * Metodo que crea la grafica. \n */\n paintGraphic(): void {\n const dataPie = {\n labels: this.data.labels,\n datasets: [{\n data: this.data.data,\n backgroundColor: this.generateColorsByChart(this.data.labels.length),\n hoverOffset: 4\n }]\n };\n this.canvas = document.getElementById('pieChart');\n this.ctx = this.canvas.getContext('2d');\n this.barChart = new Chart(this.ctx, {\n type: 'pie',\n data: dataPie,\n options: OPTIONS_PIE\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-00\n * Metodo que genera colores aleatorios dentro de un array.\n * @param length Longitud del array proveniente de las grafica. \n */\n generateColorsByChart(length: number): Array {\n const arrayColors = [];\n for (let index = 0; index < length; index ++) {\n const r = Math.floor(Math.random() * 200) + 55;\n const g = Math.floor(Math.random() * 200) + 55;\n const b = Math.floor(Math.random() * 200) + 55; \n arrayColors.push('rgb(' + r + ',' + g + ',' + b + ', 0.5)');\n }\n return arrayColors; \n }\n}","
\n \n
","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { AcompañamientoModel } from 'src/app/modules/coaching/core/interfaces/acompañamiento.interface';\nimport { loadAcompañamientos } from 'src/app/modules/coaching/state/actions/acompañamiento.actions';\nimport { loadAuditoria } from 'src/app/modules/coaching/state/actions/auditoria.actions';\nimport { CoachingState } from 'src/app/modules/coaching/state/coaching.state';\nimport { listAcompañamientos } from 'src/app/modules/coaching/state/selectors/acompañamiento.selector';\n\n@Component({\n selector: 'app-tabla-coaching',\n templateUrl: './tabla-coaching.component.html',\n styleUrls: ['./tabla-coaching.component.sass']\n})\nexport class TablaCoachingComponent implements OnInit,OnDestroy {\n displayedColumns:string[] = [];\n dataSource = [];\n\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions = [5,10,25,50,100];\n @ViewChild(MatPaginator) paginator:MatPaginator;\n\n filter:string=\"\";\n constructor(\n private store:Store,\n private router:Router,\n private aRoute:ActivatedRoute,\n ) { }\n\n ngOnInit(): void {\n this.dataTable();\n }\n\n /**\n * @author Cristian Gallo\n * @createdate 2021-12-13\n * Metodo para ejecutar un select y obtener la información para la tabla\n */\n dataTable(){\n this.getParamsUrl();\n this.store.select(listAcompañamientos).forEach((acompañamiento:AcompañamientoModel) => {\n if (acompañamiento != null) {\n if(this.filter === \"reasignado\"){\n \n this.dataSource = acompañamiento.data.filter( data => data.reasignado == 1 );\n }else{\n\n this.dataSource = acompañamiento.data;\n }\n this.length = acompañamiento.total;\n if (acompañamiento.current_page == 1 && this.paginator) {\n this.paginator.firstPage();\n }\n }\n });\n }\n\n ngOnDestroy(): void {\n const params = JSON.parse(localStorage.getItem('filtros_coaching'));\n params.numeroReg = 5;\n params.page = 1;\n localStorage.setItem('filtros_coaching',JSON.stringify(params));\n }\n\n detailCoaching(idCoaching){\n this.router.navigateByUrl(`/mios/coaching/solicitud/${idCoaching}`);\n }\n\n detailAuditoria(idAuditoria){\n this.router.navigateByUrl(`/mios/coaching/auditoria/${idAuditoria}`);\n }\n\n detailFinal(idAuditoria){\n this.router.navigateByUrl(`/mios/coaching/finalizado/${idAuditoria}`);\n }\n\n pageEvent(event:any){\n const params = JSON.parse(localStorage.getItem('filtros_coaching'));\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n params.numeroReg = this.pageSize;\n params.page = this.page;\n this.store.dispatch(loadAcompañamientos(params));\n localStorage.setItem('filtros_coaching',JSON.stringify(params));\n }\n\n get Tab(){\n if (JSON.parse(localStorage.getItem('filtros_coaching')).tab == 12) {\n this.displayedColumns = ['acciones','id_coaching','fecha_coaching','nombre_coachee','cedula','indicador','id_auditoria','causa_raiz','reasignacion'];\n }else if (JSON.parse(localStorage.getItem('filtros_coaching')).tab == 0) {\n this.displayedColumns = ['acciones','id_coaching','fecha_coaching','nombre_coachee','cedula','indicador','id_auditoria','causa_raiz','dias_restantes','estado', 'reasignacion'];\n }\n return JSON.parse(localStorage.getItem('filtros_coaching')).tab;\n }\n\n\n /**\n * Metodo que carga los datos por URL para validacion y pbtencion de datos apra carga de tabla\n * @author Juan David Guerrero Vargas\n * @create_date 02/06/2022\n * @return void \n */\n getParamsUrl():void{\n this.aRoute.paramMap.subscribe(params => {\n this.filter = params.get('filter');\n });\n \n }\n\n}\n","
\n \n\n \n \n
\n
\n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n
\n \n \n \n ID Coaching {{ element.id ? element.id: 'N/A'}} Fecha Coaching {{element.created_at ? (element.created_at | date:'dd/MM/yyyy'): 'N/A' }} Nombre Coachee {{ element.nombreCoaching }} Cédula {{ element.cedulaCoaching }} Indicador {{ element.indicadores ? element.indicadores.nombre:'' }} ID Auditoría {{ element.idAuditoria === null ? 'N/A': 'Auditoría-'+element.idAuditoria }} Causa raíz {{ element.causas_raiz != null && element.causas_raiz.nombre ? element.causas_raiz.nombre: 'N/A' }} Días restantes {{ element.dias_restantes != null ? element.dias_restantes:'N/A' }} Estado {{ element.estados!=null && element.estados.nombre ? element.estados.nombre :'N/A' }} Reasignación {{ element.reasignado == '1'? 'Sí':'No' }}
No hay registros para mostrar
\n\n \n \n \n
","import { MatTableDataSource } from '@angular/material/table';\nimport { Component, OnInit } from '@angular/core';\nimport { ResourcesService } from '../../../services/resources.service';\nimport { CrmService } from '../../../services/crm.service';\nimport { Crm2Service } from '../../../services/crm2.service';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'app-booking-crm',\n templateUrl: './booking-crm.component.html',\n styleUrls: ['./booking-crm.component.sass']\n})\nexport class BookingCrmComponent implements OnInit {\n\n bookingList:any[]=[];\n dataSource:any;\n formList: any = [];\n formListCrmTwo:any[]= [];\n\n displayedColumns = ['resource', 'created_at', 'start', 'status'];\n\n\n constructor(\n public resourcesService : ResourcesService,\n public crmService: CrmService,\n public crmServicesTwo:Crm2Service,\n ) { }\n\n ngOnInit(): void {\n this.crmService.getFormsCRM().subscribe(res => {\n this.formList = res;\n } );\n\n this.crmServicesTwo.getFormsCRM().subscribe((res:any|any[]) => {\n \n if(Array.isArray(res) == true){\n this.formListCrmTwo = res;\n }else if (res !== null && res !== undefined){\n for (const key in res) {\n if(this.formListCrmTwo.find( fnd => fnd.id == res[key]?.id ) == undefined){\n this.formListCrmTwo.push(res[key]);\n }\n }\n }\n \n } );\n\n }\n\n /**\n * Metodoq ue se encarga dde filtrar\n * @param formId:number {number} id del formualrio a consultar\n * @param type:string {string} indicador para saber que filtro usar\n */\n filter( formId:number, type:string ){\n let $obsResource:Observable;\n if(type == \"crm\"){\n $obsResource = this.resourcesService.getCrmResources(formId);\n }else if(type == \"crm2\"){\n $obsResource =this.resourcesService.getCrmResourcesCrm2(formId);\n }\n\n $obsResource.subscribe(res=>{\n if(Array.isArray(res) == true){\n this.bookingList = res\n }else{\n this.bookingList = []\n }\n \n this.dataSource = new MatTableDataSource(res);\n })\n }\n\n get isBookingListLoad():boolean{\n if(Array.isArray(this.bookingList) == true && this.bookingList.length > 0){\n return true;\n }\n return false;\n }\n\n\n}\n","
\n\t

Reservas CRM

\n\n\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\tSeleccione un formulario CRM1\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ form[\"name_form\"] }}\n\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\tSeleccione un formulario CRM2\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ form[\"name_form\"] }}\n\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t
\n\t\t
\n\t
\n\n\n\t\n\n\n
\n\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n
Recursos {{item.resource.name}}, Fecha de reserva {{element.created_at | date}} Horas resevada {{element.start |date: 'shortTime'}} a {{element.end |date:\n 'shortTime'}} Estado{{element.status | status}}
No hay reservas disponibles
\n\t\n \n
\n\n\n\n
","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { SPEECH_URL } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ChatService {\n constructor(private httpClient: HttpClient) { }\n\n /**\n * Metodo que retorna los errores generados por HTTP. \n * @author Yeison Sepulveda\n * @createdate 2024-02-14\n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * Trae la consulta de todas las uploads realizados\n * @author Yeison Sepulveda\n * @createdate 2024-06-14\n * @param filters filtros para la búsqueda.\n * @param paginator configuración de paginación (pageSize y pageIndex).\n */\n\n uploadDataPaginate(filter: any, paginator: any): Observable {\n const body = { filter, per_page: paginator.pageSize, page: paginator.pageIndex };\n return this.httpClient.post(`${SPEECH_URL}uploads/paginate`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Cargar el documento excel y guardarlo\n * @author Yeison Sepulveda\n * @createdate 2024-06-14\n * @param filter filtros para la búsqueda.\n * @param paginator configuración de paginación (pageSize y pageIndex).\n */\n uploadData(user: string, file: File): Observable {\n const formData: FormData = new FormData();\n formData.append('user', user);\n formData.append('file', file);\n\n const headers = new HttpHeaders();\n headers.append('Content-Type', 'multipart/form-data');\n return this.httpClient.post(`${SPEECH_URL}chatCases/import`, formData, { headers }).pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * Trae listado por id de carga de los chats que contenia el excel\n * @author Yeison Sepulveda\n * @createdate 2024-06-14\n * @param filters filtros para la búsqueda.\n * @param paginator configuración de paginación (pageSize y pageIndex).\n */\n loadUploadDataPaginate(requestData: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}chatCases/paginate_chats`, requestData).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Obtiene listado de los chats por carga\n * @author Yeison Sepulveda\n * @createdate 2024-07-07\n */\n getListUploads(): Observable {\n return this.httpClient.get(`${SPEECH_URL}chatCases/list_uploads`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * Descargar plantilla de excel para poder cargar los chats\n * @author Yeison Sepulveda\n * @createdate 2024-07-07\n */\n downloadTemplate(): Observable {\n return this.httpClient.get(`${SPEECH_URL}chatCases/download_template`, {responseType: 'blob' as 'json'}).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Obtener toda la informacion de la convercacion por id\n * @author Yeison Sepulveda\n * @createdate 2024-07-07\n * @param id id del caso de conversacion\n */\n getChatById(id: number): Observable {\n return this.httpClient.get(`${SPEECH_URL}chatCases/chat_by_id/${id}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Descargar documentos cargados segun su id\n * @author Yeison Sepulveda\n * @createdate 2024-07-07\n * @param id id del caso de conversacion\n */\n dowloadUploadTemplate(id: number): Observable {\n return this.httpClient.get(`${SPEECH_URL}chatCases/download_file/${id}`, { responseType: 'blob' as 'json' }).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo validar estado analisis de los casos\n * @author Yeison Sepulveda\n * @param cases array con los id de los casos\n * @createdate 2024-02-14\n */\n chatAnalyticState(cases: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}chatCases/status_chats`,cases).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * Metodo para validar estado de error en detalle\n * @author Yeison Sepulveda\n * @param cases array con los id de los casos\n * @createdate 2024-09-19\n */\n chatAnalyticStateDetail(case_id: any): Observable {\n return this.httpClient.get(`${SPEECH_URL}chatCases/status_chats/error-details/${case_id}`).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo para crear al peticion de analisis de los chats\n * @author Yeison Sepulveda\n * @createdate 2024-02-19\n * @param body Id de los casos para analizar\n */\n chatRequestAnalytics(body: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}chatCases/analysis_request`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo que retorna los resultados del analisis\n * @author Yeison Sepulveda\n * @createdate 2024-02-19\n */\n showResultsChat(id: number): Observable {\n return this.httpClient.get(`${SPEECH_URL}chatCases/analysis_result/${id}`).pipe(\n catchError(this.handleError)\n );\n }\n\n\n /**\n * Descargar reporte de analisis de los chats\n * @author Yeison Sepulveda\n * @createdate 2024-07-15\n * @param filters json de la informacion\n */\n downloadReportChat(filters){\n return this.httpClient.post(`${SPEECH_URL}chatCases/downloadReportChats`,filters, {responseType: 'blob' as 'json'}).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo mandar a reprocesar el analisis si hay error\n * @author Yeison Sepulveda\n * @param case id del caso\n * @createdate 2024-09-03\n */\n chatReAnalyticState(cases: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}chatCases/updateCaseStatus`,cases).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo validar estado de adherencia de los casos\n * @author Yeison Sepulveda\n * @param cases array con los id de los casos\n * @createdate 2024-10-11\n */\n chatAdherenciaState(cases: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}chatCases/status_chats_strategy`,cases).pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Metodo para eliminar archivo cargado\n * @author Yeison Sepulveda\n * @createdate 2024-02-19\n * @param body Id de los casos para analizar\n */\n deleteUploadChatFile(body: any): Observable {\n return this.httpClient.post(`${SPEECH_URL}chatCases/delete_file`, body).pipe(\n catchError(this.handleError)\n );\n }\n\n}","export interface FormStructure {\n id :number;\n name_form : string;\n filters :any[];\n externalNotifications:boolean;\n section?:[\n {\n name_section:string,\n fields: any,\n type_section: number,\n collapse: boolean,\n duplicar: boolean\n },\n ],\n sections?:[\n {\n name_section:string,\n fields: any,\n type_section: number,\n collapse: boolean,\n duplicar: boolean\n },\n ],\n vicidial_key: string;\n }\n\n\nclass Tooltip {\n have: boolean;\n content: string;\n}\n\nexport class QuestionBase {\n id: number;\n type: string;\n key: string;\n controlType: string;\n label: string;\n value: T;\n disabled: boolean;\n required: boolean;\n canAdd: boolean;\n options: {id: string, name: string}[];\n minLength: number;\n maxLength: number;\n inReport: boolean;\n cols: number;\n preloaded: boolean;\n isFather: boolean;\n dependencies: any[];\n editRoles: any[];\n seeRoles: any[];\n tooltip: {have: boolean, content: string};\n nameFile: string;\n\n constructor(options: {\n id?: number;\n type?: string;\n key?: string;\n controlType?: string;\n label?: string;\n value?: T;\n disabled?: boolean;\n required?: boolean;\n canAdd?: boolean\n options?: {id: string, name: string}[];\n minLength?: number;\n maxLength?: number;\n inReport?: boolean;\n cols?: number;\n preloaded?: boolean;\n isFather?: boolean;\n dependencies?: any[]\n editRoles?: any[];\n seeRoles?: any[];\n tooltip?: {have: boolean, content: string};\n nameFile?: string;\n } = {}) {\n this.id = options.id || 0;\n this.type = options.type || 'textbox';\n this.key = options.key || '';\n this.controlType = options.controlType || '';\n this.label = options.label || '';\n this.value = options.value;\n this.disabled= !!options.disabled;\n this.required = !!options.required;\n this.canAdd = !!options.canAdd;\n this.options = options.options || [];\n this.minLength = options.minLength || 1;\n this.maxLength = options.maxLength || 50 ;\n this.inReport = !!options.inReport;\n this.cols= options.cols || 1;\n this.preloaded= !!options.preloaded;\n this.isFather= !!options.isFather;\n this.dependencies= options.dependencies || [];\n this.editRoles= options.editRoles || [];\n this.seeRoles= options.seeRoles || [];\n this.tooltip= options.tooltip || {have: false, content: ''};\n this.nameFile= options.nameFile || '';\n\n }\n }\n\n","import { Injectable } from '@angular/core';\nimport {environment} from '../../../../../environments/environment';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CompaniesService {\n\n CRM_CIAL = environment.CRM_CIAL;\n\n constructor(\n private http: HttpClient,\n ) { }\n\n /**\n * @author javier Castañeda\n * @createdate 2022-10-29\n * Servicio que lista las empresas\n * @returns JSON\n */\n getCompanies(): Observable {\n return this.http.get(`${this.CRM_CIAL}companies`);\n }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { TrainingGroupsService } from '../../../services/training-groups.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { GroupsCreateComponent } from '../groups-create/groups-create.component';\nimport { MatSort } from '@angular/material/sort';\nimport { GroupsViewComponent } from '../groups-view/groups-view.component';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AuthService } from '../../../../../core/services/rest/auth.service';\nimport {switchMap} from 'rxjs/operators';\nimport { AssignUsersComponent } from '../assign-users/assign-users.component';\n\n@Component({\n selector: 'app-groups-main',\n templateUrl: './groups-main.component.html',\n styleUrls: ['./groups-main.component.sass']\n})\nexport class GroupsMainComponent implements OnInit {\n\n length: number;\n pageSize: number;\n currentPage = 1;\n showGroups = false;\n campaigns:any\n enterprises:any\n action:string= 'Asignar'\n id:any =''\n trainer:any=''\n company :any=''\n campaign:any=''\n typeFilter:string = null\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort;\n columnName:string[]=[]\n displayedColumns: string[] =[]\n dataSource = new MatTableDataSource();\n analistUser: boolean = false;\n leader: boolean = false;\n\n constructor(private serviceGroups: TrainingGroupsService,\n public dialog: MatDialog,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n public auth:AuthService) { }\n\n ngOnInit(): void {\n this.auth.getUser().roles.forEach(element => {\n if(element == 'rrhh::lider-de-usuarios' || element == 'rrhh::coordinador-de-usuarios' || element == 'rrhh::lider_operativo' || element == 'rrhh::lider_administrativo'){\n this.analistUser = true\n }\n if(element == 'rrhh::lider-formador'){\n this.leader = true;\n }\n });\n this.getGroups();\n this.serviceGroups.getDataFilters(`dropdown/options/campana`).pipe(\n switchMap(campaigns =>{\n this.campaigns = campaigns\n return this.serviceGroups.getDataFilters('formationgroups/enterprises')\n })\n ).subscribe(enterprises=>{\n this.enterprises = enterprises\n })\n }\n\n filterByValue(event){\n this.currentPage = 1\n this.paginator.pageIndex = 0;\n\n this.id=''\n this.trainer=''\n this.company = ''\n this.campaign=''\n switch (this.typeFilter) {\n case \"id\":\n this.id = event;\n break;\n case \"Formador\":\n this.trainer= event\n break;\n case \"Empresa\":\n this.company = event\n break;\n case \"Campaña\":\n this.campaign = event;\n break;\n }\n this.getGroups() ;\n }\n getGroups() {\n this.columnName=[]\n this.displayedColumns=[]\n this.serviceGroups.getGroups({page: this.currentPage, id: this.id, trainer: this.trainer, company: this.company, campaing: this.campaign}).subscribe( (resp: any) => {\n resp.columns.forEach(element => {\n this.columnName.push(element.name)\n this.displayedColumns.push(element.field)\n });\n \n this.length = resp.data.total;\n this.pageSize = resp.data.per_page;\n this.dataSource = new MatTableDataSource(resp.data.data);\n this.dataSource.sort = this.sort;\n this.showGroups = true;\n });\n }\n\n createGroup () {\n const createDialog = this.dialog.open( GroupsCreateComponent, {\n minWidth: '60%',\n disableClose: true,\n });\n\n createDialog.afterClosed().subscribe( (res) => {\n\n if(res){\n this.getGroups();\n }\n\n });\n }\n\n viewGroup(trainingGroup) {\n this.router.navigate(['../grupo-formacion', trainingGroup.id], {relativeTo: this.activatedRoute});\n }\n openUsers(data){\n const assignUser= this.dialog.open(AssignUsersComponent, {\n minWidth: '80%',\n disableClose: true,\n data: { group: data }\n })\n assignUser.afterClosed().subscribe( (res) => {\n if(res==true){\n this.getGroups();\n }\n });\n }\n\n getPaginatorData(event){\n this.currentPage = event.pageIndex + 1; \n this.getGroups()\n }\n\n\n\n}\n","
\n
\n

Gestión de Grupos de Formación

\n

Bienvenido al módulo de grupos de formación, en este espacio podrás gestionar los
grupos creados o crear nuevos. No olvides, “El respeto y empatía son clave”.

\n
\n\n
\n
\n \n Tipo de filtro\n \n id\n Formador\n Empresa\n Campaña\n \n \n\n \n Filtrar por {{typeFilter}}\n \n \n \n\n \n Filtrar por empresa\n \n \n {{type.name}}\n \n \n \n \n Filtrar por campaña\n \n \n {{type.name}}\n \n \n
\n
\n \n
\n
\n\n

No tienes grupos disponibles

\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{columnName[i]}} {{element[column]}} {{columnName[i]}} \n
\n \n \n \n fiber_manual_record\n \n
\n
No hay grupos que coincidan con la busqueda\"
\n\n \n
\n
","import { C } from '@angular/cdk/keycodes';\nimport { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { LeftNavService } from '../services/rest/left-nav.service';\nimport { element } from 'protractor';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CampaignsGuard implements CanActivate {\n\n\n constructor(private leftNavService: LeftNavService, private router: Router) {}\n\n async canActivate(): Promise {\n\n if (await this.verifyRol() as boolean) {\n return true;\n } else {\n this.router.navigate(['/mios/crm']);\n return false;\n }\n\n }\n\n public async verifyRol(): Promise {\n\n let band = false;\n const vari = await this.leftNavService.getLeftMenu('crm').toPromise();\n\n for (let element of vari.data) {\n\n if ( element.name === 'Campañas') {\n band = true;\n break;\n }\n }\n\n return band;\n }\n\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { Menu } from '../../class/menu';\nimport { FormGroup, FormControl, Validators, ValidatorFn, AbstractControl } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { MenusService } from '../../../services/rest/menus.service';\nimport { DestroyComponentService } from '../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { AuthService } from '../../../../../core/services/rest/auth.service';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ApplicationsService } from '../../../services/rest/applications.service';\nimport { startWith, map } from 'rxjs/operators';\n\n@Component({\n selector: 'app-save-menus',\n templateUrl: './save-menus.component.html',\n styleUrls: ['./save-menus.component.sass']\n})\nexport class SaveMenusComponent implements OnInit {\n\n menuForm: FormGroup;\n filteredOptions: Observable;\n applications: any;\n menus: any;\n menusSet: any = [];\n\n constructor(private menuService: MenusService,\n private appService: ApplicationsService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n private AuthService: AuthService,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n }\n\n ngOnInit(): void {\n\n this.formControl();\n \n this.appService.getApplications().subscribe((resp) => {\n this.applications = resp.data;\n this.setEdit();\n this.filteredOptions = this.menuForm.get('applications').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(applications => applications ? this._filter(applications) : this.applications.slice())\n );\n });\n \n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.applications.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFn(id: number): string{\n if (!id) { return ''; }\n \n let index = this.applications.findIndex(resp => resp.id === id);\n return this.applications[index].name;\n\n }\n\n get error(): any { return this.menuForm.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void{\n\n this.menuForm = new FormGroup({\n applications: new FormControl('', [this.autocompleteObjectValidator(), Validators.required]),\n name: new FormControl('', [Validators.required, Validators.maxLength(40), Validators.minLength(3)]),\n icon: new FormControl('', [Validators.required, Validators.maxLength(40), Validators.minLength(3)]),\n url: new FormControl('', [Validators.required, Validators.maxLength(40), Validators.minLength(3)]),\n index: new FormControl('', [Validators.required, Validators.maxLength(40), Validators.minLength(3)]),\n \n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que valida las funciones del autocompetable\n */\n autocompleteObjectValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (typeof control.value === 'string') {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n };\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que setea los valores al momento de editar\n */\n setEdit(): void {\n if (this.data.type === 'editar') {\n this.menuForm.controls.applications.setValue(Number(this.data.menu.application_id));\n this.menuForm.controls.name.setValue(this.data.menu.name);\n this.menuForm.controls.icon.setValue(this.data.menu.icon);\n this.menuForm.controls.url.setValue(this.data.menu.url);\n this.menuForm.controls.index.setValue(this.data.menu.index);\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que a partir de una variable enviada desde el administrador de roles crea un nuevo rol o edita un rol\n * @param rolForm datos que recolecta el formulario\n */\n saveMenu(rolForm): void {\n\n if (this.data.type === 'crear'){\n const menu = new Menu();\n\n menu.id=0;\n menu.application_id =this.menuForm.value.applications;\n menu.name = this.menuForm.value.name;\n menu.icon = this.menuForm.value.icon;\n menu.url = this.menuForm.value.url;\n menu.index=this.menuForm.value.index;\n this.menuService.saveMenu(menu).subscribe((resp) => {\n this.alertsService.alertSuccess('Guardado', resp.data);\n });\n }\n else if (this.data.type === 'editar'){\n this.editMenu();\n }\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que edita un rol\n * @param rolForm datos que recolecta el formulario\n */\n editMenu(): void {\n \n const menu = new Menu();\n menu.id=this.data.menu.id;\n \n menu.application_id =this.menuForm.value.applications;\n menu.name = this.menuForm.value.name;\n menu.icon = this.menuForm.value.icon;\n menu.url = this.menuForm.value.url;\n menu.index=this.menuForm.value.index;\n\n this.menuService.editMenu(menu).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', resp.data);\n });\n }\n\n \n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n}\n","

\n {{ data.title }}\n \n

\n\n
\n\n \n\n \n \n \n Nombre Menú\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 40 caracteres\n \n \n \n Aplicación\n \n \n \n {{option.name}}\n \n \n ¡Advertencia! Este campo es requerido\n Campaña no reconocida. Haga click en una de las opciones de autocompletar\n \n \n \n Icono\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n\n \n URL\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n\n \n Índice\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n \n \n \n \n \n \n \n \n \n \n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-eliminar-auditoria',\n templateUrl: './eliminar-auditoria.component.html',\n styleUrls: ['./eliminar-auditoria.component.sass']\n})\nexport class EliminarAuditoriaComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n\n
\n \n

Eliminación de auditorías

\n
\n

Aquí podrás eliminar las audotorías que se soliciten. No

\n

olvides, “El respeto y empatía son clave”.

\n
\n\n \n\n
","import { state } from '@angular/animations';\nimport { VacationsService } from './../../../../services/rest/vacations.service';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport * as moment from 'moment';\nimport { delay } from 'rxjs/operators';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\n\n@Component({\n selector: 'app-vacations-response',\n templateUrl: './vacations-response.component.html',\n styleUrls: [ './vacations-response.component.sass' ]\n})\nexport class VacationsResponseComponent implements OnInit {\n\n dataInfo: any;\n public realTime: string;\n public scheduleTime: string;\n public endTime: string;\n public noveltyDetailHeight: number;\n\n public showJustifyForm: boolean;\n public showJustifyInfo: boolean;\n public showInput: boolean;\n vacationsForm: FormGroup;\n\n options: any = [\n { id: 0, name: 'Rechazar' },\n { id: 1, name: 'Aprobar' }\n ];\n availableDays = 0;\n businessDays = 0;\n public validDates: boolean;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alert: AlertsService,\n public dialog: MatDialog,\n private vacation: VacationsService,\n private noveltiesService: NoveltiesService,\n ) {\n }\n\n ngOnInit() { \n this.vacationsForm = new FormGroup({\n state: new FormControl('', [ Validators.required ]),\n response: new FormControl('', [ Validators.required ])\n });\n\n this.vacation.getInfoVacationId(this.data.data.idHoliday).subscribe(resp => {\n this.dataInfo = resp.data; \n this.dataInfo.novelty_type.key = (this.dataInfo.novelty_type.key < 10) ? `0${ this.dataInfo.novelty_type.key }` : this.dataInfo.novelty_type.key;\n this.showJustifyInfo = true;\n this.changeDetailHeight(this.dataInfo);\n this.getCalendarWithAvailableDays();\n });\n\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-27\n * Metodo para asignacion de detalle en primera instancia\n */\n changeDetailHeight(novelty): void {\n if (novelty.first_response && (novelty.first_response.justify || novelty.first_response.response)) {\n this.noveltyDetailHeight = 240;\n }\n }\n\n\n /**\n * @author Javier Castañeda\n * @createdate 2021-04-29\n * Metodo Aprobar o rechazar novedad\n */\n UpdateState() {\n const state = this.vacationsForm.controls['state'].value;\n\n const body = {\n state: this.vacationsForm.controls['state'].value,\n response: this.vacationsForm.controls['response'].value\n };\n \n if(this.data.data.noveltyStateKey == 'cancelacion-vacaciones'){\n this.vacation.changeStatusCancelVacation(this.data.data.idHoliday, body).subscribe(resp => {\n if (state == 1) {\n this.alert.alertSuccess('Novedad actualizada!', 'La novedad ha sido aprobada');\n this.dialogRef.close('');\n } else {\n this.alert.alertSuccess('Novedad actualizada!', 'La novedad ha sido rechazada');\n this.dialogRef.close('');\n }\n \n }, error => {\n this.alert.alertError('Error!', 'Ocurrio un error al intentar actualizar la novedad');\n });\n } else if(this.data.vacationType == 'extemporal'){\n this.vacation.changeExtemporalStatus(this.data.data.idHoliday, body).subscribe(resp => {\n if (state == 1) {\n this.alert.alertSuccess('Novedad actualizada!', 'La novedad ha sido aprobada');\n this.dialogRef.close('');\n } else {\n this.alert.alertSuccess('Novedad actualizada!', 'La novedad ha sido rechazada');\n this.dialogRef.close('');\n }\n \n }, error => {\n this.alert.alertError('Error!', 'Ocurrio un error al intentar actualizar la novedad');\n });\n }else {\n this.vacation.changeStatus(this.data.data.idHoliday, body).subscribe(resp => {\n if (state == 1) {\n this.alert.alertSuccess('Novedad actualizada!', 'La novedad ha sido aprobada');\n this.dialogRef.close('');\n } else {\n this.alert.alertSuccess('Novedad actualizada!', 'La novedad ha sido rechazada');\n this.dialogRef.close('');\n }\n \n }, error => {\n this.alert.alertError('Error!', 'Ocurrio un error al intentar actualizar la novedad');\n });\n }\n\n }\n /**\n * @author Javier Castañeda\n * @createdate 2021-05-11\n * Metodo para obtener los dias disponibles y los solicitados\n */\n getCalendarWithAvailableDays(): void {\n let startDate = this.dataInfo?.start_date;\n let endDate = this.dataInfo?.end_date;\n this.noveltiesService.getAvailableDaysForVacationsByUser({ startDate: startDate, endDate: endDate, rrhh_id: this.dataInfo?.rrhh_id}).pipe( delay(1000)).subscribe((respDates) => { \n this.validDates = respDates.data.validDates;\n\n if(respDates.data.totalDaysVacations > 0){\n this.availableDays = respDates.data.totalDaysVacations;\n } else {\n this.availableDays = respDates.data.availableDays < 0 ? 0 : respDates.data.availableDays;\n }\n\n this.businessDays = respDates.data.businessDays;\n });\n \n }\n\n}\n","
\n\n

\n \n \n
\n \"noveltyIcon\"\n \n

{{data.data?.name}}

\n
{{data.data?.id_number}}
\n
\n \n
\n

\n\n

\n {{ dataInfo?.first_response.created_at | date:'EEEE d, MMMM' }}\n

\n
\n
\n {{ dataInfo?.novelty_type?.key }} {{ dataInfo?.novelty_type?.name }}\n
\n
\n\n \n
\n
\n
\n
\n

Vacaciones solicitadas

\n

Desde: {{ dataInfo?.start_date | date:'dd/MM/yyyy' }} Hasta: {{dataInfo?.end_date | date:'dd/MM/yyyy' }}

\n
\n
\n

Días disponibles: {{ availableDays }} Días hábiles solicitados: {{ businessDays }}

\n
\n
\n
\n

Observaciones trabajador

\n

{{ dataInfo?.first_response.justify }}

\n
\n
\n
\n

Aprobacion jefe de área

\n

Fecha de aprobacion: {{ dataInfo?.first_response.updated_at | date:'dd/MM/yyyy' }}

\n

Observaciones jefe de área

\n

{{ dataInfo?.first_response?.response }}

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

Gestión Novedad

\n
\n \n Estado\n \n \n {{item.name}}\n \n \n \n \n Respuesta\n \n \n\n \n
\n
\n
\n
\n\n
","import { Injectable } from '@angular/core';\nimport { environment } from '../../../../environments/environment';\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthService } from '../../../core/services/rest/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UsersService {\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n };\n private server = environment.RRHH_URL;\n user;\n constructor(private http:HttpClient, private activeRoute: ActivatedRoute, private authService:AuthService) {\n this.user = this.authService.getUser();\n }\n\n getUserByRole(role: string){\n const entries = {};\n entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}users/role/${role}`, {params});\n }\n\n getSites() {\n return this.http.get(`${this.server}sites`, this.httpOptions);\n }\n\n getCVUserLoggued(){\n return this.http.get(`${this.server}user/cv/${this.user.rrhh_id}`)\n }\n getCertifications(value){\n return this.http.get(`${this.server}user/certifications/${this.user.rrhh_id}/${value}`)\n }\n getCertificate(certificate,value, rrhh_id?){\n if(rrhh_id) return this.http.post(`${this.server}user/generate/certificate/${rrhh_id}/${certificate}`,value,{responseType:'blob'})\n return this.http.post(`${this.server}user/generate/certificate/${this.user.rrhh_id}/${certificate}`,value,{responseType:'blob'})\n }\n\n /**\n * servicio que retorna las columnas necesarias de acuerdo al tipo de certificado\n * @param value = tipo de certificado\n * @param rrhh_id = id del candidato a buscar\n * @returns Tabla de certificados\n */\n getCertificationsTwo(value,rrhh_id){\n return this.http.get(`${this.server}user/certifications/${rrhh_id}/${value}?flag=juridico`)\n }\n /**\n * Servicio que crea el documento solicitado.\n * @param certificate = tipo de certificado\n * @param rrhh_id = id del candidato a buscar\n * @param value = ver o descargar documento\n * @returns documento solicitado\n */\n getCertificateTwo(certificate,rrhh_id,value){\n return this.http.post(`${this.server}user/generate/certificate/${rrhh_id}/${certificate}?flag=juridico`,value,{responseType:'blob'})\n }\n\n /**\n * Servicio que retorna todos los hired user de un candidato\n * @autor David Reinoso | 20-feb-23 \n * @param candidate_id \n */\n getHiredUsersByCandidate(candidate_id){\n return this.http.get(`${this.server}candidate/getHiredUsersByCandidate/${candidate_id}`);\n }\n\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService {\n\n constructor() { }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Servicio que obtiene un elemento del local storage\n * @param param nombre del elemento a obtener\n */\n getStorage(param: string): any{\n\n return JSON.parse(localStorage.getItem(param));\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Servicio que guarda un elemento en el local storage\n * @param param nombre del elemento a guardar\n * @param data data a guardar\n */\n setStorage(param: string, data: any): any{\n\n localStorage.setItem(param, JSON.stringify(data));\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Servicio que elimina un elemento en el local storage\n * @param param nombre del elemento a eliminar\n */\n removeStorage(param: string): any{\n\n localStorage.removeItem(param);\n }\n\n\n /**\n * Metodo que se encarga de obtener datos subidos al session storague\n * @author Juan David Guerrero Vargas\n * @param param:string {string} llave a buscar dentro delos datos de session\n * @returns {any} any objeto guarado en el sessionStorague\n */\n getSessionStorage(param: string): any{\n return JSON.parse(sessionStorage.getItem(param));\n }\n\n /**\n * Metodo que se encarga de asignar un valor a la llave indicada entro del sessionStorague\n * @author Juan David Guerrero Vargas\n * @param param:string {string} llave a la que se le encarga \n * @param data:any {any} objeto a guardar \n */\n setSessionStorage(param: string, data: any): any{\n sessionStorage.setItem(param, JSON.stringify(data));\n }\n\n /**\n * Metodo que se encarga de remover un item de la session\n * @author Juan David Guerrero Vargas\n * @param param:string {string} llave de parametro\n * @returns any {any} \n */\n removeSessionStorague(param: string): any{\n localStorage.removeItem(param);\n }\n\n /**\n * Metodo que se encarga de limpiar lo valores guardos en la session\n * @author Juan David Guerrero Vargas\n * @returns {void} void\n */\n clearSessionStorague():void{\n sessionStorage.clear();\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport * as moment from 'moment';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\n\n@Component({\n selector: 'app-novedades-view',\n templateUrl: './novedades-view.component.html',\n styleUrls: ['./novedades-view.component.sass']\n})\nexport class NovedadesViewComponent implements OnInit {\n dataInfo: any;\n public realTime: string;\n public scheduleTime: string;\n public endTime: string;\n public noveltyDetailHeight: number;\n\n public showJustifyForm: boolean;\n public showJustifyInfo: boolean;\n public showInput: boolean;\n\n constructor(private noveltiesService: NoveltiesService, @Inject(MAT_DIALOG_DATA) public data: any) {\n }\n\n ngOnInit() {\n this.noveltiesService.getEventInfoByPayrollNoveltyId(this.data.data.novelty_user_id, this.data.data.id).subscribe(resp => {\n this.dataInfo = resp.data;\n this.realTime = moment(resp.data.real_start_time).locale('es').format('hh:mm a').toString();\n this.scheduleTime = moment(`${ resp.data.schedule_info.schedule_date } ${ resp.data.schedule_info.scheduled_start_time }`).locale('es').format('hh:mm a').toString();\n this.endTime = moment(`${ resp.data.schedule_info.schedule_date } ${ resp.data.schedule_info.scheduled_end_time }`).locale('es').format('hh:mm a').toString();\n\n if (this.dataInfo.validForMoreResponses) {\n this.showJustifyForm = true;\n }\n this.showJustifyInfo = true;\n this.changeDetailHeight(this.dataInfo);\n\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-04-15\n * Metodo para asignacion de detalle en primera instancia\n */\n changeDetailHeight(novelty): void {\n if (novelty.responseFirstInstance && (novelty.responseFirstInstance.justify || novelty.responseFirstInstance.response)) {\n this.noveltyDetailHeight = 240;\n }\n }\n\n}\n","
\n\n

\n \n \n
\n \n

{{data.data?.name}}

\n
{{data.data?.id_number}}
\n
\n
\n

\n\n

\n {{ dataInfo?.novelty_date_start | date:'EEEE d, MMMM' }}\n

\n\n \n
\n
\n
\n
\n {{ dataInfo?.novelty_type?.key }} {{ dataInfo?.noveltyTypeToPrint?.title }}\n
\n
\n
\n

Estado

\n

{{ dataInfo?.novelty_state?.name }}

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

Justificación

\n

{{ dataInfo?.responseFirstInstance?.justify }}

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

Respuesta Nómina

\n

{{ dataInfo?.responseFirstInstance?.response }}

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

Justificación del trabajador

\n

{{ dataInfo?.responseSecondInstance?.justify }}

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

Respuesta Nómina

\n

{{ dataInfo?.responseSecondInstance?.response }}

\n
\n \n
\n
\n\n
\n
\n\n
\n\n
\n \"noveltyIcon\"\n
\n
\n
\n\n \n
\n
\n Inicio turno\n

{{ scheduleTime }}

\n
\n
\n Fin turno\n

{{ endTime }}

\n
\n
\n Hora inicio turno\n

{{ realTime }}

\n
\n
\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport * as moment from 'moment';\nimport { MatrizService } from '../../services/matriz.service';\nimport { ReportsService } from '../../services/reports.service';\nimport { AuditoriaService } from 'src/app/modules/auditoria/services/auditoria.service';\nimport { Tools } from '../../utils/tools.utils';\n\n\n\n@Component({\n selector: 'app-reporte-encuesta',\n templateUrl: './reporte-encuesta.component.html',\n styleUrls: ['./reporte-encuesta.component.sass']\n})\nexport class ReporteEncuestaComponent implements OnInit {\n \n\n //Filtros\n filtroFecha = new FormGroup({\n fechaInicial: new FormControl(),\n fechaFinal: new FormControl(),\n });\n\n\n\n constructor(\n private matrizService:MatrizService,\n private reporService:ReportsService,\n ) { }\n\n ngOnInit(): void {\n \n }\n\n filtroFechas(){\n if (this.filtroFecha.get('fechaInicial').value != null && this.filtroFecha.get('fechaFinal').value != null) {\n this.filtrar();\n }\n }\n\n filtrar(){\n \n }\n\n\n getReportGeneral(){\n const params = {\n fechaInicial: '',\n fechaFinal: '',\n }\n\n\n\n if (this.filtroFecha.get('fechaInicial').value != '' && this.filtroFecha.get('fechaInicial').value != null) {\n params.fechaInicial = moment(this.filtroFecha.get('fechaInicial').value).format('yyyy-MM-DD');\n }\n if (this.filtroFecha.get('fechaFinal').value != '' && this.filtroFecha.get('fechaFinal').value != null) {\n params.fechaFinal = moment(this.filtroFecha.get('fechaFinal').value).format('yyyy-MM-DD');\n }\n\n\n\n this.reporService.getReportGeneralEncuesta(params).subscribe((resp:any)=>{\n Tools.downloadFile(resp,'General_'+moment(new Date).format('DD_MM_yyy_hh_mm_ss'));\n });\n\n }\n\n}\n","
\n\n
\n \n

Reporte Encuesta

\n
\n

Aquí podrás descargar los reportes detallados de las encuestas externas realizadas

\n

No olvides, “El respeto y empatía son clave”.

\n
\n
\n
\n
\n \n \n Rango de Fecha\n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n
\n\n\n","import { Component, ElementRef, Inject, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\nimport { StrategyServersService } from '../../../services/strategy.service';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport * as html2pdf from 'html2pdf.js';\nimport { MatExpansionPanel } from '@angular/material/expansion';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-adherencia-modal',\n templateUrl: './adherencia-modal.component.html',\n styleUrls: ['./adherencia-modal.component.sass']\n})\nexport class AdherenciaModalComponent implements OnInit {\n\n recordingID: any;\n adherenciaIA: any;\n adherenciaResponse: { adherencePercentage: number, notAdherencePercentage: number };\n transcripcion: any[] = [];\n keys: any[] = [];\n adherencePercentage: number;\n notAdherencePercentage: number;\n transcripcionFormat: any[] = [];\n @ViewChild('containerViewReport') containerViewReport: ElementRef;\n @ViewChildren(MatExpansionPanel) panels: QueryList;\n keysArray: any[];\n percentageSections: any;\n puntuacion_general: number;\n\n formattedAdherenciaIA: string = '';\n cumplimiento_general: any;\n date_strategy: any;\n applied_strategy: any;\n\n constructor(\n private strategyService: StrategyServersService,\n private sanitazer:DomSanitizer,\n @Inject(MAT_DIALOG_DATA) public data: any \n ) {\n this.recordingID = [data.recordingId];\n }\n\n ngOnInit(): void {\n this.applyStrategySelected(this.recordingID);\n }\n\n /**\n * Método consuta servicio de la estrategia aplicada\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n */\n\n applyStrategySelected(strategy_ids: string[]): void {\n this.strategyService.applyAdherencia(strategy_ids).subscribe(\n (adherenciaResponses) => {\n adherenciaResponses.forEach((response) => {\n const transcripcion = [];\n const diarization = JSON.parse(response.diarization);\n\n if (diarization.interaccion && typeof diarization.interaccion === 'string') {\n const interaccionArray = JSON.parse(diarization.interaccion);\n interaccionArray.forEach((item: any) => {\n transcripcion.push({\n speaker: item.speaker,\n text: this.sanitazer.bypassSecurityTrustHtml(item.text)\n });\n });\n }\n\n this.transcripcion = transcripcion;\n this.transcripcionFormat = Array.isArray(this.transcripcion) ? this.transcripcion : [this.transcripcion];\n this.adherenciaIA = response.strategy_result;\n this.cumplimiento_general = response.cumplimiento_general;\n this.puntuacion_general= response.puntuacion_general;\n this.date_strategy = response.date_strategy;\n this.applied_strategy = response.applied_strategy;\n\n this.formatAdherenciaIA(this.adherenciaIA);\n\n this.adherenciaResponse = {\n adherencePercentage: response.adherence_percentage,\n notAdherencePercentage: response.not_adherence_percentage\n };\n\n this.percentageSections = response.percentage_sections.map((section: any) => ({\n section: section.section,\n percentage_section: section.percentage_section,\n adherence_percentage: section.adherence_percentage,\n not_adherence_percentage: section.not_adherence_percentage,\n strategy_result_section: section.strategy_result_section,\n puntuacion_section: section.puntuacion_section,\n cumplimiento: section.cumplimiento\n }));\n });\n },\n (error: any) => {\n console.error(\"Error al calcular la adherencia:\", error.message);\n }\n );\n }\n\n /**\n * Formatea el texto del análisis de la IA para aplicar negrillas al primer subtítulo\n * @author Yeison Sepulveda\n * @createdate 28/08/2024\n */\n formatAdherenciaIA(text: string | null): void {\n if (text) {\n this.formattedAdherenciaIA = text\n .replace(/^.*?(\\n|$)/, '$&');\n }\n }\n\n /**\n * Visual de estrellas\n * @author Yeison Sepulveda\n * @createdate 27/02/2024\n */\n getStars(puntuacion: number): boolean[] {\n const totalStars = 5;\n const stars = Array(totalStars).fill(false);\n\n for (let i = 0; i < puntuacion; i++) {\n stars[i] = true;\n }\n\n return stars;\n}\n\n /**\n * Metodo descarga e imprime pantallazo del modal\n * @update Yeison Sepulveda\n * @updatedate 29-05-2024\n */\n async onClickPrintPdf() {\n // Abre todos los paneles de expansión\n this.panels.forEach(panel => panel.open());\n\n setTimeout(() => {\n const content = this.containerViewReport.nativeElement;\n \n const margin = 13; // milímetros\n const filename = this.generateFilename();\n \n const options = {\n margin: margin, \n filename: filename,\n image: { type: 'jpeg', quality: 0.98 },\n html2canvas: {\n scale: 2\n },\n jsPDF: {\n unit: 'mm',\n format: 'a4',\n orientation: 'portrait'\n },\n pagebreak: {\n mode: ['avoid-all', 'css', 'legacy']\n }\n };\n \n html2pdf().from(content).set(options).toContainer().toCanvas().toImg().toPdf().save();\n }, 500); // Ajusta el tiempo según sea necesario\n }\n\n /**\n * Metodo generar el nombre del documento a descargar\n * @author Yeison Sepulveda\n * @createdate 2024-0-03\n * @return nombre del archivo\n */\n \n generateFilename(): string {\n const currentDate = new Date().toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n }).replace(/\\//g, '');\n \n const currentTime = new Date().toLocaleTimeString('es-ES', {\n hour: '2-digit',\n minute: '2-digit',\n hour12: false\n }).replace(/:/g, '');\n \n const dateTimeString = `${currentDate}${currentTime}`;\n return `reporte_adherencia_${this.recordingID}_${dateTimeString}.pdf`;\n }\n\n}\n","\n \n
\n

Resultados de adherencia

\n \n
\n

\n Estrategia anteriormente aplicada: \n {{ applied_strategy }} \n   |   \n Fecha estrategia aplicada: \n {{ date_strategy }}\n

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

{{ adherenciaResponse?.adherencePercentage || 'N/A' }}

\n

Adherencia General

\n
\n \n

{{ adherenciaResponse?.notAdherencePercentage || 'N/A' }}

\n

No Adherencia General

\n
\n
\n
\n\n \n \n \n Transcripción\n \n
\n
\n

\n \n {{ item.speaker ? item.speaker : 'SPEAKER' }}: \n \n

\n
\n
\n
\n\n \n \n \n Análisis de adherencia general\n \n
\n
\n
\n \n
\n
\n
\n Nivel de cumplimiento de adherencia: \n {{ cumplimiento_general || 'Análisis en proceso...' }}\n
\n
\n Calificación de la estrategia en general: \n {{ puntuacion_general !== null && puntuacion_general !== undefined ? puntuacion_general + '%' : 'Análisis en proceso...' }}\n
\n
\n
\n\n \n \n \n \n Análisis sección {{ section.section }}\n \n
\n
\n
\n Adherencia: \n {{ section.adherence_percentage }}\n
\n
\n No Adherencia: \n {{ section.not_adherence_percentage }}\n
\n
\n Cumple: \n {{ section.strategy_result_section?.cumple || 'No disponible' }}\n
\n
\n Nivel de cumplimiento de adherencia: \n {{ section?.cumplimiento || 'No disponible' }}\n
\n
\n
\n Análisis IA: \n {{ section.strategy_result_section?.analisis || 'Análisis en proceso...' }}\n
\n
\n Puntuación: \n \n {{ star ? 'star' : 'star_border' }}\n \n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n
\n","import { element } from 'protractor';\nimport { NoveltiesService } from './../../../../services/novelties.service';\nimport { CampaignsService } from './../../../../services/rest/campaigns.service';\nimport { NovedadesResponseComponent } from './../novedades-response/novedades-response.component';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NovedadesViewComponent } from '../novedades-view/novedades-view.component';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { DatePipe } from '@angular/common';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport * as moment from 'moment';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport Swal from 'sweetalert2';\nimport { NovedadesObservationComponent } from '../novedades-observation/novedades-observation.component';\n\n@Component({\n selector: 'app-novedades',\n templateUrl: './novedades.component.html',\n styleUrls: ['./novedades.component.sass']\n})\nexport class NovedadesComponent implements OnInit {\n\n // MatPaginator Inputs\n length;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n length2;\n pageSize2 = 5;\n page2 = 1;\n isPage2 = 1;\n pageSizeOptions2: number[] = [5, 10, 25, 100];\n\n displayedColumns: string[] = ['check', 'fecha', 'nombre', 'numero', 'tipo', 'estado', 'campana', 'acciones'];\n displayedColumns2: string[] = ['check', 'fecha', 'nombre', 'numero', 'tipo', 'estado', 'campana', 'acciones'];\n dataSource = new MatTableDataSource();\n dataSource2 = new MatTableDataSource();\n\n reportForm: FormGroup;\n reportForm2: FormGroup;\n reportForm3: FormGroup;\n Campaings: any;\n Campaings3: any;\n noveltyList: any;\n\n filterControl = new FormControl();\n filterControl2 = new FormControl();\n filterControlNovelty = new FormControl();\n typeDocument = new FormControl();\n typeDocument2 = new FormControl();\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatPaginator, { static: true }) paginator2: MatPaginator;\n\n document: any;\n startDate: any = '';\n endDate: any;\n idCampaing: any;\n noveltyType: any; \n\n document2: any;\n startDate2: any = '';\n endDate2: any;\n idCampaing2: any;\n\n documents: any = [];\n idTypeDoc: any;\n idTypeDoc2: any;\n\n filteredOptionsCampaigns: Observable;\n selection = new SelectionModel(true, []);\n selection2 = new SelectionModel(true, []);\n\n constructor(public dialog: MatDialog, private service: CampaignsService, private novelties: NoveltiesService, private users: CandidatesService) {\n }\n\n ngOnInit(): void {\n this.reportForm = new FormGroup({\n start: new FormControl(''),\n end: new FormControl('')\n });\n this.reportForm2 = new FormGroup({\n start2: new FormControl(),\n end2: new FormControl()\n });\n\n this.reportForm3 = new FormGroup({\n startDate: new FormControl('', Validators.required),\n endDate: new FormControl('', Validators.required),\n campaignId: new FormControl(''),\n docNumber: new FormControl(''),\n docType: new FormControl()\n });\n this.reportForm3.controls.docType.setValue(1);\n this.selection.clear();\n //documento\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.idTypeDoc = resp;\n this.getNovelieties(1, this.pageSize, this.page);\n });\n this.typeDocument.setValue(1);\n this.typeDocument2.valueChanges.subscribe(resp => {\n this.idTypeDoc2 = resp;\n this.getNovelieties2(2, this.pageSize2, this.page2);\n });\n this.typeDocument2.setValue(1);\n\n // Campaña\n this.filterControl.valueChanges.subscribe(resp => {\n this.resetPaginator(1);\n this.idCampaing = resp;\n this.getNovelieties(1, this.pageSize, this.page);\n });\n this.filterControl2.valueChanges.subscribe(resp => {\n this.resetPaginator(2);\n this.idCampaing2 = resp;\n this.getNovelieties2(2, this.pageSize2, this.page2);\n });\n // Tipo de novedad\n this.novelties.getFilterNoveltyTypes().subscribe(resp => {\n let data = [];\n var temp = Object.keys(resp.data).map(function (key) { return [Number(key), resp.data[key]]; });\n temp.forEach(element => data.push(element[1]))\n this.noveltyList = data;\n });\n\n this.filterControlNovelty.valueChanges.subscribe(resp => {\n this.noveltyType = resp;\n this.getNovelieties(1, this.pageSize, this.page);\n });\n this.filterControlNovelty.setValue('39'); // Por predeterminado traer los retardos\n\n this.service.getAllCampaigns().subscribe(resp => {\n this.Campaings = resp.data;\n this.Campaings3 = resp.data;\n\n this.filteredOptionsCampaigns = this.reportForm3.get('campaignId').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(x => x ? this._filterCampaigns(x) : this.Campaings3.slice())\n );\n\n });\n this.novelties.getNovelties(1).subscribe(resp => {\n this.dataSource.data = resp.data.data;\n this.length = resp.data.total;\n }, error => {\n this.dataSource = new MatTableDataSource();\n this.resetPaginator(2);\n });\n this.novelties.getNovelties(2).subscribe(resp => {\n this.dataSource2.data = resp.data.data;\n this.length2 = resp.data.total;\n }, error => {\n this.dataSource2 = new MatTableDataSource();\n this.resetPaginator(1);\n }); \n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-12\n * Metodo de paginación\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getNovelieties(1, this.pageSize, this.page);\n }\n\n pageEvent2(event: any): void {\n this.pageSize2 = event.pageSize;\n this.page2 = Number(event.pageIndex + 1);\n this.getNovelieties2(2, this.pageSize2, this.page2);\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-12\n * Modal de justificación\n */\n viewJustification(element): void {\n const dialogNewgroup = this.dialog.open(NovedadesResponseComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getNovelieties(1, this.pageSize, this.page);\n this.getNovelieties2(2, this.pageSize2, this.page2);\n });\n\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-12\n * Modal de visualizar justificación\n */\n viewJustification2(element): void {\n const dialogNewgroup = this.dialog.open(NovedadesViewComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Juan Manuel Gonzales',\n data: element\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getNovelieties2(2, this.pageSize2, this.page2);\n });\n\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e) {\n this.resetPaginator(1);\n this.document = e;\n this.getNovelieties(1, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod2(e) {\n this.resetPaginator(2);\n this.document2 = e;\n this.getNovelieties2(2, this.pageSize2, this.page2);\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo para capturar el rango de fechas a filtrar\n */\n dateRangeChange() {\n this.resetPaginator(1);\n const date1: Date = this.reportForm.controls.start.value;\n const date2: Date = this.reportForm.controls.end.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate = dateStart;\n this.endDate = dateEnd;\n this.getNovelieties(1, this.pageSize, this.page);\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo para capturar el rango de fechas a filtrar\n */\n dateRangeChange2() {\n this.resetPaginator(2);\n const date1: Date = this.reportForm2.controls.start2.value;\n const date2: Date = this.reportForm2.controls.end2.value;\n const dateStart: string | null = new DatePipe('en-US').transform(date1, 'yyyy-MM-dd');\n const dateEnd: string | null = new DatePipe('en-US').transform(date2, 'yyyy-MM-dd');\n this.startDate2 = dateStart;\n this.endDate2 = dateEnd;\n this.getNovelieties2(2, this.pageSize2, this.page2);\n\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo para filtrar los pendientes\n */\n getNovelieties(type, pageSi, page) {\n if (this.document != null || this.idCampaing != null || page != null || pageSi != null || this.startDate != null && this.endDate != null || this.noveltyType != null) {\n this.novelties.getNoveltiesBy(type, this.idTypeDoc, this.document, this.idCampaing, this.startDate, this.endDate, this.noveltyType ,pageSi, page).subscribe(resp => {\n this.dataSource.data = resp.data.data;\n this.length = resp.data.total;\n }, error => {\n this.dataSource = new MatTableDataSource();\n this.resetPaginator(2);\n });\n }\n\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo para filtrar los rechazados\n */\n getNovelieties2(type, pageSi2, page2) {\n if (this.document2 != null || this.idCampaing2 != null || page2 != null || pageSi2 != null || this.startDate2 != null && this.endDate2 != null) {\n this.novelties.getNoveltiesBy(type, this.idTypeDoc2, this.document2, this.idCampaing2, this.startDate2, this.endDate2, '',pageSi2, page2).subscribe(resp => {\n this.dataSource2.data = resp.data.data;\n this.length2 = resp.data.total;\n }, error => { \n this.dataSource2 = new MatTableDataSource();\n this.resetPaginator(1);\n });\n }\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo de descarga de reporte\n */\n downloadReport() {\n this.novelties.getReport(1, this.idTypeDoc, this.document, this.idCampaing, this.startDate, this.endDate, this.noveltyType, 0).subscribe(resp => {\n importedSaveAs(resp, 'reporte_novedades.xlsx');\n });\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-04-14\n * Metodo de descarga de reporte de novedades rechazdas\n */\n downloadReport2() {\n this.novelties.getReport(2, this.idTypeDoc2, this.document2, this.idCampaing2, this.startDate2, this.endDate2, 0).subscribe(resp => {\n importedSaveAs(resp, 'reporte_novedades.xlsx');\n });\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose resetea el paginador\n */\n resetPaginator(numPaginator): void {\n if (numPaginator === 2) {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n } else {\n this.length2 = 0;\n this.pageSize2 = 5;\n this.page2 = 1;\n this.paginator2.firstPage();\n }\n }\n\n get errorReport(): any {\n return this.reportForm3.controls;\n }\n\n /**\n * @author Andres Buitrago\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFnCampaigns(id: number): string {\n if (!id) {\n return '';\n }\n const index = this.Campaings3.findIndex(resp => resp.id === id);\n return this.Campaings3[index].name;\n }\n\n /**\n * Reporte de novedades\n * @author Andres Buitrago\n */\n public downloadReportNovelties(): void {\n this.novelties.downloadReportNovelties(this.reportForm3.value)\n .subscribe(resp => {\n const dateToFile = moment().format('YYYY-MM-DD HH:MM:SS');\n importedSaveAs(resp, `reporte_novedades_${dateToFile}.csv`);\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterCampaigns(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.Campaings3.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-04-06\n * Metodo para seleccionar las filas en la tabla\n */\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-04-06\n * Selecciona todas las filas si no están todas seleccionadas; de lo contrario la selección se limpia.\n */\n masterToggle() {\n this.isAllSelected() ?\n this.selection.clear() :\n this.dataSource.data?.forEach(row => this.selection.select(row));\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-04-06\n * Metodo para justificar retardos masivamente\n */\n saveMassive(state) {\n let str = '¿En verdad deseas justificar las novedades?, recuerda esto' + '\\n' + 'será definitivo y no se podrá deshacer.';\n Swal.fire({\n title: '¿Estás seguro?',\n html: '
' + str + '
',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n let body = {\n state: state,\n type: 39,\n Ids: []\n };\n for (let index = 0; index < this.selection.selected.length; index++) {\n const element = this.selection.selected[index];\n if (element.novelty_type.key == '39' && (element.state_key !== 'revision' && element.state_key !== 'segunda-instancia')) {\n body.Ids.push(element.id);\n }\n }\n this.createRequest(body, 1);\n }\n });\n }\n\n\n /**\n* @author Javier Castañeda\n* @createdate 2022-04-06\n* Modal para la justificación de retardos\n*/\n createRequest(element?, type?) {\n const dialogNewgroup = this.dialog.open(NovedadesObservationComponent, {\n width: '50%',\n disableClose: true,\n data: {\n data: element,\n type: type,\n rol: 'jefe-inmediato',\n title: 'Agregar motivo de aprobacion'\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewgroup.afterClosed().subscribe(() => {\n this.getNovelieties(1, this.pageSize, this.page);\n this.getNovelieties2(2, this.pageSize2, this.page2);\n this.selection.clear();\n });\n\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-04-06\n * Metodo para seleccionar las filas en la tabla\n */\n isAllSelected2() {\n const numSelected = this.selection2.selected.length;\n const numRows = this.dataSource2.data.length;\n return numSelected === numRows;\n }\n\n /**\n * @author Javier Castañeda\n * @createdate 2022-04-06\n * Selecciona todas las filas si no están todas seleccionadas; de lo contrario la selección se limpia.\n */\n masterToggle2() {\n this.isAllSelected2() ?\n this.selection2.clear() :\n this.dataSource2.data?.forEach(row => this.selection2.select(row));\n }\n\n /**\n* @author Javier Castañeda\n* @createdate 2022-04-06\n* Metodo para justificar retardos masivamente\n*/\n saveMassive2(state) {\n let str = '¿En verdad deseas justificar las novedades?, recuerda esto' + '\\n' + 'será definitivo y no se podrá deshacer.';\n Swal.fire({\n title: '¿Estás seguro?',\n html: '
' + str + '
',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n let body = {\n state: state,\n type: 39,\n Ids: []\n };\n for (let index = 0; index < this.selection2.selected.length; index++) {\n const element = this.selection2.selected[index];\n if (element.novelty_type.key == '39' && element.state_key !== 'revision' && element.num_instance !== null) {\n body.Ids.push(element.id);\n }\n }\n this.createRequest(body, 1);\n }\n });\n }\n\n\n}\n","
\n
\n

Novedades de nómina

\n

En este espacio podrás revisar y/o gestionar las novedades de
los trabajadores, no olvides,\"El respeto y la\n empatiá son clave\"

\n
\n\n \n \n\n \n Filtrar por fecha\n \n \n \n \n \n \n \n \n Filtrar por identificación\n \n \n {{item.key}}\n \n \n \n Filtrar por campaña\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n \n Filtrar Novedad\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n \n\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n \n \n \n \n Fecha {{element.novelty_date_start | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}}Tipo de novedad{{element.noveltyTypeName}} Estado{{element.stateName}} Campaña{{element.campaignName}}\n \n \n
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n\n
\n \n\n
\n \n\n \n Filtrar por fecha\n \n \n \n \n \n \n \n \n Filtrar por identificación\n \n \n {{item.key}}\n \n \n \n Filtrar por campaña\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n\n \n\n\n
\n\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n\n
\n \n \n \n \n \n Fecha {{element.novelty_date_start | date:\"dd-MM-yyyy\"}} Nombre trabajador {{element.name}}Número de identificación{{element.id_number}}Tipo de novedad{{element.noveltyTypeName}} Estado{{element.stateName}} Campaña{{element.campaignName}}\n \n \n
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n \n \n
\n \n\n\n
\n \n
\n\n
\n","import { Injectable } from '@angular/core';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\n\n@Injectable()\nexport class LoaderInterceptor implements HttpInterceptor {\n\n // servicios a ignorar\n skipApiCall = [\n 'mixins/dashboard/orphanChat',\n 'auth/refresh',\n 'config/extend/check',\n 'manual/dial/call/look',\n 'incomming',\n 'agent-conversation/list_conversation',\n 'statistics/list_conversation_by_campaign',\n 'statistics/conversation_times',\n 'statistics/conversation_times_prom',\n 'conversation',\n 'Dashboard',\n 'PQRS/statusEscalamientos',\n 'GetRoomFiles',\n 'clients/showPanel/',\n 'clients/tabCarteraWom',\n 'clients/tabHistoricoContacto',\n 'managementClient/',\n 'message/get-history',\n 'message/send',\n 'message/markAllMessagesAsRead',\n 'users/chats',\n 'attending-contacts',\n 'dashboard/showall',\n 'dashboard/get_users',\n 'dashboard/table_estados',\n 'v2/user/verify_ext',\n 'ia/email/showall'\n ];\n private count = 0;\n\n constructor(private spinner: NgxSpinnerService) {}\n\n /**\n * Interceptor para un spinner global\n * @param request\n * @param next\n */\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n // tslint:disable-next-line: whitespace\n if(this.isValidRequestForInterceptor(request.url)) {\n if (this.count === 0) { this.spinner.show();}\n this.count++;\n return next.handle(request).pipe(\n finalize(() => {\n this.count--;\n if (this.count === 0) {\n this.spinner.hide();\n }\n })\n );\n } else {\n return next.handle(request);\n }\n }\n\n private isValidRequestForInterceptor(requestUrl: string): boolean {\n let positionIndicator = 'api/';\n let position = requestUrl.indexOf(positionIndicator);\n if (position > 0) {\n let destination: string = requestUrl.substr(position + positionIndicator.length);\n for (let address of this.skipApiCall) {\n if (new RegExp(address).test(destination)) {\n return false;\n }\n }\n }\n return true;\n }\n}\n","import { startWith, map } from 'rxjs/operators';\nimport { CompaniaService } from '../../../../services/rest/compania.service';\nimport { Observable } from 'rxjs';\nimport { AprobarSolcitudComponent } from './../aprobar-solcitud/aprobar-solcitud.component';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder, ValidatorFn, AbstractControl } from '@angular/forms';\nimport { SolicitudesService } from '../../../../services/rest/solicitudes.service';\nimport { ArchivosService } from '../../../../services/rest/archivos.service';\nimport { DestroyComponentService } from '../../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { AuthService } from '../../../../../../core/services/rest/auth.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatDialog } from '@angular/material/dialog';\nimport Swal from 'sweetalert2';\nimport { CurrencyMaskInputMode } from 'ngx-currency';\nimport { AssociatedRequestComponent } from '../associated-request/associated-request.component';\nimport { CreateObservationItemComponent } from '../create-observation-item/create-observation-item.component';\nimport { ViewObservationItemComponent } from '../view-observation-item/view-observation-item.component';\nimport * as moment from 'moment';\n\n@Component({\n selector: 'app-procesar-solicitud',\n templateUrl: './procesar-solicitud.component.html',\n styleUrls: ['./procesar-solicitud.component.sass']\n})\nexport class ProcesarSolicitudComponent implements OnInit {\n\n solicitudesForm: FormGroup;\n itemsSolciitud: any = [];\n archivosPorSolicitud: any;\n archivo: any;\n aprobada: boolean;\n archivosCargados: any[] = [];\n registrosPorCargar: any[] = new Array(3);\n sinAdjuntos: boolean = true;\n file: any;\n viewSolciitud = false;\n myFiles: string[] = [];\n filteredOptionsCompania: Observable;\n compania: any;\n changedCotizationValues: any = {};\n edit: boolean = false;\n options = {\n prefix: '',\n thousands: ',',\n decimal: '.',\n inputMode: CurrencyMaskInputMode.NATURAL\n };\n solicitud_asociada: any = [];\n validateAssociated: boolean = false;\n\n constructor(private solicitudService: SolicitudesService,\n private archivoService: ArchivosService,\n private destroyService: DestroyComponentService,\n private form: FormBuilder,\n private alertsService: AlertsService,\n private athService: AuthService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private dialogRef: MatDialogRef,\n public dialog: MatDialog,\n private companiaService: CompaniaService,\n ) { }\n\n ngOnInit(): void {\n this.archivosCargados = [];\n this.itemsSolciitud = this.data.solicitud.request_items;\n this.itemsSolciitud = this.itemsSolciitud.map(item => {\n if (item.observations) {\n const parseObservation = JSON.parse(item.observations);\n parseObservation.date_observations = moment(parseObservation.date_observations).format('DD/MM/YYYY - hh:mm a');\n item.observations = parseObservation;\n }\n return item;\n });\n this.data.solicitud.request_items = this.itemsSolciitud;\n this.solicitud_asociada = this.data.solicitud;\n this.solicitudService.validateAssociated(this.data.solicitud.id).subscribe(resp => {\n this.validateAssociated = resp.data\n })\n this.formControl();\n if (this.data.solicitud.request_state_id == '4' ||\n this.data.solicitud.request_state_id == '6'\n ) {\n\n this.aprobada = true;\n }\n if (this.data.type === 'editar' || this.data.type === 'ver') {\n this.solicitudesForm.controls.estado.setValue(parseInt(this.data.solicitud.request_state_id));\n\n\n if (this.data.type === 'editar')\n this.edit = true;\n\n\n this.solicitudesForm.controls.observacion.setValue(this.data.solicitud.request_observation ? (this.data.solicitud.request_observation.find(o => o.type == 'analista') || {})?.observation || '' : \"\");\n this.archivoService.getArchivosSolicitud(this.data.solicitud.id)\n .subscribe(resp => {\n resp.data.forEach((element, idx) => {\n this.registrosPorCargar[idx] = element;\n let control;\n let valueControl;\n if (idx == 0) {\n control = this.solicitudesForm.get(\"cot1_txt\");\n valueControl = this.solicitudesForm.get(\"cot1_val_txt\");\n }\n else if (idx == 1) {\n control = this.solicitudesForm.get(\"cot2_txt\");\n valueControl = this.solicitudesForm.get(\"cot2_val_txt\");\n\n }\n else if (idx == 2) {\n control = this.solicitudesForm.get(\"cot3_txt\");\n valueControl = this.solicitudesForm.get(\"cot3_val_txt\");\n }\n control.setValue(this.registrosPorCargar[idx].name);\n valueControl.setValue(this.registrosPorCargar[idx]?.value || '');\n });\n this.sinAdjuntos = this.checkFiles();\n\n });\n }\n\n\n this.companiaService.getCompany().subscribe(comp => {\n this.compania = comp.data;\n if (this.data.type === 'editar' || this.data.type === 'Procesar') {\n this.solicitudesForm.controls.companias.setValue(Number(this.data.solicitud.company_id));\n }\n\n this.filteredOptionsCompania = this.solicitudesForm.get('companias').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(companias => companias ? this._filterCompany(companias) : this.compania.slice())\n );\n });\n\n if (this.data.type === 'ver') {\n this.viewSolciitud = true;\n }\n }\n\n private editasolicitud(estado) {\n this.uploadFiles(estado);\n }\n\n validate_latesObservation(data) {\n return data == undefined ? 'No hay informacion del usuario' : data;\n }\n\n\n saveSolicitud(solicitudesForm) {\n if (solicitudesForm.value.estado == 8) {\n Swal.fire({\n title: '¿Estás seguro?',\n text: \"¿Deseas devolver la solicitud?, cambiará a estado devuelta, recuerda esto será definitivo y no se podrá deshacer.\",\n showCancelButton: true,\n cancelButtonText: \"Cancelar\",\n icon: 'warning',\n confirmButtonText: 'Aceptar',\n }).then((result) => {\n if (result.isConfirmed) {\n this.editasolicitud(null);\n }\n\n })\n }\n else {\n this.editasolicitud(null)\n }\n }\n\n sendSolicitud() {\n Swal.fire({\n title: '¿Estás seguro?',\n text: \"¿Deseas enviar la solicitud?, Cambiará de estado a pendiente, recuerda que esto será definitivo y no se podrá deshacer\",\n showCancelButton: true,\n cancelButtonText: \"Cancelar\",\n icon: 'warning',\n confirmButtonText: 'Aceptar',\n }).then((result) => {\n if (result.isConfirmed) {\n const estado = {\n state: 3,\n company: this.solicitudesForm.value.companias\n };\n\n if (this.registrosPorCargar.length > 0) {\n this.editasolicitud(estado);\n // this.dialogRef.close();\n } else {\n this.alertsService.alertError('¡Oops!', 'Debe añadir al menos una cotización');\n }\n }\n })\n }\n\n private modificarSolicitud(estado) {\n if (estado == null) {\n estado = {\n state: this.solicitudesForm.value.estado,\n company: this.solicitudesForm.value.companias\n }\n }\n const observacion = new FormData();\n observacion.append('observacion', this.solicitudesForm.value.observacion);\n observacion.append('idSolicitud', this.data.solicitud.id);\n observacion.append('type', \"analista\");\n observacion.append('items_observations', JSON.stringify(this.data.solicitud.request_items));\n this.solicitudService.updateSolicitudEstado(estado, this.data.solicitud.id ).subscribe(resp => {\n this.solicitudService.saveObservacion(observacion)\n .subscribe(resp => {\n this.alertsService.alertWithAnyProperties('Guardado', 'La solicitud se ha guardado y está en proceso', 'success', 'Continuar').then(confirm => {\n if (confirm.isConfirmed) this.dialogRef.close();\n });\n });\n });\n }\n\n get error(): any { return this.solicitudesForm.controls; }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void {\n const stateId = parseInt(this.data.solicitud.request_state_id);\n\n this.solicitudesForm = new FormGroup({\n cotizacion: new FormControl(''),\n estado: new FormControl(\"\", [Validators.required]),\n companias: new FormControl('', [this.autocompleteObjectValidator(), Validators.required]),\n observacion: new FormControl('', [Validators.required]),\n cot1_txt: new FormControl(''),\n cot2_txt: new FormControl(''),\n cot3_txt: new FormControl(''),\n cot1_val_txt: new FormControl('', [Validators.max(9999999999999)]),\n cot2_val_txt: new FormControl('', [Validators.max(9999999999999)]),\n cot3_val_txt: new FormControl('', [Validators.max(9999999999999)])\n });\n\n }\n\n cambioEstado(event) {\n if (event == 2) {\n this.aprobada = true;\n\n } else {\n this.aprobada = false;\n }\n }\n\n /*downloadFile(e: any) {\n const archivo = {\n path: e.path\n };\n console.log(e);\n\n this.archivoService.downloadOrder(archivo).subscribe( (data) => {\n const a = document.createElement('a');\n const file = new Blob([data], {type: e.fileContentType});\n a.href = URL.createObjectURL(file);\n a.download = e.name;\n a.click();\n });\n }*/\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-03-28\n * Descarga la cotización adjuntada\n * @param e Archivo u objeto recibido en el input type file\n */\n\n downloadFile(e: any) {\n if (e.path) {\n const archivo = {\n path: e.path\n };\n\n this.archivoService.downloadOrder(archivo).subscribe((data) => {\n const a = document.createElement('a');\n const file = new Blob([data], { type: e.fileContentType });\n a.href = URL.createObjectURL(file);\n a.download = e.name;\n a.click();\n });\n\n } else {\n const a = document.createElement('a');\n a.href = URL.createObjectURL(e);\n a.download = e.name;\n a.click();\n }\n\n }\n\n\n getFileDetails(e) {\n for (var i = 0; i < e.target.files.length; i++) {\n this.registrosPorCargar.push(e.target.files[i]);\n }\n }\n\n associated_request() {\n const dialogNewRol = this.dialog.open(AssociatedRequestComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'Procesar',\n title: 'Detalles de la solicitud (asociada)',\n solicitud: this.solicitud_asociada\n },\n panelClass: 'custom-dialog-container',\n });\n dialogNewRol.afterClosed().subscribe(() => {\n this.dialogRef.close();\n });\n }\n\n /**\n * Agrega un archivo al arreglo de archivos\n * @param e\n * @param index\n */\n setFile(e, index: number) {\n\n this.registrosPorCargar[index] = e.target.files[0];\n this.sinAdjuntos = this.checkFiles();\n let control;\n let valueControl;\n if (index == 0) {\n control = this.solicitudesForm.get(\"cot1_txt\");\n valueControl = this.solicitudesForm.get(\"cot1_val_txt\");\n }\n else if (index == 1) {\n control = this.solicitudesForm.get(\"cot2_txt\");\n valueControl = this.solicitudesForm.get(\"cot2_val_txt\");\n\n }\n else if (index == 2) {\n control = this.solicitudesForm.get(\"cot3_txt\");\n valueControl = this.solicitudesForm.get(\"cot3_val_txt\");\n }\n control.setValue(this.registrosPorCargar[index].name);\n valueControl.setValue();\n\n }\n\n setFileValue(e,index:number ){\n this.registrosPorCargar[index].value = e;\n if (this.registrosPorCargar[index].id)\n this.changedCotizationValues[this.registrosPorCargar[index].id] = e;\n }\n\n removeFileDetails(file, i) {\n if (file.id) {\n\n Swal.fire({\n title: '¿Estás seguro?',\n text: \"¿Deseas eliminar esta cotización?, recuerda esto será definitivo y no se podrá deshacer.\",\n showCancelButton: true,\n cancelButtonText: \"Cancelar\",\n icon: 'warning',\n confirmButtonText: 'Aceptar',\n }).then((result) => {\n if (result.isConfirmed) {\n this.archivoService.eliminarArchivo(file.id).subscribe(resp => {\n this.registrosPorCargar[i] = null;\n this.sinAdjuntos = this.checkFiles();\n //this.registrosPorCargar.splice(i, 1);\n });\n\n this.removeFileInfo(i);\n }\n\n })\n\n } else {\n this.registrosPorCargar[i] = null;\n this.sinAdjuntos = this.checkFiles();\n //this.registrosPorCargar.splice(i, 1);\n\n this.removeFileInfo(i);\n }\n\n }\n\n removeFileInfo(i) {\n let control;\n if (i == 0) {\n control = this.solicitudesForm.get(\"cot1_txt\");\n }\n else if (i == 1) {\n control = this.solicitudesForm.get(\"cot2_txt\");\n\n }\n else if (i == 2) {\n control = this.solicitudesForm.get(\"cot3_txt\");\n }\n control.setValue(\"\");\n }\n\n uploadFiles(estado) {\n let formData = new FormData();\n formData.append('type', 'cotizacion');\n formData.append('idSolicitud', this.data.solicitud.id);\n for (let i = 0; i < this.registrosPorCargar.length; i++) {\n if (this.registrosPorCargar[i] && !this.registrosPorCargar[i].id) {\n formData.append(`archivoCarga${i}`, this.registrosPorCargar[i]);\n formData.append(`value${i}`, this.registrosPorCargar[i].value);\n } else if (this.registrosPorCargar[i] && this.changedCotizationValues[this.registrosPorCargar[i]?.id]) {\n this.archivoService.updateArchivosSolicitud({ value: this.changedCotizationValues[this.registrosPorCargar[i]?.id] }, this.registrosPorCargar[i]?.id).subscribe();\n }\n }\n this.archivoService.postCargarArchivos(formData).subscribe((resp) => {\n resp.id == 200 ? this.modificarSolicitud(estado) : null;\n });\n }\n\n handleFileInput(event) {\n this.file = event.target.files[0];\n const formData = new FormData();\n formData.append('archivoCarga', this.file);\n formData.append('type', 'cotizacion')\n this.archivoService.postCargarArchivos(formData).subscribe((resp) => {\n const data = {\n id: 0,\n path: resp.data.path,\n name: resp.data.name,\n content_type: resp.data.contentType\n };\n this.archivosCargados.push(data);\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n\n editSolicitud() {\n this.dialog.open(AprobarSolcitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Detalles solicitud',\n solicitud: this.data.solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n this.dialogRef.close();\n }\n\n\n /**\n * Verifica si hay cotizaciones cargadas\n * @returns\n */\n private checkFiles(): boolean {\n let isEmpty = true;\n\n this.registrosPorCargar.forEach(element => {\n if (element !== null) {\n isEmpty = false;\n }\n });\n return isEmpty;\n }\n\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterCompany(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.compania.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n\n displayFnCompania(id: number): string {\n if (!id) { return ''; }\n let index = this.compania.findIndex(resp => resp.id === id);\n return this.compania[index].name;\n\n }\n\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * Metodo que valida las funciones del autocompetable\n */\n autocompleteObjectValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (typeof control.value === 'string') {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n };\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-04-17\n * Abre la modal para crear la observación sobre un item\n */\n openCreateObservation(indexItem): void {\n const modalCreateObservation = this.dialog.open(CreateObservationItemComponent, {\n data: {\n indexItem: indexItem\n },\n width: '60%',\n autoFocus: false\n });\n modalCreateObservation.afterClosed().subscribe(res => {\n const itemsRequest = this.data.solicitud.request_items;\n const setItemsRequest = itemsRequest.map(item => {\n if (item.id === res.indexItem) item.observations = res.observation;\n return item;\n });\n this.data.solicitud.request_items = setItemsRequest;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-04-17\n * Abre la modal de la vista de observaciones de los items.\n */\n viewObservation(observation, indexItem): void {\n const modalViewObservation = this.dialog.open(ViewObservationItemComponent, {\n data: {\n observation: observation,\n indexItem: indexItem\n },\n width: '50%'\n });\n modalViewObservation.afterClosed().subscribe(res => {\n if (typeof res !== 'string' && res !== undefined) {\n const itemsRequest = this.data.solicitud.request_items;\n const setItemsRequest = itemsRequest.map(item => {\n if (item.id === res.resUpdate.indexItem) item.observations = res.resUpdate.observation;\n return item;\n });\n this.data.solicitud.request_items = setItemsRequest;\n }\n });\n }\n}\n","
\n
\n \n
\n\n
\n\n \n

\n {{ data.title }}\n\n \n

\n
\n
\n
\n \n
\n
\n\n Estado actual\n

{{data.solicitud.request_state.name}}

\n
\n
\n
\n
\n
\n\n Fecha de creación\n

{{data.solicitud.created_at|date:'yyyy-MM-dd': 'UTC'}}

\n
\n
\n\n Nombre del solicitante\n

{{data.solicitud.created_by}}

\n
\n
\n\n Tipo de adquisición\n

{{data.solicitud.product_type.name}}

\n
\n
\n
\n
\n\n Categoría\n

{{data.solicitud.category.name}}

\n
\n\n\n \n Empresa\n \n \n \n {{comp.name}}\n \n \n ¡Advertencia! Este\n campo es requerido\n Campaña no reconocida. Haga click en una de las\n opciones de autocompletar\n \n\n
\n\n Nombre campaña\n

{{data.solicitud.project}}

\n
\n
\n
\n
\n\n Título solicitud\n

{{data.solicitud.title}}

\n
\n
\n\n Descripción solicitud\n

{{data.solicitud.description}}

\n
\n\n
\n\n
\n
\n Fecha de ejecución\n

{{data.solicitud.date_ejecucion | date:'dd-MM-yyyy': 'UTC'}}

\n
\n
\n Observación de ejecución\n

{{data.solicitud.observaciones_ejecuccion}}

\n
\n
\n\n
\n
\n\n Por los siguientes ítems\n\n
\n
\n\n Cantidad\n\n
\n
\n \n Referencia\n \n
\n
\n \n Observaciones\n \n
\n
\n
\n
\n

{{item.detail}}

\n
\n
\n

{{item.quantity}}

\n
\n
\n {{item.name}}\n
\n \n
\n
\n
\n \n \n \n \n \n \n
\n
\n\n
\n\n
\n \n
\n Respuesta a la solicitud - \n {{data.solicitud.updated_at|date:'dd/MM/yyyy hh:mm:ss': 'UTC'}} | \n {{validate_latesObservation(data.solicitud.latest_observations)}}\n
\n
\n\n
\n
\n \n Estado\n \n Aceptada\n Devuelta\n \n ¡Advertencia! Este campo es\n requerido\n \n
\n\n
\n \n
\n
\n\n\n\n\n
\n\n\n\n
\n
\n Cotizaciones\n

\n Es necesario que adjuntes al menos una cotización.\n
\n
\n
\n
\n
\n \n Cotización 1\n \n \n \n \n\n \n \n \n \n ¡Advertencia! El valor no puede ser mayor a {{999999999999 |\n number}}\n\n \n
\n
\n \n Cotización 2\n \n \n \n \n\n \n\n \n\n \n \n ¡Advertencia! El valor no puede ser mayor a {{999999999999 |\n number}}\n\n \n
\n
\n \n Cotización 3\n \n \n \n \n\n \n \n\n \n \n ¡Advertencia! El valor no puede ser mayor a {{999999999999 |\n number}}\n \n
\n
\n
\n

\n Motivo de rechazo de solicitud\n

\n
\n\n \n Observación\n \n ¡Advertencia! Este campo es obligatorio\n \n
\n\n

\n {{ (data.solicitud.request_observation) ? data.solicitud.request_observation[0].observation : \"\" }}\n

\n\n\n
\n \n\n \n\n \n
\n
\n\n\n\n\n
\n
\n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nconst CIU_URL = environment.CIU_URL;\nconst CRM_URL = environment.CRM_URL;\nconst CRM2_URL = environment.CRM2_URL;\nconst CRMNSDP_URL = environment.CRM_NSDP;\n@Injectable({\n providedIn: 'root'\n})\nexport class RolesService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-02\n * Servicio que lista todos los roles del aplicativo ciu\n * @param size tamaño de los datos a traer\n * @param page numero de pagina en la que se ubicara la tabla\n */\n getRoles(size: number, page: number, app: number = null, name: string = null): Observable{\n let params = new HttpParams();\n params = params.append('perPage', size.toString());\n params = params.append('page', (page + 1).toString());\n if (app) params = params.append('app', app.toString());\n if (name) params = params.append('name', name);\n return this.http.get(`${CIU_URL}roles/all`, { params: params })\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-03\n * Servicio que realiza una busqueda avanzada de roles por un valor\n * @param size tamaño de los datos a traer\n * @param value valor a buscar\n */\n searchRol(size: number, value: any): Observable{\n return this.http.get(`${CIU_URL}roles/search?n=` + size + `&q=` + value)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-03\n * Servicio que guarda un rol en su respectiva tabla\n * @param rol rol a guardarse\n */\n saveRol(rol: any): Observable{\n return this.http.put(`${CIU_URL}roles`, rol)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Servicio que edita un rol en su respectiva tabla\n * @param rol rol a editarse\n */\n editRol(id: any, rol: any): Observable{\n return this.http.put(`${CIU_URL}roles/` + id, rol)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Servicio que borra un rol en su respectiva tabla\n * @param idRol id del rol a eliminarse\n */\n deleteRol(idRol: any): Observable{\n return this.http.delete(`${CIU_URL}roles/` + idRol)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getModulesCrm(): Observable{\n return this.http.get(`${CRM_URL}moduleCrm`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getModulesCrm2(): Observable{\n return this.http.get(`${CRM2_URL}moduleCrm`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getModulesCrmNSDP(): Observable{\n return this.http.get(`${CRMNSDP_URL}moduleCrm`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getPermissionsByIdRol(idRol: any): Observable{\n return this.http.get(`${CRM_URL}getPermissionsByIdRole/${idRol}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getPermissionsByIdRolCRM2(idRol: any): Observable{\n return this.http.get(`${CRM2_URL}getPermissionsByIdRole/${idRol}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getPermissionsByIdRolCRMNSDP(idRol: any): Observable{\n return this.http.get(`${CRMNSDP_URL}getPermissionsByIdRole/${idRol}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule } from '../../../../shared/shared.module';\nimport { CvComponent } from './cv/cv.component';\nimport { CertificationsComponent } from './certifications/certifications.component';\n\n\n\n@NgModule({\n declarations: [CvComponent, CertificationsComponent],\n imports: [\n CommonModule,\n SharedModule,\n ]\n})\nexport class EmployeeModule { }\n","import { Component, EventEmitter, Inject, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\n@Component({\n selector: 'app-rpa-modal',\n templateUrl: './rpa-modal.component.html',\n styleUrls: ['./rpa-modal.component.sass']\n})\nexport class RpaModalComponent implements OnInit {\n\n @Output()actionModal= new EventEmitter();\n @Input() public set urlByIframe(type:string){\n this.type = type;\n switch (type) {\n case 'outbound':\n if(this.uidlocal){\n this.uidlocal = this.uidlocal.replace('.', 'x');\n }\n this.url = environment.RPA_OUTBOUND;//URL embeido para oubound (Modal)\n this.urlIframe = this.url + \"?token=\" + encodeURIComponent(this.authService.getToken()) + \"&campaign_id=\" + this.authService.getUser().rrhh.campaign_id + \"&conversation_id=\" + this.uidlocal;\n this.seeBotonsModal = true;\n break;\n case 'inbound':\n this.url = environment.RPA_INBOUND\n this.seeBotonsModal = false;\n this.urlIframe = this.url + \"?token=\" + encodeURIComponent(this.authService.getToken()) + \"&campaign_id=\" + this.authService.getUser().rrhh?.campaign_id + \"&rrhh_id=\" + this.authService.getUser().rrhh_id + \"&form_id=414&gestion=true\";\n break;\n default:\n this.url = \"https://crmwhatsappaaaof.groupcos.com/auth-jwt\"\n this.seeBotonsModal = true\n break;\n }\n\n this.loadIframe();//Se realiza la gestion de embeer\n }\n public urlIframe:string= \"\"\n public urlSafe:SafeResourceUrl;\n private url:string =\"\";\n public type:string = \"\"\n public seeBotonsModal:boolean = true;\n constructor(\n private authService: AuthService,\n private sanitizer: DomSanitizer\n ) { }\n\n uidlocal;\n\n @Input()\n\tpublic set uid(uid: any) {\n if (uid != null || uid != undefined) {\n\t\t\tthis.uidlocal = uid;\n\t\t}\n\t}\n\n ngOnInit(): void {}\n\n get getClassIframe(){\n let classCss = \"\";\n switch (this.type) {\n case 'outbound':\n classCss = 'iframe-rpa';\n break;\n case 'inbound':\n classCss = 'iframe-rpa-extended';\n break;\n \n default:\n classCss = 'iframe-rpa';\n\n break;\n }\n return classCss;\n }\n /**\n * Cada que cambie el valor del input se tomara el valor de la url y se vovlera a cargar dentro del iframe\n */\n loadIframe():void{\n this.urlSafe = this.sanitizer.bypassSecurityTrustResourceUrl(this.urlIframe);\n }\n\n minimize(){\n this.actionModal.emit({action:'minimize'})\n }\n\n close(){\n this.actionModal.emit({action:'close'})\n }\n\n}\n","\n\n\n\n_\n\n\n\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\nimport { delay } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class VicidialService {\n\tprivate server = environment.VICIDIAL_URL;\n private serverCIU = environment.CIU_URL;\n\tuser;\n\n\tprivate phoneNumber = null;\n\n\tconstructor(private http: HttpClient, private activeRoute: ActivatedRoute, private authService: AuthService) {\n\t\tthis.user = this.authService.getUser();\n\t}\n\n\thttpOptions = {\n\t\theaders: new HttpHeaders({\n\t\t\t'Content-Type': 'application/json'\n\t\t})\n\t};\n\n\tprivate statusCiuSubject = new Subject();\n\tstatusCiuObservable = this.statusCiuSubject.asObservable();\n\n\tprivate checkInCall = new Subject();\n\tcheckInCallObservable = this.checkInCall.asObservable();\n\n\tprivate pauseActiveSubject = new Subject();\n\tpauseActiveObservable = this.pauseActiveSubject.asObservable();\n\n\tprivate pauseStatusSubject = new Subject();\n\tvicidialStatusObservable = this.pauseStatusSubject.asObservable();\n\n\tprivate callResponseSubject = new Subject();\n\tcallResponseObservable = this.callResponseSubject.asObservable();\n\n\tprivate callManualResponseSubject = new Subject();\n\tcallResponseManualObservable = this.callManualResponseSubject.asObservable();\n\n\tprivate callHangUpSubject = new Subject();\n\tcallHangUpObservable = this.callHangUpSubject.asObservable();\n\n\tprivate statusRpaSubject = new Subject();\n\tstatusRPAObservable = this.statusRpaSubject.asObservable();\n\n\tprivate conversationId = new Subject();\n\tconversationIdObservable = this.conversationId.asObservable();\n\n\tsetStatusRPA(status, uid) {\n\t\tconsole.log(uid);\n\t\tlet data = {\n\t\t\tstatus,\n\t\t\tuid\n\t\t}\n\t\tthis.statusRpaSubject.next(data);\n\t}\n\n\tsetStatusCiu(value: string, key?) {\n\t\tthis.statusCiuSubject.next([value, key]);\n\t}\n\n\tsetInCall(inCall:boolean) {\n\t\tthis.checkInCall.next(inCall);\n\t}\n\n\tsetCallResponse(value) {\n\t\tthis.callResponseSubject.next(value);\n\t}\n\n\tsetConversationId(value) {\n\t\tthis.conversationId.next(value);\n\t}\n\n\tsetCallManualResponse(value) {\n\t\tthis.callManualResponseSubject.next(value);\n\t}\n\n\tsetHangUp(value) {\n\t\tthis.callHangUpSubject.next(value);\n\t}\n\n\tsetPause(value: boolean) {\n\t\tthis.pauseActiveSubject.next(value);\n\t}\n\tsetPauseStatus(status: string) {\n\t\tthis.pauseStatusSubject.next(status);\n\t}\n\n\tgetVicidialConfigs(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}auth/getConfigs`, params);\n\t}\n\n\tlogin(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}auth/login`, params);\n\t}\n\n\tlogout(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}auth/logout`, params);\n\t}\n\n\textendCheck(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}config/extend/check`, params);\n\t}\n\n\tselectGroup(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}select/group`, params);\n\t}\n\n\tsetAgentStatus(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}vdad/status`, params);\n\t}\n\n\tincomming(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}incomming`, params);\n\t}\n\n\tmanDialCall(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}manual/dial/call`, params);\n\t}\n\n\tmonitorConf(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}manual/dial/call/monitorconf`, params);\n\t}\n\n joinToCall(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}jointocall`, params);\n\t}\n\n recheckInconming(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}recheckincoming`, params);\n\t}\n\n\tmanDialCallLookUp(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}manual/dial/call/look`, params);\n\t}\n\n\tmanDiaLlogCallStart(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}manual/dial/call/star`, params);\n\t}\n\n\tmanDiaLlogCallEnd(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}manual/dial/call/end`, params);\n\t}\n\n\thangUp(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}hangup/dial`, params);\n\t}\n\n\tmanDiaLlogCaLL(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}hangup/diallogcall`, params);\n\t}\n\n\ttransfer(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}transfer/dial`, params);\n\t}\n\n\tparking(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}dial/parking`, params);\n\t}\n\n\tparkingRecovery(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}dial/parking/recovery`, params);\n\t}\n\n\tupdateLead(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}update/lead`, params);\n\t}\n\n\tsetPauseCode(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}puaseCode`, params);\n\t}\n\n\tchangeStatus(argCiu, typeStatus) {\n\t\tconst varsVicidial = JSON.parse(localStorage.getItem('varsVicidial'));\n\t\tconst params = {\n\t\t\tserver_vicidial: varsVicidial.server_vicidial,\n\t\t\tserver_ip: varsVicidial.server_ip,\n\t\t\tsession_name: varsVicidial.session_name,\n\t\t\tACTION: typeStatus == 'pause' ? 'VDADpause' : 'VDADready',\n\t\t\tuser: varsVicidial.user,\n\t\t\tpass: varsVicidial.pass,\n\t\t\tstage: typeStatus == 'pause' ? 'PAUSED' : 'READY',\n\t\t\tagent_log_id: varsVicidial.agent_log_id,\n\t\t\tagent_log: '',\n\t\t\twrapup: '',\n\t\t\tcampaign: varsVicidial.campaign,\n\t\t\tdial_method: 'RATIO',\n\t\t\tcomments: '',\n\t\t\tqm_extension: varsVicidial.extension\n\t\t};\n\t\tthis.setAgentStatus(params).subscribe((resp: any) => {});\n\t}\n\n\tlogoutFromCIU() {\n\t\tconst varsVicidial = JSON.parse(localStorage.getItem('varsVicidial'));\n\t\tconst params = {\n\t\t\tserver_vicidial: varsVicidial.server_vicidial,\n\t\t\tserver_ip: varsVicidial.server_ip,\n\t\t\tsession_name: varsVicidial.session_name,\n\t\t\tACTION: 'userLOGout',\n\t\t\tformat: 'text',\n\t\t\tuser: varsVicidial.user,\n\t\t\tpass: varsVicidial.pass,\n\t\t\torig_pass: varsVicidial.pass,\n\t\t\tcampaign: varsVicidial.campaign,\n\t\t\tconf_exten: varsVicidial.session_id,\n\t\t\textension: varsVicidial.extension,\n\t\t\tprotocol: 'SIP',\n\t\t\tagent_log_id: varsVicidial.agent_log_id,\n\t\t\tno_delete_sessions: 1,\n\t\t\tphone_ip: '',\n\t\t\tenable_sipsak_messages: '0',\n\t\t\tLogouTKicKAlL: '1',\n\t\t\text_context: 'default',\n\t\t\tqm_extension: varsVicidial.extension,\n\t\t\tstage: 'NORMAL',\n\t\t\tpause_trigger: '',\n\t\t\tdial_method: 'RATIO'\n\t\t};\n\n\t\tthis.logout(params).subscribe((resp: any) => {});\n\t}\n\tpost(endpoint, entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}${endpoint}`, params);\n\t}\n\n\tgetRealTimeReports(entries) {\n\t\tentries.rrhhId = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.get(`${this.server}report/realtime`, { params });\n\t}\n\n\tsetPhoneNumber(phone) {\n\t\tthis.phoneNumber = phone;\n\t}\n\n\tgetPhoneNumber() {\n\t\treturn this.phoneNumber;\n\t}\n\n registerPause(entries) {\n entries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.serverCIU}vicidial/logVicidial`, params);\n }\n\n updateDispo(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}update/dispo`, params);\n\t}\n\n\tvdRelogin(entries) {\n\t\tentries.rrhh_id = this.user.rrhh_id;\n\t\tconst params = new HttpParams({ fromObject: entries });\n\t\treturn this.http.post(`${this.server}vdrelogin`, params);\n\t}\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport * as moment from 'moment';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-novedades-response',\n templateUrl: './novedades-response.component.html',\n styleUrls: ['./novedades-response.component.sass']\n})\nexport class NovedadesResponseComponent implements OnInit {\n\n dataInfo: any;\n public realTime: string;\n public scheduleTime: string;\n public endTime: string;\n public noveltyDetailHeight: number;\n\n public showJustifyForm: boolean;\n public showJustifyInfo: boolean;\n public showInput: boolean;\n noveltiesForm: FormGroup;\n justifyForm: FormGroup;\n\n options: any = [\n { id: 0, name: 'Rechazar' },\n { id: 1, name: 'Aprobar' }\n ];\n\n justifyTipes: any = [\n { id: 'sistema_fuera_linea', name: 'Sistema fuera de línea' },\n { id: 'protesta_evento', name: 'Protesta o evento social' },\n { id: 'compensatorio', name: 'Compensación de tiempo' },\n { id: 'sin_justificacion', name: 'Sin justificación' }\n ];\n formData = new FormData();\n fieldLength: any;\n boolLength: boolean = false;\n\n constructor(private noveltiesService: NoveltiesService,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private alert: AlertsService,\n public dialog: MatDialog) {\n }\n\n ngOnInit() {\n\n this.noveltiesForm = new FormGroup({\n state: new FormControl('', [Validators.required]),\n response: new FormControl('', [Validators.required])\n });\n this.justifyForm = new FormGroup({\n type: new FormControl('', [Validators.required]),\n response: new FormControl('', [Validators.required])\n });\n this.noveltiesService.getEventInfoByPayrollNoveltyId(this.data.data.novelty_user_id, this.data.data.id).subscribe(resp => {\n this.dataInfo = resp.data;\n this.dataInfo.novelty_type.key = (this.dataInfo.novelty_type.key < 10) ? `0${ this.dataInfo.novelty_type.key }` : this.dataInfo.novelty_type.key;\n this.realTime = moment(resp.data.real_start_time).locale('es').format('hh:mm a').toString();\n this.scheduleTime = moment(`${ resp.data.schedule_info.schedule_date } ${ resp.data.schedule_info.scheduled_start_time }`).locale('es').format('hh:mm a').toString();\n this.endTime = moment(`${ resp.data.schedule_info.schedule_date } ${ resp.data.schedule_info.scheduled_end_time }`).locale('es').format('hh:mm a').toString();\n\n if (this.dataInfo.validForMoreResponses) {\n this.showJustifyForm = true;\n }\n this.showJustifyInfo = true;\n this.changeDetailHeight(this.dataInfo);\n });\n\n this.justifyForm.controls.type.valueChanges.subscribe(resp => {\n if(resp == 'sistema_fuera_linea'){\n this.justifyForm.controls.response.setValidators([Validators.required, Validators.minLength(6), Validators.maxLength(10)]);\n this.justifyForm.controls.response.updateValueAndValidity();\n this.justifyForm.controls.response.setValue('');\n } else {\n this.justifyForm.controls.response.setValidators([Validators.required, Validators.maxLength(250)]);\n this.justifyForm.controls.response.updateValueAndValidity();\n this.justifyForm.controls.response.setValue('');\n this.boolLength = false;\n }\n });\n \n this.justifyForm.controls.response.valueChanges.subscribe(resp => {\n let value = '';\n value = resp?.toString();\n if(this.justifyForm.controls.type.value == 'sistema_fuera_linea'){\n this.fieldLength = value?.length;\n if(this.fieldLength > 0) {\n if(this.fieldLength < 3 ) {\n this.boolLength = true;\n } else if(this.fieldLength > 10) {\n this.boolLength = true;\n } else {\n this.boolLength = false;\n }\n }\n\n } else {\n this.boolLength = false;\n this.justifyForm.controls.response.setValue('');\n }\n });\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-04-15\n * Metodo para asignacion de detalle en primera instancia\n */\n changeDetailHeight(novelty): void {\n if (novelty.responseFirstInstance && (novelty.responseFirstInstance.justify || novelty.responseFirstInstance.response)) {\n this.noveltyDetailHeight = 240;\n }\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-04-15\n * Metodo Aprobar o rechazar novedad\n */\n UpdateState() {\n const state = this.noveltiesForm.controls['state'].value;\n this.noveltiesService.changeStatus(this.data.data.id, this.noveltiesForm.value).subscribe(resp => {\n if (state == 1) {\n this.alert.alertSuccess('Novedad actualizada!', 'La novedad ha sido aprobada');\n this.dialogRef.close('');\n } else {\n this.alert.alertSuccess('Novedad actualizada!', 'La novedad ha sido rechazada');\n this.dialogRef.close('');\n }\n\n }, error => {\n this.alert.alertError('Error!', 'Ocurrio un error al intentar actualizar la novedad');\n });\n }\n /**\n * @author Javier Castañeda \n * @createdate 2022-04-07\n * Metodo justicar retardos\n */\n saveObservation() {\n this.formData = new FormData();\n this.formData.append('justify_type', this.justifyForm.controls.type.value);\n this.formData.append('justify', this.justifyForm.controls.response.value);\n this.formData.append('type_key', this.data.data?.novelty_type?.key);\n this.formData.append('Ids[]', this.data.data.id);\n \n this.noveltiesService.justifyNovelties(this.formData).subscribe(resp => {\n this.alert.alertSuccessWithoutButton('¡Excelente!', 'La novedad se ha justificado con éxito.');\n this.dialogRef.close();\n });\n }\n\n}\n","
\n\n

\n \n \n
\n \"noveltyIcon\"\n \n

{{data.data?.name}}

\n
{{data.data?.id_number}}
\n
\n \n
\n

\n\n

\n {{ dataInfo?.novelty_date_start | date:'EEEE d, MMMM' }}\n

\n
\n
\n {{ dataInfo?.novelty_type?.key }} {{ dataInfo?.noveltyTypeToPrint?.title }}\n
\n
\n\n \n
\n
\n
\n
\n

Justificación del trabajador

\n

{{ dataInfo?.responseFirstInstance?.justify }}

\n
\n
\n

Observación

\n

{{ dataInfo?.observation }}

\n
\n

0\"> Archivos adjuntos

\n
0\" style=\"padding-bottom: 32px;\">\n \n
\n
\n
\n

Respuesta Nómina

\n

{{ dataInfo?.responseFirstInstance?.response }}

\n
\n\n
\n
\n

Justificación del trabajador

\n

{{ dataInfo?.responseSecondInstance?.justify }}

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

Gestión Novedad

\n \n
\n \n Estado\n \n \n {{item.name}}\n \n \n \n \n Respuesta\n \n \n\n \n
\n \n
\n \n Tipo de justificación\n \n \n {{item.name}}\n \n \n \n \n Justificación\n \n ¡Cuidado! Solo puedes tener un máximo de 250 caracteres\n \n\n \n Número de GLPI\n \n\n \n ¡Cuidado! Solo puedes tener un mínimo de 3 dígitos o un máximo de 10 dígitos\n \n \n
\n
\n
\n
\n\n \n
\n
\n Inicio turno\n

{{ scheduleTime }}

\n
\n
\n Fin turno\n

{{ endTime }}

\n
\n
\n Hora reporte\n

{{ realTime }}

\n
\n
\n
\n\n
\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MenusService } from '../../../services/rest/menus.service';\nimport { DestroyComponentService } from '../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { SaveMenusComponent } from '../save-menus/save-menus.component';\nimport { Menu } from '../../class/menu';\nimport { ApplicationsService } from '../../../services/rest/applications.service';\n\n@Component({\n selector: 'app-admin-menus',\n templateUrl: './admin-menus.component.html',\n styleUrls: ['./admin-menus.component.sass']\n})\nexport class AdminMenusComponent implements OnInit {\n length;\n pageSize = 5;\n page = 0;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n newRolComponent: boolean = false;\n displayedColumns: string[] = ['acciones', 'nameApp', 'name', 'icon', 'url', 'index'];\n dataSource = new MatTableDataSource();\n filterApp: number | null = null;\n filterName: string | null = null;\n apps: any[] = [];\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n constructor(public menuService: MenusService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n public dialog: MatDialog,\n private applicationsService: ApplicationsService\n ) { }\n\n ngOnInit(): void {\n this.applicationsService.getApplications().subscribe(res => {\n this.apps = res.data;\n });\n this.getMenu();\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que trae los roles paginados\n * @param size cantidad de roles a traer en la tabla\n * @param page pagina que va a mostrar la tabla\n */\n getMenu(): void {\n // if (this.dataSource.filter === '') {\n // this.dataSource.filter = null;\n // }\n this.menuService.getMenuPaginate(this.isPage, this.pageSize, this.page, this.filterApp, this.filterName).subscribe((Response) => {\n this.dataSource.data = Response.data.data;\n // this.dataSource.sort = this.sort;\n this.length = Response.data.total;\n // this.pageSize = Response.data.per_page;\n });\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que realiza el filtro\n * @param event datos para filtrar que son enviados desde el input\n */\n applyFilter(): void {\n // const filterValue = (event.target as HTMLInputElement).value;\n // this.menuService.searchMenu(this.pageSize, this.page, filterValue).subscribe((Response) => {\n // this.dataSource.data = Response.data.data;\n // this.dataSource.sort = this.sort;\n // this.length = Response.data.total;\n // this.pageSize = Response.data.per_page;\n // });\n this.page = 0;\n this.getMenu();\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que se encarga del movimiento del paginador\n * @param event cuando se da click en el paginador trae este evento\n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex;\n this.getMenu();\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que abre el modal de crear un nuevo rol, al cerral el modal se refresca la tabla\n */\n newMenu(): void {\n const dialogNewRol = this.dialog.open(SaveMenusComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Menús',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize = 5;\n this.ngOnInit();\n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que abre el modal de editar usuario, envia un usuario, al cerrar el modal se refresca la tabla\n * @param rol rol a editar\n */\n editMenu(menu: Menu): void {\n const dialogNewRol = this.dialog.open(SaveMenusComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar Menu',\n menu\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize = 5;\n this.ngOnInit();\n });\n }\n\n // /**\n // * @author Daniel Martinez\n // * @createdate 2021-02-04\n // * Metodo que elimina un rol\n // * @param rol rol a eliminar\n // */\n // deleteCampaign(app: Aplication): void{\n // app.state =0;\n\n // this.applicationService.deleteApplication(app,app.id).subscribe((resp) => {\n // this.alertsService.alertSuccess('Eliminado', resp.data);\n // this.ngOnInit();\n // });\n // }\n\n viewCampaign() {\n\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n}\n","
\n
\n

Menús

\n

En este espacio podrás revisar y/o crear Menús
no olvides, \"El respeto y la empatía son clave\"

\n
\n
\n \n Aplicativo\n \n {{ app.name }}\n \n \n \n Nombre\n \n \n \n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Acciones\n \n Aplicación {{row.nameApp}} Nombre {{row.name}} Icono {{row.icon}} URL {{row.url}} Índice {{row.index}}
No hay datos que coincidan con los filtros
\n \n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\nimport { MailService } from '../../../services/rest/mail.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-new-email',\n templateUrl: './new-email.component.html',\n styleUrls: ['./new-email.component.sass']\n})\nexport class NewEmailComponent implements OnInit {\n\n mailForm: FormGroup;\n cuentaEmailId: any;\n\n // tslint:disable-next-line: member-ordering\n public editorConfig: AngularEditorConfig = {\n editable: true,\n spellcheck: true,\n height: '5%',\n minHeight: '0',\n maxHeight: '20%',\n minWidth: '0',\n enableToolbar: true,\n showToolbar: true,\n placeholder: 'Enter text here...',\n defaultParagraphSeparator: '',\n defaultFontName: '',\n defaultFontSize: '',\n fonts: [\n { class: 'arial', name: 'Arial' },\n { class: 'times-new-roman', name: 'Times New Roman' },\n { class: 'calibri', name: 'Calibri' },\n { class: 'comic-sans-ms', name: 'Comic Sans MS' }\n ],\n customClasses: [\n {\n name: 'quote',\n class: 'quote',\n },\n {\n name: 'redText',\n class: 'redText'\n },\n {\n name: 'titleText',\n class: 'titleText',\n tag: 'h1',\n },\n ],\n sanitize: true,\n toolbarPosition: 'top',\n toolbarHiddenButtons: [\n ['bold', 'italic'],\n ['fontSize']\n ]\n };\n\n archivosCargados: any[] = [];\n file: any;\n\n constructor(private form: FormBuilder,\n public mailService: MailService,\n public authService: AuthService,\n private alertsService: AlertsService,\n public dialog: MatDialogRef) { }\n\n ngOnInit(): void {\n this.formControl();\n\n this.mailService.postCuentaEmailConfig().subscribe((respo) => {\n this.cuentaEmailId = respo[0].cuentaEmailId;\n this.mailForm.patchValue({\n respuesta: '


' + respo[0].email.firma[0].firmaHtml + '


'\n });\n });\n\n }\n\n formControl(): void {\n this.mailForm = this.form.group({\n para: new FormControl('', [Validators.required]),\n cc: new FormControl('', []),\n cco: new FormControl('', []),\n asunto: new FormControl('', [Validators.required]),\n respuesta: new FormControl('', []),\n });\n }\n\n get error(): any { return this.mailForm.controls; }\n\n CargarArchivo(event): void {\n this.file = event.target.files[0];\n const formData = new FormData();\n formData.append('archivoCarga', this.file);\n\n this.mailService.postCargarArchivos(formData).subscribe((resp) => {\n this.archivosCargados.push({\n path: resp.data.path,\n name: resp.data.name\n });\n });\n }\n\n saveEmail(mailForm): void {\n\n const newMail = new FormData();\n\n newMail.append( 'asunto' , mailForm.value.asunto );\n newMail.append( 'cuentaEmailId' , this.cuentaEmailId );\n newMail.append( 'emailHtml' , mailForm.value.respuesta );\n newMail.append( 'adjuntos' , JSON.stringify(this.archivosCargados) );\n newMail.append( 'para' , mailForm.value.para );\n newMail.append( 'cc' , mailForm.value.cc );\n newMail.append( 'cco' , mailForm.value.cco );\n\n this.mailService.postCorreoNuevo(newMail).subscribe((resp) => {\n this.alertsService.alertSuccess('Enviado', resp.data);\n this.dialog.close();\n });\n }\n\n}\n","\n\n\n\n \n\n \n \n
\n\n \n Para: \n \n ¡Advertencia! Este campo es requerido\n Debe ingresar un correo valido\n \n\n \n cc: \n \n Debe ingresar un correo valido\n \n\n \n cco: \n \n Debe ingresar un correo valido\n \n\n \n Asunto: \n \n ¡Advertencia! Este campo es requerido\n \n\n \n
    \n
    \n
  • {{item.name}}
  • \n
    \n \n
\n\n \n\n
\n \n
\n \n
\n\n
\n\n
\n\n
\n","import { Component, Inject, OnInit, OnDestroy } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators, ValidatorFn, AbstractControl } from '@angular/forms';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { UsersService } from '../../../services/rest/users.service';\nimport { FormBuilder } from '@angular/forms';\nimport { FormArray } from '@angular/forms';\nimport { ApplicationsService } from '../../../services/rest/applications.service';\nimport { Observable } from 'rxjs';\nimport { startWith, map } from 'rxjs/operators';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { CampaignService } from '../../../services/rest/campaign.service';\n\n@Component({\n selector: 'app-save-users',\n templateUrl: './save-users.component.html',\n styleUrls: ['./save-users.component.sass']\n})\nexport class SaveUsersComponent implements OnInit, OnDestroy {\n\n userForm: FormGroup;\n hide: boolean = true;\n idTypes: any;\n applications: any;\n roles: any;\n filteredOptionsCampaign: Observable;\n filteredOptions: Observable;\n filteredOptionsRoles: Observable;\n errorUser: any;\n countValidate: any;\n campaigns: any;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private destroyService: DestroyComponentService,\n public userService: UsersService,\n private form: FormBuilder,\n private appService: ApplicationsService,\n private alertsService: AlertsService,\n private campaignService: CampaignService) { }\n\n ngOnInit(): void {\n this.formControl();\n this.newappxrol();\n\n this.userService.getIdTypes().subscribe((resp) => {\n this.idTypes = resp.data;\n });\n\n this.appService.getApplications().subscribe((resp) => {\n this.applications = resp.data;\n });\n\n this.campaignService.getCampaignsSelect().subscribe((resp) => {\n this.campaigns = resp.data;\n this.filteredOptionsCampaign = this.userForm.get('campaign').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(campaigns => campaigns ? this._filterCampaign(campaigns) : this.campaigns.slice())\n );\n })\n\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.applications.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre de rol, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterRol(value: string): any[] {\n const filterValueRol = value.toLowerCase();\n return this.roles.filter(option => option.name.toLowerCase().indexOf(filterValueRol) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * filtra por nombre de rol, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterCampaign(value: string): any[] {\n const filterValueCampaign = value.toLowerCase();\n return this.campaigns.filter(option => option.name.toLowerCase().indexOf(filterValueCampaign) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFn(id: number): string {\n if (!id) { return ''; }\n let index = this.applications.findIndex(resp => resp.id === id);\n return this.applications[index].name;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFnRoles(id: number): string {\n if (!id) { return ''; }\n let index = this.roles.findIndex(resp => resp.id === id);\n return this.roles[index].name;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFnCampaign(id: number): string {\n if (!id) { return ''; }\n let index = this.campaigns.findIndex(resp => resp.id === id);\n return this.campaigns[index].name;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que realiza el filtrado de alguna aplicacion\n * @param pos posicion del control a filtrar\n */\n getFilter(pos: number): void {\n this.filteredOptions = this.appxrol.controls[pos].get('app').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(applications => applications ? this._filter(applications) : this.applications.slice())\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que realiza el filtrado de algun rol\n * @param pos posicion del control a filtrar\n */\n getfilterRol(pos: number): void {\n this.filteredOptionsRoles = this.appxrol.controls[pos].get('rol').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(roles => roles ? this._filterRol(roles) : this.roles.slice())\n );\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se activa cuando una aplicacion ha sido seleccionada, busca los roles de la aplicacion seleccionada\n * @param id id de la aplicacion\n * @param pos posicion del grupo de app y rol\n */\n appSelected(id: any, pos: number): void {\n\n this.appxrol.controls[pos].get('rol').setValue('');\n\n this.appService.getRolesxApp(id).subscribe((resp) => {\n this.roles = resp.data;\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que valida las funciones del autocompetable\n */\n autocompleteObjectValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (typeof control.value === 'string') {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n };\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void {\n\n this.userForm = this.form.group({\n user: new FormControl('', [Validators.required, Validators.maxLength(15), Validators.minLength(3)]),\n password: new FormControl('', [this.passwordValidate(), Validators.required, Validators.maxLength(15), Validators.minLength(5)]),\n first_name: new FormControl('', [Validators.required, Validators.maxLength(20), Validators.minLength(3)]),\n middle_name: new FormControl('', [Validators.maxLength(20), Validators.minLength(3)]),\n last_name: new FormControl('', [Validators.required, Validators.maxLength(20), Validators.minLength(3)]),\n second_last_name: new FormControl('', [Validators.maxLength(20), Validators.minLength(3)]),\n id: new FormControl('', [Validators.required, Validators.pattern('^([0-9])*$'), Validators.maxLength(15), Validators.minLength(5)]),\n email: new FormControl('', [Validators.maxLength(50), Validators.minLength(5), Validators.email]),\n phone: new FormControl('', [Validators.maxLength(15), Validators.minLength(7)]),\n idType: new FormControl('', [Validators.required]),\n campaign: new FormControl('', [this.autocompleteObjectValidator(), Validators.required]),\n dobAuth: new FormControl(''),\n appxrol: this.form.array([])\n });\n\n }\n\n get error(): any { return this.userForm.controls; }\n\n get appxrol(): FormArray {\n return this.userForm.get('appxrol') as FormArray;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que estable las validaciones del formarray dentro del formulario\n */\n newappxrol(): void {\n const newappxrol = this.form.group({\n app: new FormControl('', [Validators.required]),\n rol: new FormControl('', [Validators.required]),\n });\n this.appxrol.push(newappxrol);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se encarga de la eliminacion de un grupo de aplicacion y rol\n * @param indice indice del grupo de aplicacion y rol a eliminar\n */\n deleteappxrol(indice: number): void {\n this.appxrol.removeAt(indice);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se encarga de las validaciones del campo password\n */\n passwordValidate(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (!/[A-Z]/.test(control.value)) {\n return { hasCapitalCase: { value: control.value } };\n }\n else if (!/[a-z]/.test(control.value)) {\n return { hasSmallCase: { value: control.value } };\n }\n else if (!/[!@#$%^&*()_+=[{};':\"|,.<>/?/{};':\"|,.<>/?-]/.test(control.value)) {\n return { hasSpecialCharacters: { value: control.value } };\n }\n else if (!/\\d/.test(control.value)) {\n return { hasNumber: { value: control.value } };\n }\n return null;\n };\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que evalua en tiempo real los caracteres ingresados en el input, no deja ingresar numeros ni espacios\n * @param event evento del keypress del input usuario\n */\n omitSpecialChar(event): any {\n let k;\n k = event.charCode;\n return ((k > 32 && k < 126));\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que evalua en tiempo real los caracteres ingresados en el input\n * @param event evento del keypress del input usuario\n */\n omitSpecialCharId(event): any {\n let k;\n k = event.charCode;\n return ((k > 47 && k < 58 || k > 64 && k < 91 || k > 96 && k < 122));\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que evalua en tiempo real los caracteres ingresados en el input\n * @param event evento del keypress del input usuario\n */\n omitSpecialCharPhone(event): any {\n let k;\n k = event.charCode;\n return ((k > 47 && k < 58));\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que se encarga de guardar un usuario\n * @param userForm datos del usuario a guardar\n */\n saveUser(userForm): void {\n\n const user = {\n username: userForm.value.user,\n last_name: userForm.value.last_name,\n middle_name: userForm.value.middle_name,\n second_last_name: userForm.value.second_last_name,\n phone: userForm.value.phone,\n mobile_phone: userForm.value.mobile_phone,\n password: userForm.value.password,\n first_name: userForm.value.first_name,\n id_type_id: userForm.value.idType,\n id_number: userForm.value.id,\n email: userForm.value.email,\n campaign_id: userForm.value.campaign,\n appxrol: userForm.value.appxrol,\n dob_auth: userForm.value.dobAuth\n };\n this.userService.saveUser(user).subscribe((resp) => {\n this.alertsService.alertSuccess('Guardado', resp.data);\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que valida en tiempo real si el usuario a ingresar ya existe o no\n */\n validateUser(): void {\n\n const userName = new FormData();\n\n userName.append('username', this.userForm.get('user').value);\n\n this.userService.searchNameUser(userName).subscribe((resp) => {\n if (resp.data.status === 'error') {\n this.userForm.controls.user.setErrors({ invalidUser: true });\n this.errorUser = resp.data.message;\n }\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que valida si el documento ya esta registrado en la base de datos, si ya existe setea automaticamente la info en los campos\n */\n validateDocumentId(): void {\n\n const dataId = new FormData();\n\n if (this.userForm.get('id').value == '') {\n dataId.append('id_number', '0');\n } else {\n dataId.append('id_number', this.userForm.get('id').value);\n }\n\n dataId.append('id_type_id', this.userForm.get('idType').value);\n\n this.userService.searchId(dataId).subscribe((resp) => {\n if (resp.data.status === 'found') {\n this.userForm.controls.name.setValue(resp.data.user.rrhh.first_name);\n this.userForm.controls.surname.setValue(resp.data.user.rrhh.last_name);\n this.userForm.controls.email.setValue(resp.data.user.rrhh.email);\n this.userForm.controls.phone.setValue(resp.data.user.rrhh.phone);\n }\n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-19\n * Metodo que verifica que un rol no se elija dos veces para la misma aplicacion\n * @param pos posicion del grupo de app y select\n */\n verifyRoles(pos: number): void {\n\n this.countValidate = 0;\n\n this.appxrol.value.forEach(element => {\n\n if (element.rol === this.appxrol.value[pos].rol && element.app === this.appxrol.value[pos].app) {\n\n this.countValidate++;\n\n if (this.countValidate > 1) {\n this.appxrol.controls[pos].get('rol').setErrors({ invalidRol: true });\n }\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n\n","

{{ data.title }}\n\t\n

\n\n
\n\t\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\tTipo de identificación\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ type.name }}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t¡Advertencia! Este\n\t\t\t\t\t\t\tcampo es requerido\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\tNúmero de identificación\n\t\t\t\t\t\n\t\t\t\t\t¡Advertencia! Este campo\n\t\t\t\t\t\t\tsolo acepta números\n\t\t\t\t\t¡Advertencia! Este campo\n\t\t\t\t\t\t\tes requerido\n\t\t\t\t\t¡Aún falta! Recibimos\n\t\t\t\t\t\t\tmínimo 5 caracteres\n\t\t\t\t\t¡Cuidado! Solo puedes\n\t\t\t\t\t\t\ttener un máximo de 15 caracteres\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\tPrimer Nombre\n\t\t\t\t\t\n\t\t\t\t\t¡Advertencia! Este campo es requerido\n\t\t\t\t\t\n\t\t\t\t\t¡Aún\n\t\t\t\t\t\t\tfalta! Recibimos mínimo 3 caracteres\n\t\t\t\t\t¡Cuidado!\n\t\t\t\t\t\t\tSolo puedes tener un máximo de 20 caracteres\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\tSegundo Nombre\n\t\t\t\t\t\n\t\t\t\t\t¡Aún\n\t\t\t\t\t\t\tfalta! Recibimos mínimo 3 caracteres\n\t\t\t\t\t¡Cuidado! Solo puedes tener un máximo de 20\n\t\t\t\t\t\t\tcaracteres\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\tPrimer Apellido\n\t\t\t\t\t\n\t\t\t\t\t¡Advertencia! Este campo es requerido\n\t\t\t\t\t\n\t\t\t\t\t¡Aún falta!\n\t\t\t\t\t\t\tRecibimos mínimo 3 caracteres\n\t\t\t\t\t¡Cuidado!\n\t\t\t\t\t\t\tSolo puedes tener un máximo de 20 caracteres\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\tSegundo Apellido\n\t\t\t\t\t\n\t\t\t\t\t¡Aún falta! Recibimos mínimo 3\n\t\t\t\t\t\t\tcaracteres\n\t\t\t\t\t¡Cuidado! Solo puedes tener un máximo de 20\n\t\t\t\t\t\t\tcaracteres\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\tCampaña\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ option.name }}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t¡Advertencia!\n\t\t\t\t\t\t\tEste campo es requerido\n\t\t\t\t\tAplicación no reconocida. Haga click\n\t\t\t\t\t\t\ten una de las opciones de autocompletar\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\tTeléfono\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t¡Advertencia! Este\n\t\t\t\t\t\t\tcampo es requerido\n\t\t\t\t\t¡Aún falta!\n\t\t\t\t\t\t\tRecibimos mínimo 7 caracteres\n\t\t\t\t\t¡Cuidado! Solo\n\t\t\t\t\t\t\tpuedes tener un máximo de 15 caracteres\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\tCorreo\n\t\t\t\t\t\n\t\t\t\t\t¡Advertencia! Este\n\t\t\t\t\t\t\tcampo es requerido\n\t\t\t\t\t¡Aún falta!\n\t\t\t\t\t\t\tRecibimos mínimo 7 caracteres\n\t\t\t\t\t¡Cuidado! Solo\n\t\t\t\t\t\t\tpuedes tener un máximo de 50 caracteres\n\t\t\t\t\t\t¡Advertencia! Debe\n\t\t\t\t\t\t\t\tingresar un correo valido\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\tUsuario\n\t\t\t\t\t\n\t\t\t\t\t¡Advertencia! Este\n\t\t\t\t\t\t\tcampo es requerido\n\t\t\t\t\t¡Aún falta! Recibimos\n\t\t\t\t\t\t\tmínimo 3 caracteres\n\t\t\t\t\t¡Cuidado! Solo puedes\n\t\t\t\t\t\t\ttener un máximo de 15 caracteres\n\t\t\t\t\t{{ errorUser\n\t\t\t\t\t\t\t}}\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\tContraseña\n\t\t\t\t\t\n\t\t\t\t\t¡Advertencia!\n\t\t\t\t\t\t\tEste campo es requerido\n\t\t\t\t\t¡Aún falta!\n\t\t\t\t\t\t\tRecibimos mínimo 5 caracteres\n\t\t\t\t\t¡Cuidado!\n\t\t\t\t\t\t\tSolo puedes tener un máximo de 15 caracteres\n\t\t\t\t\tSu contraseña\n\t\t\t\t\t\t\tdebe tener un número\n\t\t\t\t\tSu\n\t\t\t\t\t\t\tcontraseña debe tener una mayuscula\n\t\t\t\t\tSu\n\t\t\t\t\t\t\tcontraseña debe tener una minuscula\n\t\t\t\t\tSu\n\t\t\t\t\t\t\tcontraseña debe tener un caracter especial\n\t\t\t\t\t\n\t\t\t\t\t\t{{ hide ? 'visibility' : 'visibility_off' }}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t¿Requiere doble autentificación?\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t

Añadir permisos

\n\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAplicación\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{{ option.name }}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t¡Advertencia!\n\t\t\t\t\t\t\t\t\t\tEste campo es requerido\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tRol\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{{ optionrol.name }}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t¡Advertencia!\n\t\t\t\t\t\t\t\t\t\tEste campo es requerido\n\t\t\t\t\t\t\t\t¡Advertencia!\n\t\t\t\t\t\t\t\t\t\tEste rol ya fue seleccionado para esta aplicación\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n\n\t\n\t\t\n\t\t\n\t\n
","import { Component, OnInit } from '@angular/core';\nimport { ConfigTable, Paginator } from 'src/app/shared/basic-crud-page/type';\nimport { MatDialog } from '@angular/material/dialog';\nimport { EmailService } from '../../services/email.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\nimport { LabelComponent } from '../../components/label/label.component';\nimport { CrudService } from 'src/app/shared/basic-crud-page-service/crud.service';\nimport { environment } from 'src/environments/environment';\nimport { SnackBarService } from 'src/app/shared/snack-bar-service/snack-bar.service';\n\nconst { GESTIONADOR_CORREOS } = environment;\n\n@Component({\n selector: 'app-label-page-main',\n templateUrl: './label-page-main.component.html',\n styleUrls: ['./label-page-main.component.sass']\n})\nexport class LabelPageMainComponent implements OnInit {\n labels: any[] = [];\n filter: string = null;\n filterSelect: number = null;\n configColumnsTable: ConfigTable[] = [\n { name: '', key: 'actions', type: 'events' },\n { name: 'Nombre de la etiqueta', key: 'name' },\n ];\n configPaginator: Paginator = { length: 0, pageIndex: 0, pageSize: 5 };\n userLogin: any = null;\n emailsConfig: any[] = [];\n\n constructor(\n private matDialog: MatDialog,\n private emailService: EmailService,\n private authService: AuthService,\n private crudService: CrudService,\n private alertSnackBar: SnackBarService\n ) { }\n\n ngOnInit(): void {\n this.getEmailsConfigByRol();\n this.getLabels();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-10-18\n * Metodo que trae las etiquetas registradas en el sistema. \n */\n getLabels(): void {\n if (this.filterSelect !== 0) {\n this.crudService.getData(\n {\n url: `${GESTIONADOR_CORREOS}labels/showall`,\n paginator: this.configPaginator,\n filters: { name: this.filter, idAccountEmail: this.filterSelect }\n }).subscribe(res => {\n this.labels = res.data;\n this.configPaginator.length = res.total;\n })\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-18\n * Metodo que setea el filtro emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilter($event: string) {\n this.filter = $event;\n this.configPaginator.pageIndex = 0;\n this.getLabels();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-18\n * Metodo que actualiza el estado de una etiqueta. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeStateValueLabel($event: any): void {\n const setDataState = { ...$event.item, state: $event.state };\n this.crudService.putData({\n url: `${GESTIONADOR_CORREOS}labels/update/${$event.item.id}`,\n formData: setDataState\n }).subscribe(res => {\n this.alertSnackBar.showNotification({ message: res.message });\n this.getLabels();\n })\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-18\n * Metodo que permite ejecutar la modal para crear o actualizar una etiqueta. \n * @param label Etiqueta seleccionada de la tabla. \n */\n onClickShowLabel(label: any = null): void {\n this.matDialog.open(LabelComponent, {\n width: '50%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-template',\n data: {\n emailsConfig: this.emailsConfig.map(item => {\n return { value: item.id, text: item.name };\n }),\n label,\n url: GESTIONADOR_CORREOS\n }\n }).afterClosed().subscribe(res => {\n if (res) this.getLabels();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-18\n * Metodo que permite actualizar la configuracion de la paginacion.\n * @param $event Evento emitido por el componente hijo. \n */\n onChangePage($event: Paginator): void {\n this.configPaginator = $event;\n this.getLabels();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-18\n * Metodo que setea el filtro del select emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilterSelect($event: number) {\n this.filterSelect = $event;\n this.configPaginator.pageIndex = 0;\n this.getLabels();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-18\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-10-31\n * Metodo que limpia los filtros. \n */\n clearFilters(): void {\n this.filter = null;\n this.filterSelect = null;\n this.getLabels();\n }\n}","\n\n","import { ExtraHoursResponseComponent } from './../../../../nomina/modules/extra-hours/pages/extra-hours-response/extra-hours-response.component';\nimport { Component, AfterViewInit, ViewChild, Inject, ElementRef } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { CandidateCreateComponent } from '../candidate-create/candidate-create.component';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { CandidateCommentsComponent } from '../candidate-comments/candidate-comments.component';\nimport { CandidateEditComponent } from '../candidate-edit/candidate-edit.component';\nimport { RequestDetailsDialogComponent } from '../../requests/request-details-dialog/request-details-dialog.component';\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\nimport { ContractCreationComponent } from '../contract-creation/contract-creation.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { CandidateAttachmentsComponent } from '../candidate-attachments/candidate-attachments.component';\nimport { TrainingGroupsService } from '../../../services/training-groups.service';\nimport { saveAs as importedSaveAs } from \"file-saver\";\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { AgreementsType } from '../contract-creation/contractTypes';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { FormControl } from '@angular/forms';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { I } from '@angular/cdk/keycodes';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\n\n/**\n * @title Data table with sorting, pagination, and filtering.\n */\n\n@Component({\n selector: 'app-candidate-main',\n templateUrl: './candidate-main.component.html',\n styleUrls: ['./candidate-main.component.sass']\n})\nexport class CandidateMainComponent {\n\n displayedColumns: string[] = ['check', 'actions', 'scheduled','state', 'name', 'id_number', 'mobilephone', 'email', 'position', 'campaign', 'tracingAvg'];\n displayedColumnsDisabled: string[] = ['state', 'name', 'id_number', 'mobilephone', 'email', 'position', 'campaign', 'tracingAvg'];\n\n selection = new SelectionModel(true, []);\n dataSource = new MatTableDataSource();\n dataSourceDisabbledUsers: MatTableDataSource;\n\n length: number;\n pageSize: number;\n lengthDisabled: number;\n pageSizeDisabled: number;\n currentPage = 1;\n currentPageDisabled = 1;\n showCandidates = false;\n selected = new FormControl(0);\n\n indexTab = 0;\n identification: any = '';\n email: any = '';\n formador: any = '';\n mobile: any = '';\n position: any = '';\n campaign: any = '';\n campaigns:any = [];\n tab: number = 0;\n status: any = [];\n statusTypes: any = [];\n typeFilter:any\n isLeader:boolean = false\n hiring: boolean = false\n nameFile: string=''\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort;\n @ViewChild('fileInput', {static: false})\n fileUpload: ElementRef;\n pageSizeOptions: number[] = [10, 50, 100, 150, 200];\n public page : number = 1;\n public per_page : number = 10;\n public pageDisabled : number = 1;\n public per_pageDisabled : number = 10;\n constructor(public dialog: MatDialog, private _candidate:CandidatesService, public AlertsService: AlertsService,\n public router: Router, public auth:AuthService, private serviceGroups: TrainingGroupsService,\n private destroyService: DestroyComponentService) {\n this.auth.getUser().roles.forEach(element => {\n if(element == 'rrhh::coordinador-de-contratacion'){\n this.isLeader = true\n }\n if(element == 'rrhh::coordinador-de-contratacion' || element == 'rrhh::analista-de-contratacion'){\n this.hiring = true\n }\n });\n }\n ngOnInit(): void {\n\n this.getCandidates();\n this.selection.clear();\n }\n getCandidates(){\n this._candidate.candidateByUserLoggued({page: this.page, per_page: this.per_page, identification: this.identification, email: this.email,\n mobile: this.mobile, position:this.position, state:this.status, campaign:this.campaign, disable:0}).subscribe( (candidate:any) => {\n if (candidate.total > 0) this.showCandidates = true;\n this.length = candidate.total;\n this.pageSize = candidate.per_page;\n this.dataSource = new MatTableDataSource(candidate.data);\n this.dataSource.sort = this.sort;\n })\n this.getStates();\n }\n\n getCandidatesDisabled(){\n this._candidate.candidateByUserLoggued({page: this.pageDisabled, per_page: this.per_pageDisabled, identification: this.identification, email: this.email,\n mobile: this.mobile, position:this.position, state:this.status, campaign:this.campaign, disable:1}).subscribe( (candidate:any) => {\n if (candidate.total > 0) this.showCandidates = true;\n this.lengthDisabled = candidate.total;\n this.pageSizeDisabled = candidate.per_page;\n this.dataSourceDisabbledUsers = new MatTableDataSource(candidate.data);\n this.dataSourceDisabbledUsers.sort = this.sort;\n })\n}\nchangeTab(event?)\n{\n this.indexTab = event;\n event == 0 ? this.getCandidates() : this.getCandidatesDisabled();\n this.tab = event;\n}\n\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.dataSource.filter = filterValue.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n newRegister(): any{\n const registerDialog = this.dialog.open( CandidateCreateComponent, {\n minWidth: '900px',\n minHeight: '400px'\n });\n\n registerDialog.afterClosed().subscribe( (refreshRequests) => {\n });\n }\n filterByValue(event){\n this.pageDisabled = 1\n this.page = 1\n this.paginator.pageIndex = 0;\n\n this.identification=''\n this.email=''\n this.mobile = ''\n this.position = '';\n this.campaign = '';\n this.status = '';\n this.formador = '';\n switch (this.typeFilter) {\n case \"Identificación\":\n this.identification = event;\n break;\n case \"Email\":\n this.email= event\n break;\n case \"Teléfono\":\n this.mobile = event\n break;\n case \"Cargo\":\n this.position= event\n break;\n case \"Campaña\":\n this.campaign = event\n break;\n case \"Estado\":\n this.status = event\n break;\n case \"Formador\":\n this.formador = event\n break;\n }\n this.indexTab == 0 ? this.getCandidates() : this.getCandidatesDisabled();\n }\n\n getPaginatorData(event){\n this.ValidateFilterParams(event);\n this.destroyService.destroyComponent();\n this.getCandidates();\n }\n\n getPaginatorDataDisabled(event){\n this.ValidateFilterParams(event);\n this.destroyService.destroyComponent();\n this.getCandidatesDisabled();\n }\n\n getComments(candidateId,requestId){\n const commentDialog = this.dialog.open( CandidateCommentsComponent, {\n data: { candidateId, requestId: requestId }\n });\n commentDialog.afterClosed().subscribe( (params) => {\n this.getCandidates();\n\n });\n }\n\n editCandidate(candidateId){\n const candidateEdit = this.dialog.open( CandidateEditComponent, {\n minWidth: '80%',\n data: { candidateId }\n });\n candidateEdit.afterClosed().subscribe( (params) => {\n this.tab == 0 ? this.getCandidates() : this.getCandidatesDisabled();\n });\n }\n\n requestDetail(requestId){\n const requestDetail = this.dialog.open( RequestDetailsDialogComponent, {\n minWidth: '80%',\n data: { requestId:requestId }\n });\n requestDetail.afterClosed().subscribe( (params) => {\n });\n }\n\n cv(candidateId, massive?){\n this._candidate.getCandidateDataJson(candidateId, 'personal_data').subscribe( (resp: any) => {\n if(!Object.keys(resp).length)\n {\n this.AlertsService.alertInfo('Completar datos','Por favor completa los datos personales del usuario');\n this.selection.deselect(candidateId);\n }else if(!massive){\n this.router.navigate([`/mios/rrhh/candidato-cv/${candidateId}`]);\n }\n });\n }\n\n agreementsView(agreements, id, status){\n const contractForm = this.dialog.open( ContractCreationComponent, {\n minWidth: '80%',\n data: {candidateId: id, agreementRules: agreements, action:'view', isLeader:this.isLeader, state: status}\n })\n contractForm.afterClosed().subscribe(res=>{\n if(res){\n this.getCandidates();\n }\n })\n }\n attachmentsView(candidateId){\n const attachmentsDialog = this.dialog.open( CandidateAttachmentsComponent, {\n data: {candidateId: candidateId}\n })\n }\n getCampaigns(){\n if(this.typeFilter == 'Campaña'){\n this.serviceGroups.getDataFilters(`dropdown/options/campana`).subscribe(res=>{\n this.campaigns= res\n })\n\n }\n }\n importAgreements(file){\n\n this.nameFile= file[0].name\n let formData = new FormData();\n formData.append('file', file[0]);\n this._candidate.saveAgreement('agreement/rules/import',formData).subscribe(res=>{\n this.nameFile=''\n this.fileUpload.nativeElement.value = \"\";\n this.AlertsService.alertSuccess('¡Importado!', 'La reglas de contrato han sido cargadas con éxito')\n const contractSDialog = this.dialog.open( TypeContracts, {\n data:{action:true, fileUpdaloaded:res}\n })\n\n },err=>{\n this.nameFile=''\n this.fileUpload.nativeElement.value = \"\";\n })\n }\n exportAgreements(){ // formato de agreements\n const contractSDialog = this.dialog.open( TypeContracts,{\n data:{action:false}\n })\n contractSDialog.afterClosed().subscribe(resp=>{\n if(resp){\n this._candidate.downdloadFile(`agreement/rules/export/format?contract_type=${resp}`).subscribe(res=>{\n importedSaveAs(res, `formatoReglas.xlsx`);\n })\n }\n })\n\n\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-07-31\n * funcion que restablece las credenciales de self por defecto y renvia el email al candidato\n */\n resentEmail(candidateId,candidateEmail)\n {\n this.AlertsService.alertConfirm(\n '¿Estás seguro?',\n 'Esta solicitud restablecerá la contraseña por defecto a Cos2022* y reenviará el correo al candidato con las credenciales de acceso'\n ).then((result) => {\n if (result.isConfirmed) {\n this._candidate.resentCredentialsByEmail({id:candidateId,email:candidateEmail}).subscribe(\n response =>{\n this.AlertsService.alertSuccess(\n 'Email enviado',\n `Hemos restablecido la contraseña del candidato por defecto y reenviado el correo con las credenciales de acceso. Usuario: ${response['user_name']}`)\n }\n )\n }\n });\n }\n\n /**\n\t * valida el paginado\n\t * @author Carlos Nieto\n\t * @param event\n\t * @returns string\n\t /**/\n\tpublic ValidateFilterParams(event)\n\t{\n if(this.tab == 0)\n {\n this.page = event.pageIndex + 1,\n this.per_page = event.pageSize\n }else{\n this.pageDisabled = event.pageIndex + 1,\n this.per_pageDisabled = event.pageSize\n }\n\n\t}\n getStates(){\n this._candidate.getStates().subscribe(res=>{\n this.statusTypes = res;\n })\n }\n\n /** MJ00035 - Modificación proceso para creación carga masiva de reglas de contratación\n * https://trello.com/c/VNacyHVa/124-mj00035-modificaci%C3%B3n-proceso-para-creaci%C3%B3n-carga-masiva-de-reglas-de-contrataci%C3%B3n\n * @createdate 10-08-2022\n * @author Lina Hueso\n *\n */\n openContractForm(){\n const contractForm = this.dialog.open( ContractCreationComponent, {\n minWidth: '80%',\n disableClose: true,\n data: {\n candidateId: '',\n agreementRules: '',\n action:'create',\n contract: '',\n specialPolicy: '',\n infoBpms: '',\n massive: true,\n ids: this.selection.selected\n }\n })\n contractForm.afterClosed().subscribe( (params) => {\n if(params){\n this.getCandidates();\n this.selection.clear();\n }\n //\n })\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-05-05\n * Metodo para seleccionar las filas en la tabla\n */\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-05-05\n * Selecciona todas las filas si no están todas seleccionadas; de lo contrario la selección se limpia.\n */\n masterToggle() {\n this.isAllSelected() ?\n this.selection.clear() :\n this.dataSource.data.forEach(row => this.selection.select(row.id));\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-09-13\n * envia una alerta al dar click en el check si el usuario ya tiene agremet rules\n * valida segun documentacion de abajo\n */\n validateAgremetRules(row) {\n /* valida si el usuario ya tiene personal data cargado */\n this.cv(row.id,true);\n /* valida si tiene archivos adjuntos */\n if(row.attachements)\n {\n if(row.attachements != [])\n {\n /* valida si tiene generado un contrato, mas no la aprobacion del mismo ni nada mas */\n if(row.attachements.find(contract => contract.file_attachment_id == 16))\n {\n /* valida si tiene generada una firma sobre el contrato, mas no la aprobacion de la misma ni nada mas */\n if(row.attachements.find(signatureContract => signatureContract.file_attachment_id == 20 ))\n {\n this.AlertsService.alertInfo('Alerta','Este usuario ya posee una firma sobre el contrato, por lo cual no se puede modificar sus condiciones de contratación de forma masiva.');\n this.selection.select(row.id)\n return;\n }else if(!this.selection.isSelected(row.id)){\n this.AlertsService.alertInfo('Cuidado','Este usuario ya posee un contrato generado, pero aún no se ha firmado');\n return;\n }\n }\n }\n }\n /* valida si el usuario ya posee reglas de contratacion */\n if(row.agreementRules != null && !this.selection.isSelected(row.id))\n {\n this.AlertsService.alertInfo('Cuidado','Este usuario ya posee reglas de contratación, por lo cual sobrescribirá las ya existentes');\n }\n }\n}\n\n@Component({\n selector: 'type-resources',\n templateUrl: './types-contracts.html',\n styleUrls: ['./candidate-main.component.sass']\n})\nexport class TypeContracts {\n option:any\n types = AgreementsType\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any) { }\n\n}\n","
\n

Gestión de Candidatos

\n

Bienvenido al módulo de candidatos, aquí podrás visualizar aquellos que ya han
sido cargados a esta solicitud.

\n
\n \n Tipo de filtro\n \n Campaña\n Cargo\n Estado\n Formador\n Identificación\n \n \n \n Filtrar por {{typeFilter}}\n \n \n \n \n Filtrar por {{typeFilter}}\n \n \n {{type.name}}\n \n \n \n Filtrar por {{typeFilter}}\n \n \n {{type.name}}\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n
\n
\n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n Acciones \n \n \n \n \n \n \n \n \n \n Cita\n \n {{ row.scheduled }}\n Estado {{row.stateName}} Nombre {{row.name}} # Documento {{row.documentId}} Celular {{row.mobile_phone}} Email {{row.email}} Cargo {{row.position}} Campaña {{row.campaign}} % Avance \n \n \n
No hay candidatos disponibles.
\n \n \n
\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Estado {{row.stateName}} Nombre {{row.name}} # Documento {{row.documentId}} Celular {{row.mobile_phone}} Email {{row.email}} Cargo {{row.position}} Campaña {{row.campaign}} % Avance \n \n \n
No hay candidatos disponibles.
\n \n \n
\n
\n
\n
\n ","\n

Tipos de contrato

\n

Resumen

\n
\n\n
\n \n {{item.name}} \n\n \n
\n
\n

  Total de Candidatos Importados    {{data.fileUpdaloaded.totalCandidates}}

\n

  Candidatos registrados con éxito   {{data.fileUpdaloaded.agreementRulesToSave}}

\n

  Candidatos o razones para ignorar este proceso   {{ data.fileUpdaloaded.agreementRulesToIgnore.length }}

\n
\n
    \n
  • {{row.name}} ({{ row.reason }})
  • \n
\n
\n
\n\n
\n\n\n\n","import { Component, AfterViewInit, ViewChild, Inject, ElementRef, OnInit } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { CandidateCreateComponent } from '../candidate-create/candidate-create.component';\nimport { CandidatesService } from '../../../services/candidates.service';\nimport { CandidateCommentsComponent } from '../candidate-comments/candidate-comments.component';\nimport { CandidateEditComponent } from '../candidate-edit/candidate-edit.component';\nimport { RequestDetailsDialogComponent } from '../../requests/request-details-dialog/request-details-dialog.component';\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\nimport { ContractCreationComponent } from '../contract-creation/contract-creation.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { CandidateAttachmentsComponent } from '../candidate-attachments/candidate-attachments.component';\nimport { TrainingGroupsService } from '../../../services/training-groups.service';\nimport { saveAs as importedSaveAs } from \"file-saver\";\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { AgreementsType } from '../contract-creation/contractTypes';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { FormControl } from '@angular/forms';\nimport { I } from '@angular/cdk/keycodes';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\n\n@Component({\n selector: 'app-candidate-juridico-nomina-doc',\n templateUrl: './candidate-juridico-nomina-doc.component.html',\n styleUrls: ['./candidate-juridico-nomina-doc.component.sass']\n})\nexport class CandidateJuridicoNominaDocComponent implements OnInit {\n displayedColumns: string[] = ['actions', 'scheduled','state', 'name', 'id_number', 'mobilephone', 'email', 'position', 'campaign', 'tracingAvg'];\n displayedColumnsDisabled: string[] = ['actions','state', 'name', 'id_number', 'mobilephone', 'email', 'position', 'campaign', 'tracingAvg'];\n\n\n dataSource: MatTableDataSource;\n dataSourceDisabbledUsers: MatTableDataSource;\n\n length: number;\n pageSize: number;\n lengthDisabled: number;\n pageSizeDisabled: number;\n currentPage = 1;\n currentPageDisabled = 1;\n showCandidates = false;\n selected = new FormControl(0);\n\n indexTab = 0;\n identification: any = '';\n email: any = '';\n formador: any = '';\n mobile: any = '';\n position: any = '';\n campaign: any = '';\n campaigns:any = [];\n tab: number = 0;\n status: any = [];\n statusTypes: any = [];\n typeFilter:any\n isLeader:boolean = false\n hiring: boolean = false\n nameFile: string=''\n rolUser: any;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort;\n @ViewChild('fileInput', {static: false})\n fileUpload: ElementRef;\n pageSizeOptions: number[] = [10, 50, 100, 150];\n public page : number = 1;\n public per_page : number = 10;\n public pageDisabled : number = 1;\n public per_pageDisabled : number = 10;\n constructor(public dialog: MatDialog, private _candidate:CandidatesService, public AlertsService: AlertsService,\n public router: Router, public auth:AuthService, private serviceGroups: TrainingGroupsService,\n private authService: AuthService,\n private destroyService: DestroyComponentService) {\n this.auth.getUser().roles.forEach(element => {\n if(element == 'rrhh::coordinador-de-contratacion'){\n this.isLeader = true\n }\n if(element == 'rrhh::coordinador-de-contratacion' || element == 'rrhh::analista-de-contratacion'){\n this.hiring = true\n }\n });\n }\n ngOnInit(): void {\n\n this.getCandidates();\n const local = this.authService.getUser();\n local.roles.forEach((rol) => {\n const name = rol.split('::');\n if (name[0] == 'nomina' && name[1] == 'admin-nomina') {\n this.rolUser = name[1];\n }\n });\n }\n getCandidates(){ \n this._candidate.candidateByUserLoggued({page: this.page, per_page: this.per_page, identification: this.identification, email: this.email,\n mobile: this.mobile, position:this.position, state:this.status, campaign:this.campaign, disable:0}).subscribe( (candidate:any) => {\n if (candidate.total > 0) this.showCandidates = true;\n this.length = candidate.total;\n this.pageSize = candidate.per_page;\n this.dataSource = new MatTableDataSource(candidate.data);\n this.dataSource.sort = this.sort;\n })\n this.getStates();\n }\n\n getCandidatesDisabled(){\n this._candidate.candidateByUserLoggued({page: this.pageDisabled, per_page: this.per_pageDisabled, identification: this.identification, email: this.email,\n mobile: this.mobile, position:this.position, state:this.status, campaign:this.campaign, disable:1}).subscribe( (candidate:any) => {\n if (candidate.total > 0) this.showCandidates = true;\n this.lengthDisabled = candidate.total;\n this.pageSizeDisabled = candidate.per_page;\n this.dataSourceDisabbledUsers = new MatTableDataSource(candidate.data);\n this.dataSourceDisabbledUsers.sort = this.sort;\n })\n}\nchangeTab(event?)\n{\n this.indexTab = event;\n event == 0 ? this.getCandidates() : this.getCandidatesDisabled();\n this.tab = event; \n}\n\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.dataSource.filter = filterValue.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n newRegister(): any{\n const registerDialog = this.dialog.open( CandidateCreateComponent, {\n minWidth: '900px',\n minHeight: '400px'\n });\n\n registerDialog.afterClosed().subscribe( (refreshRequests) => {\n });\n }\n filterByValue(event){\n this.pageDisabled = 1\n this.page = 1\n this.paginator.pageIndex = 0;\n\n this.identification=''\n this.email=''\n this.mobile = ''\n this.position = '';\n this.campaign = '';\n this.status = '';\n this.formador = '';\n switch (this.typeFilter) {\n case \"Identificación\":\n this.identification = event;\n break;\n case \"Email\":\n this.email= event\n break;\n case \"Teléfono\":\n this.mobile = event\n break;\n case \"Cargo\":\n this.position= event\n break;\n case \"Campaña\":\n this.campaign = event\n break;\n case \"Estado\":\n this.status = event\n break;\n case \"Formador\":\n this.formador = event\n break;\n }\n this.indexTab == 0 ? this.getCandidates() : this.getCandidatesDisabled();\n }\n\n getPaginatorData(event){\n this.ValidateFilterParams(event);\n this.destroyService.destroyComponent();\n this.getCandidates();\n }\n\n getPaginatorDataDisabled(event){\n this.ValidateFilterParams(event);\n this.destroyService.destroyComponent();\n this.getCandidatesDisabled();\n }\n\n getComments(candidateId,requestId){\n const commentDialog = this.dialog.open( CandidateCommentsComponent, {\n data: { candidateId, requestId: requestId }\n });\n commentDialog.afterClosed().subscribe( (params) => {\n this.getCandidates();\n\n });\n }\n\n editCandidate(candidateId){\n const candidateEdit = this.dialog.open( CandidateEditComponent, {\n minWidth: '80%',\n data: { \n candidateId,\n campaignShow: true,\n type: 'edit'\n }\n });\n candidateEdit.afterClosed().subscribe( (params) => {\n this.tab == 0 ? this.getCandidates() : this.getCandidatesDisabled();\n });\n }\n\n requestDetail(requestId){\n this.router.navigateByUrl(`/mios/rrhh/candidatos-cv-juridico-nomina/${requestId}`)\n }\n\n cv(candidateId){\n this._candidate.getCandidateDataJson(candidateId, 'personal_data').subscribe( (resp: any) => {\n if(!Object.keys(resp).length)\n {\n this.AlertsService.alertInfo('Completar datos','Por favor completa los datos personales del usuario');\n }else{\n this.router.navigate([`/mios/rrhh/candidato-cv/${candidateId}`]);\n }\n });\n }\n\n agreementsView(agreements, id, status){\n const contractForm = this.dialog.open( ContractCreationComponent, {\n minWidth: '80%',\n data: {candidateId: id, agreementRules: agreements, action:'view', isLeader:this.isLeader, state: status}\n })\n contractForm.afterClosed().subscribe(res=>{\n if(res){\n this.getCandidates();\n }\n })\n }\n attachmentsView(candidateId){\n const attachmentsDialog = this.dialog.open( CandidateAttachmentsComponent, {\n data: {candidateId: candidateId}\n })\n }\n getCampaigns(){\n if(this.typeFilter == 'Campaña'){\n this.serviceGroups.getDataFilters(`dropdown/options/campana`).subscribe(res=>{\n this.campaigns= res\n })\n\n }\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-07-31\n * funcion que restablece las credenciales de self por defecto y renvia el email al candidato\n */\n resentEmail(candidateId,candidateEmail)\n {\n this.AlertsService.alertConfirm(\n '¿Estás seguro?',\n 'Esta solicitud restablecerá la contraseña por defecto a Cos2022* y reenviará el correo al candidato con las credenciales de acceso'\n ).then((result) => {\n if (result.isConfirmed) {\n this._candidate.resentCredentialsByEmail({id:candidateId,email:candidateEmail}).subscribe(\n response =>{\n this.AlertsService.alertSuccess(\n 'Email enviado',\n `Hemos restablecido la contraseña del candidato por defecto y reenviado el correo con las credenciales de acceso. Usuario: ${response['user_name']}`)\n }\n )\n }\n });\n }\n\n /**\n\t * valida el paginado\n\t * @author Carlos Nieto\n\t * @param event\n\t * @returns string\n\t /**/\n\tpublic ValidateFilterParams(event)\n\t{\n if(this.tab == 0)\n {\n this.page = event.pageIndex + 1,\n this.per_page = event.pageSize\n }else{\n this.pageDisabled = event.pageIndex + 1,\n this.per_pageDisabled = event.pageSize\n }\n \n\t}\n getStates(){\n this._candidate.getStates().subscribe(res=>{\n this.statusTypes= res\n })\n }\n}\n\n","
\n

Estado del personal

\n

Bienvenido al módulo validador de personal, aquí podrás visualizar los candidatos, colaboradores
y su documentación.

\n
\n \n Tipo de filtro\n \n Campaña\n Cargo\n Estado\n Formador\n Identificación\n \n \n \n Filtrar por {{typeFilter}}\n \n \n \n \n Filtrar por {{typeFilter}}\n \n \n {{type.name}}\n \n \n \n Filtrar por {{typeFilter}}\n \n \n {{type.name}}\n \n \n\n
\n
\n \n \n \n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Acciones \n \n \n \n \n \n \n Cita\n \n {{ row.scheduled }}\n Estado {{row.stateName}} Nombre {{row.name}} # Documento {{row.documentId}} Celular {{row.mobile_phone}} Email {{row.email}} \n Cargo {{row.position}} \n Campaña {{row.campaign}} % Avance \n \n \n
No hay candidatos disponibles.
\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Acciones \n \n \n \n \n Estado {{row.stateName}} Nombre {{row.name}} # Documento {{row.documentId}} Celular {{row.mobile_phone}} Email {{row.email}} Cargo {{row.position}} Campaña\n {{row.campaign}} % Avance \n \n \n
No hay candidatos disponibles.
\n \n \n
\n
\n
\n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ReferralsReportService } from '../../../services/rest/referralsReport.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\n\n@Component({\n selector: 'app-ReferralsReport',\n templateUrl: './ReferralsReport.component.html',\n styleUrls: ['./ReferralsReport.component.sass']\n})\nexport class ReferralsReportComponent implements OnInit {\n\n length;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n displayedColumns: string[] = ['date_of_hire', 'name', 'document', 'contact_number', 'email', 'referredBy', 'documentReferredBy', 'state'];\n dataSource = new MatTableDataSource();\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatPaginator, { static: true }) paginatorHistory: MatPaginator;\n\n constructor(private referralsReportService: ReferralsReportService) {}\n\n\n ngOnInit() {\n this.referralsReportService.getReferralsList().subscribe(resp => {\n console.log(resp.data);\n this.dataSource = resp.data;\n this.length = resp.total;\n });\n }\n\n /**\n * @author David Reinoso\n * Metodo de paginación\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getReferralsList(this.pageSize, this.page);\n }\n\n /**\n * @author David Reinoso\n * @purpose resetea el paginador\n */\n resetPaginator(numPaginator): void {\n if (numPaginator === 2) {\n this.length = 0;\n this.pageSize = 5;\n this.page = 1;\n this.paginator.firstPage();\n }\n }\n\n /**\n * @author David Reinoso\n * Metodo para obtener el listado de referidos\n */\n getReferralsList(pageSize, page): void {\n if (page != null || pageSize != null) {\n this.referralsReportService.getReferralsList(pageSize, page).subscribe(resp => {\n this.dataSource = resp.data;\n this.length = resp.total;\n });\n }\n }\n\n /**\n * @author David Reinoso\n * Metodo de descarga de reporte de referidos\n */\n downloadReport() {\n this.referralsReportService.downloadReport().subscribe(resp => {\n importedSaveAs(resp, 'reporte_de_referidos.xlsx');\n });\n }\n}\n","
\n\n
\n

Reporte de Referidos

\n

Bienvenido al módulo reporte de Referidos

\n
\n\n
\n\n
\n \n
\n\n
\n
\n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n\n
Fecha de contratación {{ (element.date_of_hire == 'Sin contrato') ? element.date_of_hire : element.date_of_hire | date:\"dd-MM-yyyy\" }} Nombre{{ element.first_name + ' ' + element.middle_name + ' ' + element.last_name + ' ' + element.second_last_name }} Documento{{ element.documentIdReferral }} Número de contacto{{ element.contact_number }} E-mail {{ element.email }} Referido por: {{ element.referredByName }} Documento de quien refirio{{ element.documentId }} Estado {{ element.Estado }}
\n\n \n \n
\n
\n\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ConfigTable, Paginator } from 'src/app/shared/basic-crud-page/type';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { TrayComponent } from '../../components/tray/tray.component';\nimport { TrayService } from '../../services/tray.service';\nimport { BasicSnackbarComponent } from 'src/app/shared/basic-snackbar/basic-snackbar.component';\nimport { EmailService } from '../../services/email.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { KEY_ADMIN, KEY_SUPERVISOR } from '../../constantes/keys-roles';\n\n@Component({\n selector: 'app-tray-page-main',\n templateUrl: './tray-page-main.component.html',\n styleUrls: ['./tray-page-main.component.css']\n})\nexport class TrayPageMainComponent implements OnInit {\n trays: any[] = [];\n filter: string = '';\n filterSelect: number = 0;\n configColumnsTable: ConfigTable[] = [\n { name: '', key: 'actions', type: 'events' },\n { name: 'Nombre', key: 'name' },\n { name: 'Icono', key: 'icon' },\n ];\n configPaginator: Paginator = { length: 0, pageIndex: 0, pageSize: 5 };\n emailsConfig: any[] = [];\n\n constructor(\n private matDialog: MatDialog,\n private matSnackBar: MatSnackBar,\n private trayService: TrayService,\n private emailService: EmailService,\n private authService: AuthService\n ) { }\n\n ngOnInit(): void {\n this.getTrays();\n this.getEmailsConfigByRol();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-07-18\n * Metodo que trae las bandejas registradas en el sistema. \n */\n getTrays(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.trayService.getTrays(this.configPaginator, this.filter, false, this.filterSelect, 1).subscribe(res => {\n this.trays = res.data.data;\n this.configPaginator.length = res.data.total;\n });\n } else {\n if (this.filterSelect !== 0) {\n this.trayService.getTrays(this.configPaginator, this.filter, false, this.filterSelect, 1).subscribe(res => {\n this.trays = res.data.data;\n this.configPaginator.length = res.data.total;\n });\n }\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-18\n * Metodo que setea el filtro emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilter($event: string) {\n this.filter = $event;\n this.configPaginator.pageIndex = 0;\n this.getTrays();\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-18\n * Metodo que actualiza el estado de una bandeja. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeStateTray($event: any): void {\n const setDataTray = { ...$event.item, state: $event.state };\n this.trayService.storeTray(setDataTray).subscribe(res => {\n this.matSnackBar.openFromComponent(BasicSnackbarComponent, {\n data: {\n title: '¡Excelente!',\n message: res.data\n },\n duration: 5000,\n verticalPosition: 'top',\n panelClass: ['green-snackbar']\n });\n this.getTrays();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-18\n * Metodo que permite ejecutar la modal para crear o actualizar una bandeja. \n * @param tray Bandeja seleccionada de la tabla. \n */\n onClickShowTray(tray: any = null): void {\n this.matDialog.open(TrayComponent, {\n width: '40%',\n autoFocus: false,\n panelClass: 'dialog-padding-tray',\n data: {\n tray,\n emailsConfig: this.emailsConfig\n }\n }).afterClosed().subscribe(res => {\n if (res) this.getTrays();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-07-18\n * Metodo que permite actualizar la configuracion de la paginacion.\n * @param $event Evento emitido por el componente hijo. \n */\n onChangePage($event: Paginator): void {\n this.configPaginator = $event;\n this.getTrays();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-23\n * Metodo que consulta las cuentas de correo dependiendo el rol del usuario. \n */\n getEmailsConfigByRol(): void {\n const userInfo = this.authService.decryptToken();\n const userRol = userInfo.roles.filter((item: any) => item === KEY_ADMIN || item === KEY_SUPERVISOR)[0];\n if (userRol === KEY_ADMIN) {\n this.emailService.getEmailsConfig().subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id, name: item.user_name_email_entrada };\n });\n });\n } else {\n const idRrhh = userInfo.rrhh_id;\n this.emailService.getConfigEmailByUser(idRrhh, null, 'false').subscribe(res => {\n this.emailsConfig = res.data.map((item: any) => {\n return { id: item.id_email, name: item.user_name_email_entrada };\n });\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-01-23\n * Metodo que setea el filtro del select emitido por el componente hijo. \n * @param $event Evento emitido por el componente hijo. \n */\n onChangeFilterSelect($event: number) {\n this.filterSelect = $event;\n this.configPaginator.pageIndex = 0;\n this.getTrays();\n }\n}","\n","import { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\nimport { catchError } from 'rxjs/operators';\nimport * as moment from 'moment';\n\nconst CIU_URL = environment.CIU_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SchedulesService {\n\n constructor(private http: HttpClient,\n private authService: AuthService) {\n }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Jose Vicente Silva Rivera\n * @createdate 2021-02-02\n * Servicio que lista los schedules del tipo workday\n */\n getSchedule(size: number, page: number, id: any): Observable {\n return this.http.get(`${CIU_URL}schedule/?config_id=${id}&n=${size}&page=${page}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Jose Vicente Silva Rivera\n * @createdate 2021-02-02\n * Servicio que lista todos los groupes del aplicativo por campaña\n * @param data contiene la ruta y la configuracion que se va a cargar\n */\n postConfigs(data: any): Observable {\n return this.http.post(`${CIU_URL}schedule/massive`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n uploadFile(formData: any): Observable {\n return this.http.post(`${CIU_URL}uploadfile`, formData)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @param filters filtros para busqueda\n * @author Andres Buitrago\n * @created 2021-05-05\n * @purpose Servicio para obtener los diferentes schedules por usuario en base a filtros\n */\n getSchedulesByFilters(filters: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('startWeek', filters.startWeek || '')\n .set('endWeek', filters.endWeek || '')\n .set('campaignId', filters.campaignId || '')\n .set('groupId', filters.groupId || '')\n .set('document', filters.document || '')\n .set('documentType', filters.type || '')\n .set('perPage', filters.perPage || 5)\n .set('stateUserSchedule', filters.stateUserSchedule || '')\n .set('paginate', filters.paginate || 1)\n .set('page', filters.page || 1)\n };\n return this.http.get(`${CIU_URL}schedule/all`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @param filters filtros para busqueda\n * @author Andres Buitrago\n * @created 2021-05-05\n * @purpose Servicio para obtener los diferentes schedules por usuario en base a filtros\n */\n exportScheduleByFilters(filters: any): Observable {\n return this.http.post(`${CIU_URL}schedule/toEdit`, filters, { responseType: 'blob' as 'json' })\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Obtiene la plantilla de horarios para las modificaciones respectivas\n * @author Andres Buitrago\n * @createdate 2021-05-08\n * @param data filtros aplicados para generacion de excel con horarios y posterior modificacion\n */\n getScheduleFileToEdit(data: any): Observable {\n return this.http.post(`${CIU_URL}schedule/toEdit`, data, { responseType: 'blob' as 'json' })\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Servicio que realiza la actualizacion de una fecha especifica\n * @author Andres Buitrago\n * @createdate 2021-05-08\n * @param data archivo importado para actualizacion masiva de horarios\n */\n updateScheduleSelected(data: any): Observable {\n return this.http.post(`${CIU_URL}schedule/massiveUpdate`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Elimina el horario de un usuario seleccionado\n * @author Andres Buitrago\n * @createdate 2021-05-08\n * @param data archivo importado para actualizacion masiva de horarios\n */\n deleteScheduleByParams(data: any): Observable {\n return this.http.put(`${CIU_URL}schedule/deleteSchedule`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Obtiene el listado de marcaciones realizadas\n * @author Daniel Dominguez\n * @createdate 2021-05-20\n * @param filters filtros a aplicar\n */\n getMarkedSchedulesByFilters(filters: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('startWeek', filters.startWeek || '')\n .set('endWeek', filters.endWeek || '')\n .set('campaignId', filters.campaignId || '')\n .set('groupId', filters.groupId || '')\n .set('document', filters.document || '')\n .set('documentType', filters.type || '')\n .set('perPage', filters.perPage || 5)\n .set('paginate', filters.paginate || 1)\n .set('page', filters.page || 1)\n };\n return this.http.get(`${CIU_URL}schedule/allMarked`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * exporta el listado de marcaciones realizadas\n * @author Daniel Dominguez\n * @createdate 2021-05-20\n * @param filters filtros a aplicar\n */\n exportMarkedSchedulesByFilters(filters: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('startWeek', filters.startWeek || '')\n .set('endWeek', filters.endWeek || '')\n .set('campaignId', filters.campaignId || '')\n .set('groupId', filters.groupId || '')\n .set('document', filters.document || '')\n .set('documentType', filters.type || '')\n .set('perPage', filters.perPage || 5)\n .set('paginate', filters.paginate || 1)\n .set('page', filters.page || 1),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${CIU_URL}schedule/exportAllMarked`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * exporta el listado de marcaciones realizadas\n * @author Andres Buitrago\n * @createdate 2021-10-01\n * @param filters filtros a aplicar\n */\n exportEventsCiuAndVicidialByFilters(filters: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('startDate', moment(filters.startDate).format('YYYY-MM-DD') || '')\n .set('endDate', moment(filters.endDate).format('YYYY-MM-DD') || '')\n .set('groupId', filters.groupId || '')\n .set('userId', filters.userId || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${CIU_URL}schedule/reportCiuAndVicidial`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Servicio que realiza la actualizacion de una fecha especifica\n * @author Andres Buitrago\n * @createdate 2021-05-23\n * @param data info con turnos a actualizar\n */\n updateScheduleDateSelected(data: any): Observable {\n return this.http.put(`${CIU_URL}schedule/updateSpecificDate`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Servicio que obtiene un listado de semanas para el filtro de horarios\n * @author Andres Buitrago\n * @createdate 2021-06-24\n * @param data info con parametros requeridos para el filtro (numWeeks, startDate)\n */\n getWeeksRangesForScheduleFilters(data: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('startDate', data.to || '')\n .set('numWeeks', data.numWeeks || '')\n };\n return this.http.get(`${CIU_URL}schedule/getWeeks`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Servicio que obtiene un listado de semanas para el filtro de horarios por grupo\n * @author Andres Buitrago\n * @createdate 2021-06-24\n * @param groupId number ID del grupo\n */\n getWeeksRangesByGroupId(groupId: number): Observable {\n return this.http.get(`${CIU_URL}groups/${groupId}/getWeeks`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * Obtiene los turnos de un día para su modificación\n * @param rrhhUserId RRHH user\n * @param dateSelected fecha seleccionada\n * @author Andres Buitrago\n */\n getScheduleToEdit(rrhhUserId: any, dateSelected: string): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('rrhhId', rrhhUserId || '')\n .set('scheduleDate', dateSelected || '')\n };\n return this.http.get(`${CIU_URL}schedule/toEdit`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * exporta el listado de marcaciones realizadas\n * @author Daniel Dominguez\n * @createdate 2021-06-08\n * @param date filtro de fecha para la consulta del horario\n */\n getSchedulesGraph(date?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('date', date || '')\n };\n return this.http.get(`${CIU_URL}schedule/getScheduleGraphic`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * exporta el listado de marcaciones realizadas\n * @author Daniel Dominguez\n * @createdate 2021-06-08\n */\n getSchedulesUser(date?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('date', date || '')\n };\n return this.http.get(`${CIU_URL}schedule/getDiarySchedule`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * exporta el listado de marcaciones realizadas\n * @author Carlos Nieto\n * @createdate 2022-02-25\n */\n getUserWeekSchedule(idCiu) {\n return this.http.get(`${CIU_URL}schedule/workdayByAgent/${idCiu}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2022-05-30\n * Metodo que consulta los horarios de la semana actual y la proxima. \n */\n getWeekAndNextWeekSchedule(idUserCiu: number, date: string): Observable {\n return this.http.get(`${CIU_URL}schedule/workdayByAgentV2/${idUserCiu}?date=${date}`).pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-compras',\n templateUrl: './compras.component.html',\n styleUrls: ['./compras.component.sass']\n})\nexport class ComprasComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n","import { createReducer, on } from \"@ngrx/store\";\nimport { SelectsState } from \"../../core/states/selects.state\";\nimport { loadedCampañas, loadSelects, loadedSelects } from '../actions/selects.actions';\n\n/**\n * @author Cristian Gallo\n * @createdate 2021-12-13\n * Constante que manejara el estado inicial de cada arreglo.\n*/\n\nexport const initialState: SelectsState = { \n selects:{\n cuartilInicial:[],\n causaRaiz:[],\n cumpleCompromiso:[],\n estado:[],\n indicadores:[],\n presentaEvolucion:[],\n tipoProceso:[],\n },\n campañas:[],\n};\n\n/**\n * @author Cristian Gallo\n * @createdate 2021-12-13\n * El reducer se encarga de tomar los datos que hayan obtenido las acciones para ser leidos mas adelante.\n*/\n\nexport const selectsReducer = createReducer(\n initialState,\n on(loadSelects,(state)=>{\n return {...state}\n }),\n on(loadedSelects,( state, { selects } )=>{\n return {...state, selects}\n }),\n on(loadedCampañas,( state, { campañas } )=>{\n return {...state, campañas}\n }),\n // on(loadedIndicadores,( state, { indicadores } )=>{\n // return {...state, indicadores}\n // }),\n // on(loadedProcesos,( state, { procesos } )=>{\n // return {...state, procesos}\n // }),\n // on(loadedCuartiles,( state, { cuartiles } )=>{\n // return {...state, cuartiles}\n // }),\n // on(loadedCausas,( state, { causas } )=>{\n // return {...state, causas}\n // }),\n // on(loadedEstados,( state, { estados } )=>{\n // return {...state, estados}\n // }),\n // on(loadedCompromisos,( state, { compromisos } )=>{\n // return {...state, compromisos}\n // }),\n // on(loadedEvoluciones,( state, { evoluciones } )=>{\n // return {...state, evoluciones}\n // }),\n);","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Router } from '@angular/router';\nimport * as moment from 'moment';\nimport { InteligenciaService } from 'src/app/modules/auditoria/services/inteligencia.service';\nimport Swal from 'sweetalert2';\nimport { CrearFormularioComponent } from '../crear-formulario/crear-formulario.component';\n\n@Component({\n selector: 'app-tabla-inteligencia-negocio',\n templateUrl: './tabla-inteligencia-negocio.component.html',\n styleUrls: ['./tabla-inteligencia-negocio.component.sass']\n})\nexport class TablaInteligenciaNegocioComponent implements OnInit {\n\n //Control de paginación de la tabla\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n //Columnas e información de la tabla\n displayedColumns:string[] = ['acciones','fecha_creacion','nombre_inteligencia_negocio','num_preguntas','descripcion'];\n dataSource =new MatTableDataSource();\n //Filtros\n filtroFormulario:string = '';\n filtroFecha:string = '';\n constructor(\n private formDialog:MatDialog,\n private router:Router,\n private inteligenciaS:InteligenciaService\n ) { }\n\n ngOnInit(): void {\n this.getForms(this.page,this.pageSize);\n }\n\n /**\n * @author Cristian Gallo\n * Función desplegar el dialog nuevo formulario\n */ \n newForm(){\n const formRef = this.formDialog.open(CrearFormularioComponent,{\n width: '840px',\n disableClose: true,\n });\n }\n\n /**\n * @author Cristian Gallo\n * Función para eliminar formulario\n */ \n removeForm(id_form){\n Swal.fire({\n icon:'warning',\n title: '¿Esta seguro de eliminar este formulario?',\n text: '¿Deseas eliminar permanentemente el formulario? Recuerda que esta acción será definitiva y no se podrá deshacer.',\n showCancelButton: true,\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true,\n width: '810px'\n }).then((result)=>{\n if (result.isConfirmed) {\n this.inteligenciaS.removeForm(id_form).subscribe((resp:any)=>{\n if (resp.respuesta.codigo === 202) {\n Swal.fire({\n icon:'success',\n title: '¡Excelente!',\n text: 'El formulario se ha eliminado con éxito',\n showConfirmButton:false,\n timer: 2500\n });\n this.getForms(this.page,this.pageSize);\n }else {\n Swal.fire({\n icon: 'error',\n title: '¡Oops!',\n text: 'Lo sentimos, no es posible eliminar el formulario, esta siendo Utilizada por una matriz.',\n showConfirmButton: false,\n timer: 2500\n })\n }\n });\n }\n });\n }\n /**\n * @author Cristian Gallo\n * Función la paginación de la tabla\n */ \n pageEvent(event:any){\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getForms(this.page,this.pageSize)\n }\n\n /**\n * @author Cristian Gallo\n * Función para ir a la ruta detalle o editar formulario\n */ \n detailForm(type,id){\n this.router.navigateByUrl(`/mios/calidad/formulario/${type}/${id}`);\n }\n\n /**\n * @author Cristian Gallo\n * Función para obtener todos los formularios creados\n */ \n getForms(page:number,pageSize:number){\n const params = {\n page: page,\n numeroReg: pageSize,\n formulario: '',\n fecha: '',\n }\n\n //Filtros\n if (this.filtroFormulario != \"\") {\n params.formulario = this.filtroFormulario\n }\n\n if (this.filtroFecha != \"\") {\n if ( this.filtroFecha == null) {\n params.fecha = ''\n }else{\n params.fecha = moment(this.filtroFecha).format('YYYY-MM-DD')\n }\n }\n\n this.inteligenciaS.getForms(params).subscribe((resp:any)=>{\n this.dataSource.data = resp.data\n this.length = resp.total\n this.pageSize = resp.per_page;\n });\n }\n\n filtrar(){\n this.getForms(this.page,this.pageSize);\n }\n\n}\n","
\n \n Filtrar por formulario\n \n \n \n \n Fecha\n \n \n \n \n \n \n
\n \n
\n
\n
\n
\n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n
\n \n \n \n Fecha de creación {{ element.created_at | date:'dd/MM/yyyy'}} Nombre inteligencia de negocio {{ element.name | cutText}} Número de preguntas {{ element.numero_preguntas_count }} Descripción {{ element.description | cutText:0:37 }}
No hay registros para mostrar
\n\n \n \n
\n
","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { ReportsMainComponent } from './reports-main/reports-main.component';\n\n\n\n@NgModule({\n declarations: [ReportsMainComponent],\n imports: [\n CommonModule,\n SharedModule\n ]\n})\nexport class ReportsModule { }\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { EMPTY } from 'rxjs';\nimport { map, mergeMap, catchError } from 'rxjs/operators';\nimport { CoachingService } from '../../services/coaching.service';\nimport { SelectsModel } from '../../core/interfaces/selects.interface';\n\n@Injectable()\nexport class SelectsEffects {\n \n loadSelects$ = createEffect(() => this.actions$.pipe(\n ofType('[Selects] Load selects'),\n mergeMap(() => this.coachingService.getSelects()\n .pipe(\n map((selects:SelectsModel) => ({ type: '[Selects] Loaded selects', selects }))\n ))\n )\n );\n loadCampañas$ = createEffect(() => this.actions$.pipe(\n ofType('[Selects] Load selects'),\n mergeMap((params:any) => this.coachingService.getCampaings(params.rol)\n .pipe(\n map((campañas:any) => ({ \n type: '[Campañas] Loaded Campañas', \n campañas:campañas.data }))\n ))\n )\n );\n\n constructor(\n private actions$: Actions,\n private coachingService:CoachingService,\n ) {}\n}","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { socketService } from './index.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SocketActiveService {\n\n sockeActive = null;\n socketActiveSubject: Subject = new Subject();\n constructor() { }\n\n setSocketActive(socket: socketService){\n this.sockeActive = socket;\n this.socketActiveSubject.next(socket);\n }\n\n getSocketActive() {\n return this.sockeActive;\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { JuridicaService } from 'src/app/modules/juridica/services/juridica.service';\nimport { DisabilitiesService } from 'src/app/modules/nomina/services/rest/disabilities.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-permit-view',\n templateUrl: './permit-view.component.html',\n styleUrls: ['./permit-view.component.sass']\n})\nexport class PermitViewComponent implements OnInit {\n dataInfo: any;\n public realTime: string;\n public scheduleTime: string;\n public endTime: string;\n public noveltyDetailHeight: number;\n\n public showJustifyForm: boolean;\n public showJustifyInfo: boolean;\n public showInput: boolean;\n public titlePermit = '';\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private alert: AlertsService,\n public dialog: MatDialog,\n private permit: JuridicaService,\n private disabilities: DisabilitiesService\n ) {\n }\n\n ngOnInit() {\n this.permit.getInfoByPermitId(this.data.data.idNovelty).subscribe(resp => {\n this.dataInfo = resp.data;\n if (this.dataInfo.validForMoreResponses) {\n this.showJustifyForm = true;\n }\n this.showJustifyInfo = true;\n this.changeDetailHeight(this.dataInfo);\n\n });\n this.titlePermit = this.data?.data?.novelty_type?.name ?? \"Permiso\";\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-06-23\n * Metodo para asignacion de detalle en primera instancia\n */\n changeDetailHeight(novelty): void {\n if (novelty.responseFirstInstance && (novelty.responseFirstInstance.justify || novelty.responseFirstInstance.response)) {\n this.noveltyDetailHeight = 240;\n }\n }\n\n}\n","
\n\n

\n \n \n
\n \n

{{data.data?.name}}

\n
{{data.data?.id_number}}\n
\n

Fecha de creación: {{dataInfo?.fechaCreacion | date:'dd/MM/yyyy' }}

\n
\n
\n

\n\n \n\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ModalApproveComponent } from './modal-approve/modal-approve.component';\nimport { ModalAssignRecruiterComponent } from './modal-assign-recruiter/modal-assign-recruiter.component';\nimport { ModalCreateRequestComponent } from './modal-create-request/modal-create-request.component';\nimport { ModalDeleteComponent } from './modal-delete/modal-delete.component';\nimport { ModalValidateComponent } from './modal-validate/modal-validate.component';\nimport { RequestsComponent } from './requests.component';\nimport { SharedModule } from '../../../../shared/shared.module';\nimport { SharedFormModule } from '../shared-form/shared-form.module';\nimport { MaterialModule } from '../../../../shared/material/material.module';\n\n\n\n@NgModule({\n declarations: [\n ModalApproveComponent,\n ModalAssignRecruiterComponent,\n ModalCreateRequestComponent,\n ModalDeleteComponent,\n ModalValidateComponent,\n RequestsComponent\n ],\n imports: [\n CommonModule,\n SharedModule,\n SharedFormModule\n ]\n})\nexport class RequestsModule { }\n","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nconst CIU_URL = environment.CIU_URL;\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ScheduleService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-23\n * Servicio que las marcaciones de horarios del usuario logueado\n */\n getSchedule(): Observable{\n return this.http.get(`${CIU_URL}ciu/mySchedule`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n postSchedule(tips: FormData): Observable{\n return this.http.post(`${CIU_URL}ciu/logSchedule`, tips)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n getScheduleGuard(): Observable {\n return this.http.get(`${CIU_URL}ciu/showScheduleCiuStatus`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-02-01\n * Servicio que reinicia el horario de un usuario\n * @param data {\"responsible_id\":\"2\",\"affected_user\":\"15\"}\n */\n scheduleReset(data): Observable{\n return this.http.post(`${CIU_URL}schedule/reset`,data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-security-questions',\n templateUrl: './security-questions.component.html',\n styleUrls: ['./security-questions.component.sass']\n})\nexport class SecurityQuestionsComponent implements OnInit {\n form: FormGroup\n questions: any[] = []\n\n constructor(private formBuilder: FormBuilder, @Inject(MAT_DIALOG_DATA) public data: any, private authService: AuthService, private dialogRef: MatDialogRef) { }\n\n ngOnInit(): void {\n this.initializeForm()\n this.getQuestionsList()\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 29-05-2024\n * Método que inicializa el formulario\n */\n initializeForm() {\n this.form = this.formBuilder.group({\n first_question: this.formBuilder.group({\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n order: [1, []]\n }),\n second_question: this.formBuilder.group({\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n order: [2, []]\n }),\n third_question: this.formBuilder.group({\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n order: [3, []]\n }),\n fourth_question: this.formBuilder.group({\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n order: [4, []]\n }),\n fifth_question: this.formBuilder.group({\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n order: [5, []]\n }),\n sixth_question: this.formBuilder.group({\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n order: [6, []]\n }),\n seventh_question: this.formBuilder.group({\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n order: [7, []]\n }),\n eighth_question: this.formBuilder.group({\n question_id: ['', [Validators.required]],\n answer: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(200)]],\n order: [8, []]\n }),\n user_id: ['', []],\n rrhh_id: ['', []],\n })\n\n this.form.valueChanges.subscribe(() => {\n this.updateOptions()\n });\n\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 29-05-2024\n * Método que obtiene la lista de preguntas de seguridad\n */\n getQuestionsList() {\n this.authService.getSecurityQuestionsList().subscribe(resp => {\n this.questions = resp\n })\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 29-05-2024\n * Método que retorna los controles de un grupo de preguntas\n * @param group nombre del grupo del formulario\n */\ngetQuestionControls(group:string){\n const QuestionGroup = this.form.get(group) as FormGroup\n return QuestionGroup ? QuestionGroup.controls : {}\n}\n\n /**\n* @author Juan Carlos Alonso\n* @createdate 29-05-2024\n* Método que desactiva las opciones de las preguntas que ya han sido seleccionadas, y asi mismo las activa al deseleccionar\n*/\n updateOptions() {\n const selectedValues: string[] = [];\n const formControls = this.form.controls;\n\n for (const key in formControls) {\n if (formControls.hasOwnProperty(key) && key.endsWith('_question')) {\n const questionGroup = formControls[key] as FormGroup;\n const questionIdControl = questionGroup.controls['question_id'];\n if (questionIdControl) {\n selectedValues.push(questionIdControl.value);\n }\n }\n }\n\n this.questions.forEach(question => {\n question['disabled'] = selectedValues.includes(question.id);\n });\n }\n\n\n /**\n* @author Juan Carlos Alonso\n* @createdate 29-05-2024\n* Método que envía y almacena las preguntas de seguridad\n*/\n save() {\n if (this.form.invalid) {\n this.form.markAllAsTouched()\n return\n }\n\n const user = new FormData();\n user.append('username', this.data.userName);\n user.append('password', this.data.password);\n\n this.authService.passwordVerifyLogin(user).subscribe((resp) => {\n if (resp.data?.message === 'OK') {\n var user_data = resp.data.userId\n this.form.get('user_id').setValue(user_data.id)\n this.form.get('rrhh_id').setValue(user_data.rrhh_id)\n this.authService.saveSecurityQuestions(this.form.value).subscribe((resp) => {\n Swal.fire({\n html: `${resp.data?.message}`,\n icon: 'success',\n confirmButtonText: 'Aceptar'\n });\n this.dialogRef.close();\n }, (error) => {\n Swal.fire({\n html: `${error.error.error}`,\n icon: 'error',\n confirmButtonText: 'Aceptar'\n });\n }\n )\n } else if (resp.error_code == 401) {\n Swal.fire({\n html: `${resp.error}`,\n icon: 'error',\n confirmButtonText: 'Aceptar'\n });\n }\n });\n }\n\n}\n","
\n

{{ data.title }}

\n \n
\n
\n

Estas preguntas son necesarias para poder restaurar tus credenciales en caso de necesitarlo, las mayúsculas, minúsculas y acentos de tus respuestas se tendrán en cuenta.

\n
\n
\n
\n
\n \n Primera pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n \n\n
\n
\n \n Segunda pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n \n\n\n
\n
\n \n Tercera pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n \n\n\n
\n
\n \n Cuarta pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n \n\n\n
\n
\n \n Quinta pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n \n\n\n
\n
\n \n Sexta pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n \n\n\n
\n
\n \n Séptima pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n \n\n\n
\n
\n \n Octava pregunta\n \n ---Selecciona una opción---\n {{ question.question }}\n \n Selecciona una opción\n \n
\n
\n \n Respuesta\n \n Ingresa una respuesta\n La respuesta debe contener mínimo 2 caracteres\n La respuesta debe contener máximo 200 caracteres\n \n
\n
\n\n
\n\n \n \n \n\n
\n","import { Injectable } from '@angular/core';\nimport { environment } from '../../../../environments/environment';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { AuthService } from '../../../core/services/rest/auth.service';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MedicaltestService {\n user;\nprivate server = environment.RRHH_URL;\n\n constructor(private http:HttpClient, private authService:AuthService) {this.user = this.authService.getUser(); }\n\n getIps(state){\n const entries = {};\n entries['state'] = state;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}medical/test/ips`, {params});\n }\n getMedicalTestTypes(){\n return this.http.get(`${this.server}medical/test/types`);\n }\n\n getCandidates(entries?) {\n // entries['userId'] = this.user.rrhh_id;\n const params = new HttpParams( { fromObject: entries } );\n return this.http.get(`${this.server}medical/test/candidates`, {params});\n }\n\n getMedicalTests(candidateId:number){\n return this.http.get(`${this.server}medical/test/candidate/${candidateId}`);\n }\n\n createMedical(candidateId,entries){\n const params = new HttpParams( { fromObject: entries } );\n return this.http.post(`${this.server}candidate/medical/test/${candidateId}`, params);\n }\n\n sendMedicalTestNotification(candidateId){\n return this.http.get(`${this.server}candidate/medical/test/notification/${candidateId}`);\n }\n getStatus(direction){\n return this.http.get( `${this.server}${direction}` )\n }\n changeStatus(medicalId,status,hiredUserId){\n return this.http.get( `${this.server}candidate/medical/test/status/${medicalId}/${status}/${hiredUserId}` )\n }\n\n uploadAttachment(medicalId,file){\n const formData = new FormData();\n formData.append('file', file);\n\n return this.http.post(`${this.server}candidate/medical/test/upload/${medicalId}`, formData);\n }\n downloadAttachment(medicalId){\n return this.http.get( `${this.server}candidate/medical/test/download/${medicalId}`,{responseType:'blob'} );\n }\n\n /**\n * @author David Reinoso\n * @purpose Servicio para descargar la plantilla de asignacion masiva de examenes medicos\n */\n downloadTemplateMedicalTest() {\n const httpOptions = { responseType: 'blob' as 'json' };\n return this.http.get(`${this.server}candidate/medical/test/template`, httpOptions);\n }\n\n /**\n * @author David Reinoso\n * @purpose Servicio para enviar archivo de asignacion masiva de examenes medicos\n */\n uploadMedicalTest(data) {\n return this.http.post(`${this.server}candidate/medical-test-import`, data);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpClient,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { SABLE_URL } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommandsService {\n constructor(private httpClient: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-02-22\n * Metodo que retorna los errores generados por HTTP. \n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-22\n * Metodo que retorna los comandos registrados en el sistema.\n * @param paginator Paginador configurado en la vista. \n * @param filter Filtro configurado en la vista.\n * @param showAllCommands Muestra todas las bandejas activas en el sistema. \n */\n getCommands(paginator: any = null, filter: string = '', showAllCommands: boolean = false): Observable {\n const paramState = showAllCommands ? '' : 'state=1';\n const url = paginator === null ? `${SABLE_URL}shell/showall?${paramState}` : `${SABLE_URL}shell/showall?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&name=${filter}`;\n return this.httpClient.get(url).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-22\n * Metodo que guardar o actualiza un comando en el sistema. \n * @param command Informacion proveniente del formulario. \n */\n storeCommand(command: any): Observable {\n const url = command.id === null ? `${SABLE_URL}shell/store` : `${SABLE_URL}shell/update/${command.id}`;\n return this.httpClient.post(url, command).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-22\n * Metodo que elimina o inactiva un commando. \n * @param id Comando seleccionado en la tabla. \n */\n deleteCommand(id: number): Observable {\n return this.httpClient.delete(`${SABLE_URL}shell/destroy/${id}`).pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Component, Input, OnInit, Output, ViewChild, EventEmitter, SimpleChanges, OnChanges } from '@angular/core';\nimport { MatSelectionList } from '@angular/material/list';\n\n@Component({\n selector: 'app-element-selector',\n templateUrl: './element-selector.component.html',\n styleUrls: ['./element-selector.component.sass']\n})\nexport class ElementSelectorComponent implements OnInit, OnChanges {\n // Inputs que se reciben del componente padre\n // Titulos\n @Input() first_list_title: string = \"Disponibles\";\n @Input() second_list_title: string = \"Seleccionados\";\n // Arreglos que almacenan las opciones de las listas\n @Input() available_elements: any[] = [\n { id: 1, name: \"a\" },\n { id: 2, name: \"b\" },\n { id: 3, name: \"c\" },\n { id: 4, name: \"d\" },\n { id: 5, name: \"e\" },\n { id: 6, name: \"f\" }\n ];\n @Input() selected_elements: any[] = [];\n // Outputs que se envian al componente padre\n @Output() updated_available_elements: EventEmitter = new EventEmitter();\n @Output() updated_selected_elements: EventEmitter = new EventEmitter();\n @Output() confirmation_foreign_element: EventEmitter = new EventEmitter();\n // Referencias a la lista de los objetos que se pueden seleccionar\n @ViewChild('selection_list') selection_list: MatSelectionList;\n @ViewChild('selected_list') selected_list: MatSelectionList;\n\n // Almacenan los valores originales de las listas\n original_available_elements: any[] = [];\n original_selected_elements: any[] = [];\n // Se guardan los filtros ingresados para mantenerlos\n availableFilter: string = \"\";\n selectedFilter: string = \"\";\n // Checkbox seleccionar todo\n checked_all_available = false;\n checked_all_selected = false;\n //Elemento añadido desde otro medio\n @Input() foreign_element:any = {}\n\n constructor() { }\n\n ngOnInit(): void {\n this.original_available_elements = [...this.available_elements];\n this.original_selected_elements = [...this.selected_elements];\n\n }\n ngOnChanges(changes: SimpleChanges): void {\n if(changes.foreign_element){\n if(Object.keys(this.foreign_element).length > 0){\n this.moveForeignToSelected()\n }\n }\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2026-05-31\n * Método que mueve los elementos de la lista 1 a la lista 2\n */\n moveToSelected(): void {\n const selectedOptions = this.selection_list.selectedOptions.selected.map(option => option.value);\n\n selectedOptions.forEach(option => {\n if (!this.selected_elements.find(element => element.rrhh_id === option.rrhh_id)) {\n this.selected_elements.push(option);\n }\n // Eliminar el elemento seleccionado de available_elements\n this.available_elements = this.available_elements.filter(element => element !== option);\n option.isHidden = false; // Actualizar el estado isHidden\n });\n\n this.selection_list.selectedOptions.clear();\n this.availableFilter = \"\";\n\n this.resultAvailableElements();\n this.resultSelectedElements();\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2026-05-31\n * Método que mueve los elementos de la lista 2 a la lista 1\n */\n moveToAvailable(): void {\n const selectedOptions = this.selected_list.selectedOptions.selected.map(option => option.value);\n\n selectedOptions.forEach(option => {\n if (!this.available_elements.find(element => element.rrhh_id === option.rrhh_id)) {\n this.available_elements.push(option);\n }\n // Eliminar el elemento seleccionado de selected_elements\n this.selected_elements = this.selected_elements.filter(element => element !== option);\n option.isHidden = false; // Actualizar el estado isHidden\n });\n\n this.selected_list.selectedOptions.clear();\n this.selectedFilter = \"\";\n\n this.resultAvailableElements();\n this.resultSelectedElements();\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2026-05-31\n * Método que mueve un elemento seleccionado alternamente a la lista 2\n */\n moveForeignToSelected(){\n if (!this.selected_elements.find(element => element.rrhh_id === this.foreign_element.rrhh_id)) {\n this.selected_elements.push(this.foreign_element);\n }\n this.addedForeignElement()\n this.resultSelectedElements()\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2026-05-31\n * Método que selecciona todos los elementos de la lista 1\n */\n selectAllAvailable(): void {\n if (this.checked_all_available) {\n this.selection_list.selectAll();\n } else {\n this.selection_list.deselectAll();\n }\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2026-05-31\n * Método que selecciona todos los elementos de la lista 2\n */\n selectAllSelected(): void {\n if (this.checked_all_selected) {\n this.selected_list.selectAll();\n } else {\n this.selected_list.deselectAll();\n }\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2026-05-31\n * Método que filtra los elementos de la lista 1\n * @param filterValue parametro de filtración\n */\n filterAvailableElements(filterValue: string): void {\n this.availableFilter = filterValue.trim().toLowerCase();\n this.available_elements.forEach(element => {\n if (element.name.toLowerCase().includes(this.availableFilter)) {\n element.isHidden = false;\n } else {\n element.isHidden = true;\n }\n });\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2026-05-31\n * Método que filtra los elementos de la lista 2\n * @param filterValue parametro de filtración\n */\n filterSelectedElements(filterValue: string): void {\n this.selectedFilter = filterValue.trim().toLowerCase();\n this.selected_elements.forEach(element => {\n if (element.name.toLowerCase().includes(this.selectedFilter)) {\n element.isHidden = false;\n } else {\n element.isHidden = true;\n }\n });\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2026-05-31\n * Método que emite al componente padre el valor de la lista 1 final\n */\n resultAvailableElements() {\n this.updated_available_elements.emit(this.available_elements);\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2026-05-31\n * Método que emite al componente padre el valor de la lista 2 final\n */\n resultSelectedElements() {\n this.updated_selected_elements.emit(this.selected_elements);\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2026-05-31\n * Método que emite al componente padre una confirmación de un elemento alerno agregado\n */\n addedForeignElement(){\n this.confirmation_foreign_element.emit(true)\n }\n}\n","
\n \n
\n
\n
\n \n Todos\n
\n
\n\n
\n
\n \n \n \n \n
\n
\n\n
\n
\n \n \n {{element.name}}\n \n \n
\n
\n\n
\n
\n {{selected_elements.length}}\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n Todos\n
\n
\n\n\n\n
\n
\n \n \n \n \n
\n
\n\n
\n
\n \n \n {{element.name}}\n \n \n
\n
\n
\n
\n","import { Component, HostBinding, OnInit, ViewChild } from '@angular/core';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Observable } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\nimport { onMainContentChange, onSideNavChange, animateText } from '../animation';\nimport { SidenavService } from '../../core/services/utils/sidenav.service';\nimport { AuthService } from '../../core/services/rest/auth.service';\nimport { LeftNavComponent } from '../left-nav/left-nav.component';\nimport { Router } from '@angular/router';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { ScheduleService } from 'src/app/core/services/rest/schedule.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { SocketActiveService } from 'src/app/modules/livechat/services/socket/socket.service';\nimport { socketService } from 'src/app/modules/livechat/services/socket/index.service';\nimport { conversationsService } from 'src/app/modules/livechat/services/session/conversations.service';\n\nimport { Conversation } from 'src/app/modules/livechat/modules/chat/models/conversation';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { ModalPasswordComponent } from '../modal-password/modal-password.component';\nimport { VicidialService } from 'src/app/shared/vicidial-voz/services/vicidial.service';\nimport * as moment from 'moment';\nimport { NoveltiesService } from 'src/app/modules/nomina/services/novelties.service';\nimport { sessionService } from 'src/app/modules/livechat/services/session/index.service';\nimport { MixinsService } from 'src/app/modules/livechat/services/rest/mixins.service';\nimport { DataDisconnectSocket } from 'src/app/modules/livechat/modules/chat/models/dataDisconnectSocket';\nimport { SocketDisconnectService } from 'src/app/modules/livechat/services/socket/socket-disconnect.service';\nimport Swal from 'sweetalert2';\nimport { I } from '@angular/cdk/keycodes';\nimport { DialogStateService } from 'src/app/core/services/utils/DialogSurveysState.service';\nimport { StorageService } from 'src/app/core/services/storage/storage.service';\ninterface MenuItem {\n name: string;\n link: string;\n icon: string;\n}\n\n@Component({\n selector: 'app-side-bar',\n templateUrl: './side-bar.component.html',\n styleUrls: ['./side-bar.component.sass'],\n animations: [onMainContentChange, onSideNavChange, animateText]\n})\nexport class SideBarComponent implements OnInit {\n\n public onSideNavChange: boolean;\n public darkMode: boolean = false;\n public sideNavState: boolean = false;\n public linkText: boolean = false;\n public pages: Array = [];\n public appStorage: any;\n public scheduleTypes: any = [];\n public scheduleTypesMenu: any = [];\n public socket: socketService;\n public conversations: Conversation[] = [];\n\n public scheduleEnd: any;\n public validatorTurn: any = true;\n public finishTurn: any = false;\n public vicidialStatus: string;\n\n public verNotificacion: boolean = false;\n public verAlert: boolean = false;\n\n public dataAgentOmni: DataDisconnectSocket;\n public livechatRol: any;\n public loadedSchedule: boolean = false;\n\n public disablePause:boolean = false;\n\n public item;\n public locale;\n\n\n @ViewChild(LeftNavComponent) leftNav: LeftNavComponent;\n @HostBinding('class')\n get themeMode() {\n return this.darkMode ? 'dark-theme' : 'light-theme';\n }\n\n isHandset$: Observable = this.breakpointObserver.observe(Breakpoints.Handset)\n .pipe(\n map(result => result.matches),\n shareReplay()\n );\n\n constructor(private breakpointObserver: BreakpointObserver,\n private _sidenavService: SidenavService,\n private authService: AuthService,\n private router: Router,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n private scheduleService: ScheduleService,\n private _socketActiveService: SocketActiveService,\n public dialog: MatDialog,\n private vicidialService: VicidialService,\n private noveltiesService: NoveltiesService,\n private _conversationService: conversationsService = null,\n private _storageService: sessionService,\n private _mixinsService: MixinsService,\n private _socketDisconnectService: SocketDisconnectService,\n private dialogStateService:DialogStateService,\n private storageService: StorageService,\n\n\n ) {\n\n this._sidenavService.sideNavState$.subscribe(res => {\n this.onSideNavChange = res;\n this.linkText = res;\n });\n\n }\n\n ngOnInit(): void {\n this.item = localStorage.getItem('locale');\n this.locale = this.item ? JSON.parse(this.item) : 'es';\n\n this.darkMode = localStorage.getItem('theme') === 'dark-theme' ? true : false;\n\n this.pages = [\n { name: 'Menú', link: 'some-link', icon: 'fi-sr-grid' },\n { name: 'Buscar', link: 'some-link', icon: 'fi-rr-search' },\n { name: 'Perfil', link: 'some-link', icon: 'fi-rr-user' }\n ];\n\n this.appStorage = this.authService.getUser().applications as Array;\n\n this.vicidialService.vicidialStatusObservable.subscribe(value => {\n this.vicidialStatus = value;\n });\n\n if(this.getSurveyList.length > 0 && this.dialogStateService.isDialogOpen() == false){\n this.dialogStateService.openDialogSurveys();\n }else if(this.getSurveyList.length > 0 && this.dialogStateService.isDialogOpen() == true){\n this.dialogStateService.resetDialog();\n }\n\n this.vicidialService.checkInCallObservable.subscribe((inCall:boolean)=>this.disablePause = inCall);\n\n\n }\n\n get getSurveyList():any[]{\n const surveyList = this.storageService.getStorage('surveys');\n if(surveyList !== undefined && surveyList !== null && Array.isArray(surveyList) == true && surveyList.length > 0){\n let surveysNotSkiped = surveyList.filter( survey => survey?.is_skiped == false )\n return surveysNotSkiped;\n }\n return []\n }\n\n\n /**\n * Metodo que cambia guarda el tema del aplicativo en el local storage\n * @param modeDark\n */\n changeTheme(modeDark): void {\n localStorage.setItem('theme', modeDark ? 'light-theme' : 'dark-theme');\n }\n\n /**\n * Metodo del toggle que cambia el tema del aplicativo\n */\n onSinenavToggle(): void {\n this.sideNavState = !this.sideNavState;\n this.linkText = !this.linkText;\n this._sidenavService.sideNavState$.next(this.sideNavState);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-01\n * metodo que llama un metodo del menu de aplicativos para cargarlo\n * @param name key del menu del aplicativo o modulo\n */\n idMenuLeft(name: any): void {\n\n this.leftNav.consultMenu(name);\n }\n\n /**\n * @author Olme Marin\n * @createdate 2021-12-16\n * Método para obtner el rol del usuario de livechat\n */\n getRoleLivechatUser() {\n return this.livechatRol = this._storageService.getRoleUserLivechat();\n }\n\n /**\n * @author Olme Marin\n * @createdate 2021-09-13\n * Método para obtener el socket activo de omnicanlidad\n */\n getSocketActive() {\n return this.socket = this._socketActiveService.getSocketActive();\n }\n\n /**\n * @author Olme Marin\n * @createdate 2021-09-13\n * Método para obtener la lista de conversaciones de omnicanlidad\n */\n getConversations() {\n return this.conversations = this._conversationService.getConversations();\n }\n\n /**\n * @author Olme Marin\n * @createdate 2021-09-13\n * Método para desconectar el socket de un agente de omnicanlidad\n */\n async disconnectSocket() {\n const rrhh: any = this.authService.getUser();\n let projectTemp: any = this._storageService.getItem('project');\n const project = JSON.parse(projectTemp);\n console.log('project-cerrar', project.id);\n const data: DataDisconnectSocket = { rrhh: rrhh.rrhh_id, project: project.id };\n this.dataAgentOmni = data;\n try {\n await this._socketDisconnectService.disconnectSocket(rrhh.rrhh_id, this.dataAgentOmni);\n } catch (e) {\n console.error(\"Error api logout livechat\")\n // Se notifica que no se pudo quitar de redis a un agente\n this._mixinsService.agentStuckInRedis(this.dataAgentOmni).subscribe((res) => {\n if (res.data === 'success') {\n console.log('Se notifico error por api');\n }\n });\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que trae el horario del usuario logueado\n */\n getSchedule(): void {\n this.scheduleService.getSchedule().subscribe((resp) => {\n\n this.scheduleTypesMenu = resp.data;\n\n\n this.scheduleTypesMenu.forEach(element => {\n // guardar hora fin\n if (element.schedule_type.key === 'workday') {\n this.scheduleEnd = `${element.date_start} ${element.hour_end}`;\n }\n\n if (element.schedule_type.key === 'workday' && element.status === 'started') {\n this.validatorTurn = false;\n this.leftNav.changeActivateMenu();\n\n } else if (element.schedule_type.key === 'workday' && element.status === 'stopped') {\n this.validatorTurn = true;\n if (!this.leftNav.activateMenu) {\n this.leftNav.changeActivateMenu();\n }\n this.finishTurn = true;\n } else if ((element.schedule_type.key === 'break' || element.schedule_type.key.toLowerCase() === 'lunch' || element.schedule_type.key === 'training' || element.schedule_type.key === 'banio' || element.schedule_type.key === 'pausa_activa' || element.schedule_type.key === 'feedback') && element.status === 'started') {\n\n const app = this.router.url.substring(6).split('/', 1)[0];\n console.log('App: ', app)\n if (app === 'livechat') {\n this.getRoleLivechatUser();\n this.conversations = this._conversationService.getConversations();\n if (this.conversations.length > 0 && this.livechatRol === 'livechat::asesor') {\n this.alertsService.alertWarningV2('Atención', 'No puede cambiar estado porque tienes conversaciones sin cerrar.');\n } else {\n this.disconnectSocket();\n const tip = new FormData();\n tip.append('schedule_type_id', element.schedule_type_id);\n tip.append('schedule_id', element.id);\n\n const dialogPassword = this.dialog.open(ModalPasswordComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Ingrese su Contraseña'\n },\n panelClass: 'custom-dialog-container'\n });\n\n dialogPassword.afterClosed().subscribe(() => {\n tip.append('action', 'stop');\n // if(this.vicidialStatus == 'PAUSED'){\n // this.vicidialService.setStatusCiu('READY', '');\n // }\n this.vicidialService.setStatusCiu('PAUSED');\n this.scheduleService.postSchedule(tip).subscribe((resp) => {\n this.getSchedule();\n const url = window.location.href;\n if (url.includes('livechat')) {\n window.location.reload();\n }\n });\n });\n }\n } else {\n const tip = new FormData();\n tip.append('schedule_type_id', element.schedule_type_id);\n tip.append('schedule_id', element.id);\n\n const dialogPassword = this.dialog.open(ModalPasswordComponent, {\n width: '60%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Ingrese su Contraseña'\n },\n panelClass: 'custom-dialog-container'\n });\n\n dialogPassword.afterClosed().subscribe(() => {\n tip.append('action', 'stop');\n // if(this.vicidialStatus == 'PAUSED'){\n // this.vicidialService.setStatusCiu('READY', '');\n // }\n this.vicidialService.setStatusCiu('PAUSED');\n this.scheduleService.postSchedule(tip).subscribe((resp) => {\n this.getSchedule();\n const url = window.location.href;\n if (url.includes('livechat')) {\n window.location.reload();\n }\n });\n });\n }\n }\n\n });\n this.loadedSchedule = true;\n });\n }\n\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que define una accion dependiendo del turno que escoja\n * @param item\n */\n actionSchedule(item: any) {\n\n //validacion de usuarios administrativos pueden iniciar fuera de los 30 min antes de iniciar turno\n const decryptToken = this.authService.decryptToken();\n let position_category = decryptToken.rrhh.position_category == \"\" ? \"pass\" : decryptToken.rrhh.position_category;\n\n const nowTime = moment().format('YYYY-MM-DD HH:mm');\n const scheduleTime = moment(`${item.date_start} ${item.hour_start}`).subtract(30, 'minutes').format('YYYY-MM-DD HH:mm');\n\n if (item.schedule_type.key === 'workday' && nowTime < scheduleTime && position_category != 'Administrativa') {\n this.alertsService.alertInfo('Cuidado', 'Puedes marcar turno hasta 30 minutos antes de la hora inicial');\n } else {\n\n const tip = new FormData();\n\n if (item.status === 'waiting') {\n tip.append('action', 'start');\n console.log('reactivo');\n\n } else if (item.status === 'started') {\n tip.append('action', 'stop');\n }\n tip.append('schedule_type_id', item.schedule_type_id);\n tip.append('schedule_id', item.id);\n\n if (item.schedule_type.key === 'workday') {\n\n if (item.status === 'started') {\n console.log('opcion 1');\n\n let value = this.alertsService.alertConfirm('¿Desea finalizar su turno?');\n value.then((result) => {\n if (result.isConfirmed) {\n const app = this.router.url.substring(6).split('/', 1)[0];\n console.log('App: ', app)\n if (app === 'livechat') {\n this.getRoleLivechatUser();\n this.conversations = this._conversationService.getConversations();\n if (this.conversations.length > 0 && this.livechatRol === 'livechat::asesor') {\n this.alertsService.alertWarningV2('Atención', 'No puede cerrar sesión porque tienes conversaciones sin cerrar.');\n } else {\n this.disconnectSocket();\n this.scheduleService.postSchedule(tip).subscribe((resp) => {\n // Finalizar turno . Logout viciphone\n if (this.vicidialStatus != '') {\n this.vicidialService.setStatusCiu('LOGOUT', item.schedule_type.key);\n }\n this.getSchedule();\n });\n }\n } else {\n this.scheduleService.postSchedule(tip).subscribe((resp) => {\n // Finalizar turno . Logout viciphone\n if (this.vicidialStatus != '') {\n this.vicidialService.setStatusCiu('LOGOUT', item.schedule_type.key);\n }\n this.getSchedule();\n });\n }\n }\n });\n\n } else {\n console.log('opcion 2');\n this.scheduleService.postSchedule(tip).subscribe((resp) => {\n this.getSchedule();\n const logged = this.authService.getUser();\n this.noveltiesService.createTimeDelayNovelties({\n rrhhId: logged.rrhh_id,\n campaignId: logged.rrhh.campaign_id || 1\n }).subscribe(respNovelty => console.log(respNovelty));\n });\n\n }\n\n } else {\n console.log('opcion 3');\n if (item.status === 'waiting') {\n console.log('opcion 4');\n // saber si hay conversaciones de omnicanalidad\n this.getRoleLivechatUser();\n this.conversations = this._conversationService.getConversations();\n if (this.conversations.length > 0 && this.livechatRol === 'livechat::asesor') {\n this.alertsService.alertWarningV2('Atención', 'No puede cambiar estado porque tienes conversaciones sin cerrar.');\n } else {\n this.scheduleService.postSchedule(tip).subscribe((resp) => {\n\n // Pausa de turno. Logout telefono indicando tip\n // if (this.vicidialStatus == 'READY'){\n this.vicidialService.setStatusCiu('PAUSED', item.schedule_type.key);\n // Desabilitar el agente en omnicanalidad\n this.getSocketActive();\n if (this.socket) this.disconnectSocket();\n // }\n this.getSchedule();\n });\n }\n window.location.reload();\n } else {\n console.log('opcion 5');\n this.scheduleService.postSchedule(tip).subscribe((resp) => {\n // Tomar descanso\n this.getSchedule();\n window.location.reload();\n });\n\n }\n }\n\n }\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que define un color segun un estatus\n * @param status estatus que define el color\n * @returns retorna el color\n */\n getColor(status: any) {\n\n switch (status) {\n case 'waiting': return 'orange';\n case 'started': return 'green';\n case 'stopped': return 'red';\n }\n\n }\n\n notificaciones() {\n this.verNotificacion = !this.verNotificacion;\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n\n /**\n * @author Javier Saldana\n * @createdate 2022-04-07\n * Metodo para cerrar sesion de omni\n */\n\n async logoutOmni(logout = true) {\n this.getRoleLivechatUser();\n this.conversations = this._conversationService.getConversations();\n if (this.conversations.length > 0 && this.livechatRol === 'livechat::asesor') {\n this.alertsService.alertWarningV2('Atención', 'No puede cerrar sesión porque tienes conversaciones sin cerrar.');\n return false\n } else {\n this.getSocketActive();\n try {\n await this.disconnectSocket();\n } catch (e) {\n console.error(\"Error api logout livechat\")\n }\n\n if (logout) {\n try {\n await this.authService.logOut().toPromise()\n window.location.replace('/login');\n localStorage.clear();\n localStorage.setItem('alert', 'true');\n } catch (e) {\n console.error(e)\n }\n } else {\n try {\n const res: any = await this.scheduleService.getSchedule().toPromise()\n this.scheduleTypes = res.data\n const element = this.scheduleTypes.filter(item => item.schedule_type.key === 'workday')\n if (!element[0]) {\n console.warn(`No hay horario`)\n return\n }\n const theSchedule = element[0]\n const tip = new FormData();\n tip.append('action', 'stop');\n tip.append('schedule_type_id', theSchedule.schedule_type_id);\n tip.append('schedule_id', theSchedule.id);\n\n await this.scheduleService.postSchedule(tip).toPromise()\n await this.authService.logOut().toPromise()\n window.location.replace('/login');\n localStorage.clear();\n localStorage.setItem('endturn' , 'true');\n } catch (e) {\n console.error(e)\n }\n }\n }\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2022-04-05\n * Metodo modal para cerrar cesion\n */\n closeSession() {\n let str =\n '\\n' +\n '¿En verdad deseas cerrar la sesión ?, podrás iniciar la sesión en' +\n '\\n' +\n 'cualquier momento y continuar trabajando por el día de hoy.';\n Swal.fire({\n width: \"auto\",\n title: '¿Deseas cerrar sesión?',\n html:\n '
' + str + '
',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n //cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Cerrar sesión',\n reverseButtons: true,\n }).then((result) => {\n if (result.isConfirmed) {\n const app = this.router.url.substring(6).split('/', 1)[0];\n this._storageService.clearSession();\n if (app === 'livechat') {\n this.logoutOmni(true)\n } else {\n this.authService.logOut().subscribe(respuesta => {\n window.location.replace('/login');\n localStorage.clear();\n localStorage.setItem('alert' , 'true'); //guardar en variable de localStorage\n });\n }\n }\n });\n }\n /**\n * @author Daniel Dominguez\n * @createdate 2022-04-05\n * Metodo modal para cerrar cesion\n */\n closeSchedule() {\n let str =\n '\\n' +\n '¿En verdad deseas finalizar turno ?, recuerda que si finalizas el ' +\n '\\n' +\n 'turno no podrás seguir trabajando el día de hoy .';\n Swal.fire({\n width: \"auto\",\n title: '¿Deseas finalizar turno?',\n html:\n '
' + str + '
',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n //cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Finalizar turno',\n reverseButtons: true,\n }).then(async (result) => {\n if (result.isConfirmed) {\n const app = this.router.url.substring(6).split('/', 1)[0];\n if (app === 'livechat') {\n this.logoutOmni(false)\n } else {\n try {\n const res: any = await this.scheduleService.getSchedule().toPromise()\n this.scheduleTypes = res.data\n } catch (e) { console.error(e) }\n const element = this.scheduleTypes.filter(item => item.schedule_type.key === 'workday')\n if(!element[0]){\n console.warn(`No hay horario`)\n return\n }\n const theSchedule = element[0]\n const tip = new FormData();\n tip.append('action', 'stop');\n tip.append('schedule_type_id', theSchedule.schedule_type_id);\n tip.append('schedule_id', theSchedule.id);\n\n this.scheduleService.postSchedule(tip).subscribe((resp) => {\n this.authService.logOut().subscribe(respuesta => {\n if (respuesta != null) {\n window.location.replace('/login');\n localStorage.clear();\n localStorage.setItem('endturn' , 'true'); //guardar en variable de localStorage\n }\n\n });\n })\n }\n }\n });\n }\n\n setLocale(lang: any) {\n localStorage.setItem('locale', JSON.stringify(lang));\n this.ngOnInit();\n window.location.reload();\n }\n}\n","
\n\n \n\n \n \n\n
\n \n
\n\n \n\n \n \n \n \n {{ locale == 'es' ? 'Notificaciones' : 'Notifications' }}\n \n \n\n\n \n \n {{ locale == 'es' ? 'Gestor de turno' : 'Shift manager' }}\n \n \n\n \n \n {{ locale == 'es' ? 'Menú' : 'Menu' }}\n \n \n\n \n \n {{ locale == 'es' ? 'Español' : 'English' }}\n \n \n\n \n \n \n {{ locale == 'es' ? 'Perfil' : 'Profile' }}\n \n \n\n \n \n {{ locale == 'es' ? 'Finalizar turno' : 'End shift' }}\n \n \n\n \n \n \n {{ locale == 'es' ? 'Cerrar sesión' : 'Sign off' }}\n \n \n\n \n\n
\n\n \n \n
Cargando
horarios
por favor
espera...
\n
¡No tienes
horarios!
\n
6}\">\n
\n \n
\n
\n
\n\n \n \n \n \n \n\n \n
\n \n
\n
\n\n \n
\n \n
\n
\n\n \n \n
\n \n
\n
\n \n
\n
\n \n\n \n
\n \n \n \n
\n\n
\n\n
\n\n
\n","import { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\nimport { empty, Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/internal/operators/catchError';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OportunidadesService {\n CRMURL = environment.CRM_CIAL;\n\n\n constructor(private http: HttpClient, private authService: AuthService) {\n\n }\n /**\n * @author Javier Castañeda\n * Captura errores en las peticiones\n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Javier Castañeda\n * Servicio para consultar las oportunidades por cliente y filtros\n * @param {number} id del cliente\n * @param {json} filters json\n * @returns json\n */\n getOportunitiesBy(id: number, filters: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('tap',filters.tap || '')\n .set('state', filters.state || '')\n .set('step', filters.step || '')\n .set('company', filters.company || '')\n .set('comercial', filters.comercial || '')\n .set('service_line', filters.service_line || '')\n .set('name_oportunity', filters.name_oportunity || '')\n .set('perPage', filters.perPage || 8)\n .set('page', filters.page || 1)\n };\n return this.http.get(`${this.CRMURL}oportunities/client/${id}`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * Servicio para consultar las oportunidades por cliente y filtros\n * @param {json} filters json\n * @returns json\n */\n getOportunitiesHistoryBy(filters: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('tap', filters.tap)\n .set('client', filters.client || '')\n .set('service_line', filters.service_line || '')\n .set('comercial', filters.comercial || '')\n .set('document', filters.document || '')\n .set('id_type', filters.id_type || '')\n .set('state', filters.state || '')\n .set('channel', filters.channel || '')\n .set('step', filters.step || '')\n .set('perPage', filters.perPage || 5)\n .set('page', filters.page || 1)\n };\n return this.http.get(`${this.CRMURL}oportunities`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * Servicio para consultar las oportunidades por cliente y filtros\n * @param {json} filters json\n * @returns json\n */\n getOportunitiesHistoryReportBy(filters: any) {\n const httpOptions = {\n params: new HttpParams()\n .set('tap', filters.tap)\n .set('client', filters.client || '')\n .set('service_line', filters.service_line || '')\n .set('comercial', filters.comercial || '')\n .set('document', filters.document || '')\n .set('id_type', filters.id_type || '')\n .set('step', filters.step || '')\n .set('state', filters.state || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${this.CRMURL}oportunities/report`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * Servicio para consultar una oportunidad por id\n * @param {number} id id de la oportunidad\n * @returns json\n */\n getOportunitiesById(id: number) {\n return this.http.get(`${this.CRMURL}oportunity/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * Servicio para eliminar un archivo ya cargado\n * @param {number} id id del archivo\n * @returns json\n */\n deleteFileById(id: number) {\n return this.http.delete(`${this.CRMURL}oportunity/files/delete/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Javier Castañeda\n * Servicio para eliminar una oportunidad por id\n * @param {number} id id de la oportunidad\n * @returns json\n */\n deleteOpportunityById(id: number) {\n return this.http.delete(`${this.CRMURL}oportunity/delete/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Gabriel García\n * Get the channels list\n * @returns json\n */\n getChannels(): Observable {\n return this.http.get(`${this.CRMURL}getChannel`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport {TranslatesService} from '../../services/translates.service';\n\n@Component({\n selector: 'app-matrices',\n templateUrl: './matrices.component.html',\n styleUrls: ['./matrices.component.sass']\n})\nexport class MatricesComponent implements OnInit {\n private uuid = 'dd7112ca-9094-11ee-b9d1-0242ac120002';\n public confi: any;\n\n constructor(\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.confi = resp;\n });\n }\n\n}\n","
\n\n
\n\n

{{confi.title}}

\n
\n

{{confi.subtitle}}

\n
\n\n \n\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-soul_bi',\n templateUrl: './soul_bi.component.html',\n styleUrls: ['./soul_bi.component.sass']\n})\nexport class SoulBiComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { PusherService } from 'src/app/modules/crm/services/pusher.service';\nimport { AuditoriaService } from '../../services/auditoria.service';\nimport {TranslatesService} from '../../services/translates.service';\n\n@Component({\n selector: 'app-mis-auditorias',\n templateUrl: './mis-auditorias.component.html',\n styleUrls: ['./mis-auditorias.component.sass']\n})\nexport class MisAuditoriasComponent implements OnInit {\n private uuid = '722f2736-915c-11ee-b9d1-0242ac120002';\n public config: any;\n\n auditar:boolean = false;\n auditado:boolean = false;\n roles;\n trimestre_puntaje = 0;\n mes_puntaje = 0;\n hoy_puntaje = 0;\n subs\n constructor(\n private authService:AuthService,\n private auditoriaService:AuditoriaService,\n private pusher:PusherService,\n private configService: TranslatesService,\n ) { }\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n this.getPuntajes();\n this.pusher.getNotificationsGlobal().bind('notification',()=>{\n this.getPuntajes();\n });\n }\n\n getPuntajes(){\n this.auditoriaService.getPuntajes().subscribe((resp:any)=>{\n this.trimestre_puntaje = resp[0].auditoriasTrimestre;\n this.mes_puntaje = resp[0].auditoriasMes;\n this.hoy_puntaje = resp[0].auditoriasHoy;\n });\n }\n\n // verRoles(){\n // this.roles = this.authService.getUser().roles;\n // this.roles.forEach(rol => {\n // if (rol == \"calidad::analista\") {\n // this.auditar = true;\n // }else if (rol == \"calidad::supervisor\") {\n // this.auditar = true;\n\n // }else if (rol == \"calidad::jefe\") {\n // this.auditar = true;\n // }\n // else{\n // this.auditar = false;\n // }\n // if (rol == \"calidad::asesor\") {\n // this.auditado = true;\n // this.getPuntajes();\n // }else{\n // this.auditado = false;\n // }\n // });\n // }\n}\n","
\n
\n
\n

{{config.auditoria.title}}

\n
\n

{{config.auditoria.description1}}

\n

{{config.auditoria.description2}}

\n
\n
\n \n

{{trimestre_puntaje}}

\n

{{config.auditoria.lastQuarterAudits.title}}

\n
\n \n

{{mes_puntaje}}

\n

{{config.auditoria.monthAudits.title}}

\n
\n \n

{{hoy_puntaje}}

\n

{{config.auditoria.todayAudits.title}}

\n
\n
\n
\n
\n \n
\n
\n","import { Component, OnInit, Inject, Output, EventEmitter } from '@angular/core';\nimport { ResourcesService } from '../../../services/resources.service';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { MatTableDataSource } from '@angular/material/table';\n\n@Component({\n selector: 'app-bookings-main',\n templateUrl: './bookings-main.component.html',\n styleUrls: ['./bookings-main.component.sass']\n})\nexport class BookingsMainComponent implements OnInit {\n resourceTypes =[];\n bookingList =[];\n dataSource:any\n displayedColumns = ['resource', 'created_at', 'start', 'status'];\n @Output() prop_type = new EventEmitter();\n\n\n constructor( public resourcesService:ResourcesService, private dialog: MatDialog,\n public router: Router, public auth:AuthService) { }\n\n ngOnInit(): void {\n let userId = this.auth.getUser().rrhh_id\n this.resourcesService.getResources('booking/user', {rrhhId:userId }).subscribe(res=>{\n this.bookingList = res\n this.dataSource = new MatTableDataSource(res);\n })\n }\n dialogTypes(){\n this.resourcesService.getResources('resourcetypes', {}).subscribe(res=>{\n this.resourceTypes = res\n const resourcesDialog = this.dialog.open( TypeResources, {\n data: { types: this.resourceTypes}\n });\n resourcesDialog.afterClosed().subscribe(type=>{\n if(type){\n this.prop_type.emit(type);\n this.router.navigate([`/mios/reservas/reservar/${type[0].id}/${type[0].name}`]);\n }\n })\n })\n }\n\n}\n@Component({\n selector: 'type-resources',\n templateUrl: './type-resources.html',\n styleUrls: ['./bookings-main.component.sass']\n})\nexport class TypeResources implements OnInit {\n type:any\n constructor( private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) { }\n\n ngOnInit(): void { }\n\n}\n","
\n

Mis reservas

\n
\n \n
\n
\n
\n\n
\n\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n
Recursos {{item.resource.name}}, Fecha de reserva {{element.created_at | date}} Horas resevada {{element.start |date: 'shortTime'}} a {{element.end |date: 'shortTime'}} Estado{{element.status | status}}
No hay reservas disponibles
\n\n \n\n
\n\n
\n\n","\n

Tipos de Recursos

\n
\n\n \n \n {{item.name}}\n \n\n\n\n\n\n \n\n","import { AsyncPipe } from '@angular/common';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup } from '@angular/forms';\nimport { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { auditoriaModel } from 'src/app/modules/coaching/core/interfaces/auditoria.interface';\nimport { CoachingState } from 'src/app/modules/coaching/state/coaching.state';\nimport { selectedListAuditoria } from 'src/app/modules/coaching/state/selectors/auditoria.selector';\n\n@Component({\n selector: 'app-auditoria',\n templateUrl: './auditoria.component.html',\n styleUrls: ['./auditoria.component.sass']\n})\nexport class AuditoriaComponent implements OnInit, OnDestroy {\n\n auditoria$:Observable = new Observable();\n dataSource = [];\n displayedColumns:string[] = ['matriz','fecha_auditoria','calificacion'];\n dataAuditoria:auditoriaModel;\n calificacionesForm:FormGroup;\n tipo_matriz:string = '';\n tipo_peso:string = '';\n constructor(\n private store:Store,\n private fb:FormBuilder,\n private asyncPipe:AsyncPipe\n ) {}\n\n ngOnInit(): void {\n this.createForm();\n this.getAuditoria();\n }\n\n ngOnDestroy(): void {\n this.calificacionesForm.reset();\n }\n\n getAuditoria(){\n let dataTable = [];\n const modulosForm = this.calificacionesForm.controls['modulos'];\n this.auditoria$ = this.store.select(selectedListAuditoria);\n this.auditoria$.forEach(element => {\n if (element[0]) {\n this.dataAuditoria = element[0].auditoria;\n }\n if (this.dataAuditoria) {\n this.tipo_matriz = this.dataAuditoria.detalle_matriz.tipo_matriz.nombre;\n if (this.dataAuditoria.detalle_matriz.tipo_peso) {\n this.tipo_peso = this.dataAuditoria.detalle_matriz.tipo_peso.nombre\n }\n }\n if (this.dataAuditoria) {\n dataTable = [];\n dataTable.push({\n nombre_matriz: this.dataAuditoria.detalle_matriz.nombre,\n fecha_auditoria: this.dataAuditoria.fecha_llamada,\n tipo_audioria: this.dataAuditoria.tipo_audioria.nombre,\n calificacion: this.dataAuditoria.total_punaje.match(/(\\d*.\\d{0,3})/)[0]\n });\n this.dataSource = dataTable;\n modulosForm.clear();\n this.dataAuditoria.items_afectados.forEach((modulo,iModule) => {\n modulosForm.push(this.fb.group({\n calificacion: [{value:1,disabled:true}],\n created_at: modulo.created_at,\n cumple: modulo.cumple,\n deleted_at: modulo.deleted_at,\n detalle_item: modulo.detalle_item,\n id: modulo.id,\n items: this.fb.array([]),\n matriz_auditoria_id: modulo.matriz_auditoria_id,\n modulo_id: modulo.modulo_id,\n nivel: modulo.nivel,\n no: modulo.no,\n no_aplica: modulo.no_aplica,\n no_cumple: modulo.no_cumple,\n padre_id: modulo.padre_id,\n puntaje: modulo.puntaje,\n puntaje_obtenido: modulo.puntaje_obtenido,\n si: modulo.si,\n tipo_matriz_id: modulo.tipo_matriz_id,\n updated_at: modulo.updated_at,\n }));\n modulo.items.forEach((item,iItem) => {\n (this.modulesForm.at(iModule).get('items') as FormArray).push(this.fb.group({\n calificacion: [{value:1,disabled:true}],\n created_at: item.created_at,\n cumple: item.cumple,\n deleted_at: item.deleted_at,\n detalle_item: item.detalle_item,\n id: item.id,\n matriz_auditoria_id: item.matriz_auditoria_id,\n modulo_id: item.modulo_id,\n nivel: item.nivel,\n no: item.no,\n no_aplica: item.no_aplica,\n no_cumple: item.no_cumple,\n padre_id: item.padre_id,\n puntaje: item.puntaje,\n puntaje_obtenido: item.puntaje_obtenido,\n si: item.si,\n subitems: this.fb.array([]),\n tipo_matriz_id: item.tipo_matriz_id,\n updated_at: item.updated_at,\n }));\n item.subitems.forEach(subItem => {\n ((this.modulesForm.at(iModule).get('items') as FormArray).at(iItem).get('subitems') as FormArray).push(this.fb.group({\n created_at: subItem.created_at,\n cumple: subItem.cumple,\n deleted_at: subItem.deleted_at,\n detalle_item: subItem.detalle_item,\n id: subItem.id,\n matriz_auditoria_id: subItem.matriz_auditoria_id,\n modulo_id: subItem.modulo_id,\n nivel: subItem.nivel,\n no: subItem.no,\n no_aplica: subItem.no_aplica,\n no_cumple: subItem.no_cumple,\n padre_id: subItem.padre_id,\n puntaje: subItem.puntaje,\n puntaje_obtenido: subItem.puntaje_obtenido,\n si: subItem.si,\n tipo_matriz_id: subItem.tipo_matriz_id,\n updated_at: subItem.updated_at,\n calificacion: {value:1,disabled:true}\n }));\n });\n });\n });\n this.calificacionesForm.get('txtAuditoria').setValue(this.dataAuditoria.observacion_auditor);\n this.calificacionesForm.get('retroalimentacion_auditor').setValue(this.dataAuditoria.retroalimentacion_auditor);\n this.calificacionesForm.get('retroalimentacion_supervisor').setValue(this.dataAuditoria.retroalimentacion_supervisor);\n this.calificacionesForm.get('compromiso_calidad').setValue(this.dataAuditoria.compromiso_calidad);\n this.calificacionesForm.get('compromiso_operacion').setValue(this.dataAuditoria.compromiso);\n }\n });\n }\n\n createForm(){\n this.calificacionesForm = this.fb.group({\n modulos:this.fb.array([]),\n txtAuditoria:[{value:'',disabled:true}],\n retroalimentacion_auditor:[{value:'',disabled:true}],\n retroalimentacion_supervisor:[{value:'',disabled:true}],\n compromiso_calidad:[{value:'',disabled:true}],\n compromiso_operacion:[{value:'',disabled:true}],\n });\n }\n\n get modulesForm(){\n return this.calificacionesForm.get('modulos') as FormArray;\n }\n\n}\n","

ID Auditoría - {{ dataAuditoria ? dataAuditoria.id : ''}}

\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Matriz {{ element.nombre_matriz }} Fecha de la gestión {{ element.fecha_auditoria | date:'dd/MM/yyyy'}} Calificación {{ element.calificacion | number:'1.0-3'}}
No hay registros para mostrar
\n
\n
\n
\n
\n
\n \n \n \n

{{modulo.get('detalle_item').value.sigla}}

\n

{{modulo.get('detalle_item').value.nombre}}

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

{{item.get('detalle_item').value.sigla}}

\n

{{item.get('detalle_item').value.nombre |cutText:0:9}}

\n
\n \n
\n \n Cumple\n No cumple\n N/A\n \n
\n
\n \n Si\n No\n N/A\n \n
\n
\n \n Si\n No\n N/A\n \n
\n
\n
\n
\n
\n \n \n \n

{{subtItem.get('detalle_item').value.sigla}}

\n \n

{{subtItem.get('detalle_item').value.nombre | cutText:0:7}}

\n
\n \n \n Cumple\n No cumple\n N/A\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n Observación de la auditoría\n \n \n \n Retroalimentación Auditor\n \n Por favor ingrese una retroalimentación.\n \n \n Retroalimentación Supervisor\n \n \n \n Compromiso calidad\n \n \n \n Compromiso operación\n \n \n
\n
","import { Component, EventEmitter, Input, OnDestroy, OnInit, ViewChild, Output, ElementRef } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators, ReactiveFormsModule } from '@angular/forms';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { AlertsService } from '../../../../shared/alerts/alerts.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport Swal from 'sweetalert2';\nimport { CandidatesService } from 'src/app/modules/rrhh/services/candidates.service';\nimport { GreenBookService } from '../../services/rest/green-book.service';\n\n@Component({\n selector: 'app-import-green-book',\n templateUrl: './import-green-book.component.html',\n styleUrls: ['./import-green-book.component.sass']\n})\nexport class ImportGreenBookComponent implements OnInit {\n\n \n // MatPaginator Inputs\n dataSource = new MatTableDataSource();\n documento_work = new FormControl('');\n typeDocument = new FormControl('');\n data_name_work = [];\n FrmFormulario: FormGroup;\n length = 100;\n pageSize = 5;\n page = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n total_registros = 5;\n\n displayedColumns: string[] = ['fecha_carga', 'nombre', 'documento', 'sueldo', 'fecha_ingreso', 'contrato','cod_centro_de_costo']; //Tabla inicial\n\n documents: any = [];\n\n private month: string = '';\n private year: string = '';\n private document: string = '';\n private typeDoc: string = '';\n public uploadFile;\n nameFile: any;\n FileData: any;\n @ViewChild('fileInput') fileInput: ElementRef;\n selectMonths = new FormControl('');\n selectYears = new FormControl('');\n\n constructor(private importGreenBook: GreenBookService,\n private alert: AlertsService,\n private formBuilder: FormBuilder,\n private users: CandidatesService) { }\n\n ngOnInit(): void {\n //se listan los tipos de documentos\n this.users.getIdTypes().subscribe(resp => {\n this.documents = resp;\n });\n //Tabla historico de desprendibles\n this.get_data(this.pageSize, this.page);\n this.uploadFile = this.formBuilder.group({\n file: ['']\n });\n this.typeDocument.valueChanges.subscribe(resp => {\n this.typeDoc = resp;\n });\n }\n\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.get_data(this.pageSize, this.page);\n }\n\n /**\n * @author David Reinoso\n * Metodo para capturar el documento a filtrar\n */\n onBlurMethod(e) {\n this.document = e;\n this.get_data(this.pageSize, this.page);\n }\n\n /**\n * @author David Reinoso\n * Metodo para cargar el archivo \n */\n onChangeFile(e) {\n this.uploadFile.get('file').setValue('');\n this.nameFile = e.target.files[0].name;\n this.FileData = e.target.files[0];\n this.uploadFile.get('file').setValue(this.FileData);\n this.upload();\n e.target.value = null;\n }\n\n\n /**\n * @author David Reinoso\n * @createdate 07-Mar-23\n */\n get_data(pageSize, page) {\n this.importGreenBook.getDataGreenBook({\n document: this.document,\n typeDoc: this.typeDoc,\n }, pageSize, page).subscribe(resp => {\n this.dataSource = resp.data.data;\n this.length = resp.data.total;\n });\n }\n\n /**\n * @author David Reinoso\n * @createdate 07-Mar-23\n */\n downloadTemplate() {\n this.importGreenBook.downloadTemplate().subscribe(resp => {\n importedSaveAs(resp, 'plantilla_libro_verde_nomina.xlsx');\n });\n }\n\n /**\n * @author David Reinoso\n * @createdate 07-Mar-23\n */\n upload() {\n const formData = new FormData();\n formData.append('file', this.uploadFile.get('file').value);\n console.log( this.uploadFile.get('file').value)\n let str = '¿En verdad deseas cargar el archivo?,' + '\\n' + '

Nombre del archivo
' + this.nameFile;\n Swal.fire({\n title: '¿Estás seguro?',\n html: '
' + str + '
',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.get_data(this.pageSize, this.page);\n this.importGreenBook.uploadFile(formData).subscribe(resp => {\n if (resp?.data?.msg == 'Se generó un Excel con los errores presentados') {\n this.alert_error(resp?.data?.file_url, resp?.data?.count_good, resp?.data?.count_bad);\n }\n if (resp.data == \"Proceso realizado correctamente\") {\n this.alert.alertSuccessWithoutButton('¡Excelente!', 'Se ha cargado el archivo con éxito.');\n }\n });\n }\n });\n this.uploadFile.get('file').setValue('');\n this.nameFile = '';\n this.FileData = '';\n }\n\n\n alert_error(file_error, good, bad) {\n\n let mgs = \"Lo sentimos, ha ocurrido un error inesperado y no
fue posible cargar todos los desprendibles.\";\n mgs = mgs.concat(\"

Resumen de la gestión
\");\n mgs = mgs.concat(\"
Desprendibles cargados: \" + good + \"\");\n mgs = mgs.concat(\"
Desprendibles con error: \" + bad + \"
\");\n\n let btn_import = '
');\n\n let btn_dowload = '

');\n\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: 'btn',\n cancelButton: 'btn'\n },\n buttonsStyling: false\n })\n\n swalWithBootstrapButtons.fire({\n icon: 'error',\n title: '¡Oops!',\n showCloseButton: true,\n width: '628px',\n html: mgs,\n showCancelButton: true,\n confirmButtonText: btn_dowload,\n cancelButtonText: btn_import,\n reverseButtons: false,\n allowOutsideClick: false\n }).then((result) => {\n if (result.isConfirmed) {\n window.open(file_error, '_blank');\n } else if (result.dismiss === Swal.DismissReason.cancel) {\n this.fileInput.nativeElement.click();\n }\n })\n }\n}\n","
\n
\n

Libro Verde de Nomina

\n

En este espacio podrás revisar y cargar los ítems del Libro Verde
no olvides, \"El respeto y\n empatía son clave\".

\n
\n\n
\n\n
\n \n Documento\n \n \n {{item.key}}\n \n \n
\n\n
\n \n
\n \n
\n\n
\n \n\n \n
\n
\n\n\n
\n
\n\n\n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Fecha de carga {{row.created_at | date:\"dd-MM-yyyy\"}}\n \n\n \n Nombre {{row.nombre_completo}} Documento {{row.documento}} Sueldo {{row.sueldo}} Fecha Ingreso {{row.fecha_ingreso}} Contrato {{row.contrato}} Centro de Costo {{row.cod_centro_de_costo}}
No hay datos
\n\n \n \n\n
\n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormArray } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { PositionsService } from '../../../services/positions.service';\n\n@Component({\n selector: 'app-create-charge',\n templateUrl: './create-charge.component.html',\n styleUrls: ['./create-charge.component.scss']\n})\nexport class CreateChargeComponent implements OnInit {\n createForm:FormGroup = this.fb.group({\n name:['',Validators.required],\n dependents:[false],\n key:['',Validators.required], \n position_category_id:['',Validators.required],\n charges: ['',Validators.required]\n });\n constructor(private fb: FormBuilder,\n private positionsService:PositionsService,\n private dialogRef: MatDialogRef,\n private alertService:AlertsService, @Inject(MAT_DIALOG_DATA) public data: any) { }\n\n ngOnInit() {\n if(this.data.action == 'Editar')\n {\n this.createForm.patchValue(\n {\n name:this.data.data.type_function_name,\n dependents:this.data.data.dependents,\n key:this.data.data.key,\n position_category_id:this.data.data.type_funtions == \"Administrativa\" ? 1 : 2,\n charges: this.data.data.charges == \"\" ? null : this.data.data.charges,\n });\n }\n if(this.data.action == 'Crear')\n {\n this.createForm.addControl('functions',this.fb.array([]));\n this.addEvidence();\n }\n }\n\n get functions(): FormArray {\n return this.createForm.get('functions') as FormArray;\n }\n\n addEvidence() {\n const funtionsForm = this.fb.group({\n name : ['', [Validators.required]]\n });\n this.functions.push(funtionsForm);\n }\n\n removeEvidence(index: number) {\n this.functions.removeAt(index);\n }\n\n createPosition(){\n switch (this.data.action) {\n case 'Crear':\n let saveconfirm1= this.alertService.alertConfirm('¿Está seguro que desea crear un cargo?')\n saveconfirm1.then(res=>{\n if(res.isConfirmed){\n this.positionsService.postPositionCreate(this.createForm.value).subscribe((res:any)=>{\n this.alertService.alertSuccess('¡Creado!', res);\n this.dialogRef.close(true)\n })\n }\n })\n break;\n case 'Editar':\n let saveconfirm2= this.alertService.alertConfirm('¿Está seguro que desea editar este cargo?')\n saveconfirm2.then(res=>{\n if(res.isConfirmed){\n this.createForm.value.id = this.data.id;\n this.positionsService.postPosition(`update/${this.data.id}`, this.createForm.value).subscribe((res:any)=>{\n this.alertService.alertSuccess('¡Actualizado!', `El cargo ${this.createForm.value.name} ha sido editado con éxito`);\n this.dialogRef.close(true)\n })\n }\n })\n break;\n\n }\n\n }\n\n\n}\n","\n

{{data.action}} cargo

\n
\n
\n \n
\n
\n \n Nombre del cargo\n \n \n
\n
\n \n Código\n \n \n
\n \n
\n \n Tipo de Cargo\n \n Administrativo\n Operativo\n \n \n
\n
\n \n Identificar tipo de cargo\n \n Jefatura\n Coordinación\n Directivos\n Gerenciales\n N/A\n \n \n
\n
\n ¿Personas a cargo?\n
\n \n
\n
\n
\n
\n
\n

Función N° {{i + 1}}

\n
\n
1\">\n \n
\n
\n
\n
\n \n Función\n \n \n
\n
\n
\n \n
\n
\n \n \n \n \n
\n
\n
\n \n
","import { DescargaComponent } from './../historial-aprobador/descarga/descarga.component';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { SolicitudesService } from '../../../../services/rest/solicitudes.service';\nimport { DestroyComponentService } from '../../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport {animate, state, style, transition, trigger} from '@angular/animations';\nimport { CrearSolicitudComponent } from '../crear-solicitud/crear-solicitud.component';\nimport { Solicitud } from '../../../Class/solicitud';\nimport { AprobarSolcitudComponent } from '../aprobar-solcitud/aprobar-solcitud.component';\nimport { DatePipe } from '@angular/common'\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { CompaniaService } from 'src/app/modules/compras/services/rest/compania.service';\nimport { ArchivosService } from 'src/app/modules/compras/services/rest/archivos.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-gestion-aprobador',\n templateUrl: './gestion-aprobador.component.html',\n styleUrls: ['./gestion-aprobador.component.sass'],\n animations: [\n trigger('detailExpand', [\n state('collapsed', style({height: '0px', minHeight: '0'})),\n state('expanded', style({height: '*'})),\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n ],\n})\nexport class GestionAprobadorComponent implements OnInit {\n companias : any[] = [];\n filteredOptionsCompania : any[] = [];\n length;\n rol=3;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n newRolComponent: boolean = false;\n firstTimeTabChanged: boolean = false;\n allToApprove: boolean = false;\n filtroFecha : string = null ;\n filterCompany;\n\n displayedColumns: string[] = ['check','request_date', 'title', 'description','value','created_by','company','acciones'];\n dataSource = new MatTableDataSource();\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n constructor(private solicitudService: SolicitudesService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n public dialog: MatDialog,\n public datepipe: DatePipe,\n private archivoService : ArchivosService,\n private companiaService : CompaniaService\n ) {}\n\n\n ngOnInit(): void {\n const self = this;\n this.getCompanies();\n this.getSolicitudes();\n window.addEventListener('coordinator-gestion-called',()=>{\n if(!self.firstTimeTabChanged){\n self.firstTimeTabChanged = true;\n self.dataSource.data = self.dataSource.data.map(item=>{\n item.toApprove = true;\n return item;\n })\n setTimeout(()=>{\n self.dataSource.data = self.dataSource.data.map(item=>{\n item.toApprove = false;\n return item;\n })\n },5)\n }\n })\n }\n\n /**\n * Consulta las companias\n */\n getCompanies() {\n this.companiaService.getCompany().subscribe(comp=>{\n this.companias = comp.data;\n this.filteredOptionsCompania = this.companias;\n });\n }\n\n /*\n **\n * @author Andres Giraldo\n * @createdate 2022-03-10\n * Metodo que filtra las companias segun el autocomplete\n */\n filterByCompany(company) {\n this.filterCompany = company;\n this.getSolicitudes();\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-10\n * Metodo que muestra el nombre de la empresa seleccionada\n */\n displayFnCompania(id: number): string{\n if (!id) { return ''; }\n let index = this.companias.findIndex(resp => resp.id === id);\n return this.companias[index].name;\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que trae los roles paginados\n * @param size cantidad de roles a traer en la tabla\n * @param page pagina que va a mostrar la tabla\n */\n getSolicitudes(): void {\n\n if (this.dataSource.filter === ''){\n this.dataSource.filter = null;\n }\n const params = {\n isPage : this.isPage,\n pageSize : this.pageSize,\n page : this.page,\n rol : this.rol,\n date : this.filtroFecha,\n company : this.filterCompany,\n }\n this.solicitudService.getSoliciudesPaginate(params, true).subscribe((Response) => {\n this.dataSource.data = Response.data.map(item=>{\n item.toApprove = false;\n\n // Seleccionar por defecto la cotización con el menor valor\n let cheapestCotization : number | string = 'N/A';\n let cheapestCotizationId = null;\n\n item.cotizations = (item.cotizations || []).map((cotization)=>{\n if(cotization.value)\n if((typeof cheapestCotization != 'number' && cotization.value) || (Number(cotization.value) < Number(cheapestCotization))){\n cheapestCotization = Number(cotization.value);\n cheapestCotizationId = cotization.id;\n }\n return cotization;\n })\n\n if(cheapestCotization != 'N/A')\n item.cheapestCotization =`$${cheapestCotization.toLocaleString()}`.replace(',','.');\n else item.cheapestCotization = cheapestCotization;\n\n if(cheapestCotizationId)\n item.cotizations = (item.cotizations || []).map((c) =>{\n c.state = c.id == cheapestCotizationId;\n return c;\n })\n else if(item.cotizations[0]) item.cotizations[0].state = true;\n // FIN Seleccionar por defecto la cotización con el menor valor\n\n return item;\n }).sort((a, b) => {\n if (Number(a.id) > Number(b.id)) {\n return -1;\n }\n if (Number(a.id) < Number(b.id)) {\n return 1;\n }\n return 0;\n });\n\n this.dataSource.sort = this.sort;\n this.length = Response.total;\n this.pageSize = Response.per_page;\n\n });\n\n }\n\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-08\n * Metodo que checkea o descheckea todas las solicitudes\n */\n setAllToApprove(toApprove: boolean) {\n this.allToApprove = toApprove;\n\n if (this.dataSource.data == null)\n return;\n\n this.dataSource.data = this.dataSource.data.map(item=>{\n item.toApprove = toApprove;\n return item;\n });\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-08\n * Metodo que devuelve si hay alguina solicitud checkeada\n */\n someToApprove(): boolean {\n if (this.dataSource.data == null) {\n return false;\n }\n return this.dataSource.data.filter(t => t.toApprove).length > 0 && !this.allToApprove;\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-08\n * Metodo que devuelve si hay alguina solicitud checkeada\n */\n anyToApprove(): boolean {\n if (this.dataSource.data == null) {\n return false;\n }\n return this.dataSource.data.filter(t => t.toApprove).length > 0;\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-07\n * Metodo que checkea si todas las solicitudes estan checkeadas\n */\n updateAllToApprove(row) {\n const self = this;\n setTimeout(()=>{\n row.toApprove = !row.toApprove ;\n self.allToApprove = self.dataSource.data != null && self.dataSource.data.every(t => t.toApprove);\n },100)\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-07\n * Metodo que descarga archivo de cotizacion\n */\n downloadFile(e: any) {\n const archivo = {\n path: e.path\n };\n\n this.archivoService.downloadOrder(archivo).subscribe( (data) => {\n const a = document.createElement('a');\n const file = new Blob([data], {type: e.fileContentType});\n a.href = URL.createObjectURL(file);\n a.download = e.name;\n a.click();\n });\n }\n\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-08\n * Metodo que devuelve la cotización seleccionada de una solicitud\n */\n getSelectedCotization(row) {\n const cheapestCotization = row.cotizations.find((cotization)=>cotization.state)\n\n if(cheapestCotization?.value)\n return this.formatNumber(cheapestCotization.value);\n else return 'N/A';\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-08\n * Metodo que actualiza la cotización seleccionada de una solicitud\n */\n updateSelectedCotization(element,cotization) {\n element.cotizations = element.cotizations.map(c =>{\n c.state = c.id == cotization.id;\n return c;\n })\n }\n\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-09\n * Metodo que llama a la api para rechazar las solicitudes, o aceptarlas y seleccionar la cotización\n */\n gestion(approved : boolean, selected = null, observation = '') {\n const action = approved\n ? selected ? 'ha aprobado' : 'han aprobado'\n : selected ? 'ha rechazado' : 'han rechazado'\n const action2 = approved ? 'aprobar' : 'rechazar';\n const subject = selected ? 'esta solicitud' : 'estas solicitudes';\n const subject2 = selected ? 'a solicitud seleccionada' : 'as solicitudes seleccionadas';\n\n try {\n const state = approved ? 4 : 5;\n\n Swal.showLoading()\n const requestsToApprove = this.dataSource.data.filter(({toApprove,id})=>{\n if(selected)\n return selected == id;\n else return toApprove;\n }).map(request=>{\n const selectedCotization = request.cotizations.find(({state})=>state);\n return {id:request.id,cotization:selectedCotization?.id}\n });\n\n this.solicitudService.massiveRequestApproveOrDecline({\n state,\n requests:requestsToApprove,\n observation\n }).subscribe(r=>{\n Swal.hideLoading()\n this.getSolicitudes();\n\n this.alertsService.alertSuccess('¡Excelente!',`Se ${action} ${subject} satisfactoriamente.`,{width: 450});\n },err=>{\n this.alertsService.alertError('Error',`Error al intentar ${action2} l${subject2}`, {width: 450});\n this.getSolicitudes();\n Swal.hideLoading()\n });\n } catch (error) {\n console.error({error})\n Swal.hideLoading()\n this.alertsService.alertError('Error',`Error al intentar ${action2} l${subject2}`, {width: 450});\n\n }\n\n\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-09\n * Metodo que llama a la api para rechazar las solicitudes, o aceptarlas y seleccionar la\n */\n masiveSubmit(approved : boolean, selected = null) {\n try {\n const action = approved ? 'aprobar' : 'rechazar'\n const inputPlaceholder = approved ? 'Observaciones' : 'Motivo de rechazo'\n const subject = selected ? 'esta solicitud' : 'estas solicitudes'\n const respuesta = approved ? 'Por favor ingrese una observación' : 'Indique el motivo del rechazo'\n\n\n Swal.fire({\n icon:'warning',\n title:'¿Estas Seguro?',\n html:`¿En verdad deseas ${action} ${subject}?
Recuerda que puedes editar las solicitudes en el histórico.` ,\n showCancelButton: true,\n showCloseButton: true,\n reverseButtons: true,\n confirmButtonText: \"Aceptar\",\n cancelButtonText: `Cancelar`,\n width: 650,\n input: 'text',\n confirmButtonColor: '#00ACC1',\n inputValidator: function(value) {\n if(value === '') {\n return respuesta\n }},\n inputAttributes: {\n autocapitalize: 'off',\n placeholder:inputPlaceholder,\n class:'alert-input',\n autofocus:'false',\n required: 'true'\n },\n customClass: {\n confirmButton: 'mat-raised-button mat-primary alert-btn',\n cancelButton: 'mat-stroked-button mat-primary mat-button-disabled alert-btn'\n },\n buttonsStyling: false,\n onOpen:()=> Swal.getInput().blur(),\n preConfirm: (observation) => {\n return this.gestion(approved,selected,observation);\n },\n }).then((result) => {\n if (result.isConfirmed) {\n }\n })\n } catch (error) {\n console.error({error})\n }\n\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que realiza el filtro\n * @param event datos para filtrar que son enviados desde el input\n */\n applyFilter(event: Event): void {\n const filterValue = (event.target as HTMLInputElement).value;\n this.filtroFecha = this.datepipe.transform(filterValue, 'yyyy-MM-dd');\n this.getSolicitudes();\n\n // this.solicitudService.searchApplications(this.pageSize, this.page, filterValue).subscribe((Response) => {\n // this.dataSource.data = Response.data.data;\n // this.dataSource.sort = this.sort;\n // this.length = Response.data.total;\n // this.pageSize = Response.data.per_page;\n // });\n }\n\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que se encarga del movimiento del paginador\n * @param event cuando se da click en el paginador trae este evento\n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getSolicitudes();\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que abre el modal de crear un nuevo rol, al cerral el modal se refresca la tabla\n */\n newSolicitud(): void{\n const dialogNewRol = this.dialog.open(CrearSolicitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Solicitud',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize=5;\n this.ngOnInit();\n });\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que abre el modal de editar usuario, envia un usuario, al cerrar el modal se refresca la tabla\n * @param rol rol a editar\n */\n editSolicitud(solicitud: Solicitud): void{\n const dialogNewRol = this.dialog.open(AprobarSolcitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Detalles solicitud',\n coordinador: true,\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize =5;\n this.ngOnInit();\n });\n }\n\n formatNumber(number){\n const formatter = new Intl.NumberFormat('en-US', {\n style: 'currency',\n minimumFractionDigits: 2,\n currency: 'USD'\n })\n return formatter.format(number)\n }\n\n viewCampaign(){\n\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n\n descargaGestion(){\n this.dialog.open( DescargaComponent , {\n width : '60%',\n data:{\n type : \"solicitud_aprobador\"\n }\n } )\n\n /*\n this.solicitudService.downloadRequest( this.rol ).subscribe( resp => {\n importedSaveAs(resp, 'reporte');\n });\n */\n\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-10\n * Metodo que filtra las companias segun el autocomplete\n */\n filterCompanies(v){\n const filterValue = v.toLowerCase();\n this.filteredOptionsCompania = this.companias.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n}\n","
\n\n\n \n Fecha de creación\n \n\n \n \n \n \n \n\n \n Empresa\n \n \n \n {{comp.name}}\n \n \n \n\n\n
\n \n\n
\n\n
\n\n\n
\n
\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n\n \n \n \n\n \n\n \n \n \n\n
\n \n \n \n Fecha de creación {{row.request_date|date:'yyyy-MM-dd'}} Título de solicitud \n {{row.title | slice : 0:30}} 30\">...\n Descripción de solicitud \n {{row.description | slice : 0:30}} 30\">...\n Valor{{getSelectedCotization(row)}}Solicitante {{row.created_by}} Empresa {{row.company.name}} \n \n \n\n \n \n \n
\n \n \n \n \n \n\n \n\n \n \n\n
\n \n \n \n \n Cotización {{i + 1}}\n \n {{ ( archivo.name.length > 15 ) ? archivo.name.slice(0,12)+\"...\" : archivo.name }}\n \n\n \n {{formatNumber(archivo.value)}}\n \n \n N/A\n \n\n
\n
\n
\n
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n\n \n \n\n\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n
\n
\n\n\n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\n\nimport { AuthService } from '../../../core/services/rest/auth.service';\nimport { environment } from '../../../../environments/environment';\nimport { catchError } from 'rxjs/operators';\nimport { DatePipe } from '@angular/common';\n\nconst JURIDICA_URL = environment.JURIDICA_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SuspencionProcessService {\n\n\n constructor(private http: HttpClient,\n private authService: AuthService) {\n }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener la suspenciones que estan en proceso\n */\n getSuspencionProcess() {\n return this.http.get(`${ JURIDICA_URL }suspensions`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener reporte de suspenciones\n */\n getSuspencionProcessReport(doctype?: any, document?: any, acta?: any, initial_date?: any, end_date?: any, campaing?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('dischargeCertificate', acta || '')\n .set('initialDate', initial_date || '')\n .set('endDate', end_date || '')\n .set('documentType', doctype || '')\n .set('document', document || '')\n .set('campaign', campaing || ''),\n responseType: 'blob' as 'json'\n };\n return this.http.get(`${ JURIDICA_URL }suspensions/report`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener las suspenciones por filtros\n */\n getSuspencionProcessBy(doctype?: any, document?: any, acta?: any, initial_date?: any, end_date?: any, campaing?: any, perPage: any = 5, Page?: any): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('dischargeCertificate', acta || '')\n .set('initialDate', initial_date || '')\n .set('endDate', end_date || '')\n .set('documentType', doctype || '')\n .set('document', document || '')\n .set('campaign', campaing || '')\n .set('perPage', perPage)\n .set('page', Page || 1)\n };\n return this.http.get(`${ JURIDICA_URL }suspensions`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener informacion de una suspension\n */\n getSuspencionProcessById(id) {\n return this.http.get(`${ JURIDICA_URL }suspension/${ id }`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para obtener informacion de una suspension gestionada\n */\n getSuspencionManagedById(id) {\n return this.http.get(`${ JURIDICA_URL }suspensionManaged/${ id }`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Daniel Dominguez \n * @purpose Servicio para respuesta de suspension\n */\n suspensionProcessResponse(id, data) {\n return this.http.post(`${ JURIDICA_URL }suspension/manage/${ id }`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Andres Buitrago\n * @purpose Servicio que verifica dias habiles y no habiles de la suspension a realizar\n */\n checkSuspensionDates(params): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('startDate', params.startDate || '')\n .set('endDate', params.endDate || '')\n };\n return this.http.get(`${ JURIDICA_URL }suspension/checkSuspensionDays`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './auth/login/login.component';\nimport { ForgotChangePasswordComponent } from './auth/forgot-change-password/forgot-change-password.component';\nimport { MiosComponent } from './mios/mios.component';\nimport { AuthGuard } from './core/guards/auth.guard';\nimport { SurverysGuard } from './core/guards/surveys.guard';\nimport { UrlAplicationsGuard } from './core/guards/UrlAplicacionGuard';\nimport { DocumentSignatureGuard } from './core/guards/document-signature.guard';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'login', pathMatch: 'full' },\n { path: 'login', component: LoginComponent },\n { path: 'changePaswordAuth/:id', component: ForgotChangePasswordComponent },\n {\n path: 'mios', loadChildren: () => import('./mios/mios.module').then(m => m.MiosModule),\n component: MiosComponent, canActivate: [AuthGuard], canActivateChild: [AuthGuard, UrlAplicationsGuard, SurverysGuard, DocumentSignatureGuard]\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { NetworkUsersService } from 'src/app/modules/ciu/services/rest/network-users.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-activate-user-form',\n templateUrl: './activate-user-form.component.html',\n styleUrls: ['./activate-user-form.component.sass']\n})\nexport class ActivateUserFormComponent implements OnInit {\n form: FormGroup;\n private rrhh_id;\n private user_name;\n\n constructor(private formBuilder: FormBuilder, private alertService: AlertsService, private networkUsersService:NetworkUsersService, private dialog: MatDialog, private authService: AuthService) { }\n\n ngOnInit(): void {\n this.rrhh_id = this.authService.getUser()?.rrhh_id\n this.user_name = this.authService.getUser()?.rrhh?.name\n this.initializeForm()\n }\n\n /**\n * Metódo que inicializa el formulario\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n initializeForm() {\n this.form = this.formBuilder.group({\n unlocked_user: ['', [Validators.required]],\n unlocker_user: [this.user_name, []],\n rrhh_id: [this.rrhh_id, []]\n })\n }\n\n /**\n * Metódo que envía la información para activar el usuario y guardar un registro\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n saveData() {\n if (this.form.invalid) {\n this.form.markAllAsTouched();\n return\n }\n\n this.networkUsersService.activateUser(this.form.value).subscribe((resp) => {\n this.dialog.getDialogById('dialogActivateNetworkUser').close({ created: true })\n },(error) => {\n if (error.error.error) {\n this.alertService.alertError('!Atención¡', error.error.error)\n } else {\n this.alertService.alertError('!Atención¡', 'Ha ocurrido un error intentar activar el usuario de red, por favor contacta a soporte')\n }\n })\n\n }\n\n}\n","
\n
\n

Activar usuario de red

\n
\n
\n \n
\n
\n\n\n\n \n\n
\n
\n
\n \n Usuario de red\n \n ¡Advertencia! Este campo es requerido\n \n
\n
\n
\n\n
\n\n\n \n \n\n","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { EmailService } from '../../services/email.service';\nimport { Button, ConfigTable, Paginator } from 'src/app/shared/basic-table/type';\nimport { ManagementHistoryViewComponent } from '../../components/management-history-view/management-history-view.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { EmailSupportService } from '../../services/email-support.service';\nimport { SnackBarService } from '../../services/snack-bar.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-email-support',\n templateUrl: './email-support.component.html',\n styleUrls: ['./email-support.component.css']\n})\nexport class EmailSupportComponent implements OnInit {\n formFilterTabOne: any[] = [\n { typeInput: 'select', key: 'emailConfig', label: 'Cuenta de correo', value: null, options: [], class: 'col-md-3' },\n {\n typeInput: 'date-range', key: 'dateRange', show: true, class: 'col-md-3', range: [\n { key: 'date_start', rules: null, value: null },\n { key: 'date_end', rules: null, value: null },\n ]\n },\n { typeInput: 'input', key: 'subject', label: 'Asunto', value: null, class: 'col-md-3' },\n { typeInput: 'input', key: 'from', label: 'De', value: null, class: 'col-md-3', rules: { email: true } }\n ];\n buttonsOptionsTableOne: Button[] = [\n { class: 'fi-rr-eye', action: 'view' },\n { class: 'fi-rr-add', action: 'save' }\n ];\n formFilterTabTwo: any[] = [\n { typeInput: 'select', key: 'emailConfig', label: 'Cuenta de correo', value: null, options: [], class: 'col-md-3' },\n {\n typeInput: 'date-range', key: 'dateRange', show: true, class: 'col-md-3', range: [\n { key: 'date_start', rules: null, value: null },\n { key: 'date_end', rules: null, value: null },\n ]\n },\n { typeInput: 'input', type: 'number', key: 'idEmail', label: 'Id de correo', value: null, class: 'col-md-3' },\n ];\n formFilterTabThree: any[] = [\n { typeInput: 'select', key: 'email_config_id', label: 'Cuenta de correo', value: null, options: [], class: 'col-md-3', rules: { required: true } },\n {\n typeInput: 'date-range', key: 'dateRange', show: true, class: 'col-md-3', range: [\n { key: 'date_start', rules: { required: true }, value: null },\n { key: 'date_end', rules: { required: true }, value: null },\n ]\n },\n { typeInput: 'input', key: 'time_start', label: 'Hora inicio', value: null, class: 'col-md-3', type: 'time' },\n { typeInput: 'input', key: 'time_end', label: 'Hora fin', value: null, class: 'col-md-3', type: 'time' },\n { typeInput: 'input', type: 'text', key: 'subject', label: 'Asunto', value: null, class: 'col-md-3' },\n { typeInput: 'input', key: 'from', label: 'De', value: null, class: 'col-md-3', rules: { email: true } },\n { typeInput: 'input', key: 'uid', label: 'UID', value: null, class: 'col-md-3' }\n ];\n configColumnsTableTabOne: ConfigTable[] = [\n { name: '', key: 'actions', type: 'events' },\n { name: 'UID', key: 'id_correo' },\n { name: 'De', key: 'de' },\n { name: 'Asunto', key: 'asunto' },\n { name: 'Fecha', key: 'fecha_correo' },\n { name: 'Error', key: 'error' },\n { name: 'Email padre', key: 'email_padre' },\n ];\n configPaginatorTableTabOne: Paginator = { length: 0, pageIndex: 0, pageSize: 5 };\n dataTableTabOne: any[] = [];\n configColumnsTableTabThree: ConfigTable[] = [\n { name: '', key: 'actions', type: 'events' },\n { name: 'UID', key: 'uid' },\n { name: 'Asunto', key: 'asunto' },\n { name: 'Fecha', key: 'fecha_hora' },\n { name: 'De', key: 'de' }\n ];\n buttonsOptionsTableThree: Button[] = [{ class: 'fi-rr-eye', action: 'view' }];\n dataTableTabThree: any[] = [];\n\n constructor(\n private location: Location,\n private emailService: EmailService,\n private matDialog: MatDialog,\n private emailSupportService: EmailSupportService,\n private snackBarService: SnackBarService,\n private alertService: AlertsService\n ) { }\n\n ngOnInit(): void {\n this.getEmailsConfig();\n this.getLogErrors({});\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-05-15\n * Metodo que redirecciona a la pagina anterior visitada. \n */\n backToPreviousPage(): void {\n this.location.back();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-05-15\n * Metodo que consulta las cuentas de correo registradas.\n */\n getEmailsConfig(): void {\n this.emailService.getEmailsConfig().subscribe(res => {\n const emailsConfig = res.data.map((item: any) => {\n return { value: item.id, text: item.user_name_email_entrada };\n });\n this.formFilterTabOne[0].options = emailsConfig;\n this.formFilterTabTwo[0].options = emailsConfig;\n this.formFilterTabThree[0].options = emailsConfig;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-05-15\n * Metodo que recibe los valores de los filtros de busqueda.\n * @param $event Data emitida por el componente hijo.\n * @param typeFormFilter Tipo de busqueda que se va a realizar. \n */\n sendFilters($event: any, typeFormFilter: number): void {\n if (typeFormFilter === 1) {\n this.configPaginatorTableTabOne.pageIndex = 0;\n this.formFilterTabOne[0].value = $event.emailConfig;\n this.formFilterTabOne[1].range[0].value = $event.date_start;\n this.formFilterTabOne[1].range[1].value = $event.date_end;\n this.formFilterTabOne[2].value = $event.subject;\n this.formFilterTabOne[3].value = $event.from;\n this.getLogErrors({\n idEmailConfig: this.formFilterTabOne[0].value,\n dateIn: this.formFilterTabOne[1].range[0].value,\n dateEnd: this.formFilterTabOne[1].range[1].value,\n subject: this.formFilterTabOne[2].value,\n from: this.formFilterTabOne[3].value\n });\n }\n else if (typeFormFilter === 3) {\n if (this.validateTimeRange($event.time_start, $event.time_end) || this.validateTimeRange($event.time_start, $event.time_end) === null) {\n this.formFilterTabThree[0].value = $event.email_config_id;\n this.formFilterTabThree[1].range[0].value = $event.date_start;\n this.formFilterTabThree[1].range[1].value = $event.date_end;\n this.formFilterTabThree[2].value = $event.subject;\n this.formFilterTabThree[3].value = $event.time_start;\n this.formFilterTabThree[4].value = $event.time_end;\n this.formFilterTabThree[5].value = $event.from;\n this.formFilterTabThree[6].value = $event.uid;\n this.onSubmitSearchEmail({\n email_config_id: this.formFilterTabThree[0].value,\n date_start: this.formFilterTabThree[1].range[0].value,\n date_end: this.formFilterTabThree[1].range[1].value,\n subject: this.formFilterTabThree[2].value,\n time_start: this.formFilterTabThree[3].value,\n time_end: this.formFilterTabThree[4].value,\n from: this.formFilterTabThree[5].value = $event.from,\n uid: this.formFilterTabThree[6].value = $event.uid\n })\n } else this.alertService.alertSuccess('Error de validación', 'Verifique los rangos de tiempo', { timer: null, icon: 'warning' });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-05-15\n * Metodo que actualiza la información de la paginación en las tablas.\n * @param $event Data emitida por el componente hijo.\n */\n onChangePageTable($event: Paginator,): void {\n this.configPaginatorTableTabOne = $event;\n this.getLogErrors({ idEmailConfig: this.formFilterTabOne[0].value, dateIn: this.formFilterTabOne[1].range[0].value, dateEnd: this.formFilterTabOne[1].range[1].value, subject: this.formFilterTabOne[2].value, from: this.formFilterTabOne[3].value });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-05-15\n * Metodo que permitira vizualizar el correo seleccionado.\n * @param $event Data emitida por el componente hijo.\n */\n onClickButtonActionTableThree($event: any): void {\n this.matDialog.open(ManagementHistoryViewComponent, {\n width: '95%',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-management-history-view',\n data: {\n management: $event.element,\n toPreview: true,\n showButtonPrint: false,\n showButtonAddEmail: true,\n showDetails: false\n }\n }).afterClosed().subscribe(res => {\n this.emailSupportService.addEmailExternalAccount({ email_config_id: this.formFilterTabThree[0].value, uid: res.uid }).subscribe(res => {\n this.snackBarService.showNotification({ message: res.data });\n });\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-05-23\n * Metodo que retorna los logs de errores registrados en las gestiones de las cuentas de correo. \n * @param idEmailConfig Cuenta de correo seleccionada.\n * @param dateIn Fecha inicial.\n * @param dateEnd Fecha final.\n */\n getLogErrors({ idEmailConfig = null, dateIn = null, dateEnd = null, subject = null, from = null }): void {\n this.emailSupportService.getLogsErrorsEmails({\n paginator: this.configPaginatorTableTabOne,\n idEmailConfig,\n dateIn,\n dateEnd,\n subject,\n from\n }).subscribe(res => {\n this.dataTableTabOne = res.data;\n this.configPaginatorTableTabOne.length = res.total;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-05-27\n * Metodo que setea la data en la tabla de la tercera tab. \n * @param email_config_id Cuenta de correo seleccionada.\n * @param subject Nombre del asunto del correo.\n * @param date_start Fecha inicial del rango.\n * @param date_end Fecha final del rango.\n */\n onSubmitSearchEmail({ email_config_id, subject = null, date_start, date_end, time_start = null, time_end = null, from = null, uid = null }): void {\n this.emailSupportService.searchEmailExternal({ email_config_id, subject, date_start, date_end, time_start, time_end, from, uid }).subscribe(res => {\n this.dataTableTabThree = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-05-29\n * Metodo que permite ver o guardar el correo que tuvo errores\n * @param $event Data emitida por el componente hijo.\n */\n onClickButtonActionTableOne($event: any): void {\n if ($event.action === 'view') {\n const htmlToAlert = `\n
\n
UID: ${$event.element.id_correo}
\n
De: ${$event.element.de}
\n
Asunto: ${$event.element.asunto}
\n
\n `;\n this.alertService.alertSuccess('Información del correo', htmlToAlert, { timer: null, icon: 'info' });\n } else {\n this.alertService.alertWarning('¿Está seguro?', '¿De registrar de nuevo el correo?').then(res => {\n if (res.isConfirmed) {\n this.emailSupportService.addEmailExternalAccount({ email_config_id: $event.element.id_email_config, uid: $event.element.id_correo }).subscribe(res => {\n this.snackBarService.showNotification({ message: res.data });\n });\n }\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-07-08\n * Metodo que valida un rango de tiempo emitido\n * @param timeStart Tiempo de inicio.\n * @param timeEnd Tiempo final.\n */\n validateTimeRange(timeStart: string | null, timeEnd: string | null): boolean | null {\n if (!timeStart && !timeEnd) return null;\n if ((timeStart && !timeEnd) || (!timeStart && timeEnd)) return false;\n const [startHour, startMinute] = timeStart.split(':').map(Number);\n const [endHour, endMinute] = timeEnd.split(':').map(Number);\n if (endHour < startHour || (endHour === startHour && endMinute <= startMinute)) return false;\n return true;\n }\n}","
\n
\n \n Regresar\n
\n
\n
\n Soporte Correos\n
\n
\n

En este espacio podrás dar soporte a los correos de las distintas\n cuentas de correo registradas.

\n
\n
\n
\n
\n \n \n
\n \n
\n \n
\n
\n \n \n
\n \n
\n \n
\n
\n
\n
\n
\n
","import { Component, OnInit, Inject } from \"@angular/core\";\nimport {\n MatSnackBarRef,\n MAT_SNACK_BAR_DATA\n} from \"@angular/material/snack-bar\";\n@Component({\n selector: 'app-basic-snackbar',\n templateUrl: './basic-snackbar.component.html',\n styleUrls: ['./basic-snackbar.component.sass']\n})\nexport class BasicSnackbarComponent implements OnInit {\n\n constructor(\n public sbRef: MatSnackBarRef,\n @Inject(MAT_SNACK_BAR_DATA) public data: any\n ) {}\n\n ngOnInit(): void {\n }\n\n}\n","
\n {{data.title}}\n
\n {{data.message}}\n
\n \n
\n
","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst { SABLE_URL } = environment;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AdminServersService {\n constructor(private httpClient: HttpClient) { }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que retorna los errores generados por HTTP. \n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que retorna los servidores registrados en el sistema. \n */\n getServers(paginator: any, filter: string): Observable {\n return this.httpClient.get(`${SABLE_URL}server?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&filter=${filter}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que retorna el servidor seleccionado por ID. \n */\n showServer(id: number): Observable {\n return this.httpClient.get(`${SABLE_URL}server/${id}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que crea o actualiza el servidor seleccionado. \n * @param server Informacion proveniente del servidor. \n * @param typeManagmentServer Tipo de gestion con la cual se va a trabajar la información del servidor.\n */\n saveOrUpdateServer(server: any, typeManagmentServer: string): Observable {\n const urlString = typeManagmentServer === 'create' ? `${SABLE_URL}server` : `${SABLE_URL}server/${server.id}`;\n return this.httpClient.post(urlString, server).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que elimina un servidor del sistema. \n * @param id Id del servidor seleccionado. \n */\n deleteServer(id: number): Observable {\n return this.httpClient.delete(`${SABLE_URL}server/${id}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-11-28\n * Metodo que valida si el servidor esta funcionando. \n * @param id Id del servidor seleccionado. \n */\n checkServer(id: number): Observable {\n return this.httpClient.get(`${SABLE_URL}server/check_conexion/${id}`).pipe(\n catchError(this.handleError)\n );\n }\n}","import { Component, OnInit, Inject, ViewChild, AfterViewInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { EscalationService } from '../../../services/rest/escalation.service';\nimport { Observable } from 'rxjs';\nimport { startWith, map } from 'rxjs/operators';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { DatePipe } from '@angular/common';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { ViewEscalationComponent } from '../view-escalation/view-escalation.component';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { ThemePalette } from '@angular/material/core';\nimport { CreateStateComponent } from '../create-state/create-state.component';\nimport { CreateAffairComponent } from '../create-affair/create-affair.component';\nimport { AlertsService } from '../../../../../shared/alerts/alerts.service';\nimport { EditUserComponent } from '../edit-user/edit-user.component';\nimport { MailEscalationComponent } from '../mail-escalation/mail-escalation.component';\nimport { GestionadorCorreosComponent } from \"../gestionador-correos/gestionador-correos.component\";\n\n@Component({\n selector: 'app-escalation',\n templateUrl: './admin-escalation.component.html',\n styleUrls: ['./admin-escalation.component.sass']\n})\nexport class AdminEscalationComponent implements OnInit, AfterViewInit {\n\n escalationfilter: FormGroup;\n public advancedFilters: boolean = true;\n message: string;\n channels: any;\n areas: any;\n subjects: any;\n status: any;\n users: any;\n gridUser: any;\n filteredOptionsUser: Observable;\n rol: any;\n step: number;\n\n\n // MatPaginator Inputs\n length = 0;\n pageSize = 5;\n page = 1;\n\n lengthS;\n pageSizeS = 5;\n pageS = 1;\n\n lengthA;\n pageSizeA = 5;\n pageA = 1;\n\n lengthU;\n pageSizeU = 5;\n pageU = 1;\n\n pageSizeOptions: number[] = [5, 10, 25, 100];\n\n displayedColumns: string[] = ['traffic_lights', 'is_anonimous', 'id', 'created_at', 'name', 'document', 'subject', 'channel', 'status', 'responsible', 'accion'];\n dataSource = new MatTableDataSource();\n\n displayedColumnsUser: string[] = ['name', 'id_document', 'roles', 'email', 'accion'];\n dataSourceUser = new MatTableDataSource();\n\n displayedColumnsEstados: string[] = ['name', 'description', 'accion'];\n dataSourceEstados = new MatTableDataSource();\n\n displayedColumnsAsuntos: string[] = ['name', 'description', 'accion'];\n dataSourceAsuntos = new MatTableDataSource();\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild('paginator') paginator: MatPaginator;\n @ViewChild('paginatorUser') paginatorUser: MatPaginator;\n @ViewChild('paginatorEstados') paginatorEstados: MatPaginator;\n @ViewChild('paginatorAsuntos') paginatorAsuntos: MatPaginator;\n\n color: ThemePalette = 'primary';\n checked = false;\n disabled = false;\n\n constructor(private form: FormBuilder,\n public escalationService: EscalationService,\n public datePipe: DatePipe,\n private destroyService: DestroyComponentService,\n public dialog: MatDialog,\n public authService: AuthService,\n private alertsService: AlertsService) { }\n\n ngOnInit(): void {\n this.formControl();\n this.getRolUser();\n this.escalationService.getEscalationInfo().subscribe(res => {\n this.channels = res?.canales;\n this.areas = res?.areas;\n this.subjects = res?.asuntos;\n this.status = res?.estados;\n this.getGridState();\n this.getGridAsunto();\n });\n\n this.escalationfilter.get('areaAfectada').valueChanges.subscribe(res => {\n this.users = this.areas.find(element => element.id === res)?.users;\n this.filteredOptionsUser = this.escalationfilter.get('asignado').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(campaigns => campaigns ? this._filterUser(campaigns) : this.users.slice())\n );\n });\n this.getGridUsuarios();\n this.showButtonMessage();\n\n }\n\n openDialogGestionadorCorreos(): void {\n this.dialog.open(GestionadorCorreosComponent, {\n width: '1000px'\n })\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que obtiene que rol tiene asignado dependiendo del aplicativo\n */\n getRolUser(): void{\n const user = this.authService.getUser();\n user.roles.forEach(rol => {\n const name = rol.split('::');\n if (name[0] === 'pqrs') {\n this.rol = name[1];\n }\n });\n }\n\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que se encarga de consultar los datos de la grilla de escalamientos\n * @param size tamaño de datos a traer\n * @param page pagina a traer\n */\n getGridUser(): void {\n\n this.escalationService.getUsersGrid(this.pageSize, this.page).subscribe(respGrid => {\n this.dataSource.data = respGrid.data;\n this.dataSource.sort = this.sort;\n \n setTimeout(() => {\n this.paginator.pageIndex = this.page - 1;\n this.paginator.length = respGrid.total;\n \n });\n \n });\n\n }\n\n ngAfterViewInit() {\n this.dataSource.paginator = this.paginator;\n this.dataSourceUser.paginator = this.paginatorUser;\n this.dataSourceEstados.paginator = this.paginatorEstados;\n this.dataSourceAsuntos.paginator = this.paginatorAsuntos;\n }\n\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de consultar los datos de la grilla de usuarios\n * @param size tamaño de datos a traer\n * @param page pagina a traer\n */\n getGridUsuarios(): void {\n this.escalationService.getUsers().subscribe(res => {\n this.dataSourceUser.data = res;\n this.dataSourceUser.sort = this.sort;\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de traer los datos de la grilla de estados\n * @param size tamaño de datos a traer\n * @param page pagina a traer\n */\n getGridState(): void{\n this.dataSourceEstados.data = this.status;\n this.dataSourceEstados.sort = this.sort;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de traer los datos de la grilla de asuntos\n * @param size tamaño de datos a traer\n * @param page pagina a traer\n */\n getGridAsunto(): void{\n this.dataSourceAsuntos.data = this.subjects;\n this.dataSourceAsuntos.sort = this.sort;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que se encarga del paginador al momento de cambiar de pagina en la grilla de escalamientos\n * @param event evento que trae la pagina a listar\n */\n pageEvent(event: any): void {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n if (this.advancedFilters) {\n this.filter(this.escalationfilter, true);\n } else {\n this.getGridUser();\n }\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que se encarga del paginador al momento de cambiar de pagina en la grilla de estados\n * @param event evento que trae la pagina a listar\n */\n pageEventS(event: any): void {\n\n this.pageSizeS = event.pageSize;\n this.pageS = event.pageIndex + 1;\n this.getGridState();\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que se encarga del paginador al momento de cambiar de pagina en la grilla de asuntos\n * @param event evento que trae la pagina a listar\n */\n pageEventA(event: any): void {\n\n this.pageSizeA = event.pageSize;\n this.pageA = event.pageIndex + 1;\n this.getGridAsunto();\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que se encarga del paginador al momento de cambiar de pagina en la grilla de usuarios\n * @param event evento que trae la pagina a listar\n */\n pageEventU(event: any): void {\n this.pageSizeU = event.pageSize;\n this.pageU = event.pageIndex + 1;\n this.getGridUsuarios();\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void{\n\n this.escalationfilter = this.form.group({\n radicado: new FormControl(''),\n fecha: new FormControl('', []),\n canal: new FormControl('', []),\n asunto: new FormControl('', []),\n areaAfectada: new FormControl('', []),\n asignado: new FormControl('', []),\n estado: new FormControl('', []),\n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * metodo que se establece para el control del autocompletable\n * @param id id a buscar\n * @returns respuesta del autocomplete\n */\n displayFn(id: number): string{\n if (!id) { return ''; }\n let index = this.users.findIndex(resp => resp.id === id);\n return this.users[index].name;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * metodo que se encarga de filtrar los datos del autocomplete\n * @param value valor a filtrar\n * @returns valores filtrados\n */\n private _filterUser(value: string): any[] {\n const filterValueUser = value.toLowerCase();\n return this.users.filter(option => option.name.toLowerCase().indexOf(filterValueUser) === 0);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * metodo que se encarga del filtrado de los datos de la grilla\n * @param escalationfilter formulario a filtrar\n */\n filter(escalationfilter, usePaginate = false): void{\n\n const filter = new FormData();\n\n filter.append( 'radicado', escalationfilter.value.radicado ? escalationfilter.value.radicado : '');\n filter.append( 'fecha', this.datePipe.transform(escalationfilter.value.fecha, 'yyyy-MM-dd', 'es-ES') ? this.datePipe.transform(escalationfilter.value.fecha, 'yyyy-MM-dd', 'es-ES') : '');\n filter.append( 'canal_id', escalationfilter.value.canal ? escalationfilter.value.canal : '' );\n filter.append( 'asunto_id', escalationfilter.value.asunto ? escalationfilter.value.asunto : '' );\n filter.append( 'area_id', escalationfilter.value.areaAfectada ? escalationfilter.value.areaAfectada : '');\n filter.append( 'solucionador_id', escalationfilter.value.asignado ? escalationfilter.value.asignado : '' );\n filter.append( 'estado_id', escalationfilter.value.estado ? escalationfilter.value.estado : '' );\n if(usePaginate === false) {\n this.page = 1;\n }\n this.escalationService.getFilter(filter, this.pageSize, this.page).subscribe((response) => {\n this.dataSource.data = response.data;\n this.dataSource.sort = this.sort;\n setTimeout(() => {\n this.paginator.pageIndex = this.page - 1;\n this.paginator.length = response.total;\n \n });\n \n });\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-10\n * Metodo que maneja el cambio del mensaje en el botos de activar filtros\n */\n showButtonMessage(): void {\n this.advancedFilters = !this.advancedFilters;\n if (!this.advancedFilters) {\n this.page = 1;\n this.getGridUser();\n this.message = 'Activar Filtros';\n } else {\n this.message = 'Desactivar Filtros';\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Meotod que redirige al modal de ver escalamiento\n * @param id dat anecesaria para el modal\n */\n visualizar(id: any): void{\n\n const dialogViewEscala = this.dialog.open(ViewEscalationComponent, {\n width: '75%',\n disableClose: true,\n data: {\n type: 'viewEscalamiento',\n title: 'Visualizar Escalamiento',\n id\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogViewEscala.afterClosed().subscribe(() => {\n this.getGridUser();\n });\n\n }\n\n setStep(index: number): void {\n this.step = index;\n }\n\n nextStep(): void {\n this.step++;\n }\n\n prevStep(): void {\n this.step--;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Meotod que redirige al modal de ver crear estado\n * @param data dat anecesaria para el modal\n */\n crearEstado(): void{\n const dialogNewEstado = this.dialog.open(CreateStateComponent, {\n width: '75%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Estado',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewEstado.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Meotod que redirige al modal de editar estado\n * @param data dat anecesaria para el modal\n */\n editarEstado(data: any): void{\n const dialogEditRol = this.dialog.open(CreateStateComponent, {\n width: '75%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar Estado',\n data\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogEditRol.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Meotod que redirige al modal de crear asunto\n * @param data dat anecesaria para el modal\n */\n crearAsunto(): void{\n const dialogNewAsunto = this.dialog.open(CreateAffairComponent, {\n width: '75%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Asunto',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewAsunto.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Meotod que redirige al modal de editar asunto\n * @param data dat anecesaria para el modal\n */\n editarAsunto(data: any): void{\n const dialogEditAsunto = this.dialog.open(CreateAffairComponent, {\n width: '75%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar Asunto',\n data\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogEditAsunto.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Meotod que redirige al modal de editar usuario\n * @param data dat anecesaria para el modal\n */\n editarUser(data: any): void{\n const dialogEditUser = this.dialog.open(EditUserComponent, {\n width: '75%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Asignar area',\n data\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogEditUser.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga del comportamiento del toggle de la grilla de estados\n * @param row fila del toggle\n * @param event evento del toggle es true o false\n */\n toggleState(row: any, event: any): void{\n\n const state = new FormData();\n\n state.append( 'state', event);\n\n this.escalationService.updateState(row.id, state).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', resp.data);\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga del comportamiento del toggle de la grilla de asuntos\n * @param row fila del toggle\n * @param event evento del toggle es true o false\n */\n toggleAsunto(row: any, event: any): void{\n\n const asunto = new FormData();\n\n asunto.append( 'state', event);\n\n this.escalationService.updateAsunto(row.id, asunto).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', resp.data);\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga del comportamiento del toggle de la grilla de usuarios\n * @param row fila del toggle\n * @param event evento del toggle es true o false\n */\n toggleUser(row: any, event: any): void{\n\n const user = new FormData();\n\n user.append( 'state', event);\n\n this.escalationService.updateUsuario(row.rrhh_id, user).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', 'El estado cambio correctamente');\n });\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n visualizarEmail(data: any): void{\n\n const dialogViewEscala = this.dialog.open(MailEscalationComponent, {\n width: '75%',\n disableClose: true,\n data: {\n type: 'Correo',\n title: 'Visualizar Correo',\n data\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogViewEscala.afterClosed().subscribe(() => {\n\n });\n\n }\n\n\n}\n","\n\n\n\n\n
\n

Escalamiento

\n

Bienvenido a la bandeja de radicación de tickets, aquí podrás radicar nuevas solicitudes de las mismas, revisar y/o gestionar las solicitudes pendientes de radicación.

\n
\n\n
\n\n \n\n \n
\n
\n\n
\n\n \n Número de Radicado\n \n \n\n \n Fecha\n \n \n \n No estas incluyendo una fecha\n \n\n \n Canal\n \n Ninguna\n \n {{channel.name}}\n \n \n \n\n \n Asunto\n \n Ninguna\n \n {{subject.name}}\n \n \n \n\n \n Área Afectada\n \n Ninguna\n \n {{area.name}}\n \n \n \n\n \n Asignado\n \n \n Ninguna\n \n {{option.name}}\n \n \n \n\n \n Estado\n \n Ninguna\n \n {{state.name}}\n \n \n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Anonimo {{row.is_anonimous == 0 ? 'No' : 'Si'}} Radicado {{row.id}} Fecha {{(row.fecha_Hora == null ? row.created_at : row.fecha_Hora ) | date:'shortDate'}} Cliente {{row.is_anonimous == 0 ? row.client?.name : 'Anónimo'}} Documento {{row.is_anonimous == 0 ? row.client?.document : 'Anónimo'}} Asunto {{row?.subject}} Canal {{row?.channel}} Estado {{row.status}} Responsable {{row.responsible}} \n\n
\n\n \n
\n\n
\n \n
\n\n
No hay datos que coincidan con el filtro
\n\n \n
\n
\n\n
\n
\n\n
\n
\n
 Prioridad Baja\n
\n
\n
 Prioridad Media\n
\n
\n
 Prioridad Alta\n
\n
\n\n
\n\n \n\n
\n
\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Nombre {{row.name}} Documento {{row.id_document}} Rol {{row.roles[0]}} Correo {{row.email}} \n\n \n\n \n \n\n
No hay datos que coincidan con el filtro
\n\n \n
\n
\n\n
\n\n \n\n
\n\n \n\n \n \n \n Estados\n \n \n Define la gestión a realizar en las PQRS\n \n \n\n
\n \n
\n
\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Nombre del campo {{row.name}} Descripción {{row.description}} \n\n \n\n \n \n\n
No hay datos que coincidan con el filtro
\n\n \n
\n
\n\n \n \n \n
\n\n\n \n \n \n Asuntos\n \n \n Motivo principal asociado a la PQRS\n \n \n\n
\n \n
\n
\n\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Nombre {{row.name}} Descripción {{row.description}} \n\n \n\n \n \n\n
No hay datos que coincidan con el filtro
\n\n \n
\n
\n\n \n \n \n \n
\n\n
\n\n\n
\n\n
\n\n\n
\n\n\n\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Solicitud } from '../../../Class/solicitud';\nimport { CrearSolicitudComponent } from '../crear-solicitud/crear-solicitud.component';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { SolicitudesService } from '../../../../services/rest/solicitudes.service';\nimport { DestroyComponentService } from '../../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ProcesarSolicitudComponent } from '../procesar-solicitud/procesar-solicitud.component';\nimport { AprobarSolcitudComponent } from '../aprobar-solcitud/aprobar-solcitud.component';\nimport { ConsultarProveedorComponent } from '../consultar-proveedor/consultar-proveedor.component';\n\n@Component({\n selector: 'app-gestion-aprobacion',\n templateUrl: './gestion-aprobacion.component.html',\n styleUrls: ['./gestion-aprobacion.component.sass']\n})\nexport class GestionAprobacionComponent implements OnInit {\n\n length;\n rol=2;\n pageSize = 5;\n page = 1;\n isPage = 1;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n newRolComponent: boolean = false;\n\n displayedColumns: string[] = ['acciones','request_date', 'title', 'description','created_by','company','state'];\n dataSource = new MatTableDataSource();\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n\n constructor(private solicitudService: SolicitudesService,\n private destroyService: DestroyComponentService,\n private alertsService: AlertsService,\n public dialog: MatDialog) { }\n\n\n ngOnInit(): void {\n this.getSolicitudes();\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que trae los roles paginados\n * @param size cantidad de roles a traer en la tabla\n * @param page pagina que va a mostrar la tabla\n */\n getSolicitudes(): void {\n\n if (this.dataSource.filter === ''){\n this.dataSource.filter = null;\n }\n const params = {\n isPage : this.isPage,\n pageSize : this.pageSize,\n page : this.page,\n rol : this.rol,\n date : null\n }\n this.solicitudService.getSoliciudesPaginate(params).subscribe((Response) => {\n this.dataSource.data = Response.data;\n\n this.dataSource.sort = this.sort;\n this.length = Response.data.total;\n this.pageSize = Response.data.per_page;\n\n });\n\n }\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que realiza el filtro\n * @param event datos para filtrar que son enviados desde el input\n */\n applyFilter(event: Event): void {\n\n const filterValue = (event.target as HTMLInputElement).value;\n\n // this.solicitudService.searchApplications(this.pageSize, this.page, filterValue).subscribe((Response) => {\n // this.dataSource.data = Response.data.data;\n // this.dataSource.sort = this.sort;\n // this.length = Response.data.total;\n // this.pageSize = Response.data.per_page;\n // });\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que se encarga del movimiento del paginador\n * @param event cuando se da click en el paginador trae este evento\n */\n pageEvent(event: any): void {\n\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getSolicitudes();\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que abre el modal de crear un nuevo rol, al cerral el modal se refresca la tabla\n */\n newSolicitud(): void{\n const dialogNewRol = this.dialog.open(CrearSolicitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Crear Solicitud',\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize=5;\n this.ngOnInit();\n });\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-02-04\n * Metodo que abre el modal de editar usuario, envia un usuario, al cerrar el modal se refresca la tabla\n * @param rol rol a editar\n */\n editSolicitud(solicitud: Solicitud): void{\n const dialogNewRol = this.dialog.open(ConsultarProveedorComponent, {\n width: '50%',\n disableClose: true,\n data: {\n type: 'editar',\n title: 'Editar Solicitudes',\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize =5;\n this.ngOnInit();\n });\n }\n\n viewSolicitud(solicitud: Solicitud){\n const dialogNewRol = this.dialog.open(ProcesarSolicitudComponent, {\n width: '80%',\n disableClose: true,\n data: {\n type: 'ver',\n title: 'Editar Solicitudes',\n solicitud\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n this.pageSize =5;\n this.ngOnInit();\n });\n }\n\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","
\n\n \n Filtro de búsqueda\n \n \n \n\n
\n\n
\n \n
\n\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Acciones\n \n \n \n Fecha Creación {{row.request_date|date:'yyyy-MM-dd'}} Nombre de solicitud {{row.title}} Descripción de solicitud \n {{row.description|slice:0:50}} 50\">...\n Nombre del solicitante {{row.created_by}} Nombre del olicitante {{row.company.name}} Estado . {{row.request_state.name}}
No hay datos que coincidan con el filtro: \"{{input.value}}\"
\n\n \n \n\n\n
\n
\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-schedule-modal',\n templateUrl: './schedule-modal.component.html',\n styleUrls: ['./schedule-modal.component.sass']\n})\nexport class ScheduleModalComponent implements OnInit {\n\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public weekScheduleList: any\n ) {\n console.log(this.weekScheduleList);\n \n }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\n

{{ scheduleFull.date | date :'EEEE'}}

\n
\n
\n\n
\n
\n
\n Día de descanso\n
\n
\n
\n\n
\n
\n
\n Hora inicio{{scheduleFull.date+\" \"+scheduleFull.start_time | date:'shortTime'}}\n
\n
\n
\n
\n Hora fin{{scheduleFull.date+\" \"+scheduleFull.end_time | date:'shortTime'}}\n
\n
\n
\n \n
\n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { OnBoardingComponent } from '../../shared/on-boarding/on-boarding.component';\nimport {TranslatesService} from './services/translates.service';\n\n@Component({\n selector: 'app-calidad',\n templateUrl: './calidad.component.html',\n styleUrls: ['./calidad.component.sass']\n})\nexport class CalidadComponent implements OnInit {\n\n public userName: any;\n public config: any;\n private uuid = 'cf4c624c-8f01-11ee-b9d1-0242ac120002';\n\n constructor(\n private dialog: MatDialog,\n private authService: AuthService,\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.userName = this.authService.decryptToken();\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n onBoadingCalidad(): void {\n const landingRef = this.dialog.open(OnBoardingComponent,{\n disableClose: true,\n panelClass: 'full-screen-modal',\n });\n }\n\n setLocale(lang: any) {\n localStorage.setItem('locale', JSON.stringify(lang));\n this.ngOnInit();\n window.location.reload();\n }\n}\n","
\n
\n
\n
\n
\n
\n
\n

{{config.title}}

\n
\n

{{config.welcome}}
{{userName.rrhh.name | titlecase}}!

\n
\n
\n

\n {{config.subtittle}}\n

\n
\n
\n \n
\n \n
\n\n
\n
\n
\n
\n
\n\n
\n \"\"\n
\n
\n
\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport Echo from 'laravel-echo';\nimport { Subscription } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { NotificationService } from 'src/app/core/services/rest/notification.service';\nimport { PusherService } from 'src/app/modules/crm/services/pusher.service';\nimport { MeetingsComponent } from '../meetings/meetings.component';\nimport { VideollamadaService } from '../videollamada/services/videollamada.service';\nimport { DataPusher } from './models/data-pusher.model';\n\n@Component({\n\tselector: 'app-notifications',\n\ttemplateUrl: './notifications.component.html',\n\tstyleUrls: ['./notifications.component.sass']\n})\nexport class NotificationsComponent implements OnInit, OnDestroy {\n\n\t@Input() alert = true;\n\t@Input() historial = false;\n\t@Output() cerrarEmit = new EventEmitter();\n\tmensaje: string = '';\n\truta: string = '';\n\tnotificaciones = [];\n\tdataResp: DataPusher;\n\t//Observable para los cambios de la tabla\n\tsubscription: Subscription;\n\tuser: any;\n\tconstructor(\n\t\tprivate pusherService: PusherService,\n\t\tprivate authService: AuthService,\n\t\tprivate notificacionService: NotificationService,\n\t\tprivate router: Router,\n\t\tpublic dialog: MatDialog\n\t) { }\n\n\tngOnInit(): void {\n\t\tthis.user = this.authService.getUser();\n\t\tthis.getNotifications();\n\t\tthis.pusherService.getNotificationsGlobal().bind('notification', (data: DataPusher) => {\n\t\t\tthis.dataResp = data;\n\t\t\tconsole.log(this.dataResp);\n\t\t\t\n\t\t\tthis.setNotification(data);\n\t\t\tthis.getNotifications();\n\t\t});\n\t\tthis.subscription = this.notificacionService.refresh$.subscribe(() => {\n\t\t\tthis.getNotifications();\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.subscription.unsubscribe();\n\t}\n\n\tcloseAlert() {\n\t\tthis.alert = false;\n\t\tthis.cerrarEmit.emit(this.alert);\n\t}\n\n\tcerrar() {\n\t\tthis.historial = !this.historial;\n\t\tthis.alert = false;\n\t\tthis.cerrarEmit.emit(this.historial);\n\t}\n\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-11-24\n\t* Metodo que redirige a la pagina una vez se click en el mensaje de nueva notificación.\n\t*/\n\tredirigir() {\n\t\tthis.closeAlert();\n\t\tthis.notificacionService.changeStatus(this.dataResp.idNotification).subscribe(() => {\n\t\t\tif (this.ruta != this.router.url) {\n\t\t\t\tlet notify = this.notificaciones[0];\n\t\t\t\tif (notify.mensaje.includes(\"Se te ha realizado un nuevo acompañamiento con\")) { \n\t\t\t\t\tlet segments = notify.aplicacion.split(\"/\");\n\t\t\t\t\tthis.notificacionService.createhistorial(segments[(segments.length - 1)]).subscribe(\n\t\t\t\t\t\t(resp) => {\n\t\t\t\t\t\t\twindow.location.replace(this.ruta);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}else if (notify.mensaje.includes(\"Videollamada\")){\n\t\t\t\t\tthis.openMeeting(notify);\t\t\t\t\t\n\t\t\t\t}else{\n\t\t\t\t\twindow.location.replace(this.ruta);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t})\n\t}\n\n /**\n * @author Cristian Gallo\n * @createdate 2021-11-24\n * Metodo que redirige a la pagina una vez se click en alguna notificación de la lista.\n */\n\tirPagina(ruta, id, i) {\n\t\tthis.notificacionService.changeStatus(id).subscribe(() => {\n\t\t\tif (ruta != this.router.url) {\n\t\t\t\tlet notify = this.notificaciones[i];\n\t\t\t\tif (notify.mensaje.includes(\"Se te ha realizado un nuevo acompañamiento con\")) { \n\t\t\t\t\tlet segments = notify.aplicacion.split(\"/\");\n\t\t\t\t\tthis.notificacionService.createhistorial(segments[(segments.length - 1)]).subscribe(\n\t\t\t\t\t\t(resp) => {\n\t\t\t\t\t\t\twindow.location.replace(ruta);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else if (notify.mensaje.includes(\"Videollamada\")){\n\t\t\t\t\tthis.openMeeting(notify);\t\t\t\t\t\n\t\t\t\t}else{\n\t\t\t\t\twindow.location.replace(ruta);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\n\n\n\tdeleteNotification(id) {\n\t\tthis.notificacionService.deleteNotificationById(id).subscribe(() => { });\n\t}\n\n\t/**\n * @author Cristian Gallo\n * @createdate 2021-11-23\n * Metodo que setea la nueva notificación\n */\n\tsetNotification(data) {\n\t\tthis.alert = true;\n\t\tthis.mensaje = data.message;\n\t\tthis.ruta = data.app;\n\t}\n\n\t/**\n\t* @author Cristian Gallo\n\t* @createdate 2021-11-23\n\t* Metodo que setea la nueva notificación y el nombre de la aplicación de donde proviene la notificación.\n\t*/\n\tgetNotifications() {\n\t\tthis.notificacionService.getNotifications(this.authService.getUser().rrhh_id).subscribe((resp: any) => {\n\t\t\tthis.notificaciones = resp;\n\t\t\tthis.notificaciones.forEach(notificacion => {\n\t\t\t\tif (notificacion.mensaje.includes(\"Videollamada\")){\n\t\t\t\t\tconsole.log('videollamada');\t\t\t\t\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\tObject.assign(notificacion, {\n\t\t\t\t\t\tnombre: (notificacion.aplicacion as string).match(/[a-z]+/g)[1],\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\t/**\n\t* @author Javier Castañeda\n\t* @createdate 2022-07-18\n\t* Metodo que setea la nueva notificación y el nombre de la aplicación de donde proviene la notificación.\n\t*/\n\topenMeeting(data?: any) {\n\t\tthis.dialog.open(MeetingsComponent, { \n\t\t disableClose: true,\n\t\t hasBackdrop: false,\n\t\t data: {\n\t\t\tdata: data,\n\t\t\tuser: this.user.rrhh.name\n\t\t } \n\t\t});\t\t\n\t }\n\n}\n","
\n \n \n\n
\n ¡Tienes una nueva notificación!\n
{{mensaje}}\n \n
\n
\n\n
\n \n
\n

¡Notificaciones SOUL!

\n
\n
\n
\n

¡Tienes una notificación de
{{notificacion.nombre}}!

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

{{notificacion.mensaje}}

\n
\n {{notificacion.created_at | date:'dd/MM/yyyy hh:mm'}}\n
\n
\n
\n \n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { InactiveDatesListComponent } from './pages/inactive-dates-list/inactive-dates-list.component';\n\nconst routes: Routes = [\n { path: '', component: InactiveDatesListComponent },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class InactiveDaysRoutingModule { }\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\n\n\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { AuthService } from '../../../../../../core/services/rest/auth.service';\nimport { InactiveDatesService } from '../../../../services/rest/inactive-dates.service';\n\n@Component({\n selector: 'app-create-inactive-dates',\n templateUrl: './create-inactive-dates.component.html',\n styleUrls: ['./create-inactive-dates.component.sass']\n})\nexport class CreateInactiveDatesComponent implements OnInit {\n\n public sending: boolean;\n public inactiveDateForm: FormGroup;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private inactiveDatesService: InactiveDatesService,\n private alert: AlertsService,\n private authService: AuthService,\n private fb: FormBuilder,\n public dialogRef: MatDialogRef) {\n }\n\n ngOnInit(): void {\n this.inactiveDateForm = this.fb.group({\n inactiveDate: ['', Validators.required],\n descriptionDate: ['']\n });\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose registrar una fecha inactiva\n */\n createInactiveDate(): void {\n this.sending = true;\n this.inactiveDatesService.createInactiveDate(this.inactiveDateForm.value)\n .subscribe(resp => {\n this.dialogRef.close('');\n this.alert.alertSuccess('Exito!', 'Fecha registrada correctamente');\n this.sending = false;\n }, (rej) => {\n this.alert.alertError('Error!', rej.error.error ?? 'Internal server error');\n this.sending = false;\n });\n }\n\n}\n","
\n\n

\n Nueva fecha inactiva\n \n

\n\n \n
\n
\n
\n
\n\n
\n \n Fecha Inactiva\n \n \n \n \n
\n\n
\n \n Descripción\n \n \n
\n\n
\n \n
\n\n
\n
\n
\n\n
\n
\n\n \n \n\n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport * as moment from 'moment';\nimport { MeetingsService } from 'src/app/modules/meetings/services/meetings.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-reschedule-form',\n templateUrl: './reschedule-form.component.html',\n styleUrls: ['./reschedule-form.component.sass']\n})\nexport class RescheduleFormComponent implements OnInit {\n hours: any[] = []\n schedules: any[] = []\n advisers: any[] = []\n form: FormGroup\n current_date: string\n client_nic: string\n //Mínimo y máximo de fechas\n min: Date\n max: Date\n now: Date = new Date()\n constructor(\n private fb: FormBuilder,\n private vidService: MeetingsService,\n @Inject(MAT_DIALOG_DATA) public dialog_data: any,\n private dialogRef: MatDialogRef,\n private alertService: AlertsService\n ) { }\n\n ngOnInit(): void {\n this.getRoomById(this.dialog_data.id)\n this.initializeForm()\n }\n\n /**\n * Metodo que inicializa el formulario\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n*/\n initializeForm() {\n this.form = this.fb.group({\n adviser_id: ['', [Validators.required]],\n date: ['', [Validators.required]],\n time: [{ value: '', disabled: true }, [Validators.required]]\n })\n }\n /**\n * Metodo que envía la información actualizada de la videollamada para actualizarla\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n save() {\n if (this.form.invalid) {\n this.form.markAllAsTouched()\n return\n }\n\n this.vidService.rescheduleVideoCall({ id: this.dialog_data.id, adviser_id: this.form.get('adviser_id').value, scheduled_date: this.form.get('time').value, rrhh_id: this.dialog_data.rrhh_id }).subscribe(resp => {\n this.dialogRef.close({ updated: true })\n }, error => {\n this.alertService.alertError('¡Atención¡', 'Ha ocurrido un error al intentar reagendar la videollamada')\n })\n }\n /**\n * Metodo que obtiene la información de la videollamada por id\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n getRoomById(id: number) {\n this.vidService.getVideoCallById(id).subscribe(resp => {\n this.current_date = resp.scheduled_date\n this.client_nic = resp.client_nic\n this.form.patchValue({ adviser_id: resp.adviser_id })\n this.vidService.getAvailableHours(resp.group.id_skill ?? null, resp.campaign_id).subscribe(resp2 => {\n this.advisers = resp2\n const adviser = resp2.find(adviser => adviser.rrhh_id == this.form.get('adviser_id').value)\n this.setSchedules(adviser)\n })\n })\n }\n\n /**\n * Metodo que asigna las fechas de calendario disponibles\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n*/\n setSchedules(adviser: any): void {\n this.form.patchValue({ date: '', time: '' })\n this.schedules = adviser.schedules\n let keys = Object.keys(this.schedules).sort((a, b) => +a - +b)\n let fisrt_schedules = this.schedules[keys[0]]\n let last_schedules = this.schedules[keys.length]\n\n let min_date = new Date(fisrt_schedules[0])\n this.min = (min_date < this.now) ? this.now : min_date\n this.max = new Date(last_schedules[0])\n }\n /**\n * Metodo que asigna los horarios disponibles\n * @author Juan Carlos Alonso\n * @createdate 29-11-2024\n */\n setHours(selected_date: any): void {\n if (selected_date) {\n this.form.get('time').setValue('')\n this.form.get('time').enable()\n\n const date = moment(selected_date).format('YYYY-MM-DD')\n for (const key in this.schedules) {\n const first_date = this.schedules[key][0]\n if (first_date.startsWith(date)) {\n this.hours = this.schedules[key].filter(schedule => {\n const schedule_date = new Date(schedule)\n return schedule_date >= this.now\n })\n }\n }\n } else {\n this.form.get('time').setValue('')\n this.form.get('time').disable()\n }\n }\n\n\n}\n","
\n
\n

Reprogramar videollamada

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

NIC: {{client_nic}}, Agenda actual: {{ current_date | date: 'dd/MM/yyyy hh:mm a' }}

\n
\n \n\n
\n
\n
\n \n Asesor\n \n {{ adviser.name}}\n \n ¡Atención! este campo es obligatorio\n \n
\n
\n \n Fecha\n \n \n \n ¡Atención! este campo es obligatorio\n \n
\n
\n \n Hora\n \n {{ hour | date: 'shortTime' }}\n \n ¡Atención! este campo es obligatorio\n \n
\n
\n
\n\n
\n\n\n \n \n\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport * as moment from 'moment';\nimport { Observable } from 'rxjs';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport { EstadoModel } from 'src/app/modules/coaching/core/interfaces/estado.interface';\nimport { CoachingService } from 'src/app/modules/coaching/services/coaching.service';\nimport { CoachingState } from 'src/app/modules/coaching/state/coaching.state';\nimport { listCausas, listCompromisos, listCuartiles, listEstados, listEvoluciones } from 'src/app/modules/coaching/state/selectors/selects.selector';\nimport { solicitudSelect } from 'src/app/modules/coaching/state/selectors/solicitud.selector';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-form-solicitud',\n templateUrl: './form-solicitud.component.html',\n styleUrls: ['./form-solicitud.component.sass']\n})\nexport class FormSolicitudComponent implements OnInit {\n id:string;\n solicitudForm:FormGroup;\n startDate;\n endDate;\n fecha_seguimiento;\n KPI;\n obj_planteado;\n filtros;\n ruta_envio;\n\n //Selects\n estados$:Observable = new Observable();\n estados = [];\n causas$:Observable = new Observable();\n compromisos$:Observable = new Observable();\n evoluciones$:Observable = new Observable();\n cuartiles$:Observable = new Observable();\n\n constructor(\n private fb:FormBuilder,\n private store:Store,\n private coachingService:CoachingService,\n private aRoute:ActivatedRoute,\n private router:Router\n ) { }\n\n ngOnInit(): void {\n this.createForm();\n this.getSelects();\n this.aRoute.paramMap.subscribe(params=>{\n this.id = params.get('id');\n });\n this.store.select(solicitudSelect).forEach(solicitud => {\n if (solicitud) {\n if ( moment(solicitud[0].acompanamiento.proximoSeguimiento).isAfter(new Date())) {\n this.startDate = moment(solicitud[0].acompanamiento.proximoSeguimiento).add(1,'d').format();\n }else{\n this.startDate = new Date();\n }\n this.endDate = moment(solicitud[0].acompanamiento.created_at).add(30,'d').format();\n this.fecha_seguimiento = solicitud[0].acompanamiento.proximoSeguimiento;\n this.KPI = solicitud[0].acompanamiento.objetivoKPI;\n this.obj_planteado = solicitud[0].acompanamiento.objetivoPlanteado;\n }\n });\n }\n\n createForm(){\n this.solicitudForm = this.fb.group({\n estado:['',Validators.required],\n proximo_seguimiento:[''],\n objetivo_planteado:[''],\n causa_raiz:['',Validators.required],\n cumple_compromiso:['',Validators.required],\n presenta_evolucion:['',Validators.required],\n kpi:[''],\n indicador_final:[''],\n cuartil_final:[''],\n conclusion_sesion:['',Validators.required],\n });\n }\n\n changeSelect(){\n if (this.solicitudForm.get('estado').value == 50) {\n this.solicitudForm.get('proximo_seguimiento').setValidators(Validators.required);\n this.solicitudForm.get('objetivo_planteado').setValidators(Validators.required);\n this.solicitudForm.get('kpi').setValidators(Validators.required);\n this.solicitudForm.get('indicador_final').disable();\n this.ruta_envio = `/mios/coaching/solicitud/${this.id}`;\n }else{\n this.solicitudForm.get('proximo_seguimiento').setValidators(null);\n this.solicitudForm.get('objetivo_planteado').setValidators(null);\n this.solicitudForm.get('kpi').setValidators(null);\n this.solicitudForm.get('proximo_seguimiento').setErrors(null);\n this.solicitudForm.get('objetivo_planteado').setErrors(null);\n this.solicitudForm.get('kpi').setErrors(null);\n }\n if (this.solicitudForm.get('estado').value == 52){\n this.ruta_envio = `/mios/coaching/finalizado/${this.id}`;\n this.solicitudForm.get('cuartil_final').setValidators(Validators.required);\n this.solicitudForm.get('indicador_final').enable();\n this.solicitudForm.get('proximo_seguimiento').setValue(this.fecha_seguimiento);\n this.solicitudForm.get('objetivo_planteado').setValue(0);\n this.solicitudForm.get('kpi').setValue(this.KPI);\n }else{\n this.solicitudForm.get('cuartil_final').setValidators(null);\n this.solicitudForm.get('cuartil_final').setErrors(null);\n this.solicitudForm.get('proximo_seguimiento').setValue(null);\n this.solicitudForm.get('objetivo_planteado').setValue(null);\n this.solicitudForm.get('kpi').setValue(null);\n }\n }\n\n getSelects(){\n this.estados$ = this.store.select(listEstados);\n //Seleccionando solo los campos abierto y finalizado\n this.estados$.forEach((element:EstadoModel[]) => {\n this.estados = [];\n element.forEach((estado:EstadoModel) => {\n if (estado.nombre == 'Finalizado') {\n this.estados.push(estado);\n }\n if (estado.nombre == 'Abierto') {\n this.estados.push(estado);\n }\n });\n\n this.estados.sort(function (a, b) {\n if (a.nombre > b.nombre) {\n return 1;\n }\n if (a.nombre < b.nombre) {\n return -1;\n }\n return 0;\n });\n\n });\n\n this.causas$ = this.store.select(listCausas);\n this.compromisos$ = this.store.select(listCompromisos);\n this.evoluciones$ = this.store.select(listEvoluciones);\n this.cuartiles$ = this.store.select(listCuartiles);\n }\n\n saveSeguimiento(){\n if (this.solicitudForm.invalid) {\n return;\n }\n this.solicitudForm.get('proximo_seguimiento').setValue(moment(this.solicitudForm.get('proximo_seguimiento').value).format('yyyy-MM-DD'));\n if (this.solicitudForm.get('proximo_seguimiento').value == \"Invalid date\") {\n this.solicitudForm.get('proximo_seguimiento').setValue(null);\n }\n Object.assign(this.solicitudForm.value,{\n id:this.id,\n mensaje:`Te han realizado un cambio en el acompañamiento ID-${this.id}`,\n ruta: this.ruta_envio\n });\n this.coachingService.cambiarSolicitud(this.solicitudForm.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) { \n Swal.fire({\n icon:'success',\n title:'¡Excelente!',\n html:`

El estado de solicitud se ha cambiado con exito.

ID Coaching ${resp.respuesta.id}

`,\n showConfirmButton:false,\n timer: 4500\n })\n if (this.solicitudForm.get('estado').value == 52){\n this.router.navigateByUrl('/mios/coaching/coaching/1');\n }else{\n this.cancelar();\n }\n }else{\n Tools.swalError('¡Oops!','Lo sentimos, ha ocurrido un error inesperado y no fue posible cambiar el estado de la solicitud, por favor intenta nuevamente.');\n }\n },(err)=>{\n Tools.swalError('¡Oops!','Lo sentimos, ha ocurrido un error inesperado y no fue posible cambiar el estado de la solicitud, por favor intenta nuevamente.');\n }\n );\n }\n\n cancelar(){\n this.solicitudForm.reset();\n this.solicitudForm.get('estado').setErrors(null);\n this.solicitudForm.get('proximo_seguimiento').setErrors(null);\n this.solicitudForm.get('objetivo_planteado').setErrors(null);\n this.solicitudForm.get('causa_raiz').setErrors(null);\n this.solicitudForm.get('cumple_compromiso').setErrors(null);\n this.solicitudForm.get('presenta_evolucion').setErrors(null);\n this.solicitudForm.get('kpi').setErrors(null);\n this.solicitudForm.get('indicador_final').setErrors(null);\n this.solicitudForm.get('conclusion_sesion').setErrors(null);\n }\n\n}\n","

Estado solicitud

\n
\n \n Estado\n \n {{estado.nombre}}\n \n Por favor seleccione una opción.\n \n \n Próximo seguimiento\n \n \n \n \n \n Por favor ingrese una fecha.\n \n \n Objetivo planteado\n \n Por favor ingrese un valor.\n \n \n Causa raíz\n \n {{causa.nombre}}\n \n Por favor seleccione una opción.\n \n \n Cumple compromiso\n \n {{compromiso.nombre}}\n \n Por favor seleccione una opción.\n \n \n Presenta evolución\n \n {{evolucion.nombre}}\n \n Por favor seleccione una opción.\n \n \n Ingresa KPI\n \n Por favor ingrese un valor KPI.\n \n \n Indicador final\n \n Por favor ingrese un valor.\n \n \n Cuartil final\n \n {{cuartil.nombre}}\n \n Por favor seleccione una opción\n \n \n Conclusiones\n \n Por favor ingrese una conclusión.\n \n
\n \n \n
\n
","import { Pipe, PipeTransform } from '@angular/core';\nimport { Shortcut } from '../modules/chat/models/shortcut';\n\n@Pipe({\n name: 'shortcutfilter'\n})\nexport class ShortcutPipe implements PipeTransform {\n\n transform(favorites: Shortcut[], shortcuts: Shortcut[], search: string = ''): unknown {\n console.log('shortcut pipe. ', shortcuts);\n let items;\n if (search.length === 0) {\n items = favorites;\n return items;\n }\n\n const filterShortcut = shortcuts.filter(short => short.text.includes(search));\n items = filterShortcut;\n return items;\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport Swal from 'sweetalert2';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { ChatService } from '../../../services/chat.service';\nimport * as XLSX from 'xlsx';\n\n@Component({\n selector: 'app-upload-chats-modal',\n templateUrl: './upload-chats-modal.component.html',\n styleUrls: ['./upload-chats-modal.component.sass']\n})\nexport class UploadChatsModalComponent implements OnInit {\n\n filteredOptionsCampaign: Observable;\n campaigns: any;\n nameUser: any;\n selectedFile: File;\n\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n private chatService: ChatService,\n private authService: AuthService ) { }\n\n\n ngOnInit(): void {\n const user = this.authService.getUser();\n this.nameUser = user.rrhh.name;\n }\n\n /**\n * Metodo envia docuemnto y consume endpoint. \n * @author Yeison Sepulveda\n * @createdate 2024-07-05\n */\n sendDataUpload(): void {\n Swal.fire({\n title: '¿Está seguro?',\n text: '¿De continuar con la gestión?',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.chatService.uploadData(this.nameUser, this.selectedFile).subscribe(\n res => {\n Swal.fire({\n title: '¡Excelente!',\n text: 'Se ha subido el archivo',\n icon: 'success',\n confirmButtonText: 'Continuar',\n confirmButtonColor: '#2CABBC',\n }).then((result) => {\n if (result.isConfirmed) {\n this.dialogRef.close();\n }\n });\n },\n error => {\n console.error('Ha ocurrido un error al cargar el documento.', error);\n }\n );\n }\n });\n }\n \n /**\n * Metodo cancela proceso de carga\n * @author Yeison Sepulveda\n * @createdate 2024-07-05\n */\n cancelSave(): void {\n Swal.fire({\n title: '¿Estás seguro?',\n text: '¿En verdad deseas cancelar la gestión?',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.dialogRef.close();\n }\n });\n }\n\n /**\n * Método que descarga una plantilla Excel con encabezados predeterminados.\n * @author Yeison Sepulveda\n * @createdate 2024-07-05\n */\n\n downloadTemplate(): void {\n //fecha y hora actual formateada\n const currentDate = new Date().toLocaleDateString('es-ES', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n }).replace(/\\//g, '');\n \n const currentTime = new Date().toLocaleTimeString('es-ES', {\n hour: '2-digit',\n minute: '2-digit',\n hour12: false\n }).replace(/:/g, '');\n \n const dateTimeString = `${currentDate}${currentTime}`;\n \n this.chatService.downloadTemplate().subscribe(\n (response) => {\n const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n \n //nombre del archivo\n a.href = url;\n a.download = `plantilla_carga_${dateTimeString}.xlsx`;\n a.click();\n \n window.URL.revokeObjectURL(url);\n },\n (error) => {\n console.error('Error al descargar la plantilla', error);\n Swal.fire({\n icon: 'error',\n title: '¡Ups!',\n text: 'Error al descargar la plantilla',\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: '¡Entendido!',\n });\n }\n );\n }\n\n /**\n * Método que se activa cuando se selecciona un archivo y valida el tipo de documento.\n * @param event Objeto del evento de selección de archivo\n * @author Yeison Sepulveda\n * @createdate 2024-07-05\n */\n\n onFileSelected(event: any): void {\n const file: File = event.target.files[0];\n const maxSizeInBytes = 20 * 1024 * 1024; // 20 MB\n \n if (file) {\n if (file.size > maxSizeInBytes) {\n Swal.fire({\n icon: 'warning',\n title: 'Tamaño excedido',\n text: 'El archivo no debe superar los 20 MB.',\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: 'Aceptar',\n });\n this.selectedFile = null;\n return;\n }\n \n if (file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' || file.type === 'application/vnd.ms-excel') {\n this.validateHeaders(file).then(isValid => {\n if (isValid) {\n this.selectedFile = file;\n } else {\n Swal.fire({\n icon: 'warning',\n title: '¡Cabeceras incorrectas!',\n text: 'El documento no cumple con las cabeceras establecidas y requeridas.',\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: '¡Entendido!',\n });\n this.selectedFile = null;\n }\n });\n } else {\n this.selectedFile = null;\n Swal.fire({\n icon: 'warning',\n title: 'Formato incorrecto',\n text: 'Por favor seleccione un archivo con formato válido.',\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n confirmButtonText: '¡Entendido!',\n });\n }\n }\n }\n\n/**\n * Método para validar las cabeceras del archivo Excel seleccionado.\n * @author Yeison Sepulveda\n * @createdate 2024-07-05\n * @param file Archivo seleccionado de tipo File\n * @returns Promesa que resuelve en true si las cabeceras son válidas, de lo contrario false.\n */\n \n async validateHeaders(file: File): Promise {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n fileReader.onload = (e) => {\n const arrayBuffer: ArrayBuffer = e.target?.result as ArrayBuffer;\n if (!arrayBuffer) {\n reject(false);\n return;\n }\n \n const data = new Uint8Array(arrayBuffer);\n const arr = Array.from(data).map((byte) => String.fromCharCode(byte)).join('');\n const workbook = XLSX.read(arr, { type: 'binary' });\n \n const firstSheetName = workbook.SheetNames[0];\n const worksheet = workbook.Sheets[firstSheetName];\n \n const headers = XLSX.utils.sheet_to_json(worksheet, { header: 1 })[0];\n \n if (!Array.isArray(headers)) {\n reject(false);\n return;\n }\n \n const requiredHeaders = [\n 'FECHA_HORA_INGRESO', 'CODIGO', 'CASO', 'RESPONDIDO_POR', 'ESTADO',\n 'CATEGORIA_MENSAJE', 'CONTENIDO', 'TELEFONO_WA', 'NOMBRE_AGENTE', 'PROCESO'\n ];\n \n const isValid = headers.length === requiredHeaders.length && headers.every((header, index) => header === requiredHeaders[index]);\n resolve(isValid);\n };\n \n fileReader.onerror = (error) => {\n console.error('Error leyendo el archivo:', error);\n reject(false);\n };\n \n fileReader.readAsArrayBuffer(file);\n });\n }\n\n}\n","\n\n
\n
Cargar documento
\n \n \n
\n \n
\n
\n \n
\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n
","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'orderBy'\n})\nexport class OrderByPipe implements PipeTransform {\n\n transform(array: any, field: string): any[] {\n if (!Array.isArray(array)) {\n return;\n }\n array.sort((a: any, b: any) => {\n if (a[field] < b[field]) {\n return -1;\n } else if (a[field] > b[field]) {\n return 1;\n } else {\n return 0;\n }\n });\n return array;\n }\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { EscalationService } from '../../../services/rest/escalation.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\n\n@Component({\n selector: 'app-create-affair',\n templateUrl: './create-affair.component.html',\n styleUrls: ['./create-affair.component.sass']\n})\nexport class CreateAffairComponent implements OnInit {\n\n rolAsunto: FormGroup;\n areas: any;\n jefes: any;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n public escalationService: EscalationService,\n private alertsService: AlertsService,\n private destroyService: DestroyComponentService) { }\n\n ngOnInit(): void {\n\n this.escalationService.getArea().subscribe((resp) => {\n this.areas = resp;\n });\n\n this.formControl();\n this.setEdit();\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de crear los controles del formulario\n */\n formControl(): void{\n\n this.rolAsunto = new FormGroup({\n nombre: new FormControl('', [Validators.required]),\n area: new FormControl('', [Validators.required]),\n jefeDirecto: new FormControl('', [Validators.required]),\n jefeInmediato: new FormControl('', Validators.required),\n horaJefeDirecto: new FormControl('', [Validators.required]),\n horaJefeInmediato: new FormControl('', [Validators.required]),\n prioridadAlta: new FormControl('', [Validators.required]),\n prioridadMedia: new FormControl('', [Validators.required]),\n prioridadBaja: new FormControl('', [Validators.required]),\n descripcion: new FormControl('', [Validators.required]),\n });\n\n }\n\n get error(): any { return this.rolAsunto.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Trae los jefes dependiendo del area\n * @param id id del area\n */\n jefeByArea(id: any): void {\n this.escalationService.getSupervisorByArea(id).subscribe((resp) => {\n this.jefes = resp;\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que guarda un asunto\n * @param rolAsunto asunto a guardar\n */\n saveAsunto(rolAsunto: any): void {\n\n if (this.data.type === 'crear'){\n const asunto = {\n name: rolAsunto.value.nombre,\n description: rolAsunto.value.descripcion,\n area_id: rolAsunto.value.area,\n jefe1_id: rolAsunto.value.jefeDirecto,\n jefe2_id: rolAsunto.value.jefeInmediato,\n tiempo_jefe1: rolAsunto.value.horaJefeDirecto,\n tiempo_jefe2: rolAsunto.value.horaJefeInmediato,\n alta: rolAsunto.value.prioridadAlta,\n media: rolAsunto.value.prioridadMedia,\n baja: rolAsunto.value.prioridadBaja\n };\n\n this.escalationService.postAsunto(asunto).subscribe((resp) => {\n this.alertsService.alertSuccess('Guardado', resp.data);\n });\n } else if (this.data.type === 'editar'){\n this.editAsunto(rolAsunto);\n }\n\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que en caso que el modal sea de edicion setea los campos\n */\n setEdit(): void {\n if (this.data.type === 'editar') {\n\n this.jefeByArea(this.data.data.area_id);\n\n this.rolAsunto.controls.nombre.setValue(this.data.data.name);\n this.rolAsunto.controls.descripcion.setValue(this.data.data.description);\n this.rolAsunto.controls.area.setValue(this.data.data.area_id);\n this.rolAsunto.controls.jefeDirecto.setValue(this.data.data.jefe1_id);\n this.rolAsunto.controls.jefeInmediato.setValue(this.data.data.jefe2_id);\n this.rolAsunto.controls.horaJefeDirecto.setValue(this.data.data.tiempo_jefe1);\n this.rolAsunto.controls.horaJefeInmediato.setValue(this.data.data.tiempo_jefe2);\n this.rolAsunto.controls.prioridadAlta.setValue(this.data.data.alta);\n this.rolAsunto.controls.prioridadMedia.setValue(this.data.data.media);\n this.rolAsunto.controls.prioridadBaja.setValue(this.data.data.baja);\n\n }\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-03-23\n * Metodo que se encarga de la edicion de un registro\n * @param rolAsunto registro a editar\n */\n editAsunto(rolAsunto): void{\n\n const asunto = {\n name: rolAsunto.value.nombre,\n description: rolAsunto.value.descripcion,\n area_id: rolAsunto.value.area,\n jefe1_id: rolAsunto.value.jefeDirecto,\n jefe2_id: rolAsunto.value.jefeInmediato,\n tiempo_jefe1: rolAsunto.value.horaJefeDirecto,\n tiempo_jefe2: rolAsunto.value.horaJefeInmediato,\n alta: rolAsunto.value.prioridadAlta,\n media: rolAsunto.value.prioridadMedia,\n baja: rolAsunto.value.prioridadBaja\n };\n\n this.escalationService.postEditAsunto(this.data.data.id, asunto).subscribe((resp) => {\n this.alertsService.alertSuccess('Editado', resp.data);\n });\n\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n","

{{data.title}}\n \n

\n\n
\n\n\n\n \n Nombre\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Área\n \n {{area.name}}\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Jefe Directo\n \n {{jefe.name}}\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Jefe Inmediato\n \n {{jefe.name}}\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Hora Jefe Directo\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Hora Jefe inmediato\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Prioridad Alta\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Prioridad Media\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Prioridad Baja\n \n ¡Advertencia! Este campo es requerido\n \n\n \n Descripción\n \n ¡Advertencia! Este campo es requerido\n \n \n\n\n\n \n \n\n\n
\n","export const KEY_ADMIN = 'gestionador-correos::administrador';\nexport const KEY_SUPERVISOR = 'gestionador-correos::supervisor';","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { CampaingsService } from './../../../../../crm/services/rest/campaings.service';\nimport { GroupsService } from 'src/app/modules/crm/services/rest/groups.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatSelectionList } from '@angular/material/list';\n\n@Component({\n selector: 'app-admin-groups',\n templateUrl: './admin-groups.component.html',\n styleUrls: ['./admin-groups.component.sass']\n})\nexport class AdminGroupsComponent implements OnInit {\n\n groupForm: FormGroup;\n filteredOptions: Observable;\n campaigns: any;\n userSinGroup: any[] = [];\n userSinGroupNuevo: any[] = [];\n userGroup: any[] = [];\n userSelected: any[] = [];\n usersId: any[];\n campaingId: string;\n @ViewChild('shoes', {static: true}) private allSelected: MatSelectionList;\n @ViewChild('shoes2', {static: false}) private allSelected2: MatSelectionList;\n\n constructor(\n private campaing: CampaingsService,\n public group: GroupsService,\n private route: ActivatedRoute,\n private alertsService: AlertsService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n ) { }\n\n ngOnInit() {\n this.formControl();\n this.campaingId = this.route.snapshot.queryParamMap.get('id');\n this.group.getUsers(this.campaingId).subscribe(res => {\n this.userSinGroup = res;\n this.setEdit();\n });\n }\n\n get error(): any { return this.groupForm.controls; }\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-04\n * Form control de grupos\n */\n formControl(): void {\n\n this.groupForm = new FormGroup({\n group: new FormControl('', [Validators.required, Validators.maxLength(45), Validators.minLength(3)]),\n description: new FormControl('', [Validators.required, Validators.maxLength(45), Validators.minLength(3)])\n });\n\n }\n\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n\n return this.campaigns.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-04\n * Metodo mostrar nombre de la campaña\n */\n displayFn(id: number): string {\n if (!id) { return ''; }\n let index = this.campaigns.findIndex(resp => resp.id === id);\n return this.campaigns[index].name;\n\n }\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-03\n * Metodo Cargar datos modal de editar\n */\n setEdit(): void {\n if (this.data.type === 'editar') {\n this.groupForm.controls.group.setValue(this.data.group.name_group);\n this.groupForm.controls.description.setValue(this.data.group.description);\n this.group.getGroupById(this.data.group.id).subscribe(res => {\n let dataGroup = res.members;\n this.userGroup = dataGroup;\n this.userSinGroup = res.available;\n\n });\n\n }\n }\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-03\n * COntrol de individual de checkbox de usuarios sin grupo\n */\n lstInicial = new FormGroup({\n selected: new FormControl([])\n });\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-03\n * COntrol de individual de checkbox de usuarios en el grupo\n */\n lstfinal = new FormGroup({\n selected: new FormControl([])\n });\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-05\n * COntrol de checkbox de todos los usarios sin grupo\n */\n checkAll1 = new FormGroup({\n selected: new FormControl(false,[])\n });\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-05\n * COntrol de checkbox de todos los usarios en el grupo\n */\n checkAll2 = new FormGroup({\n selected: new FormControl(false,[])\n });\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-03\n * Metodo carga datos modal de crear grupo\n */\n saveGroup(groupForm): void {\n if (this.data.type === 'crear') {\n let users = [];\n this.userGroup.map(function (user) {\n let id = { 'idRrhh': user.id_rhh };\n users = [...users, id];\n });\n const group = {\n name_group: groupForm.value.group,\n description: groupForm.value.description,\n state: 1,\n users: users\n };\n this.group.createGroup(this.campaingId, group).subscribe(res => {\n this.alertsService.alertSuccess('Guardado', res.data);\n });\n\n }\n else if (this.data.type === 'editar') {\n let users = [];\n\n this.userGroup.map(function (user) {\n let id = { 'idRrhh': user.id_rhh };\n users = [...users, id ];\n });\n this.editGroup(groupForm, users);\n }\n\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-04\n * Metodo editar grupo\n */\n editGroup(groupForm, users): void {\n\n const group = {\n name_group: groupForm.value.group,\n description: groupForm.value.description,\n state: this.data.group.state,\n users: users\n };\n\n this.group.updateGroup(this.data.group.id, group).subscribe(res => {\n this.alertsService.alertSuccess('Guardado', res.data);\n });\n }\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-05\n * Metodo selecionar o deseleccionar todos los usuarios \n */\n onChangeCheck(event){\n if (event.checked == true) {\n this.allSelected.selectAll();\n }else{\n this.allSelected.deselectAll();\n }\n }\n\n onChangeCheck2(event){\n if (event.checked == true) {\n this.allSelected2.selectAll();\n }else{\n this.allSelected2.deselectAll();\n }\n }\n\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-04\n * Metodo asignación de usarios al grupo\n */\n asingarGrupo() {\n this.userSelected = this.lstInicial.value.selected;\n this.userSinGroupNuevo = this.userSinGroup;\n this.userSelected.forEach(select => {\n this.userGroup.push(select);\n this.userSinGroupNuevo = this.userSinGroupNuevo.filter((i) => i.id_rhh !== select.id_rhh || i.id !== select.id )\n });\n \n this.lstInicial.value.selected = [];\n this.checkAll1.controls.selected.setValue(false,[]);\n this.userSinGroup = this.userSinGroupNuevo;\n this.lstInicial.controls.selected.setValue([]);\n }\n /**\n * @author Daniel Dominguez \n * @createdate 2021-03-04\n * Metodo remover de usarios al grupo\n */\n quitarGrupo() {\n this.userSelected = this.lstfinal.value.selected;\n this.userSinGroupNuevo = this.userGroup;\n this.userSelected.forEach(select => {\n this.userSinGroup.push(select);\n this.userSinGroupNuevo = this.userSinGroupNuevo.filter((i) => i.id_rhh !== select.id_rhh || i.id !== select.id )\n });\n this.lstfinal.value.selected = [];\n this.checkAll2.controls.selected.setValue(false,[]);\n this.userGroup = this.userSinGroupNuevo;\n this.lstfinal.controls.selected.setValue([]);\n }\n\n}","

{{data.title}}\n \n

\n\n
\n \n\n \n Nombre del grupo\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo 3\n caracteres\n ¡Cuidado! Solo puedes tener un\n máximo de 15 caracteres\n \n\n\n \n Descripción\n \n ¡Advertencia! Este\n campo es requerido\n ¡Aún falta! Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo puedes\n tener un máximo de 15 caracteres\n \n \n
\n
\n Usuarios disponibles\n Todos\n
\n
\n
\n Usuarios del Grupo \n Todos\n
\n
\n \n
\n
\n\n \n \n {{usuario.name}}\n \n \n
\n\n
\n \n \n\n
\n\n
\n \n \n {{usuario.name}}\n \n \n
\n\n
\n \n
\n
\n

\n opciones seleccionadas: {{shoes.selectedOptions.selected.length}} \n

\n
\n
\n
\n

\n opciones seleccionadas: {{shoes2.selectedOptions.selected.length}} \n

\n
\n
\n\n
\n\n \n \n \n \n\n
","import { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { AuthService } from '../../../../core/services/rest/auth.service';\nimport { throwError, Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nconst COMPRAS_URL = environment.COMPRAS_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CategoriaService {\n\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n handleError(error: HttpErrorResponse): any{\n return throwError(error);\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-25\n * Servicio que lista todos los aplicativos del aplicativo ciu\n */\n getCategoria(): Observable{\n return this.http.get(`${COMPRAS_URL}category/?paginate=0`)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n\n getCategories( idType:number ): Observable{\n return this.http.get(`${COMPRAS_URL}categories/${idType}`);\n }\n\n\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ControlService } from 'src/app/modules/calidad/services/control.service';\n\n@Component({\n selector: 'app-detalle-grupo',\n templateUrl: './detalle-grupo.component.html',\n styleUrls: ['./detalle-grupo.component.sass']\n})\nexport class DetalleGrupoComponent implements OnInit {\n\n titulo:string = '';\n supervisor:string = '';\n creacion;\n id_grupo;\n id_matriz;\n constructor(\n private controlService:ControlService,\n private aRoute:ActivatedRoute,\n ) { }\n\n ngOnInit(): void {\n this.aRoute.paramMap.subscribe(params=>{\n this.id_grupo = params.get('id');\n });\n this.getGrupoById();\n }\n\n getGrupoById(){\n this.controlService.getGrupoById(this.id_grupo).subscribe((resp:any)=>{\n this.titulo = resp[0].nombre;\n this.supervisor = resp[0].nombre_supervisor;\n this.creacion = resp[0].created_at;\n this.id_matriz = resp[0].matriz_id;\n });\n }\n\n}\n","
\n
\n \n
\n
\n

{{titulo}}

\n

{{supervisor}}

\n
Creada el {{creacion | date:'dd/MM/yyyy hh:mm a'}}
\n
\n
\n \n
\n
","import {\n HttpClient,\n HttpErrorResponse,\n HttpParams,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { environment } from 'src/environments/environment';\n\nconst { SABLE_URL, RRHH_URL } = environment;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SableService {\n constructor(private http: HttpClient, private authService: AuthService) { }\n\n /**\n * @author Fabian Garcia\n * @createdate 2023-06-20\n * Metodo que retorna los errores generados por HTTP. \n * @param error Instancia del httpErrorResponse. \n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author Fabio Garcia\n * @purpose Obtener el listado de la data de los selects. \n * @param servicio Tipo de servicio a consumir. \n * @param server Servidor seleccionado en la vista. \n */\n GetDataSelectsServer(servicio: any, server: any): Observable {\n return this.http.get(`${SABLE_URL}${servicio}/${server}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabio Garcia\n * @createdate 2023-06-20\n * Metodo que trae la informacion para llenar en los select del formulario. \n * @param servicio Servidor seleccionado en el formulario. \n */\n GetDataSelects(servicio: any): Observable {\n return this.http.get(`${SABLE_URL}${servicio}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabio Garcia\n * @purpose Obtener el listado de la data de los selects\n */\n GetDataColumns(data: any): Observable {\n return this.http.post(`${SABLE_URL}consulta`, data)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que trae la informacion para llenar en los select del formulario. \n * @param data Informacion enviada desde el formulario. \n */\n saveConfigDownloads(data: any): Observable {\n return this.http.post(`${SABLE_URL}generarDescarga`, data).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que trae las descargas almacenadas en el sistema. \n * @param page Informacion de la paginacion.\n * @param filters Filtros de busqueda de la vista. \n */\n getDownloads(paginator: any, filters: any): Observable {\n return this.http.get(`${SABLE_URL}descarga?page=${(paginator.pageIndex + 1)}&perPage=${paginator.pageSize}&date=${filters.date}&state=${filters.state}`).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que trae el archivo zip generado de la descarga. \n * @param id Id de la descarga seleccionada.\n */\n downloadFile(id: number): Observable {\n return this.http.get(`${SABLE_URL}downloadFileZip/${id}`, { responseType: 'blob' as 'json' }).pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-06-20\n * Metodo que elimina una descarga generada. \n * @param id Id de la descarga seleccionada.\n */\n deleteDownload(id: number): Observable {\n return this.http.delete(`${SABLE_URL}descarga/destroy/${id}`).pipe(\n catchError(this.handleError)\n );\n }\n}","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormControl, Validators, ValidatorFn, AbstractControl, FormBuilder, FormArray } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { SolicitudesService } from '../../../../services/rest/solicitudes.service';\nimport { DestroyComponentService } from '../../../../../../core/services/utils/destroy-component.service';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { AuthService } from '../../../../../../core/services/rest/auth.service';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { CategoriaService } from '../../../../services/rest/categoria.service';\nimport { CompaniaService } from '../../../../services/rest/compania.service';\nimport { TipoProductoService } from '../../../../services/rest/tipo-producto.service';\nimport { startWith, map } from 'rxjs/operators';\nimport { Solicitud } from '../../../Class/solicitud';\n\n@Component({\n selector: 'app-crear-solicitud',\n templateUrl: './crear-solicitud.component.html',\n styleUrls: ['./crear-solicitud.component.sass']\n})\nexport class CrearSolicitudComponent implements OnInit {\n\n solicitudesForm: FormGroup;\n filteredOptionsTipoProducto: Observable;\n filteredOptionsCategoria: Observable;\n filteredOptionsCompania: Observable;\n compania:any;\n categoria:any;\n tipoProducto:any;\n filesUpload: any[] =[];\n uploadFiles: any[] = [];\n maxFile = false;\n verSolicitud= false;\n usuario\n\n\n constructor(private solicitudService: SolicitudesService,\n private categoriaService: CategoriaService,\n private companiaService:CompaniaService,\n private tipoProductoService:TipoProductoService,\n private destroyService: DestroyComponentService,\n private form: FormBuilder,\n private alertsService: AlertsService,\n private authService: AuthService,\n @Inject(MAT_DIALOG_DATA) public data: any) {\n }\n\n ngOnInit(): void {\n this.usuario= this.authService.getUser();\n this.formControl();\n this.getData();\n this.newItems();\n\n if(this.data.type ==='Editar'){\n this.verSolicitud=true;\n this.setEdit()\n\n }\n\n }\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private getData(){\n this.companiaService.getCompany().subscribe(comp=>{\n this.compania = comp.data;\n\n if(this.data.type ==='Editar'){\n this.solicitudesForm.controls.companias.setValue(Number(this.data.solicitud.company_id));\n }\n\n this.filteredOptionsCompania = this.solicitudesForm.get('companias').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(companias => companias ? this._filterCompany(companias) : this.compania.slice())\n );\n });\n this.categoriaService.getCategoria().subscribe(cat=>{\n this.categoria = cat.data;\n if(this.data.type ==='Editar'){\n this.solicitudesForm.controls.categorias.setValue(Number(this.data.solicitud.category_id));\n }\n });\n this.tipoProductoService.getTipoProducto().subscribe(tipos=>{\n this.tipoProducto = tipos.data;\n if(this.data.type ==='Editar'){\n this.solicitudesForm.controls.tipoProductos.setValue(Number(this.data.solicitud.product_type_id));\n }\n this.filteredOptionsTipoProducto = this.solicitudesForm.get('tipoProductos').valueChanges.pipe(\n startWith(''),\n map(value => typeof value === 'string' ? value : value.name),\n map(tipoProducto => tipoProducto ? this._filterProductType(tipoProducto) : this.tipoProducto.slice())\n );\n });\n\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterCompany(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.compania.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterCategory(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.categoria.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * filtra por nombre, se usa para el autocompletable\n * @param value valor a filtrar\n */\n private _filterProductType(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.tipoProducto.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFnTipoProducto(id: number): string{\n if (!id) { return ''; }\n let index = this.tipoProducto.findIndex(resp => resp.id === id);\n return this.tipoProducto[index].name;\n\n }\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFnCategoria(id: number): string{\n if (!id) { return ''; }\n let index = this.categoria.findIndex(resp => resp.id === id);\n return this.categoria[index].name;\n\n }\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * Metodo que devuelve el nombre al momento de seleccionar una opcion, busca en el arreglo por id y devuelve el nombre\n */\n displayFnCompania(id: number): string{\n if (!id) { return ''; }\n let index = this.compania.findIndex(resp => resp.id === id);\n return this.compania[index].name;\n\n }\n\n get error(): any { return this.solicitudesForm.controls; }\n\n get items(): FormArray {\n return this.solicitudesForm.get('items') as FormArray;\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-04\n * Metodo que setea los valores al momento de editar\n */\n setEdit(): void {\n\n this.solicitudesForm.controls.titulo.setValue(this.data.solicitud.title);\n this.solicitudesForm.controls.proyecto.setValue(this.data.solicitud.project);\n this.solicitudesForm.controls.descripcion.setValue(this.data.solicitud.description);\n\n this.data.solicitud.request_items.forEach((element, index) => {\n this.newItems();\n this.items.controls[index].get('detalle').setValue(element.detail);\n this.items.controls[index].get('cantidad').setValue(element.quantity);\n });\n\n }\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void{\n\n this.solicitudesForm = new FormGroup({\n tipoProductos : new FormControl('', [this.autocompleteObjectValidator(), Validators.required ]),\n categorias : new FormControl('', [this.autocompleteObjectValidator(), Validators.required]),\n companias : new FormControl('', [this.autocompleteObjectValidator(), Validators.required]),\n proyecto : new FormControl('', [Validators.required, Validators.maxLength(100), Validators.minLength(3)]),\n titulo : new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n descripcion : new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n items : this.form.array([]),\n fechaEjecucion : new FormControl(''),\n observacionEjecucion : new FormControl('', [Validators.minLength(30),Validators.maxLength(300)])\n\n });\n\n }\n\n addFile($event, index){\n const file = $event.target.files[0];\n const tempFiles = [];\n tempFiles.push(file)\n this.items.controls[index].get('itemsFiles').setValue(tempFiles);\n }\n\n deleteFile(index){\n \tthis.items.controls[index].get('itemsFiles').setValue([]);\n }\n\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * Metodo que valida las funciones del autocompetable\n */\n autocompleteObjectValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (typeof control.value === 'string') {\n return { invalidAutocompleteObject: { value: control.value } };\n }\n return null;\n };\n }\n\n\n\n /**\n * @author Jose Vicente Silva\n * @createdate 2021-08-27\n * Metodo que a partir de una variable enviada desde el administrador de roles crea un nuevo rol o edita un rol\n * @param rolForm datos que recolecta el formulario\n */\n saveApplication(solicitudesForm): void {\n\n const form = new FormData();\n\n if (this.data.type === 'crear') {\n form.append('titulo',solicitudesForm.value.titulo);\n form.append('descripcion', solicitudesForm.value.descripcion);\n form.append('proyecto',solicitudesForm.value.proyecto);\n form.append('idCategoria',solicitudesForm.value.categorias);\n form.append('idEmpresa',solicitudesForm.value.companias);\n form.append('idTipoProducto',solicitudesForm.value.tipoProductos);\n form.append('fechaEjecuccion',solicitudesForm.value.fechaEjecucion);\n form.append('observacionEjecuccion',solicitudesForm.value.observacionEjecucion)\n for (let index = 0; index < solicitudesForm.value.items.length; index++) {\n if(solicitudesForm.value.items[index].itemsFiles !== null){\n const setFile = solicitudesForm.value.items[index].itemsFiles[0];\n setFile.indexItem = index;\n form.append('archivo'+index,setFile)\n }\n }\n form.append('solicitudItems',JSON.stringify(solicitudesForm.value.items));\n\n this.solicitudService.saveSolicitud(form).subscribe((resp) => {\n this.alertsService.alertSuccess('Guardado', resp.data);\n });\n }\n/*\n if (this.data.type === 'crear'){\n const sol = new Solicitud();\n sol.titulo = solicitudesForm.value.titulo;\n sol.descripcion = solicitudesForm.value.descripcion;\n sol.proyecto = solicitudesForm.value.proyecto;\n sol.idCategoria = solicitudesForm.value.categorias;\n sol.idEmpresa = solicitudesForm.value.companias;\n sol.idTipoProducto = solicitudesForm.value.tipoProductos;\n sol.solicitudItems = solicitudesForm.value.items;\n\n\n this.solicitudService.saveSolicitud(sol).subscribe((resp) => {\n this.alertsService.alertSuccess('Guardado', resp.data);\n });\n } */\n\n\n }\n\n\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que estable las validaciones del formarray dentro del formulario\n */\n newItems(): void{\n const newItems = this.form.group({\n detalle: new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n cantidad: new FormControl('', [Validators.required, Validators.maxLength(5), Validators.minLength(1)]),\n itemsFiles:[],\n });\n this.items.push(newItems);\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se encarga de la eliminacion de un grupo de aplicacion y rol\n * @param indice indice del grupo de aplicacion y rol a eliminar\n */\n deleteItems(indice: number): void {\n this.items.removeAt(indice);\n this.uploadFiles = this.uploadFiles.filter(item => item.indexItem !== indice);\n }\n\n handleFileInput(event) {\n if(this.filesUpload.length === 3 ) {\n this.maxFile = true;\n //this.snackbar.open('Solo puedes cargar 3 archivos', '', this.config);\n return;\n }\n if(event.target.files[0].size > (1024 * 1024 * 3)) {\n this.maxFile = true;\n //this.snackbar.open('El archivo a cargar debe pesar máximo 3 MB', '', this.config);\n return;\n }\n\n this.maxFile = false;\n this.filesUpload.push(... event.target.files);\n\n\n }\n\n EliminarArchivoLista (index: number) {\n const item = this.filesUpload[index];\n this.filesUpload = this.filesUpload.filter( e => e !== item);\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n\n getCategories( id ){\n this.categoriaService.getCategories(id)\n .subscribe( cat => this.filteredOptionsCategoria = cat);\n\n }\n\n\n clearForm(){\n this.solicitudesForm.reset();\n\n }\n\n}\n","
\n
\n \n
\n\n
\n\n \n\n
\n
\n

\n {{ data.title }}\n

\n {{usuario.rrhh.name}}\n
\n
\n \n
\n
\n
\n\n
\n\n
\n \n
\n
\n\n Estado Actual\n

{{data.solicitud.request_state.name}}

\n
\n
\n
\n
\n\n
\n\n\n
\n \n Tipo de adquisición\n \n \n \n {{prod.name}}\n \n \n ¡Advertencia!\n Este campo es requerido\n Campaña no reconocida. Haga click en una de\n las opciones de autocompletar\n \n\n \n Categoría\n \n \n \n {{cat.name}}\n \n \n ¡Advertencia! Este\n campo es requerido\n Campaña no reconocida. Haga click en una de las\n opciones de autocompletar\n \n\n \n Empresa\n \n \n \n {{comp.name}}\n \n \n ¡Advertencia! Este\n campo es requerido\n Campaña no reconocida. Haga click en una de las\n opciones de autocompletar\n \n
\n
\n \n Nombre de campaña\n \n ¡Advertencia! Este campo\n es requerido\n ¡Aún falta! Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo puedes\n tener un máximo de 100 caracteres\n \n\n\n\n \n Título solicitud\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos\n mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener\n un máximo de 255 caracteres\n \n
\n
\n\n \n Detalle\n \n ¡Advertencia! Este\n campo es requerido\n ¡Aún falta!\n Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo\n puedes tener un máximo de 255 caracteres\n \n
\n\n
\n \n Fecha de ejecución\n \n \n \n Observación de ejecución\n \n ¡Aún falta!\n Recibimos mínimo 30 caracteres\n ¡Cuidado! Solo\n puedes tener un máximo de 300 caracteres\n \n
\n Nota: Esta información será evaluada por el área de compras, si el criterio no cumple con lo establecido por prioridad, no se tomará en cuenta la fecha indicada.\n
\n
\n\n
\n

\n Por los siguientes ítems\n\n

\n\n
\n\n
\n\n \n Descripción\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo 3\n caracteres\n ¡Cuidado! Solo puedes tener un\n máximo de 255 caracteres\n \n\n \n Cantidad\n \n ¡Advertencia! Este campo es\n requerido\n ¡Aún falta! Recibimos mínimo 3\n caracteres\n ¡Cuidado! Solo puedes tener un\n máximo de 5 caracteres\n \n
\n \n \n \n \n \n
\n
0\">\n {{this.items.controls[i].get('itemsFiles').value[0].name}} \n
\n \n
\n\n\n\n
\n
\n
\n
\n
\n \n \n
\n\n\n\n
\n\n\n
\n
\n","import { Component, OnInit, AfterViewInit, ViewChild,OnDestroy } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { RequestsService } from '../../../services/requests.service';\nimport { DestroyComponentService } from '../../../../../core/services/utils/destroy-component.service';\n\n@Component({\n selector: 'app-requests-main',\n templateUrl: './requests-main.component.html',\n styleUrls: ['./requests-main.component.sass']\n})\nexport class RequestsMainComponent implements OnInit, OnDestroy {\n\n displayedColumns: string[] = ['view', 'code', 'campaign', 'position', 'personalRequest', 'tracingAvg', 'state'];\n dataSource: MatTableDataSource;\n\n length: number;\n pageSize: number;\n currentPage = 1;\n showRequests = false;\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n code: any = '';\n position: any = '';\n\n constructor(private requestsService: RequestsService,\n private router: Router,\n private activatedRoute:ActivatedRoute,\n private destroyService:DestroyComponentService) {\n this.getRequests();\n }\n ngOnInit(): void {\n }\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.dataSource.filter = filterValue.trim().toLowerCase();\n\n if (this.dataSource.paginator) {\n this.dataSource.paginator.firstPage();\n }\n }\n\n viewDetails(id) {\n \n this.router.navigate(['../solicitud', id], {relativeTo: this.activatedRoute});\n\n }\n\n getRequests(){\n this.requestsService.getRequestsByUser({page: this.currentPage , code: this.code, position: this.position}).subscribe( (requests: any) => {\n if (requests.total > 0) this.showRequests = true;\n this.length = requests.total;\n this.pageSize = requests.per_page;\n let dataSorted = requests.data;\n this.dataSource = new MatTableDataSource(requests.data);\n });\n }\n\n getPaginatorData(e){\n this.currentPage = e.pageIndex + 1;\n this.getRequests();\n }\n\n filterByCode(code){\n this.code = code;\n this.getRequests();\n }\n filterByPosition(position){\n this.position = position;\n this.getRequests();\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n}\n","
\n

Gestión de Solicitudes

\n

Bienvenido al módulo de solicitudes.

\n
\n\n
\n \n
\n \n Filtrar por Código de Solicitud\n \n \n \n
\n
\n \n Filtrar por Cargo Solicitado\n \n \n \n
\n\n

No tienes solicitudes disponibles

\n
\n\n
\n\n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n \n
Ver \n \n # de Solicitud {{row.code}} Campaña {{row.campaign.name}} Cargo {{row.position}} Personal Requerido {{row.personalRequest}} % Avance \n \n \n Estado {{row.state}}
No hay datos que coincidan
\n\n \n\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MedicalCandidatesComponent } from './medical-candidates/medical-candidates.component';\nimport { SharedModule } from '../../../../shared/shared.module';\nimport { MedicalTestsComponent } from './medical-tests/medical-tests.component';\nimport { CreateMedicalTestComponent } from './create-medical-test/create-medical-test.component';\nimport { MedicalTestActionComponent } from './medical-test-action/medical-test-action.component';\nimport { MedicalTestImportComponent } from './medical-test-import/medical-test-import.component';\n\n\n\n@NgModule({\n declarations: [MedicalCandidatesComponent, MedicalTestsComponent, CreateMedicalTestComponent, MedicalTestActionComponent, MedicalTestImportComponent],\n imports: [\n CommonModule,\n SharedModule,\n ]\n})\nexport class MedicalTestModule { }\n","import { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\n\nconst RRHH_URL = environment.RRHH_URL;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BusinessService {\n\n constructor(private http: HttpClient) { }\n\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n\n /**\n * @author Johan Soler\n * @createDate 2022-07-25\n * Servicio para listar todas las empresas\n */\n getAllBusiness(body): Observable {\n const httpOptions = {\n params: new HttpParams()\n .set('page', body.page || '')\n .set('per_page', body.per_page || '')\n .set('filter', body.filter || '')\n };\n return this.http.get(`${RRHH_URL}companies`, httpOptions)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Johan Soler\n * @createDate 2022-07-29\n * Servicio para descargar el reporte de todas las empresas\n */\n downloadReport(): Observable {\n return this.http.get(`${RRHH_URL}downloadCompanies`, { responseType: 'blob' as 'json' })\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Johan Soler\n * @createDate 2022-07-29\n * Servicio para crear empresa\n */\n createBusiness(body): Observable {\n return this.http.post(`${RRHH_URL}createCompany`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n\n /**\n * @author Johan Soler\n * @createDate 2022-07-29\n * Servicio para crear empresa\n */\n editBusiness(body): Observable {\n return this.http.post(`${RRHH_URL}editCompany`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { environment } from '../../../../../environments/environment';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { catchError } from 'rxjs/internal/operators/catchError';\nimport { throwError } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotesService {\n\n COMERCIAL = environment.CRM_CIAL;\n\n constructor(\n private http: HttpClient,\n ) { }\n /**\n * @author javier Castañeda\n * @createdate 2022-10-29\n * Captura los errores en las peticiones\n */\n handleError(error: HttpErrorResponse): any {\n return throwError(error);\n }\n /**\n * @author javier Castañeda\n * @createdate 2022-10-29\n * Servicio creacion de notas\n * @param {JSON} body json de creación\n * @returns JSON\n */\n store(body) {\n return this.http.post(`${this.COMERCIAL}notes`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author javier Castañeda\n * @createdate 2022-10-29\n * Servicio busqueda de notas\n * @param {number} oportunity id oportunidad\n * @returns JSON\n */\n search(oportunity) {\n return this.http.get(`${this.COMERCIAL}notes/search?oportunity_id=${oportunity}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author javier Castañeda\n * @createdate 2022-10-29\n * Servicio eliminación de notas\n * @param {number} id id de la oportunidad\n * @returns JSON\n */\n delete(id) {\n return this.http.delete(`${this.COMERCIAL}notes/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author javier Castañeda\n * @createdate 2022-10-29\n * Servicio de consulta de notas\n * @param {number} id id de la oportunidad\n * @returns JSON\n */\n show(id) {\n return this.http.get(`${this.COMERCIAL}notes/${id}`)\n .pipe(\n catchError(this.handleError)\n );\n }\n /**\n * @author javier Castañeda\n * @createdate 2022-10-29\n * Servicio de actualización de notas\n * @param {number} id id de la oportunidad\n * @returns JSON\n */\n update(id, body) {\n return this.http.put(`${this.COMERCIAL}notes/${id}`, body)\n .pipe(\n catchError(this.handleError)\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { environment } from '../../../../environments/environment';\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\nimport { ActivatedRoute } from '@angular/router';\nimport { AuthService } from '../../../core/services/rest/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class KindAccountService {\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n };\n private server = environment.RRHH_URL;\n user;\n constructor(private http:HttpClient, \n private activeRoute: ActivatedRoute, \n private authService:AuthService) {\n this.user = this.authService.getUser();\n }\n\n\n getKindAccounts() {\n return this.http.get(`${this.server}kindAccounts/list`, this.httpOptions);\n }\n\n\n}\n","import { BookingCrmComponent } from './modules/bookings/booking-crm/booking-crm.component';\nimport { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { BookingCreateComponent } from './modules/bookings/booking-create/booking-create.component';\nimport { BookingsAdminComponent } from './modules/bookings/bookings-admin/bookings-admin.component';\nimport { BookingsMainComponent } from './modules/bookings/bookings-main/bookings-main.component';\nimport { ResourcesMainComponent } from './modules/resources/resources-main/resources-main.component';\nimport { ReservasComponent } from './reservas.component';\n\nconst routes: Routes = [\n { path: '', component: ReservasComponent},\n { path: 'mis-reservas', component: BookingsMainComponent },\n { path: 'reservas-crm', component: BookingCrmComponent },\n { path: 'reservar/:id/:type', component: BookingCreateComponent},\n { path: 'admin', component: BookingsAdminComponent},\n { path: 'recursos', component: ResourcesMainComponent},\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class ReservasRoutingModule { }\n","import { ReportsReportService } from './../../../services/reports.service';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormGroup, FormBuilder, FormControl, Validators, AbstractControl, ValidatorFn, FormArray } from '@angular/forms';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-add-report-form',\n templateUrl: './add-report-form.component.html',\n styleUrls: ['./add-report-form.component.sass']\n})\nexport class AddReportFormComponent implements OnInit {\n\n userForm: FormGroup;\n reportList: any;\n reportsByUser: any;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: any,\n private form: FormBuilder,\n private reportsReportService: ReportsReportService,\n private destroyService: DestroyComponentService,\n private dialogRef: MatDialogRef\n ) { }\n\n ngOnInit(): void {\n this.formControl();\n this.getReportsList();\n }\n\n get error(): any { return this.userForm.controls; }\n\n get reportsArray(): FormArray {\n return this.userForm.get('reports') as FormArray;\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-03-04\n * Metodo que valida el momento que se hace click para actualizar el estado\n * en el form\n * @param event envento del click\n * @param i posicion del item en el array\n */\n validateAction(event, i): void {\n this.reportsArray.value[i].report = event.checked;\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-01-27\n * Metodo donde se establecen las validaciones del formulario\n */\n formControl(): void {\n\n this.userForm = this.form.group({\n rrhh_id: this.data.rrhh_id,\n reports: this.form.array([])\n });\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-03-04\n * Metodo que se encarga de actualizar los permisos de reportes del usuario\n * @param userForm formulario\n */\n editReport(userForm): void {\n this.reportsReportService.saveOrUpdateReport(userForm.value).subscribe(\n response => {\n Swal.fire({\n html: `Reportes actulizados con exito!`,\n icon: 'success',\n confirmButtonText: 'Aceptar'\n });\n this.dialogRef.close();\n }\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-03-04\n * Metodo que se encarga de crear un nuevo control en el array principal\n * @param name nombre para mostrar en el from\n * @param idReport id del reporte\n */\n addNewControl(name, idReport): void {\n const newCheckControl = this.form.group({\n id_report: idReport,\n name: name,\n report: new FormControl(false)\n });\n this.reportsArray.push(newCheckControl);\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-03-04\n * Metodo que lista los reporte disponibles en bd\n */\n getReportsList() {\n this.reportsReportService.getReports().subscribe(\n response => {\n response['data'].forEach((element, index) => {\n this.addNewControl(element.nombre, element.id);\n });\n this.getReportsByUser();\n }\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-03-04\n * Metodo que lista reportes asociados al usuario\n */\n getReportsByUser() {\n this.reportsReportService.getReportsByUser(this.data.rrhh_id).subscribe(\n response => {\n this.setDefaultReportsByUser(response['data']);\n }\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2021-03-04\n * Metodo que setea los datos en el array de from para\n * mostrar los datos asociados\n */\n setDefaultReportsByUser(data) {\n let report = this.reportsArray.value;\n for (let i = 0; i < report.length; i++) {\n data.forEach(elementDefaulUser => {\n if (report[i].id_report === elementDefaulUser.id) {\n this.reportsArray.controls[i].get('report').setValue(true);\n }\n });\n }\n this.reportList = this.reportsArray.value;\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n\n}\n\n","

{{data.title}}\n \n

\n \n
\n\n \n
\n
\n
\n
\n {{reportCheck.value.name}}\n
\n
\n
\n
\n
\n\n \n \n \n \n\n
","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { MeetingsComponent } from '../meetings/meetings.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { VideollamadaService } from './services/videollamada.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { FormControl } from '@angular/forms';\nimport { PhonePanelService } from '../phone/phone.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-videollamada',\n templateUrl: './videollamada.component.html',\n styleUrls: ['./videollamada.component.sass']\n})\nexport class VideollamadaComponent implements OnInit {\n\n videoLlamadaButton = true;\n VideoStartButton:boolean = true;\n @Output() viewVideoButton: EventEmitter = new EventEmitter();\n\t@Output() VideoResponse: EventEmitter = new EventEmitter();\n\tviewVideoState = true;\n videoState = 'register';\n toggleCheck: boolean = false;\n user: any;\n\n constructor(public dialog: MatDialog,\n private videoService: VideollamadaService,\n private authService: AuthService,\n private phonePanelService: PhonePanelService\n ) { }\n\n ngOnInit() {\n this.user = this.authService.getUser();\n\n if (!this.validateIfSoulPhoneStateIsActived()) {\n this.videoService.getAdviserById(this.user.rrhh_id).subscribe(res =>{\n this.videoService.userAgent = res;\n const body = {\n id: res.id,\n state_id: 1\n };\n if(res.state_id == 1){\n this.videoState = 'register';\n this.VideoStartButton = true;\n } else if(res.state_id == 2) {\n this.videoState = 'ready';\n this.videoLlamadaButton = true;\n this.viewVideoState = false;\n this.VideoStartButton = false;\n this.toggleCheck = true;\n } else if(res.state_id == 3) {\n this.videoState = 'incall';\n this.videoLlamadaButton = true;\n this.viewVideoState = false;\n this.toggleCheck = true;\n this.VideoStartButton = false;\n }\n this.videoService.stateObservable.subscribe(resp => {\n this.videoState = resp;\n });\n });\n }\n }\n\n viewPhone() {\n\t\tthis.viewVideoState = !this.viewVideoState;\n\t}\n\n onValChange(event) {\n if (event.checked) {\n // CHECK: RESTRINGIR EN CASO QUE SOULPHONE ESTÉ ACTIVO\n if (this.validateIfSoulPhoneStateIsActived() && event.checked) {\n this.toggleCheck = false;\n return;\n }\n }\n\n this.toggleCheck = event.checked\n if(event.checked == true){\n this.VideoStartButton = false;\n } else {\n this.VideoStartButton = true;\n this.videoState = 'register';\n this.videoService.getAdviserById(this.user.rrhh_id).subscribe(res =>{\n this.videoService.userAgent = null;\n const body = {\n id: res.id,\n state_id: 1\n };\n this.videoService.UpdateAdviserState(body).subscribe(resp => { });\n });\n }\n }\n\n startCalls(){\n this.videoState = 'ready';\n this.videoLlamadaButton = true;\n this.viewVideoState = false;\n\n this.videoService.getAdviserById(this.user.rrhh_id).subscribe(res =>{\n this.videoService.userAgent = res;\n const body = {\n campaign_id: res.campaign_id,\n adviser_id: res.id\n };\n this.videoService.sendEncolamiento(body).subscribe(resp => { });\n });\n\n }\n\n validateIfSoulPhoneStateIsActived(): boolean {\n this.toggleCheck = false;\n if (this.phonePanelService.userAgent) {\n this.toggleCheck = false;\n Swal.fire({\n title: 'Acción no valida.',\n text: 'SOULPhone se encuentra conectado, por favor, desconectar SOULPhone para iniciar una videollamada.',\n icon: 'error',\n confirmButtonColor: '#00acc1',\n });\n return true;\n }\n return false;\n }\n\n}\n","
\n \n
\n\n
\n \n \n
\n

Mi estado

\n \n
\n
\n Disponible \n
\n
\n \n
\n\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { UsersService } from '../../../services/users.service';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { saveAs as importedSaveAs } from \"file-saver\";\nimport { FilesViewComponent } from 'src/app/shared/files-view/files-view.component';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { PaymentSlipService } from '../../../services/paymentSlip.service';\n\n@Component({\n selector: 'app-certifications',\n templateUrl: './certifications.component.html',\n styleUrls: ['./certifications.component.sass']\n})\nexport class CertificationsComponent implements OnInit {\n\n certifications: any = CERTIFICATIONES;\n\n currentPage = 1;\n displayColumns: string[] = [];\n displayColumnsName: any = [];\n\n dataSource: any = [];\n length: number;\n pageSize: number;\n\n certicate: any;\n showPaymentSlip: boolean;\n dateForm: FormGroup\n currentYear: Date;\n currentMonthsByYear: { year, month}[] = [];\n allWorkersMonths: { year, month}[] = [];\n filterWorkersMonths: { year, month}[] = [];\n listOfYear:{ year, month}[] = [];\n workersMonths:{ year, month}[] = [];\n public months: { id, name }[] = [\n { id: 1, name: 'Enero' },\n { id: 2, name: 'Febrero' },\n { id: 3, name: 'Marzo' },\n { id: 4, name: 'Abril' },\n { id: 5, name: 'Mayo' },\n { id: 6, name: 'Junio' },\n { id: 7, name: 'Julio' },\n { id: 8, name: 'Agosto' },\n { id: 9, name: 'Septiembre' },\n { id: 10, name: 'Octubre' },\n { id: 11, name: 'Noviembre' },\n { id: 12, name: 'Diciembre' }\n ];\n public years: { id, name }[] = [];\n constructor(\n private userServices: UsersService,\n private dialog: MatDialog,\n private alertService: AlertsService,\n private paymentSlipService: PaymentSlipService\n ) { }\n\n ngOnInit(): void {\n this.showPaymentSlip = false;\n }\n\n /**\n * @author Johan Soler\n * @createdate 2022-06-29\n * Metodo para saber que desprendibles son del año actual\n */\n startPaymentSlip(){\n // this.generateArrayOfYears();\n this.generateRangeYear(2022); //Por defecto se pono 2022, por que asi se solicito\n this.currentYear = new Date();\n\n this.dateForm = new FormGroup({\n month: new FormControl(),\n year: new FormControl()\n });\n\n this.paymentSlipService.getWorkersMonth().subscribe((resp:any) => {\n for (let i = 0; i < resp.data.length; i++) {\n let date = resp.data[i].split('-');\n if(date[0] == this.currentYear.getFullYear()){\n this.currentMonthsByYear.push({year: date[0], month: date[1]});\n }\n this.allWorkersMonths.push({year: date[0], month: date[1]})\n }\n })\n }\n\n /**\n * @author Johan Soler\n * @createdate 2022-06-29\n * Metodo para retornar el nombre del mes\n */\n getName(number){\n for (let i = 0; i < this.months.length; i++) {\n if(this.months[i].id == Number(number)){\n return this.months[i].name;\n }\n }\n return \"\";\n }\n\n /**\n * @author Johan Soler\n * @createdate 2022-06-29\n * Metodo para cargar la vista correspondiente al filtro\n */\n getCertifications(value) {\n if (value == \"desprendibles\") {\n this.startPaymentSlip()\n this.showPaymentSlip = true;\n this.certicate = value;\n } else {\n this.showPaymentSlip = false;\n this.certicate = value;\n this.userServices.getCertifications(this.certicate).subscribe((resp: any) => {\n this.displayColumns = resp.columnsFields;\n this.displayColumnsName = resp.columnsName\n this.dataSource = new MatTableDataSource(resp.data.data);\n this.length = resp.data.total;\n this.pageSize = resp.data.per_page;\n })\n }\n }\n\n getPaginatorData(e) {\n this.currentPage = e.pageIndex + 1;\n this.getCertifications(this.certicate);\n }\n\n getCertificate(certificate, values, isView) {\n console.log(values);\n if (certificate == \"liquidacion\") {\n this.paymentSlipService.getPayment(values.month ?? '', values.year ?? '', '', true).subscribe((resp: any) => {\n if (isView) {\n let fileURL = URL.createObjectURL(resp);\n const checkDialog = this.dialog.open(FilesViewComponent, {\n data: { url: fileURL, name: certificate, file: resp }\n });\n } else {\n importedSaveAs(resp, certificate);\n }\n });\n }else{\n this.userServices.getCertificate(certificate, values).subscribe((resp: any) => {\n if (isView) {\n let fileURL = URL.createObjectURL(resp);\n const checkDialog = this.dialog.open(FilesViewComponent, {\n data: { url: fileURL, name: certificate, file: resp }\n });\n }\n else {\n importedSaveAs(resp, certificate);\n }\n },\n error => {\n if (error.status == 402 || error.status == 403 || error.status == 400) {\n this.alertService.alertError(\"Error\", 'Documento no encontrado, por favor valide sus documentos en Recursos Humanos');\n }\n if (error.status == 406) {\n this.alertService.alertError(\"Error\", 'No es posible generar tu certificado, por favor acércate con el personal de Recursos Humanos informando el siguiente código: LOGCOM01');\n }\n }\n )\n }\n }\n\n /**\n * @author Andrés Buitrago \n * @purpose Generar rango de años\n */\n generateArrayOfYears(): void {\n const max = new Date().getFullYear();\n let min = max;\n for (let i = 0; i < this.allWorkersMonths.length; i++) {\n\n if(this.allWorkersMonths[i].year < min){\n min = this.allWorkersMonths[i].year\n }\n }\n for (let i = max; i >= min-1; i--) {\n this.years.push({ id: i, name: i });\n }\n // this.filterWorkersMonths = this.allWorkersMonths;\n this.filterWorkersMonths = this.workersMonths;\n\n\n }\n\n /**\n * @author Johan Soler\n * Metodo para filtrar los meses y años del desprendible de nomina historial\n */\n filterPaymentSlip(){\n let yearValue = this.dateForm.controls['year'].value;\n let monthValue = this.dateForm.controls['month'].value;\n // this.filterWorkersMonths = this.allWorkersMonths;\n this.filterWorkersMonths = this.workersMonths;\n\n if((yearValue == null || yearValue == '') && (monthValue == null || monthValue == '')){\n return;\n }else if (monthValue == null || monthValue == ''){\n // this.filterWorkersMonths = this.allWorkersMonths.filter(element => element.year == yearValue);\n this.filterWorkersMonths = this.workersMonths.filter(element => element.year == yearValue);\n\n } else if (yearValue == null || yearValue == ''){\n // this.filterWorkersMonths = this.allWorkersMonths.filter(element => element.month == monthValue);\n this.filterWorkersMonths = this.workersMonths.filter(element => element.month == monthValue);\n } else {\n // this.filterWorkersMonths = this.allWorkersMonths.filter(element => element.month == monthValue && element.year == yearValue);\n this.filterWorkersMonths = this.workersMonths.filter(element => element.month == monthValue && element.year == yearValue);\n }\n }\n\n /**\n * @author Johan Soler\n * @createdate 2022-06-28\n * Modal para ver y descargar el documento\n */\n openPdfPaymentSlip(year, month) {\n const lastMonth = new Date().getMonth()+1 == month;\n this.paymentSlipService.getPayment(Number(month), year, lastMonth).subscribe((resp: any) => {\n let fileURL = URL.createObjectURL(resp);\n const checkDialog = this.dialog.open(FilesViewComponent, {\n data: { url: fileURL, name: \"desprendible_nomina\", file: resp ,print: true}\n });\n })\n }\n\n /**\n * @author David Reinoso\n * @createdate 2022-12-06\n * Funcion para generar un rango de años\n * @param min_year\n */\n generateRangeYear(min_year){\n if (this.workersMonths.length <= 0) {\n let date = new Date();\n let year = date.getFullYear();\n let mount = date.getMonth();\n let yearMin = min_year;\n while (yearMin <= year) { //Llenamos el array years con los años para el filtro\n this.years.push({ id: yearMin, name: yearMin });\n for (let i = 0; i < this.months.length; i++) {\n let dateCurrent = new Date(year, mount, 1);\n let dateBucle = new Date(yearMin, this.months[i].id, 1);\n if (dateBucle <= dateCurrent) {\n this.workersMonths.push({ year: yearMin, month: this.months[i].id });\n if (yearMin == year) {\n this.listOfYear.push({ year: yearMin, month: this.months[i].id });\n }\n }\n }\n yearMin++;\n }\n }\n }\n\n}\n\nconst CERTIFICATIONES = [\n {\n key: 'certificado_laboral',\n name: 'Certificado Laboral'\n },\n {\n key: 'desprendibles',\n name: 'Desprendibles'\n },\n // {\n // key: 'cesantias',\n // name: 'Cesantias'\n // },\n // {\n // key: 'prima',\n // name: 'Prima'\n // },\n {\n key: 'liquidacion',\n name: 'Liquidación'\n },\n // {\n // key: 'contrato',\n // name: 'Contrato'\n // },\n // {\n // key: 'arl',\n // name: 'ARL'\n // },\n // {\n // key: 'caja',\n // name: 'CAJA'\n // },\n // {\n // key: 'bank_certified',\n // name: 'Certificación Bancaria'\n // }\n];\n\n","
\n\n

Certificaciones

\n

En esta sección podrás visualizar o descargar todos tus certificados

\n\n\n
\n \n Certificados Disponibles\n \n {{row.name}}\n \n \n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{column.name}} \n \n \n {{column.name}} {{element[column.field]}}
\n 0\" [length]=\"length\" [pageSize]=\"pageSize\"\n (page)=\"getPaginatorData($event)\" showFirstLastButtons>\n
\n\n \n
\n \n \n
\n
\n \n
\n
\n
\n \n
\n\n \n \n

Desprendible mes

\n
\n \n

{{getName(element.month)}}

\n
\n
\n
\n
\n
\n
\n
\n
\n\n \n
\n \n Filtrar por año\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n\n \n Filtrar por mes\n \n Seleccionar\n \n {{item?.name}}\n \n \n \n
\n
\n
\n \n
\n
\n
\n \n
\n \n \n

Desprendible año {{element.year}} mes

\n
\n \n

{{getName(element.month)}}

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
","import { Component, OnInit, Inject, ViewChild, ElementRef } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport * as html2pdf from 'html2pdf.js';\n\n@Component({\n selector: 'app-management-history-view',\n templateUrl: './management-history-view.component.html',\n styleUrls: ['./management-history-view.component.css']\n})\nexport class ManagementHistoryViewComponent implements OnInit {\n @ViewChild('containerViewMail') containerViewMail: ElementRef\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private matDialogRef: MatDialogRef,\n private alertService: AlertsService\n ) { }\n\n ngOnInit(): void {\n \n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-01-03\n * Metodo que imprime el correo seleccionado.\n */\n async onClickPrintToEmailPdf() {\n const content = this.containerViewMail.nativeElement;\n const options = {\n margin: 10,\n filename: 'Email.pdf',\n image: { type: 'jpeg', quality: 0.98 },\n html2canvas: { scale: 2 },\n jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }\n };\n html2pdf().from(content).set(options).save();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-05-21\n * Metodo que envia la informacion del correo seleccionado al componente padre.\n */\n onClickSaveEmail(): void {\n this.alertService.alertWarning('¿Está seguro?', '¿De almacenar el correo seleccionado en las bases de datos?').then(confirm => {\n if (confirm.isConfirmed) this.matDialogRef.close(this.data.management); \n });\n }\n}","
\n
\n \n Atras\n
\n \n
\n \n Imprimir\n
\n
\n \n
\n \n
\n
","import { OrdenCompraComponent } from './../orden-compra/orden-compra.component';\nimport { DescargaComponent } from './../historial-aprobador/descarga/descarga.component';\nimport { Component, OnInit, Inject, ViewChild } from '@angular/core';\nimport {animate, state, style, transition, trigger} from '@angular/animations';\nimport { OrdenesService } from '../../../../services/rest/ordenes.service';\nimport { saveAs as importedSaveAs } from 'file-saver';\nimport { OrdenCompraFragComponent } from '../orden-compra-frag/orden-compra-frag.component';\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\nimport { AlertsService } from '../../../../../../shared/alerts/alerts.service';\nimport { ArchivosService } from '../../../../services/rest/archivos.service';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { DatePipe } from '@angular/common'\nimport Swal from 'sweetalert2';\nimport { CompaniaService } from 'src/app/modules/compras/services/rest/compania.service';\nimport { FormControl } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { ProveedoresService } from 'src/app/modules/portal/services/proveedores.service';\n\n\n@Component({\n selector: 'app-orden-compra-list',\n templateUrl: './orden-compra-list.component.html',\n styleUrls: ['./orden-compra-list.component.sass'],\n animations: [\n trigger('detailExpand', [\n state('collapsed', style({height: '0px', minHeight: '0'})),\n state('expanded', style({height: '*'})),\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n ],\n})\nexport class OrdenCompraListComponent implements OnInit {\n companias : any[] = [];\n filteredOptionsCompania : any[] = [];\n dataSource = new MatTableDataSource();\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n columnsToDisplay = ['Acciones', 'ID Orden', 'Fecha de creación', 'NIT', 'Razón Social','request_title', 'Empresa', 'Estado'];\n expandedElement;\n length;\n pageSize = 5;\n page = 1;\n isPage = 0;\n pageSizeOptions : number[] = [5, 10, 25, 100];\n ordersStates : any = [];\n filterState : number[] = [];\n filterPurchaseOrderId : number = null;\n filterCompany: number = null;\n filterNit: string = null;\n filterRazon: string = null;\n defaultStates = [1,7,5,8,6,9];\n listOrderStates : any =[];\n textProveedor: FormControl = new FormControl('');\n listProveedores: any[] = [];\n filterListProveedores: Observable;\n filterProveedor: any = null;\n\n\n columns = this.columnsToDisplay;\n\n constructor( public ordenesService : OrdenesService,\n private alertsService : AlertsService,\n private archivoService : ArchivosService,\n public datepipe : DatePipe,\n public dialog : MatDialog,\n private companiaService : CompaniaService,\n private proverdorService: ProveedoresService\n ) { }\n\n ngOnInit(): void {\n\n const filterSaveIntoStorageOc = JSON.parse(localStorage.getItem('filter_orden'));\n if(filterSaveIntoStorageOc && filterSaveIntoStorageOc.length > 0) this.filterState = filterSaveIntoStorageOc\n this.getCompanies();\n this.getOrders();\n this.getOrdersStates();\n this.getProveedores();\n this.filterListProveedores = this.textProveedor.valueChanges.pipe(startWith(''), map(value => this._filter(value)));\n }\n\n getProveedores(): void {\n const params = { numeroRegistros: null, razon_social: null, nit: null, all_provedores: true };\n this.proverdorService.getProveedores(null, params).subscribe(res => {\n this.listProveedores = res;\n });\n }\n\n private _filter(value: string): any[] {\n const filterValue = value.toLowerCase();\n return this.listProveedores.filter(option => option.razon_social.toLowerCase().includes(filterValue));\n }\n\n displayFn(module: any): string {\n return module && module ? module : '';\n }\n\n filterProveedores($event: any) {\n const nameProveedor = $event.option.value;\n const proveedor = this.listProveedores.find(item => item.razon_social === nameProveedor);\n this.filterProveedor = proveedor ? proveedor.id : null;\n this.getOrders();\n }\n\n validateStateFrags(ordenCompra: any): boolean {\n if (ordenCompra.hasOwnProperty('purchase_order_frags')) {\n if (ordenCompra.purchase_order_frags.length > 0) {\n return ordenCompra.purchase_order_frags.filter(item => item.purchase_order_state_id === 1).length > 0 ? true : false;\n } else {\n return false;\n }\n } \n return false;\n }\n\n /**\n * Consulta las companias\n */\n getCompanies() {\n this.companiaService.getCompany().subscribe(comp=>{\n this.companias = comp.data;\n this.filteredOptionsCompania = this.companias;\n });\n }\n\n /**\n * Consulta las órdenes con los filtros correspondientes\n */\n getOrders() {\n for (let index = 0; index < this.filterState.length; index++) this.filterState = this.filterState[index] == 9 ? [] : this.filterState;\n this.ordenesService.getOrdersPaginate(\n this.isPage,\n this.pageSize,\n this.page ,\n this.filterNit,\n this.filterState,\n null,\n this.filterPurchaseOrderId,\n this.filterCompany,\n null,\n this.filterRazon,\n this.filterProveedor\n ).subscribe( resp => {\n\n this.dataSource.data = resp.data.data;\n this.dataSource.sort = this.sort;\n this.length = resp.data.total;\n this.pageSize = resp.data.per_page;\n });\n }\n /**\n * Consulta listado de ordenes de estado\n */\n getOrdersStates() {\n this.ordenesService.getOrdersStates().subscribe( resp => {\n this.ordersStates = resp.data.filter(state => {\n let flag = false;\n this.defaultStates.map(s => {\n if(s === state.id) flag = true;\n })\n return flag;\n })\n //this.ordersStates = this.defaultStates;\n });\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-10\n * Metodo que filtra las companias segun el autocomplete\n */\n filterByCompany(company) {\n this.filterCompany = company;\n this.getOrders();\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-10\n * Metodo que muestra el nombre de la empresa seleccionada\n */\n displayFnCompania(id: number): string{\n if (!id) { return ''; }\n let index = this.companias.findIndex(resp => resp.id === id);\n return this.companias[index].name;\n\n }\n\n /**\n * @author Andres Giraldo\n * @createdate 2022-03-10\n * Metodo que filtra las companias segun el autocomplete\n */\n filterCompanies(v){\n const filterValue = v.toLowerCase();\n this.filteredOptionsCompania = this.companias.filter(option => option.name.toLowerCase().indexOf(filterValue) === 0);\n }\n\n\n\n /**\n * Consulta ordenes aplicando filtro por Estados\n * @param event\n */\n\n filterByState(event) {\n this.filterState = event;\n localStorage.setItem('filter_request', JSON.stringify(this.filterState));\n this.getOrders();\n\n }\n\n filterbyRazonsocial(event) {\n this.filterRazon = event.target.value;\n this.getOrders();\n }\n\n filterByNit(event) {\n this.filterNit = event.target.value;\n this.getOrders();\n }\n\n\n /**\n * Consulta ordenes aplicando filtro por nit\n * @param event\n */\n filterByPurchaseOrderId(event) {\n this.filterPurchaseOrderId = Number((event.target as HTMLInputElement).value.replace('OC-',''));\n this.getOrders();\n }\n\n\n downloadManagement () {\n this.dialog.open( DescargaComponent , {\n width : '60%',\n data:{\n type:\"orden\"\n }\n } )\n\n\n }\n\n editOrder (order) {\n const estado ={\n state:5\n }\n\n\n //Confirma cambio de estado de aproba a rechazada\n Swal.fire({\n icon : 'warning',\n title : '¿Estás seguro?',\n text : \"¿Deseas enviar la orden de compra?, recuerda que esto será definitivo y no se podrá deshacer, únicamente podrás fragmentar la orden de compra\",\n showCancelButton : true,\n focusConfirm : false,\n confirmButtonText : 'Aceptar',\n cancelButtonText : \"Cancelar\"\n }).then( (result) => {\n if(result.isConfirmed){\n this.ordenesService.updateState(estado, order.id).subscribe((resp)=>{\n this.alertsService.alertSuccess('Orden Enviada',resp.data);\n this.ngOnInit();\n },\n error => {\n console.error(error)\n this.alertsService.alertWarning('Atención',error.error.error);\n }\n );\n }\n } )\n\n\n\n }\n\n editOrderFrag(order){\n const estado ={\n state:5\n }\n\n //Confirma cambio de estado de aproba a rechazada\n Swal.fire({\n icon : 'warning',\n title : '¿Estás seguro?',\n text : \"¿Deseas enviar la orden de compra?, recuerda que esto será definitivo y no se podrá deshacer, únicamente podrás fragmentar la orden de compra\",\n showCancelButton : true,\n focusConfirm : false,\n confirmButtonText : 'Aceptar',\n cancelButtonText : \"Cancelar\"\n }).then( (result) => {\n if(result.isConfirmed){\n this.ordenesService.updateStateFrag(estado, order.id).subscribe((resp)=>{\n this.alertsService.alertSuccess('Orden Enviada',resp.data);\n this.ngOnInit();\n });\n }\n } )\n\n\n\n }\n\n downloadOrder (order) {\n const archivo ={\n path:order.path\n };\n this.archivoService.downloadOrder(archivo).subscribe( resp=>{\n const a = document.createElement('a');\n const file = new Blob([resp], { type: 'application/pdf' });\n a.href = window.URL.createObjectURL(file);\n a.download = 'Orden_Compra.pdf';\n a.click();\n\n }, error =>{\n\n });\n }\n\n\n fragmentarOrder(order){\n const dialogNewRol = this.dialog.open(OrdenCompraFragComponent, {\n width: '90%',\n disableClose: true,\n data: {\n type: 'fragmentar',\n title: 'Fragmentar orden de compra',\n ordenCompra:order\n\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(resp => {\n if(resp) {\n this.getOrders();\n }\n this.getOrders();\n });\n }\n\n\n\n\n viewOrder(order){\n\n const dialogNewRol = this.dialog.open(OrdenCompraFragComponent, {\n width: '90%',\n disableClose: true,\n data: {\n type: 'view',\n title: 'Orden de compra',\n ordenCompra:order,\n\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(() => {\n\n this.ngOnInit();\n });\n\n }\n\n editOrderTota(order){\n\n //const dialogNewRol = this.dialog.open(OrdenCompraEditComponent, {\n const dialogNewRol = this.dialog.open(OrdenCompraComponent , {\n width: '90%',\n disableClose: true,\n data: {\n type: 'edit',\n title: 'Orden de compra',\n ordenCompra:order,\n solicitud:order,\n proveedor: order.provider\n\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewRol.afterClosed().subscribe(result => {\n this.getOrders();\n //this.ngOnInit();\n });\n }\n\n pageEvent(event) {\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getOrders();\n }\n\n\n\n\n\n}\n","
\n\n \n Orden de compra\n \n OC- \n \n \n\n \n Estado\n \n {{state.name}}\n \n \n\n \n NIT\n \n \n\n \n Razón social\n \n \n\n
\n\n
\n \n
\n \n
\n
\n\n
\n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n
\n
\n \n \n \n \n \n
\n\n
ID Orden OC-{{element.purchase_order_number }} Fecha de creación {{element.created_at | date:'yyyy-MM-dd': 'UTC'}} NIT {{element.provider.nit}} Razón social {{element.provider.razon_social|slice:0:30 }} Título de solicitud \n {{ element.request.title | slice:0:30 }}\n 30\" >...\n Empresa {{element.company.name}} Estado \n
\n  \n {{element.purchase_order_state.name}}
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n
\n
OC-{{element.purchase_order_number}}-{{frag.purchase_order_number}}{{frag.created_at | date}}{{frag.remission_state == 'Finalizado' || frag.purchase_order_state_id == 1 ? 'Creado' : frag.purchase_order_state_id == 8 ? 'En inventario' : 'Enviado a pago'}}Cancelada
\n
\n
No hay datos que coincidan con el filtro
\n \n \n\n
\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { PreguntasService } from 'src/app/modules/auditoria/services/preguntas.service';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-detalle-pregunta',\n templateUrl: './detalle-pregunta.component.html',\n styleUrls: ['./detalle-pregunta.component.sass']\n})\nexport class DetallePreguntaComponent implements OnInit {\n\n /**\n * @author Cristian Gallo\n * Variable para almacenar los tipos de preguntas \n */\n tiposPreguntas = [];\n \n /**\n * @author Cristian Gallo\n * Variable para almacenar los rangos existente por tipo de pregunta lineal\n */\n items_tipo_pregunta;\n questionForm:FormGroup;\n elimantedOptions = [];\n constructor(\n private fb:FormBuilder,\n public questionRef:MatDialogRef,@Inject(MAT_DIALOG_DATA) public datos:any,\n private preguntaService:PreguntasService\n ) { }\n\n ngOnInit(): void {\n this.getTypeQuestions();\n this.createForm();\n this.getQuestionById();\n }\n\n /**\n * @author Cristian Gallo\n * Función para llamar los tipos de preguntas\n */\n getTypeQuestions(){\n this.preguntaService.getTypeQuestions().subscribe((resp:any)=>{\n this.tiposPreguntas = resp;\n })\n }\n\n createForm(){\n this.questionForm = this.fb.group({\n question_type_id: [{value:'', disabled:true}],\n question: [''],\n multiple: this.fb.array([]),\n question_type_item_id: '',\n requerida: [''],\n });\n this.edit()\n }\n\n /**\n * @author Cristian Gallo\n * Función para llamar los datos de la pregunta seleccionada\n */\n getQuestionById(){\n this.preguntaService.getQuestionByID(this.datos.id).subscribe((resp:any)=>{\n this.questionForm.get('question_type_id').setValue(resp.question_type_id);\n this.questionForm.get('question').setValue(resp.question);\n this.questionForm.get('requerida').setValue(resp.requerida);\n if (resp.tipo_pregunta.key == 'selección_múltiple' || resp.tipo_pregunta.key == 'lista_desplegable') {\n const option = this.questionForm.controls['multiple'];\n resp.opciones_respuesta_form_pregunta_activos.forEach(opcion => {\n option.push(this.fb.group(opcion));\n });\n this.edit()\n }\n if (resp.tipo_pregunta.key == \"escala_lineal\") {\n this.items_tipo_pregunta = resp.tipo_pregunta.items_tipo_pregunta;\n this.questionForm.get('question_type_item_id').setValue(resp.question_type_item_id)\n }\n });\n }\n\n get getOptions(){\n return this.questionForm.get('multiple') as FormArray;\n }\n\n /**\n * @author Cristian Gallo\n * Función para habilitar o desabilidar campos y botones del formulario,\n * una vez se ingrese al dialog\n */\n edit(){\n if (this.datos.edit) {\n this.questionForm.enable();\n this.questionForm.get('question_type_id').disable();\n }else{\n this.questionForm.disable();\n }\n }\n\n /**\n * @author Cristian Gallo\n * Función para habilitar campos y botones del formulario usando el boton editar\n */\n btnEdit(){\n this.questionForm.enable();\n this.questionForm.get('question_type_id').disable();\n this.datos.edit = true;\n }\n\n /**\n * @author Cristian Gallo\n * Función para agregar una nueva opción\n */\n addOption(){\n const option = this.questionForm.controls['multiple'];\n option.push(this.fb.group({\n activo: 1,\n business_intelligence_question_id: this.datos.id,\n created_at: '',\n name: '',\n other_answer: 0,\n updated_at: '',\n }));\n }\n\n /**\n * @author Cristian Gallo\n * Función para retirar una opción\n */\n removeOption(item:number,id_option){\n const option = this.questionForm.controls['multiple'];\n option.removeAt(item);\n const data = {\n id_pregunta: this.datos.id,\n id_opcion: id_option\n }\n this.elimantedOptions.push(data);\n }\n\n /**\n * @author Cristian Gallo\n * Función para actualizar información de la pregunta\n */\n updateQuestion(){\n this.questionForm.addControl('other_answer', new FormControl(0));\n this.questionForm.get('question_type_id').enable();\n this.preguntaService.updateQuestion(this.datos.id,this.questionForm.value).subscribe((resp:any)=>{\n this.questionForm.get('question_type_id').disable();\n if (resp.respuesta.codigo != 202) {\n Swal.fire({\n icon: 'error',\n title: '¡Oops!',\n text: 'Lo sentimos ha sucedio un error',\n showConfirmButton: false,\n timer: 3500\n })\n return;\n }\n this.elimantedOptions.forEach(option => {\n this.preguntaService.deleteOpcion(option).subscribe(()=>{});\n });\n Swal.fire({\n icon: 'success',\n title: '¡Excelente!',\n text: 'La pregunta se ha actualizado con éxito',\n showConfirmButton:false,\n timer: 2500\n })\n this.questionRef.close(resp.respuesta.codigo);\n },(err:any)=>{\n this.questionForm.get('question_type_id').disable();\n }\n );\n }\n\n}\n","\n
\n
\n

Detalle pregunta

\n \n \n
\n \n Tipo de pregunta\n \n {{tipo.name}}\n \n \n \n Pregunta\n \n \n
\n
\n
\n \n Opción {{i+1}}\n \n 1\" [hidden]=\"!datos.edit\" (click)=\"removeOption(i,opcion.value.id)\">\n \n
\n
\n \n
\n
\n \n Escala {{opcion.name}}\n \n
\n
\n
\n
\n \n Opción {{i+1}}\n \n 1\" [hidden]=\"!datos.edit\" (click)=\"removeOption(i,opcion.value.id)\">\n \n
\n
\n \n
\n Respuesta Obligatoria\n
\n \n \n
\n
","import { Component, OnInit, ViewChild } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { MatDialog } from \"@angular/material/dialog\";\nimport { MatPaginator, PageEvent } from \"@angular/material/paginator\";\nimport { MatSort } from \"@angular/material/sort\";\nimport { MatTableDataSource } from \"@angular/material/table\";\nimport Swal from \"sweetalert2\";\nimport { ChatService } from \"../../../services/chat.service\";\nimport { UploadChatsModalComponent } from \"../upload-chats-modal/upload-chats-modal.component\";\n\n\n@Component({\n selector: 'app-speech-uploadchat',\n templateUrl: './speech-uploadchat.component.html',\n styleUrls: ['./speech-uploadchat.component.sass']\n})\nexport class SpeechUploadchatComponent implements OnInit {\n filter: string = '';\n formFilters:FormGroup; \n textInputFilter: string = '';\n configPaginator: any = { length: 0, pageSize: 5, pageIndex: 1 };\n pageSizeOptions = [5, 10, 25, 50, 100];\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n\n //configuracion informacion a mostar\n configColumnsTable: any[] = [\n { key: 'actions', name: 'Acciones'},\n { key: 'id', name: '#' },\n { key: 'user', name: 'Usuario' },\n { key: 'file', name: 'Nombre archivo' },\n { key: 'state', name: 'Estado' },\n { key: 'creation_date', name: 'Fecha creación'},\n ]; \n\n //configuracion columnas tabla\n keysColumnsTable: string[] = [];\n displayedColumns: string[] = ['actions','id', 'user', 'file', 'state', 'creation_date'];\n\n//datasoure para manejo informacion en la tabla\n dataSource = new MatTableDataSource();\n \n//marsort para ordenar los datos cargados por la tabla\n @ViewChild(MatSort) sort: MatSort;\n\n ngOnInit(): void {\n this.keysColumnsTable = this.configColumnsTable.map((item: any) => item.key);\n this.uploadData();\n }\n\n constructor(\n private dialog:MatDialog,\n private chatService: ChatService,\n ) { }\n\n\n\n /**\n * Metodo abrir modal para cargar el dcumento excel\n * @author Yeison Sepulveda\n * @createdate 2024-07-09\n */\n uploadExcel(): void {\n const dialogRef= this.dialog.open(UploadChatsModalComponent, {\n width: '50%',\n maxWidth: '80vw',\n maxHeight: '95vh',\n autoFocus: false,\n panelClass: 'dialog-padding-category',\n data: {\n }\n });\n dialogRef.afterClosed().subscribe(result => {\n this.uploadData(); \n });\n }\n\n /**\n * Metodo que pagina la informacion de la tabla.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * @param $event Evento emitido por el paginador.\n */\n\n changePage($event: PageEvent): void {\n this.configPaginator.pageSize = $event.pageSize;\n this.configPaginator.pageIndex = $event.pageIndex + 1;\n this.uploadData();\n }\n\n /**\n * Metodo que filtra los datos de la tabla.\n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n * @param $event Evento emitido por el input.\n */\n\n onSearchClick(value: string): void {\n this.configPaginator.pageIndex= 0;\n this.paginator.firstPage();\n this.filter = value;\n this.uploadData(); \n }\n\n /**\n * Metodo obtine y carga la informacion de los cargues al datasource. \n * @author Yeison Sepulveda\n * @createdate 2024-02-15\n */\n uploadData(): void {\n this.chatService.uploadDataPaginate(this.filter, this.configPaginator).subscribe(\n res => {\n this.dataSource.data = res.data.data;\n this.dataSource.sort = this.sort;\n this.configPaginator.length = res.data.total;\n },\n error => {\n console.error('Error al cargar la información:', error);\n }\n );\n }\n\n /**\n * Metodo confirmar sid esea descargar el archivo\n * @author Yeison Sepulevda\n * @createdate 2024-02-15\n */\n\n downloadUpload(element: any): void {\n Swal.fire({\n title: '¿Estás seguro?',\n text: '¿Estás seguro de descargar el documento?',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n this.downloadFile(element.id, element.file);\n } else {\n element.active = !element.active;\n }\n });\n }\n \n /**\n * Metodo descargar documento excel subido de la carga\n * @author Yeison Sepulevda\n * @createdate 2024-07-10\n * \n */\n downloadFile(id: number, filename: string): void {\n this.chatService.dowloadUploadTemplate(id).subscribe(\n (response: any) => {\n //objeto Blob con el contenido del archivo\n const blob = new Blob([response], { type: 'application/octet-stream' });\n\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.style.display = 'none';\n a.href = url;\n a.download = filename; //asignar nombre documento\n document.body.appendChild(a);\n a.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(a);\n },\n (error) => {\n console.error('Error al descargar el', error);\n Swal.fire({\n title: 'Error al descargar',\n text: 'Ha ocurrido un error al descargar el excel',\n icon: 'error',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n );\n }\n\n /**\n * Metodo confirmar eliminar el documento\n * @author Yeison Sepulevda\n * @createdate 2024-02-15\n */\n deleteUpload(element: any): void {\n Swal.fire({\n title: '¿Estás seguro?',\n text: '¿Estás seguro de eliminar el documento?',\n icon: 'warning',\n showCancelButton: true,\n showConfirmButton: true,\n confirmButtonColor: '#2CABBC',\n cancelButtonColor: '#FFFFFF',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Aceptar',\n reverseButtons: true\n }).then((result) => {\n if (result.isConfirmed) {\n const body= {\n id: element\n }\n this.chatService.deleteUploadChatFile(body).subscribe(\n (response: any) => {\n console.log(response.message);\n this.uploadData();\n },\n (error) => {\n console.error('Error al eliminar el', error.message);\n Swal.fire({\n title: 'Opps...',\n text: 'Ha ocurrido un error al eliminar el archivo',\n icon: 'error',\n confirmButtonText: '¡Entendido!',\n confirmButtonColor: '#2CABBC',\n });\n }\n );\n } else {\n element.active = !element.active;\n }\n });\n }\n\n\n}\n","
\n
\n \n Buscar\n \n \n \n
\n
\n
\n \n
\n
\n\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{ column.name }} \n \n \n {{ column.name }} {{ element[column.key] }}
No existe información relacionada
\n\n \n \n\n
\n
","import { LOCALE_ID, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CrmComponent } from './crm.component';\nimport { CrmRoutingModule } from './crm-routing.module';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { GroupsModule } from './modules/groups/groups.module';\nimport { FormsModule } from '@angular/forms';\nimport { AdminEscalationComponent } from './modules/escalation/admin-escalation/admin-escalation.component';\nimport { ViewEscalationComponent } from './modules/escalation/view-escalation/view-escalation.component';\nimport { AdminEmailComponent } from './modules/email/admin-email/admin-email.component';\nimport { ViewMailComponent } from './modules/email/view-mail/view-mail.component';\nimport { CreateStateComponent } from './modules/escalation/create-state/create-state.component';\nimport { CreateAffairComponent } from './modules/escalation/create-affair/create-affair.component';\nimport { EditUserComponent } from './modules/escalation/edit-user/edit-user.component';\nimport { AngularEditorModule } from '@kolkov/angular-editor';\nimport { ManageEmailComponent } from './modules/email/manage-email/manage-email.component';\nimport { NewEmailComponent } from './modules/email/new-email/new-email.component';\nimport { TemplatesModule } from './modules/templates/templates.module';\nimport { LandingPageCrmComponent } from './modules/landing-page-crm/landing-page-crm.component';\nimport { MailEscalationComponent } from './modules/escalation/mail-escalation/mail-escalation.component';\nimport { GestionadorCorreosComponent } from \"./modules/escalation/gestionador-correos/gestionador-correos.component\";\n\nimport localeEs from '@angular/common/locales/es';\nimport { registerLocaleData } from '@angular/common';\nimport { ViewPlantillasComponent } from './modules/escalation/view-plantillas/view-plantillas.component';\nimport { FilesUploadComponent } from './modules/escalation/files-upload/files-upload.component';\nregisterLocaleData(localeEs, 'es');\n\n@NgModule({\n declarations: [\n CrmComponent,\n AdminEscalationComponent,\n ViewEscalationComponent,\n AdminEmailComponent,\n ViewMailComponent,\n CreateStateComponent,\n CreateAffairComponent,\n EditUserComponent,\n ManageEmailComponent,\n NewEmailComponent,\n LandingPageCrmComponent,\n MailEscalationComponent,\n GestionadorCorreosComponent,\n ViewPlantillasComponent,\n FilesUploadComponent,\n ],\n imports: [\n CommonModule,\n CrmRoutingModule,\n SharedModule,\n GroupsModule,\n FormsModule,\n TemplatesModule,\n AngularEditorModule\n ],\n exports: [\n ],\n providers: [{provide: LOCALE_ID, useValue: 'es'}],\n})\nexport class CrmModule2 { }\n","import { Component, OnInit, Inject, ViewChild } from '@angular/core';\nimport { FormGroup, FormBuilder, FormControl, Validators, FormArray } from '@angular/forms';\nimport { MatChipInputEvent, MatChipList } from '@angular/material/chips';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FullCalendarComponent, CalendarOptions, EventClickArg } from '@fullcalendar/angular';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { validateArrayNotEmpty, validateIsEmails, validateTimeRange, validateArrayDaysNotEmpty } from '../../constantes/custom-validations';\nimport { MatSelectChange } from '@angular/material/select';\nimport { ContactGroupComponent } from '../contact-group/contact-group.component';\nimport { EDITOR_CONFIG as editor_modify } from '../../constantes/mail-config-editor';\nimport { EDITOR_CONFIG as editor_view } from '../../constantes/mail-config-editor-view';\nimport { TeamsService } from '../../services/teams.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { SnackBarService } from '../../services/snack-bar.service';\nimport { DAYS_OF_WEEK } from '../../constantes/create-data-chart';\nimport * as moment from 'moment';\nimport esLocale from '@fullcalendar/core/locales/es';\nimport * as ClassicEditor from '@ckeditor/ckeditor5-build-classic';\n\n\n@Component({\n selector: 'app-create-meeting',\n templateUrl: './create-meeting.component.html',\n styleUrls: ['./create-meeting.component.css']\n})\nexport class CreateMeetingComponent implements OnInit {\n @ViewChild('calendar') calendar: FullCalendarComponent;\n @ViewChild('participants') participants: MatChipList;\n formMeeting: FormGroup = new FormGroup({\n id: new FormControl('', []),\n emailAccount: new FormControl('', [Validators.required]),\n title: new FormControl('', [Validators.required]),\n dateStart: new FormControl('', [Validators.required]),\n dateEnd: new FormControl('', [Validators.required]),\n timeStart: new FormControl('', [Validators.required]),\n timeEnd: new FormControl('', [Validators.required]),\n typeOfRecurrence: new FormControl('Ninguna', [Validators.required]),\n repeatEach: new FormControl('1', []),\n days: new FormControl([], []),\n typeOptionDayMonth: new FormControl('', []),\n recurrenceDaysInMonth: new FormControl('', []),\n participants: this.formBuilder.array([], [validateArrayNotEmpty, validateIsEmails]),\n linkByTeams: new FormControl(false, []),\n description: new FormControl('', [Validators.required]),\n limitDate: new FormControl('', [])\n });\n showCalendar: boolean = false;\n showFormMeeting: boolean = false;\n calendarOptions: CalendarOptions = null;\n separatorKeysCodes: number[] = [ENTER, COMMA];\n editorConfig: any = editor_modify;\n eventsTeams: any[] = [];\n eventTeamsSelected: any = null;\n stateFieldsForm: boolean = false;\n buttonsManagerMeeting: any[] = [\n { name: 'Editar Meeting', class: 'fi-rr-edit fs-4', styles: { 'height': '48px', 'background-color': '#2CABBC', 'color': '#FFFFFF' }, show: false },\n { name: 'Eliminar Meeting', class: 'fi-rr-trash fs-4', styles: { 'height': '48px', 'background-color': '#BE0F0F', 'color': '#FFFFFF' }, show: false },\n { name: 'Aceptar Meeting', class: 'fi-rr-check fs-4', styles: { 'height': '48px', 'background-color': '#2CABBC', 'color': '#FFFFFF' }, show: false },\n { name: 'Rechazar Meeting', class: 'fi-rr-cross fs-4', styles: { 'height': '48px', 'background-color': '#BE0F0F', 'color': '#FFFFFF' }, show: false },\n ];\n typesRecurrence: string[] = ['Ninguna', 'Diario', 'Semanal', 'Mensual'];\n daysOfWeek: any[] = DAYS_OF_WEEK;\n typesOptionDayMonth: string[] = ['Día del mes'];\n currentDate: any = moment().format();\n allowManagement: boolean = true;\n\n /**\n * CKEDitor Config\n */\n isDisabledEditEditor:boolean = false\n public editorBody = ClassicEditor\n\n public configTextBody = {\n placeholder: 'Ingresa aqui el cuerpo del PDF',\n language: 'es'\n }\n\n constructor(\n private formBuilder: FormBuilder,\n private matDialog: MatDialog,\n private teamsService: TeamsService,\n private alertService: AlertsService,\n private snackBarService: SnackBarService,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) { \n /*\n ClassicEditor.defaultConfig = {\n toolbar: {\n items: [\n 'heading',\n '|',\n 'bold', 'italic',\n '|',\n 'link',\n '|',\n 'bulletedList', 'numberedList',\n '|',\n 'insertTable',\n '|',\n 'blockQuote',\n '|',\n 'undo',\n 'redo'\n ],\n },\n heading: {\n options: [\n { model: 'paragraph', title: 'Párrafo', class: 'ck-heading_paragraph' },\n { model: 'heading1', view: 'h1', title: 'Título 1', class: 'ck-heading_heading1' },\n { model: 'heading2', view: 'h2', title: 'Título 2', class: 'ck-heading_heading2' },\n { model: 'heading3', view: 'h3', title: 'Título 3', class: 'ck-heading_heading3' },\n { model: 'heading4', view: 'h4', title: 'Título 4', class: 'ck-heading_heading4' },\n { model: 'heading5', view: 'h5', title: 'Título 5', class: 'ck-heading_heading5' },\n { model: 'heading6', view: 'h6', title: 'Título 6', class: 'ck-heading_heading6' }\n ]\n },\n \n table: {\n contentToolbar: [ 'tableColumn', 'tableRow', 'mergeTableCells' ]\n },\n language: 'es'\n };\n */\n }\n\n ngOnInit(): void {\n this.formMeeting.get('participants')?.statusChanges.subscribe(status => { this.participants.errorState = status === 'INVALID'; });\n this.formMeeting.get('timeStart').setValidators([Validators.required, validateTimeRange(this.formMeeting.get('timeStart'), this.formMeeting.get('timeEnd'))]);\n this.formMeeting.get('timeEnd').setValidators([Validators.required, validateTimeRange(this.formMeeting.get('timeStart'), this.formMeeting.get('timeEnd'))]);\n this.formMeeting.get('timeStart').updateValueAndValidity();\n this.formMeeting.get('timeEnd').updateValueAndValidity();\n this.formMeeting.get('timeEnd').valueChanges.subscribe(() => {\n this.formMeeting.get('timeStart').updateValueAndValidity();\n });\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2024-02-28\n * Metodo que precarga los eventos en el calendario cuando se cambia la cuenta de correo seleccionada.\n * @param $event Evento emitido por el campo select. \n */\n getEventsByEmailSelected($event: MatSelectChange): void {\n const startDateMonth = moment().startOf('month').format('YYYY-MM-DD');\n const endDateMonth = moment().endOf('month').format('YYYY-MM-DD');\n this.getEvents(startDateMonth, endDateMonth, $event.value);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-01\n * Metodo que precarga los eventos en el calendario.\n * @param startDate Fecha inicial del mes. \n * @param endDate Fecha inicial del mes.\n * @param idEmailConfig Id de la cuenta de email. \n */\n getEvents(startDate: string, endDate: string, idEmailConfig: number): void {\n this.eventsTeams = [];\n this.teamsService.getCalendarByEmailAccount(idEmailConfig, startDate, endDate).subscribe(res => {\n if (!res.error) {\n const events = res.data;\n for (const key in events) {\n const objectEvent = {\n id: events[key].object_id,\n title: events[key].subject !== '' ? events[key].subject : 'Sin título',\n start: moment(events[key].start).format('YYYY-MM-DD'),\n end: moment(events[key].end).format('YYYY-MM-DD'),\n };\n this.eventsTeams.push(objectEvent);\n }\n this.calendarOptions = {\n initialView: 'dayGridMonth',\n locales: [esLocale],\n locale: 'es',\n customButtons: {\n prev: { click: this.onClickButtonPreviousCalendar.bind(this) },\n today: { text: 'Hoy', click: this.onClickButtonTodayCalendar.bind(this) },\n next: { click: this.onClickButtonNextCalendar.bind(this) },\n },\n showNonCurrentDates: false,\n handleWindowResize: true,\n windowResizeDelay: 200,\n eventClick: this.onClickEventCalendar.bind(this),\n events: this.eventsTeams,\n };\n this.showCalendar = true;\n } else {\n this.showCalendar = false;\n this.snackBarService.showNotification({ title: '¡Error!', message: res.message });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-01\n * Metodo que ejecuta el los eventos del boton previous del calendario.\n */\n onClickButtonPreviousCalendar(): void {\n const calendarApi = this.calendar.getApi();\n calendarApi.prev();\n const startDateMonth = moment(calendarApi.getDate()).startOf('month').format('YYYY-MM-DD');\n const endDateMonth = moment(calendarApi.getDate()).endOf('month').format('YYYY-MM-DD');\n this.getEvents(startDateMonth, endDateMonth, this.formMeeting.get('emailAccount').value);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-01\n * Metodo que ejecuta el los eventos del boton today del calendario.\n */\n onClickButtonTodayCalendar(): void {\n const calendarApi = this.calendar.getApi();\n calendarApi.today();\n const startDateMonth = moment(calendarApi.getDate()).startOf('month').format('YYYY-MM-DD');\n const endDateMonth = moment(calendarApi.getDate()).endOf('month').format('YYYY-MM-DD');\n this.getEvents(startDateMonth, endDateMonth, this.formMeeting.get('emailAccount').value);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-01\n * Metodo que ejecuta el los eventos del boton next del calendario.\n */\n onClickButtonNextCalendar(): void {\n const calendarApi = this.calendar.getApi();\n calendarApi.next();\n const startDateMonth = moment(calendarApi.getDate()).startOf('month').format('YYYY-MM-DD');\n const endDateMonth = moment(calendarApi.getDate()).endOf('month').format('YYYY-MM-DD');\n this.getEvents(startDateMonth, endDateMonth, this.formMeeting.get('emailAccount').value);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-29\n * Metodo que busca un evento seleccionado desde el calendario.\n * @param event Evento emitido por el calendario.\n */\n onClickEventCalendar($event: EventClickArg): void {\n this.teamsService.getEvent(this.formMeeting.get('emailAccount').value, $event.event.id).subscribe(res => {\n this.eventTeamsSelected = res.data;\n this.allowManagement = moment(this.eventTeamsSelected.start).isBefore(moment()) ? false : true;\n this.showFormMeeting = true;\n this.formMeeting.get('id').setValue(this.eventTeamsSelected.object_id);\n this.formMeeting.get('title').setValue(this.eventTeamsSelected.subject);\n this.formMeeting.get('dateStart').setValue(moment(this.eventTeamsSelected.start).format());\n this.formMeeting.get('dateEnd').setValue(moment(this.eventTeamsSelected.end).format());\n this.formMeeting.get('timeStart').setValue(moment(this.eventTeamsSelected.start).format('HH:mm'));\n this.formMeeting.get('timeEnd').setValue(moment(this.eventTeamsSelected.end).format('HH:mm'));\n this.formMeeting.get('linkByTeams').setValue(this.eventTeamsSelected.is_online_meeting);\n this.currentDate = moment(this.eventTeamsSelected.start).format();\n const arrayForm = this.formMeeting.get('participants') as FormArray;\n arrayForm.clear();\n for (const key in this.eventTeamsSelected.data_attendees) {\n const newFormGroup = this.formBuilder.group({ name: new FormControl(this.eventTeamsSelected.data_attendees[key].address, [Validators.email]) });\n arrayForm.push(newFormGroup);\n }\n this.editorConfig = editor_view;\n this.isDisabledEditEditor = true\n this.formMeeting.get('description').setValue(this.eventTeamsSelected.body);\n this.changeDisableFieldsForm(true);\n this.updateShowActionsButton(this.eventTeamsSelected.is_organizer, this.eventTeamsSelected.status);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-14\n * Metodo que actualiza el show de los botones.\n * @param isOrganizer Valida si es o no el dueño del evento.\n */\n updateShowActionsButton(isOrganizer: boolean, status: string): void {\n const setButtonsManagerMeeting = Array.from(this.buttonsManagerMeeting);\n if (isOrganizer) {\n setButtonsManagerMeeting[0].show = true;\n setButtonsManagerMeeting[1].show = true;\n setButtonsManagerMeeting[2].show = false;\n setButtonsManagerMeeting[3].show = false;\n } else {\n setButtonsManagerMeeting[0].show = false;\n setButtonsManagerMeeting[1].show = false;\n if (status === 'NotResponded') {\n setButtonsManagerMeeting[2].show = true;\n setButtonsManagerMeeting[3].show = true;\n } else {\n setButtonsManagerMeeting[2].show = status === 'Accepted' ? false : true;\n setButtonsManagerMeeting[3].show = true;\n }\n }\n this.buttonsManagerMeeting = setButtonsManagerMeeting;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-28\n * Metodo que agrega una cadena de texto a cada uno de los chip list.\n * @param event Manejador de eventos de los mat chip.\n * @param typeList Nombre del list chip en el cual se van agregar una cadena de texto. \n */\n addEmail($event: MatChipInputEvent, typeList: string): void {\n const input = $event.input;\n const value = ($event.value || '').trim();\n if (value && value !== '') {\n const newFormGroup = this.formBuilder.group({ name: new FormControl(value, [Validators.email]) });\n const arrayForm = this.formMeeting.get(typeList) as FormArray;\n arrayForm.push(newFormGroup);\n if (input) input.value = '';\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-28\n * Metodo que elimina una cadena de texto dentro un chip list.\n * @param index Cadena de texto seleccionada dentro del chip list. \n * @param typeList Nombre del chip list en el cual se va a remover el elemento.\n */\n removeItem(index: number, typeList: string): void {\n const arrayForm = this.formMeeting.get(typeList) as FormArray;\n arrayForm.removeAt(index);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-28\n * Metodo que retorna los errores generados por el formulario. \n */\n get error(): any {\n return this.formMeeting.controls;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-28\n * Metodo que muestra la modal de grupos de contacto. \n * @param nameField Nombre del campo de donde esta ubicado el boton.\n */\n onClickOpenDialogContacts(nameField: string): void {\n this.matDialog.open(ContactGroupComponent, {\n width: '70%',\n autoFocus: false,\n panelClass: 'dialog-padding-contact-group',\n maxHeight: '95vh',\n data: {\n nameField\n }\n }).afterClosed().subscribe(res => {\n if (res.contactGroupSelected && res.contactGroupSelected.length > 0)\n this.addMailsContactGroup(res.contactGroupSelected, res.nameField);\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-28\n * Metodo que registra los correos de los grupos de contacto sobre los respectivos campos de texto.\n * @param mails Informacion del grupo de contacto. \n * @param nameField Nombre del campo de donde esta ubicado el boton.\n */\n addMailsContactGroup(mails: any, nameField: string): void {\n const mailsToSplit = mails.map((item: any) => { return { ...item, mails: item.email_list.split(',') }; });\n mailsToSplit.forEach((contactGroup: any) => {\n contactGroup.mails.forEach((mail: string) => {\n const newFormGroup = this.formBuilder.group({ name: new FormControl(mail, [Validators.email]) });\n const arrayForm = this.formMeeting.get(nameField) as FormArray;\n arrayForm.push(newFormGroup);\n });\n });\n this.snackBarService.showNotification({ message: 'Se ha añadido el grupo de contacto con éxito' });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-02-29\n * Metodo que cambia el disabled de los campos del formulario. \n * @param disabledFieldsForm Nuevo estado para el disabled de los campos del formulario. \n */\n changeDisableFieldsForm(disabledFieldsForm: boolean): void {\n this.stateFieldsForm = disabledFieldsForm;\n Object.keys(this.formMeeting.controls).forEach(controlName => {\n const control = this.formMeeting.get(controlName);\n if (this.stateFieldsForm) control.disable();\n else control.enable();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-01\n * Metodo que valida que accion se ejecuto de los botones de gestion de eventos.\n * @param typeManager Tipo de accion ejecutado.\n */\n onClickButtonsMeetingManager(typeManager: string): void {\n if (typeManager === 'Editar Meeting') this.editEventMeeting();\n if (typeManager === 'Eliminar Meeting') this.deleteEventMeeting();\n if (typeManager === 'Aceptar Meeting') this.acceptOrDeclineEventMeeting('Aceptar Meeting');\n if (typeManager === 'Rechazar Meeting') this.acceptOrDeclineEventMeeting('Rechazar Meeting');\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-01\n * Metodo que cambia el estado de los campos de formulario y del texto enriquecido. \n */\n editEventMeeting(): void {\n this.changeDisableFieldsForm(false);\n this.editorConfig = editor_modify;\n this.isDisabledEditEditor = false\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-04\n * Metodo que elimina un evento seleccionado. \n */\n deleteEventMeeting(): void {\n this.alertService.alertWarning('¿Está seguro?', '¿De eliminar el evento seleccionado?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.teamsService.deleteEvent(this.formMeeting.get('emailAccount').value, this.formMeeting.get('id').value).subscribe(res => {\n this.snackBarService.showNotification({ title: res.error ? '¡Error!' : '¡Excelente!', message: res.message });\n this.onClickButtonCancel();\n this.updateDataCalendar();\n });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-04\n * Metodo que guarda o actualiza un meeting.\n * @param typeManager Tipo de gestion a realizar. \n */\n saveOrUpdateMeeting(typeManager: string = 'save'): void {\n if (this.formMeeting.valid) {\n this.alertService.alertWarning('¿Está seguro?', '¿De continuar con la gestión?').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n this.teamsService.saveOrUpdateEvent(this.formMeeting.value, typeManager).subscribe(res => {\n this.snackBarService.showNotification({ title: res.error ? '¡Error!' : '¡Excelente!', message: res.message });\n this.updateDataCalendar();\n this.onClickButtonCancel();\n });\n }\n });\n } else this.formMeeting.markAllAsTouched();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-06\n * Metodo que setea la validacion de los campos del formulario en general.\n * @param $event Evento emitido por el select.\n */\n onChangeTypeOfRecurrence($event: MatSelectChange): void {\n if ($event.value === 'Ninguna') {\n this.clearValidatorsTypesRecurrence();\n } else if ($event.value === 'Diario') {\n this.formMeeting.get('repeatEach').setValidators([Validators.required, Validators.min(1)]);\n this.formMeeting.get('days').setValidators([]);\n this.formMeeting.get('typeOptionDayMonth').setValidators([]);\n this.formMeeting.get('recurrenceDaysInMonth').setValidators([]);\n this.formMeeting.get('limitDate').setValidators([Validators.required]);\n } else if ($event.value === 'Semanal') {\n this.formMeeting.get('repeatEach').setValidators([Validators.required, Validators.min(1)]);\n this.formMeeting.get('days').setValidators([validateArrayDaysNotEmpty]);\n this.formMeeting.get('typeOptionDayMonth').setValidators([]);\n this.formMeeting.get('recurrenceDaysInMonth').setValidators([]);\n this.formMeeting.get('limitDate').setValidators([Validators.required]);\n } else {\n this.formMeeting.get('repeatEach').setValidators([]);\n this.formMeeting.get('days').setValidators([]);\n this.formMeeting.get('typeOptionDayMonth').setValidators([Validators.required]);\n this.formMeeting.get('recurrenceDaysInMonth').setValidators([]);\n this.formMeeting.get('limitDate').setValidators([Validators.required]);\n }\n this.resetFormValuesTypesRecurrence();\n this.clearAndUpdateValidatorsForm();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-22\n * Metodo que limpia el valor de los campos cuando hay cambios en el tipo de recurrencia.\n */\n resetFormValuesTypesRecurrence(): void {\n this.formMeeting.get('repeatEach').setValue('1');\n this.formMeeting.get('days').setValue([]);\n this.formMeeting.get('typeOptionDayMonth').setValue('');\n this.formMeeting.get('recurrenceDaysInMonth').setValue('');\n this.formMeeting.get('limitDate').setValue('');\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-22\n * Metodo que limpia las validaciones de los campos correspondientes a las recurrencias.\n */\n clearValidatorsTypesRecurrence(): void {\n this.formMeeting.get('repeatEach').setValidators([]);\n this.formMeeting.get('days').setValidators([]);\n this.formMeeting.get('typeOptionDayMonth').setValidators([]);\n this.formMeeting.get('recurrenceDaysInMonth').setValidators([]);\n this.formMeeting.get('limitDate').setValidators([]);\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-06\n * Metodo que setea la validacion de los campos del formulario para tipo mensual.\n * @param $event Evento emitido por el select.\n */\n onChangeTypeOptionDayMonth($event: MatSelectChange): void {\n if ($event.value === 'Día del mes') {\n this.formMeeting.get('recurrenceDaysInMonth').setValidators([Validators.required]);\n this.formMeeting.get('days').setValidators([]);\n } else {\n this.formMeeting.get('recurrenceDaysInMonth').setValidators([]);\n this.formMeeting.get('days').setValidators([validateArrayDaysNotEmpty]);\n }\n this.clearAndUpdateValidatorsForm();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-06\n * Metodo que limpia las validaciones. \n */\n clearAndUpdateValidatorsForm(): void {\n Object.keys(this.formMeeting.controls).forEach(controlName => {\n this.formMeeting.get(controlName).updateValueAndValidity();\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-07\n * Metodo que ejecuta las acciones para el boton cancelar. \n */\n onClickButtonCancel(showForm: boolean = false): void {\n if (this.eventTeamsSelected) this.changeDisableFieldsForm(false);\n this.resetValuesFormMeeting();\n this.clearValidatorsTypesRecurrence();\n this.eventTeamsSelected = null;\n this.showFormMeeting = showForm;\n this.currentDate = moment().format();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-07\n * Metodo que reinicia los valores del formulario. \n */\n resetValuesFormMeeting(): void {\n Object.keys(this.formMeeting.controls).forEach(controlName => {\n if (controlName !== 'emailAccount') {\n if (controlName !== 'typeOfRecurrence' && controlName !== 'repeatEach') {\n const arrayForm = this.formMeeting.get('participants') as FormArray;\n this.formMeeting.get(controlName).reset();\n if (arrayForm.length > 0) arrayForm.clear();\n } else {\n this.formMeeting.get('typeOfRecurrence').setValue('Ninguna');\n this.formMeeting.get('repeatEach').setValue('1');\n }\n }\n });\n this.editorConfig = editor_modify;\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-11\n * Metodo que retorna una fecha siguiente con respecto a la fecha fin del rango de fechas. \n */\n addDateToEndRangeDate(): string {\n if (this.formMeeting.get('dateEnd').value !== '' || this.formMeeting.get('dateEnd').value !== null) return moment(this.formMeeting.get('dateEnd').value).add(1, 'days').format();\n else return moment().format();\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-14\n * Metodo que acepta o rechaza una reunión.\n * @param typeManager Tipo de gestion a realizar. \n */\n acceptOrDeclineEventMeeting(typeManager: string): void {\n this.alertService.alertWarning('¿Está seguro?', typeManager === 'Aceptar Meeting' ? 'De aceptar la reunión' : 'De rechazar la reunión').then(isConfirm => {\n if (isConfirm.isConfirmed) {\n const data = {\n id_email: this.formMeeting.get('emailAccount').value,\n event: this.eventTeamsSelected.object_id,\n comment: typeManager === 'Aceptar Meeting' ? 'Acepto la reunión' : 'Rechazo la reunión',\n send_response: true\n };\n this.teamsService.acceptOrDeclineEventMeeting(typeManager, this.formMeeting.get('emailAccount').value, data).subscribe(res => {\n this.snackBarService.showNotification({ title: res.error ? '¡Error!' : '¡Excelente!', message: res.message });\n this.updateDataCalendar();\n this.onClickButtonCancel();\n });\n }\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2024-03-14\n * Metodo que actualiza los eventos en el calendario.\n */\n updateDataCalendar(): void {\n const calendarApi = this.calendar.getApi();\n const startDateMonth = moment(calendarApi.getDate()).startOf('month').format('YYYY-MM-DD');\n const endDateMonth = moment(calendarApi.getDate()).endOf('month').format('YYYY-MM-DD');\n this.getEvents(startDateMonth, endDateMonth, this.formMeeting.get('emailAccount').value);\n }\n}","
\n
\n \n
\n
\n
\n
Crear reunión
\n \n
\n
\n
\n \n Cuenta de correo\n \n {{ item.user_name_email_entrada\n }}\n \n \n El campo es requerido\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n Titúlo y/o asunto\n \n \n El campo es requerido\n \n \n
\n
\n \n Rango de fechas\n \n \n \n \n \n \n \n Por favor ingrese\n un rango de fecha\n \n \n
\n
\n \n Hora inicial\n \n \n El campo es requerido\n La hora inicial debe ser inferior a la\n final\n \n \n
\n
\n \n Hora final\n \n \n El campo es requerido\n La hora final debe ser superior a la\n inicial\n \n \n
\n \n \n Tipo de recurencia\n \n {{ item\n }}\n \n \n El campo es requerido\n \n \n
\n
\n \n Repetir cada\n \n \n El campo es requerido\n Solo valores mayores a 0\n \n \n
\n
\n \n Repetir cada\n \n {{ item }}\n \n \n El campo es requerido\n \n \n
\n \n \n Dias de la semana\n \n {{ item.text }}\n \n \n Seleccione un día\n \n \n
\n \n \n Día del mes\n \n \n El campo es requerido\n \n \n
\n
\n \n Fecha limite\n \n \n \n \n El campo es requerido\n \n \n
\n
\n \n \n \n {{ item.value.name }}\n cancel\n \n \n \n \n
\n El campo es requerido\n Correo invalido\n
\n
\n
\n \n
\n
\n
\n ¿Es una reunión por Teams?\n
\n \n \n \n \n\n
\n El campo es requerido\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ReportsReportService } from '../../../services/reports.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n\n\n@Component({\n selector: 'app-report-show',\n templateUrl: './report-show.component.html',\n styleUrls: ['./report-show.component.sass']\n})\nexport class ReportShowComponent implements OnInit {\n\n public token: string = '';\n public report_id: string = '';\n public rrhh_id: string;\n public generar = false;\n public type: number;\n public tittle: string;\n public subTittle: string;\n public selected: any;\n\n\n formId: any;\n reports: any;\n key: any;\n selectTitle: any;\n dataReport: any = [];\n\n constructor(private location: Location,\n public dialog: MatDialog,\n private reportsReportService: ReportsReportService,\n private authService: AuthService\n ) { }\n\n ngOnInit(): void {\n let dataDecrypt = this.authService.decryptToken();\n this.rrhh_id = dataDecrypt.rrhh_id;\n this.getReports();\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Metodo que lista los reportes en estado activo\n */\n getReports() {\n this.reportsReportService.getReportsByUser(this.rrhh_id).subscribe(\n response => {\n this.reports = response['data'];\n this.getReport(this.reports[0].key);\n this.selected = this.reports[0].key;\n }\n );\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Metodo que retorna a la pagina anterior\n */\n backRoute() {\n this.location.back();\n }\n\n /**\n * @author Carlos Nieto\n * @createdate 2022-01-20\n * Metodo que setea la variable del select y llama al\n * componente que muestra PowerBI\n * @param key del powerBi\n */\n\n getReport(key) {\n this.token = null;\n this.report_id = null;\n this.generar = false;\n\n this.reportsReportService.getReport(key).subscribe((resp) => {\n if (resp.data.token !== '') {\n this.token = resp.data.token;\n this.report_id = resp.data.reporte_id;\n this.generar = true;\n }\n });\n }\n\n}\n","
\n\n
\n
\n \n
\n
\n

Gestión de reportes

\n

Bienvenido al módulo de reportes

\n
\n
\n
\n\n
\n \n Reporte\n \n \n {{item.nombre}}\n \n \n \n \n\n
\n \n
\n\n
","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { NoveltiesListComponent } from './pages/novelties-list/novelties-list.component';\n\nconst routes: Routes = [\n { path: '', component: NoveltiesListComponent },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class NoveltiesRoutingModule {}\n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MeetingsService } from 'src/app/modules/meetings/services/meetings.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MeetingsAttentionRangeInterface } from '../../interfaces/meetings-attention-range.interface';\nimport Swal from 'sweetalert2';\nimport { AttentionRangeInterface } from './attention-range.interface';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-attention-range-form',\n templateUrl: './attention-range-form.component.html',\n styleUrls: ['./attention-range-form.component.sass'],\n})\nexport class AttentionRangeFormComponent implements OnInit {\n form: FormGroup;\n backUrl: string = environment.MEETINGS_URL;\n\n rangeAttention: MeetingsAttentionRangeInterface = {\n id: 0,\n campaign_id: 0,\n campaign_name: '',\n background_url: '',\n interval_rooms: 0,\n };\n\n /**\n * Rangos de atención\n * Multiplos de 15, con valores entre 15 y 90 definido por la HU\n */\n rangeValues: any[] = [\n { value: 15 },\n { value: 30 },\n { value: 45 },\n { value: 60 },\n { value: 75 },\n { value: 90 },\n ];\n\n /**\n * Image setting\n */\n selectedFile: File | null = null;\n selectedFileName: string | null = null;\n imagePreview: string | ArrayBuffer | null = null;\n isImageValid = false;\n allowedTypes = ['image/jpeg', 'image/png', 'image/jpg'];\n @ViewChild('fileInput') fileInput: ElementRef;\n\n constructor(\n private fb: FormBuilder,\n private alertService: AlertsService,\n private meetingsService: MeetingsService,\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public dialog_data: dataResponse\n ) {}\n\n ngOnInit(): void {\n this.rangeAttention = this.dialog_data.data;\n this.initializeForm();\n }\n\n /**\n * Metodo que inicializa el formulario\n * @author Sergio Cortés\n * @createdate 27-12-2024\n */\n initializeForm() {\n this.form = this.fb.group({\n id: [this.rangeAttention.id || 0, [Validators.required]],\n campaign_id: [\n this.rangeAttention.campaign_id || 0,\n [Validators.required],\n ],\n interval_rooms: [\n this.rangeAttention.interval_rooms || 0,\n [\n Validators.required,\n Validators.min(15),\n Validators.max(90),\n Validators.pattern('^[0-9]*$'),\n ],\n ],\n background_url: [null],\n });\n }\n\n get intervalRoomsControl() {\n return this.form.get('interval_rooms');\n }\n\n /**\n * Metodo que obtiene el mensaje de error del campo interval_rooms\n * @author Sergio Cortés\n * @createdate 31-12-2024\n */\n getErrorMessage(): string {\n const errors = this.intervalRoomsControl?.errors;\n\n if (!errors) return '';\n\n if ('required' in errors) return 'Este campo es requerido.';\n\n if ('min' in errors)\n return 'El rango de atención mínimo debe ser 15 minutos.';\n\n if ('max' in errors)\n return 'El rango de atención máximo debe ser 90 minutos.';\n\n return '';\n }\n\n /**\n * Metodo para convertir de FormBuilder a FormData para el envío de archivos al Backend\n * @author Sergio Cortés\n * @createdate 07-01-2025\n */\n changeToFormData(body: AttentionRangeInterface): FormData {\n const formData = new FormData();\n formData.append('id', body.id);\n formData.append('interval_rooms', body.interval_rooms);\n formData.append('campaign_id', body.campaign_id);\n if (this.selectedFile) {\n formData.append('background_url', this.selectedFile);\n }\n return formData;\n }\n\n /**\n * Metodo que guarda el formulario de rango de atención\n * @author Sergio Cortés\n * @createdate 31-12-2024\n */\n save() {\n if (this.form.invalid) {\n this.alertService.alertError(\n '¡Ups!',\n 'Por favor, debe validar el formulario.'\n );\n return;\n }\n\n const body = this.changeToFormData(this.form.value);\n\n this.meetingsService.updateMeetingRange(body).subscribe({\n next: (resp: string) => {\n this.alertService.alertSuccess('¡Excelente!', resp);\n this.dialogRef.close({ updated: true });\n },\n error: () => {\n this.alertService.alertError(\n '¡Ups!',\n 'Ha ocurrido un error al intentar guardar, por favor, intente más tarde.'\n );\n this.dialogRef.close({ updated: false });\n },\n complete: () => this.form.reset(),\n });\n }\n\n /**\n * Metodo que recibe el archivo cargado en el Input\n * @author Sergio Cortés\n * @createdate 07-01-2025\n */\n onFileSelected(event: Event) {\n const file = (event.target as HTMLInputElement).files?.[0];\n if (file) {\n // Go to validate files\n this.selectedFile = file;\n this.selectedFileName = file.name;\n this.validateImage(file);\n }\n }\n\n /**\n * Metodo que Valida la imagen cargada para el fondo\n * @author Sergio Cortés\n * @createdate 07-01-2025\n */\n validateImage(file: File) {\n const reader = new FileReader();\n reader.onload = (e: ProgressEvent) => {\n const img = new Image();\n img.src = e.target?.result as string;\n img.onload = () => {\n if (!this.allowedTypes.includes(file.type)) {\n Swal.fire({\n title: 'Formato no permitido',\n text: 'El archivo debe ser una imagen en formato JPG, JPEG o PNG.',\n icon: 'error',\n });\n this.selectedFile = null;\n this.selectedFileName = null;\n this.imagePreview = null;\n this.isImageValid = true;\n img.src = null;\n return;\n }\n\n if (img.width >= 1920 && img.height >= 1080) {\n this.imagePreview = e.target?.result as string;\n this.isImageValid = true;\n } else {\n Swal.fire({\n title: 'Error al cargar la imagen',\n text: 'La imagen debe tener una resolución máxima de 1920x1080 píxeles.',\n icon: 'error',\n });\n this.selectedFile = null;\n this.selectedFileName = null;\n this.imagePreview = null;\n this.isImageValid = false;\n img.src = null;\n }\n };\n };\n\n // Lee el archivo como Data URL\n reader.readAsDataURL(file);\n }\n\n /**\n * Metodo que Valida la imagen cargada para el fondo\n * @author Sergio Cortés\n * @createdate 07-01-2025\n */\n getBackgroundName(): string {\n const url = this.rangeAttention.background_url;\n return url ? `Fondo actual: ${url.split('/').pop()}` : '';\n }\n}\n\ninterface dataResponse {\n data: MeetingsAttentionRangeInterface;\n}\n","
\n
\n

Actualizar el rango de atención

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

\n ID: {{ rangeAttention.id }}, Rango actual:\n {{ rangeAttention.interval_rooms }} minutos.\n

\n
\n \n\n
\n
\n
\n \n Rango\n \n \n {{ range.value }} minutos\n \n \n \n {{ getErrorMessage() }}\n \n \n
\n\n
\n \n Fondo virtual\n \n \n \n \n {{ getBackgroundName() }} \n
\n
\n\n
\n
\n \"Preview\"\n
\n
\n
\n
\n\n\n \n Cancelar\n \n \n Actualizar\n \n\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { SchedulesService } from 'src/app/modules/ciu/services/rest/schedules.service';\nimport { NAMES_DAYS_OF_WEEK, OMIT_ACTIVITIES_WORK } from './constantes';\nimport { MatTabChangeEvent } from '@angular/material/tabs';\nimport * as moment from 'moment';\n\n@Component({\n selector: 'app-user-schedule-v2',\n templateUrl: './user-schedule-v2.component.html',\n styleUrls: ['./user-schedule-v2.component.sass'],\n encapsulation: ViewEncapsulation.None\n})\nexport class UserScheduleV2Component implements OnInit {\n user: any = null;\n indexWeekend: number = 0;\n indexTab: number = 0;\n currentMonth: string = '';\n currentYear: number = null;\n datesWeek: any[] = [];\n datesNextWeek: any[] = [];\n datesShowIntoView: any[] = [];\n activitiesWork: any[] = [];\n\n constructor(\n private authService: AuthService,\n private schedulesService: SchedulesService\n ) { }\n\n ngOnInit(): void {\n this.user = this.authService.decryptToken();\n this.currentMonth = new Intl.DateTimeFormat('es-ES', { month: 'long' }).format(new Date());\n this.currentYear = moment().year();\n this.getDatesWeek();\n this.getDatesNextWeek();\n this.datesShowIntoView = this.datesWeek;\n this.getIndexByNumDay();\n this.getSchedules(this.user.idCiu, this.datesShowIntoView[this.indexTab].date);\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2022-06-05\n * Metodo que retorna el numero del dia de la semana para setearlo en la tab de fechas. \n */\n getIndexByNumDay(): void {\n const dayNow = moment().isoWeekday();\n this.indexTab = dayNow - 1;\n }\n /**\n * @author Fabian Duran\n * @createdate 2022-05-29\n * Metodo de retorna los horarios del empleado.\n * @param idUserCiu Id del usuario en CIU. \n * @param date Fecha de la tab seleccionada. \n */\n getSchedules(idUserCiu: number, date: string): void {\n this.activitiesWork = [];\n this.schedulesService.getWeekAndNextWeekSchedule(idUserCiu, date).subscribe(res => {\n res.data.forEach((week: any) => {\n if (week.days) {\n week.days.forEach((day: any) => {\n day.activities.forEach((activity: any) => {\n this.activitiesWork.push(activity);\n });\n });\n }\n });\n this.activitiesWork = this.activitiesWork.filter((activity: any) => {\n return activity.date === date && activity.schedule_type_name !== OMIT_ACTIVITIES_WORK[0] && activity.schedule_type_name !== OMIT_ACTIVITIES_WORK[1] && activity.schedule_type_name !== OMIT_ACTIVITIES_WORK[2];\n });\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2022-05-29\n * Metodo que setea el indice de la semana a 1. \n */\n nextWeekend(): void {\n this.indexWeekend = 1;\n this.getDatesNextWeek();\n this.datesShowIntoView = this.datesNextWeek;\n this.getSchedules(this.user.idCiu, this.datesShowIntoView[this.indexTab].date);\n }\n /**\n * @author Fabian Duran\n * @createdate 2022-05-29\n * Metodo que setea el indice de la semana a 0. \n */\n beforeWeekend(): void {\n this.indexWeekend = 0;\n this.getDatesWeek();\n this.datesShowIntoView = this.datesWeek;\n this.getSchedules(this.user.idCiu, this.datesShowIntoView[this.indexTab].date);\n }\n /**\n * @author Fabian Duran\n * @createdate 2022-05-30\n * Metodo que trae las fechas de la semana actual.\n */\n getDatesWeek(): void {\n this.datesWeek = [];\n const dateNow = moment();\n const dayWeek = dateNow.day();\n const monday = dateNow.subtract(dayWeek - 1, 'days');\n this.datesWeek.push({\n date: monday.format('DD/MM/YYYY'),\n nameDay: NAMES_DAYS_OF_WEEK[0]\n });\n for (let i = 1; i < 7; i++) {\n const dateClone = monday.clone().add(i, 'days');\n this.datesWeek.push({\n date: dateClone.format('DD/MM/YYYY'),\n nameDay: NAMES_DAYS_OF_WEEK[i]\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2022-05-30\n * Metodo que trae las fechas de la proxima semana. \n */\n getDatesNextWeek(): void {\n this.datesNextWeek = [];\n const dateNow = moment();\n const dayWeek = dateNow.day();\n const mondayNextWeek = dateNow.add(7 - dayWeek + 1, 'days');\n this.datesNextWeek.push({\n date: mondayNextWeek.format('DD/MM/YYYY'),\n nameDay: NAMES_DAYS_OF_WEEK[0]\n });\n for (let i = 1; i < 7; i++) {\n const dateClone = mondayNextWeek.clone().add(i, 'days');\n this.datesNextWeek.push({\n date: dateClone.format('DD/MM/YYYY'),\n nameDay: NAMES_DAYS_OF_WEEK[i]\n });\n }\n }\n /**\n * @author Fabian Duran\n * @createdate 2022-05-30\n * Metodo que detecta el cambio de las tabs sobre la vista. \n */\n tabChanged($event: MatTabChangeEvent): void {\n this.indexTab = $event.index;\n this.getSchedules(this.user.idCiu, this.datesShowIntoView[this.indexTab].date);\n }\n}","
\n \n \n Horarios\n \n \n
\n
{{ currentMonth }} {{ currentYear\n }}
\n
\n \n \n
\n
\n
\n Semana\n actual ({{ datesWeek[0].date }} - {{ datesWeek[6].date }}) |\n Semana\n siguiente ({{ datesNextWeek[0].date }} - {{ datesNextWeek[6].date }})\n
\n \n \n \n {{ item.date }}
\n {{ item.nameDay }}\n
\n
0; else noData\" class=\"row px-2 py-4\">\n
\n \n {{ activity.schedule_type_name\n }}\n \n
{{ activity.schedule_start_time }} - {{\n activity.schedule_end_time }}\n
\n
{{ activity.schedule_start_time }}
\n
{{ activity.schedule_end_time }}\n
\n \n Registro: {{ activity.start_time ===\n '00:00' ? '--' : activity.start_time }} - {{ activity.end_time ===\n '00:00' ? '--' : activity.end_time }}\n \n
\n \n
\n Registro: {{ activity.start_time ===\n '00:00' ? '--' :\n activity.start_time }}\n
\n
\n Registro: {{ activity.end_time ===\n '00:00'\n ? '--' :\n activity.end_time }}\n
\n
\n \n \n
\n
\n \n
\n
\n
\n Hoy no tienes asignado ningún horario
\n ¡es tu día de descanso!\n
\n
\n
\n
\n \n \n \n \n
","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { MatDialog } from '@angular/material/dialog';\nimport { SaveTemplateComponent } from '../save-template/save-template.component';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { TemplatesService } from '../../../services/rest/templates.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { switchMap } from 'rxjs/operators';\n\n\n@Component({\n selector: 'app-admin-template',\n templateUrl: './admin-template.component.html',\n styleUrls: ['./admin-template.component.sass']\n})\nexport class AdminTemplateComponent implements OnInit {\n\n displayedColumnsTemplate: string[] = ['accion', 'estado', 'fechaCreacion', 'nombrePlantilla', 'camposPlantilla'];\n dataSourceTemplate = new MatTableDataSource();\n @ViewChild(MatSort, { static: true }) sortTemplate: MatSort;\n lengthTemplate;\n pageSizeTemplate = 5;\n pageTemplate = 1;\n pageSizeOptionsTemplate: number[] = [5, 10, 25, 100];\n idForm: any;\n\n constructor(private location: Location,\n private templatesService: TemplatesService,\n public dialog: MatDialog,\n public route: ActivatedRoute) { }\n\n ngOnInit(): void {\n\n this.idForm = this.route.snapshot.queryParamMap.get('id');\n\n this.getTemplate(this.pageSizeTemplate, this.pageTemplate, '');\n }\n\n /**\n * @author Daniel Dominguez\n * @createdate 2021-09-05\n * Metodo que abre el modal de crear un nuevo template\n */\n backRoute() {\n this.location.back();\n }\n\n pageEventTemplate(event: any): void {\n this.pageSizeTemplate = event.pageSize;\n this.pageTemplate = event.pageIndex + 1;\n this.getTemplate(this.pageSizeTemplate, this.pageTemplate, '');\n }\n\n getTemplate(size, page, busqueda) {\n\n this.templatesService.getTemplate(this.idForm, size, page, busqueda).subscribe(resp => {\n this.dataSourceTemplate.data = resp.data;\n this.dataSourceTemplate.sort = this.sortTemplate;\n this.lengthTemplate = resp.total;\n this.pageSizeTemplate = resp.per_page;\n });\n }\n\n newTem(): void {\n const dialogNewTem = this.dialog.open(SaveTemplateComponent, {\n width: '60%',\n height: '80%',\n disableClose: true,\n data: {\n type: 'crear',\n title: 'Plantilla',\n idForm: this.idForm\n },\n panelClass: 'custom-dialog-container',\n });\n\n dialogNewTem.afterClosed().subscribe(() => {\n this.ngOnInit();\n });\n\n }\n\n}","
\n
\n \n
\n
\n

Plantillas

\n

En este espacio podras personalizar
las plantillas a tu gusto

\n
\n
\n \n
\n \n \n Filtro de búsqueda\n \n \n \n\n
\n\n
\n \n
\n\n
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Acciones\n \n Estado {{row.state}} Fecha de creación {{row.created_at | date: 'dd/MM/yyyy'}} Nombre de la plantilla {{row.template_name}} Resumen de la plantilla {{item}}, \n
No hay datos que coincidan con el filtro
\n\n \n \n
\n
\n\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-email-manager',\n templateUrl: './email-manager.component.html',\n styleUrls: ['./email-manager.component.sass']\n})\nexport class EmailManagerComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

email-manager works!

","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { CurrencyMaskInputMode } from 'ngx-currency';\nimport { DestroyComponentService } from 'src/app/core/services/utils/destroy-component.service';\nimport { ToWords } from 'src/app/core/to-words/to-words';\nimport { OrdenesService } from 'src/app/modules/compras/services/rest/ordenes.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport Swal from 'sweetalert2';\nimport { OrdenCompra } from '../../../Class/orden-compras';\nimport { Remission } from '../../../Class/remission';\nimport { RemissionItem } from '../../../Class/remission-item';\nimport { OrdenCompraComponent } from '../orden-compra/orden-compra.component';\nimport { ArchivosService } from 'src/app/modules/compras/services/rest/archivos.service';\n\n@Component({\n selector: 'app-remision-control',\n templateUrl: './remision-control.component.html',\n styleUrls: ['./remision-control.component.sass']\n})\nexport class RemisionControlComponent implements OnInit {\n\n firstFormGroup: FormGroup;\n isEditable = true;\n toWords = new ToWords();\n valorFinal=0;\n valorIva =0;\n itemsOrder:any[]=[];\n itemsRemission:any[]=[];\n itemsSend:any[]=[];\n viewRemission = false;\n remissionId = 0;\n cantFaltanteItem = [];\n faltanteOk = true;\n envioOk = false;\n dataOrder: any = [];\n existPath: false;\n\n options = {\n prefix: '',\n thousands: ',',\n decimal: '.',\n inputMode: CurrencyMaskInputMode.NATURAL\n };\n\n\n\n\n constructor(\n private formBuilder : FormBuilder,\n private form : FormBuilder,\n private ordenService : OrdenesService,\n private destroyService : DestroyComponentService,\n private alertsService : AlertsService,\n @Inject(MAT_DIALOG_DATA) public data : any,\n private dialogRef : MatDialogRef,\n private archivoService : ArchivosService\n ) { }\n\n ngOnInit(): void {\n if(this.data.frag){\n this.dataOrder = this.data.frag\n }else{\n this.dataOrder = this.data.ordenCompra\n }\n\n this.firstFormGroup = this.formBuilder.group({\n items: this.form.array([]),\n sub_total : new FormControl({value:'', disabled:true}, [Validators.required, Validators.maxLength(100), Validators.minLength(3)]),\n discount : new FormControl('', [Validators.required, Validators.maxLength(300), Validators.minLength(3)]),\n iva : new FormControl({value:'', disabled:false}, [Validators.required, Validators.maxLength(300), Validators.minLength(3)]),\n total : new FormControl({value:'', disabled:true}, [Validators.required, Validators.maxLength(300), Validators.minLength(3)]),\n value_in_letters : new FormControl({value:'', disabled:true}, [Validators.required, Validators.maxLength(300), Validators.minLength(3)]),\n delivery_date : new FormControl('', [Validators.required, Validators.maxLength(300), Validators.minLength(3)]),\n pay : new FormControl('', [Validators.required, Validators.maxLength(300), Validators.minLength(3)]),\n payment_condition : new FormControl('', [Validators.required]),\n payment_deb : new FormControl(''),\n credit_condition : new FormControl(''),\n pay_value : new FormControl({value:'', disabled:true},[]),\n warranty : new FormControl('', [Validators.required]),\n policy : new FormControl('', [Validators.required]),\n });\n\n\n this.setEdit();\n\n\n if(this.data[\"type\"] == \"view\"){\n this.viewRemission = true;\n }\n\n }\n get error(): any { return this.firstFormGroup.controls; }\n get errorItem():any{ return this.firstFormGroup.controls}\n\n get items(): FormArray {\n return this.firstFormGroup.get('items') as FormArray;\n }\n\n downloadOrder (order) {\n const archivo ={\n path:order.path\n };\n this.archivoService.downloadOrder(archivo).subscribe( resp=>{\n const a = document.createElement('a');\n const file = new Blob([resp], { type: 'application/pdf' });\n a.href = window.URL.createObjectURL(file);\n a.download = 'Orden_Compra.pdf';\n a.click();\n\n }, error =>{\n\n });\n }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que estable las validaciones del formarray dentro del formulario\n */\n newItems(): void{\n const newItems = this.form.group({\n id:new FormControl('',[]),\n state: new FormControl('',[Validators.required]),\n observation: new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n description: new FormControl('', [Validators.required, Validators.maxLength(255), Validators.minLength(3)]),\n unit: new FormControl('', [Validators.required, Validators.maxLength(5), Validators.minLength(1), Validators.min(0)]),\n unitReceived: new FormControl('', [Validators.required, Validators.maxLength(5), Validators.minLength(1), Validators.min(0)]),\n pending: new FormControl('', [Validators.required, Validators.maxLength(5), Validators.minLength(1), Validators.min(0)]),\n unit_value: new FormControl('', [Validators.required, Validators.maxLength(5), Validators.minLength(1), Validators.min(0)]),\n });\n this.items.push(newItems);\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se encarga de la eliminacion de un grupo de aplicacion y rol\n * @param indice indice del grupo de aplicacion y rol a eliminar\n */\n deleteItems(indice: number): void {\n this.items.removeAt(indice);\n }\n\n /**\n * validar la existencia de al menos un item al avance.\n */\n onStepChange(event){\n if(event.selectedIndex == 1)\n {\n this.validarItems()\n }\n if(event.selectedIndex == 2 ){\n this.calcularValores()\n }\n }\n validarItems(){\n\n if (this.items.length===0) {\n this.newItems();\n }\n }\n\n calcularValores(){\n let valorTotal=0;\n this.valorIva=0;\n\n this.firstFormGroup.getRawValue().items.forEach(element => {\n valorTotal+=element['total_value'];\n if(element['selectIva']===100){\n\n this.valorIva+=(element['total_value']*element['valorIva'])/100;\n }else {\n this.valorIva+=(element['total_value']*element['selectIva'])/100;\n }\n });\n this.valorFinal= valorTotal+this.valorIva;\n const valorfinalletras = this.toWords.convert( this.valorFinal);\n this.firstFormGroup.controls.sub_total.setValue(valorTotal);\n //this.firstFormGroup.controls.discount.setValue(0);\n if(this.data[\"type\"] != \"edit\"){\n this.firstFormGroup.controls.iva.setValue(this.valorIva);\n this.firstFormGroup.controls.total.setValue( this.valorFinal);\n this.firstFormGroup.controls.value_in_letters.setValue(valorfinalletras);\n }\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-07-03\n * Metodo que calcula la cantidad restante respecto a la cantidad recibida\n */\n calcularCantidadFaltante(i){\n let cantFaltanteOrg = 0;\n let id_item = this.firstFormGroup.value.items[i].id;\n\n this.cantFaltanteItem.map((val)=>{\n if(val.id == id_item){\n cantFaltanteOrg = val.unitPending;\n }\n });\n this.firstFormGroup.controls.items[\"controls\"][i].controls.state.setValue(true)\n let cantFaltante = 0;\n let cantSol = cantFaltanteOrg;\n let cantReciv = this.firstFormGroup.value.items[i].unitReceived;\n\n let cantidadReal = cantSol - cantReciv\n\n if(cantidadReal < 0){\n this.alertsService.alertError(\n 'Oppss',\n 'Recuerda que la cantidad recibida no puede ser mayor a la faltante'\n )\n this.firstFormGroup.controls.items[\"controls\"][i].controls.unitReceived.setValue(0);\n }else{\n if(cantReciv > cantSol){\n cantFaltante = 0;\n }else{\n cantFaltante = cantSol - cantReciv;\n }\n this.firstFormGroup.controls.items[\"controls\"][i].controls.pending.setValue(cantFaltante);\n }\n\n\n this.validateInput()\n }\n\n validateInput(){\n const longitudItems = this.firstFormGroup.value.items.length;\n const isOkFaltante = this.firstFormGroup.value.items.filter(item => item.pending === 0);\n //this.faltanteOk = longitudItems === isOkFaltante.length ? false : true;\n if(longitudItems === isOkFaltante.length){\n this.faltanteOk = false;\n this.envioOk = true;\n }else{\n this.faltanteOk = true;\n this.envioOk = false;\n }\n }\n\n\n calcularValorTotal(indice){\n let cantidad = this.firstFormGroup.value.items[indice].unit;\n let valor=this.firstFormGroup.value.items[indice].unit_value;\n\n let valorTotal = (cantidad == undefined ? 0 :cantidad)* (valor == undefined ? 0:valor);\n this.firstFormGroup.controls.items[\"controls\"][indice].controls.total_value.setValue(valorTotal);\n\n\n }\n\n calculardiscount(){\n\n const descuento= this.firstFormGroup.get('discount').value;\n const iva =this.firstFormGroup.get('iva').value;\n let valorFinal;\n\n if(iva != this.valorIva){\n valorFinal = (this.valorFinal-this.valorIva)-descuento+iva;\n }else{\n valorFinal = this.valorFinal-descuento;\n }\n\n const valorfinalletras = this.toWords.convert(valorFinal);\n if (valorFinal> 0 ){\n this.firstFormGroup.controls.total.setValue(valorFinal);\n this.firstFormGroup.controls.value_in_letters.setValue(valorfinalletras);\n } else{\n this.alertsService.alertError('Error', 'No se puede aplicar un descuento superior al valor total')\n }\n }\n\n cambioEstado(event, index){\n\n\n if (event === 100){\n this.firstFormGroup.controls.items[\"controls\"][index].controls.valorIva.enable();\n } else {\n this.firstFormGroup.controls.items[\"controls\"][index].controls.valorIva.disable();\n }\n\n }\n\n cambioPagoValue(event){\n if (event === 'Abono'|| event === 'Anticipo' || event === 'Credito'){\n this.firstFormGroup.controls.pay_value.enable();\n } else {\n this.firstFormGroup.controls.pay_value.disable();\n }\n\n }\n\n setEdit(){\n this.ordenService.getOrderItems(this.data.ordenCompra.id).subscribe((resp)=>{\n this.itemsOrder=resp.data;\n this.firstFormGroup.controls.pay.setValue(this.data.ordenCompra.pay);\n this.firstFormGroup.controls.payment_condition.setValue(this.data.ordenCompra.payment_condition);\n this.firstFormGroup.controls.payment_deb.setValue(this.data.ordenCompra.payment_deb);\n this.firstFormGroup.controls.credit_condition.setValue(this.data.ordenCompra.credit_condition);\n this.firstFormGroup.controls.pay_value.setValue(this.data.ordenCompra.pay_value);\n this.firstFormGroup.controls.warranty.setValue(this.data.ordenCompra.warranty);\n this.firstFormGroup.controls.policy.setValue(this.data.ordenCompra.policy);\n this.firstFormGroup.controls.sub_total.setValue(this.data.ordenCompra.sub_total);\n this.firstFormGroup.controls.discount.setValue(this.data.ordenCompra.discount);\n this.firstFormGroup.controls.iva.setValue(this.data.ordenCompra.iva);\n this.firstFormGroup.controls.total.setValue(this.data.ordenCompra.total);\n this.firstFormGroup.controls.value_in_letters.setValue(this.data.ordenCompra.value_in_letters);\n this.firstFormGroup.controls.delivery_date.setValue(this.data.ordenCompra.delivery_date);\n this.setRemision();\n });\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-07-03\n * Metodo que asigna los valores guardados de la remisión a los input del formulario\n */\n\n setRemision(){\n this.ordenService.getRemission(this.data.ordenCompra.id, this.data.frag?.id).subscribe((resp)=>{\n this.remissionId = resp.id;\n this.itemsRemission = resp.items;\n const setItemsRemision = [];\n this.itemsOrder.forEach((element, index) => {\n const itemExist = this.itemsRemission.find(item => item.purchase_order_item_id == element.id);\n if (itemExist !== undefined) setItemsRemision.push(element);\n });\n setItemsRemision.forEach((element, index) => {\n this.newItems();\n this.items.controls[index].get('unit_value').setValue(element.unit_value);\n this.items.controls[index].get('description').setValue(element.description);\n });\n this.itemsRemission.forEach((element, index) => {\n this.items.controls[index].get('id').setValue(element.id);\n this.items.controls[index].get('observation').setValue(element.observation);\n this.items.controls[index].get('unit').setValue(element.unit);\n this.items.controls[index].get('pending').setValue(element.pending);\n if(element.pending == 0){\n this.items.controls[index].get('unitReceived').setValue(0)\n this.items.controls[index]['controls'].unitReceived.disable()\n }\n this.items.controls[index].get('state').setValue(element.state);\n this.cantFaltanteItem.push({id: element.id, unitPending: element.pending});\n });\n if(this.viewRemission) this.disableControls();\n });\n }\n\n private disableControls() {\n var arrayControl = this.firstFormGroup.get('items') as FormArray;\n for (let i = 0; i < arrayControl.length; i++) {\n const controlItems = arrayControl.at(i) as FormArray;\n for (var controlItem in controlItems.controls) {\n controlItems.controls[controlItem].disable();\n }\n }\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-07-03\n * Metodo que se counica con el backend para almacenar las remisiones en base de datos\n */\n saveRemissionItems(remissionItems:any, alertResponse:boolean ){\n this.ordenService.updateRemissionItems({items: remissionItems}).subscribe(resp=>{\n if(alertResponse){\n this.alertsService.alertSuccess('Guardado', resp.data);\n }\n });\n\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-07-03\n * Metodo que guarda los cambios de la remisión y la deja en estado \"en proceso\"\n */\n saveRemission(){\n\n if(this.firstFormGroup.status !== 'INVALID'){\n let typeEstado = 2;\n\n const estado ={\n purchase_order_remission_state:typeEstado\n }\n\n this.firstFormGroup.getRawValue().items.forEach((element, index) => {\n const items = {\n id: element.id,\n state: element.state,\n observation: element.observation,\n pending: element.pending\n }\n this.itemsSend.push(items);\n\n });\n\n this.ordenService.updateRemissionItems({items: this.itemsSend}).subscribe(respitems=>{\n this.ordenService.updateRemission(estado, this.remissionId).subscribe(respremission=>{\n this.alertsService.alertSuccess('Guardado', respremission.data);\n this.dialogRef.close()\n });\n });\n\n //this.saveRemissionItems(this.itemsSend, true);\n\n }else{\n this.firstFormGroup.markAllAsTouched();\n }\n }\n\n /**\n * @author Juan Carlos Alonso\n * @createdate 2022-07-03\n * Metodo que guarda la información de las remisiones y deja la orden en estado \"Finalizado\"\n */\n sendRemission(){\n if (this.firstFormGroup.status === 'VALID' && !this.faltanteOk) {\n\n var estadoRem = 3;\n\n if(this.data.frag){\n estadoRem = 4\n }\n\n this.firstFormGroup.getRawValue().items.forEach((element, index) => {\n\n if(element.state === 0){\n estadoRem = 4\n\n }\n\n const items = {\n id: element.id,\n state: element.state,\n observation: element.observation,\n pending: element.pending\n }\n this.itemsSend.push(items);\n\n });\n\n const estado ={\n purchase_order_remission_state: estadoRem\n }\n\n\n Swal.fire({\n icon : 'warning',\n title : '¿Estás seguro?',\n text : \"¿Deseas enviar la orden de compra?, recuerda que esto será definitivo y no se podrá deshacer\",\n showCancelButton : true,\n focusConfirm : false,\n confirmButtonText : 'Aceptar',\n cancelButtonText : \"Cancelar\"\n }).then( (result) => {\n if(result.isConfirmed){\n\n this.ordenService.updateRemissionItems({items: this.itemsSend}).subscribe(resp=>{\n this.ordenService.updateRemission(estado, this.remissionId).subscribe((resp)=>{\n this.alertsService.alertSuccess('Guardado', resp.data);\n this.dialogRef.close();\n },\n error => {\n this.alertsService.alertWarning('Atención',error.error.error);\n }\n );\n });\n }\n } )\n } else {\n this.firstFormGroup.markAllAsTouched();\n }\n }\n\n ngOnDestroy(): void {\n this.destroyService.destroyComponent();\n }\n}\n","
\n \n
\n
\n\n
\n
\n

Orden de compra OC-{{data.ordenCompra.purchase_order_number}}{{ data.frag ? '-' + data.frag.purchase_order_number : '' }}

\n
\n
\n Descarga orden de compra\n
\n
\n \n
\n \n \n \n\n
\n

Datos de la empresa

\n \n
\n
\n
\n Empresa\n

{{data.solicitud.company.name}}

\n
\n
\n Nit\n

{{data.solicitud.company.nit}}

\n
\n
\n
\n

Documento controlado

\n \n
\n\n
\n\n\n
\n Fecha emisión\n

{{data.solicitud.created_at | date}}

\n
\n
\n Tipo de adquisición\n

{{data.solicitud.product_type.name}}

\n
\n
\n
\n

Datos del proveedor

\n
\n
\n\n
\n Razón social\n

{{data.proveedor.razon_social}}

\n
\n
\n Nit\n

{{data.proveedor.nit}}

\n
\n
\n Dirección\n

{{data.proveedor.direccion}}

\n
\n
\n
\n
\n Celular\n

{{data.proveedor.user.celular}}

\n
\n
\n Teléfono\n

{{data.proveedor.telefono_proveedor}}

\n
\n
\n E-mail\n

{{data.proveedor.user.correo}}

\n
\n
\n\n
\n

Datos del solicitante

\n \n
\n\n
\n
\n Nombre del solicitante\n

{{data.solicitud.created_by}}

\n
\n\n
\n\n
\n\n
\n\n \n \n
\n
Fecha de la compra: {{data.solicitud.created_at | date}}
\n
Nombre del solicitante: {{ data.solicitud.created_by }}
\n
\n

Ítems

\n
\n Nota: Recuerda que la cantidad recibida no puede ser mayor a la faltante.\n
\n \n
\n
\n
\n
\n
\n
\n Ítem {{i+1}}\n ¡Falta checkear el Ítem!\n \n Descripción\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 255 caracteres\n \n\n\n\n \n Cantidad solicitada\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n\n \n Cantidad recibida\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n\n \n Cantidad faltante\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n\n \n Valor unitario\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 3 caracteres\n \n\n \n Observaciones\n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 3 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 255 caracteres\n \n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n\n
\n\n\n\n
\n\n
\n
\n
\n\n\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { SurveyService } from '../modules/encuestas/services/suervey.service';\nimport { ModalSurveysUserComponent } from './modal-surveys-user/modal-surveys-user.component';\nimport { MatDialog } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-mios',\n templateUrl: './mios.component.html',\n styleUrls: ['./mios.component.sass']\n})\nexport class MiosComponent implements OnInit {\n\n constructor(\n private surveyService: SurveyService,\n public dialog: MatDialog,\n\n ) { }\n\n ngOnInit(): void {\n //this.openModalSurveys();\n\n }\n openModalSurveys(): void {\n\n this.surveyService.getSurveysUser().subscribe(\n (restResponse: any) => {\n if (restResponse?.surveys !== undefined && Array.isArray(restResponse.surveys) == true && restResponse.surveys.length > 0) {\n\n const $refDialog = this.dialog.open(ModalSurveysUserComponent, {\n width: '95vw',\n height: 'auto',\n disableClose: true,\n data: {\n surveys: restResponse?.surveys\n }\n });\n\n }\n\n }\n );\n\n\n }\n\n}\n","","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { NetworkUsersService } from 'src/app/modules/ciu/services/rest/network-users.service';\nimport { UpdateNetworkUserFormComponent } from './dialogs/update-network-user-form/update-network-user-form.component';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-users-list',\n templateUrl: './users-list.component.html',\n styleUrls: ['./users-list.component.sass']\n})\nexport class UsersListComponent implements OnInit {\n\n data:any = new MatTableDataSource()\n tableColumns: string[] = ['actions', 'name', 'document', 'network_user', 'updated_at']\n //Paginador\n length: number\n pageSize: number = 5\n pageSizeOptions: number[] = [5, 10, 50, 100]\n page: number = 1\n //Formulario de filtros\n filter: FormControl = new FormControl('', [])\n now:Date = new Date()\n\n @Input() tab_type: number\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n constructor(private formBuilder:FormBuilder, private networkUserService:NetworkUsersService, private dialog:MatDialog) { }\n\n ngOnInit(): void {\n this.getInfo(this.page, this.pageSize)\n }\n\n\n /**\n * Metódo que da funcionalidad a la paginación\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 15-05-2024\n */\n paginatorEvent(event: any):void {\n this.pageSize = event.pageSize\n this.page = event.pageIndex + 1\n this.getInfo(this.page, this.pageSize)\n }\n\n getInfo(page:number, pageSize:number, filter:string = ''):void{\n let params = `page=${page}&per_page=${pageSize}`\n if(filter){\n params = params + `&filter=${filter}`\n }\n this.networkUserService.getUsersFilter(params).subscribe((resp) => {\n if (typeof resp.data.data !== 'undefined') {\n this.data = new MatTableDataSource(Object.values(resp.data.data));\n }else{\n this.data.data = [];\n }\n this.data.sort = this.sort;\n this.length = resp.data.total;\n this.pageSize = resp.data.per_page;\n })\n }\n\n filterInfo(value:string):void {\n this.getInfo(1, 5, value)\n }\n\n\n /**\n * Metódo que despliega el formulario de actualización\n * @param event\n * @author Juan Carlos Alonso\n * @createdate 19-09-2024\n */\n formDialog(id:number, network_user:string) {\n const dialogConfig = new MatDialogConfig()\n dialogConfig.id = 'dialogUpdateNetworkUser'\n dialogConfig.width = '50%'\n dialogConfig.height = 'auto'\n dialogConfig.data = {\n id: id,\n network_user: network_user\n }\n\n const dialogRef = this.dialog.open(UpdateNetworkUserFormComponent, dialogConfig)\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n if(result.created){\n Swal.fire({\n icon: 'success',\n title: '¡Felicidades!',\n text: 'Se ha actualizado el usuario de red con éxito.',\n showConfirmButton: false,\n timer: 3000\n });\n }\n this.getInfo(this.page, this.pageSize);\n }\n });\n\n }\n}\n","
\n
\n \n Filtro de búsqueda\n \n \n \n
\n
\n\n
\n
\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n
Acciones\n \n Nombre{{ element.name }}Identificación{{ element.id_number }}Usuario de red{{ element.network_user }}Fecha de última actualización{{ element.updated_at | date: 'dd/MM/yyyy'}}
No hay datos que coincidan con el filtro: \"{{filter.value}}\"
\n \n
\n
\n","import { Pipe } from '@angular/core';\n\n@Pipe({\n name: 'filterTypes'\n})\nexport class FilterTypesPipe {\n transform(arr: any, filterString: string) {\n \n if(arr.length === 0 || filterString == '' || filterString === undefined){\n return arr;\n }\n \n const data= [];\n \n arr.forEach(element => {\n if (element.value.name.toLowerCase().indexOf(filterString.toLowerCase()) > -1) {\n data.push(element); \n }\n });\n return data;\n }\n}","import { Directive, OnInit, forwardRef, ElementRef, HostListener, Renderer2 } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\n@Directive({\n selector: '[appNumber]'\n})\nexport class NumberDirective implements OnInit{\n\n currencyChars = new RegExp('[\\.,]', 'g');\n\n constructor(public el: ElementRef, public renderer: Renderer2, private decimalPipe: DecimalPipe) {}\n\n ngOnInit() {\n this.format(this.el.nativeElement.value); // format any initial values\n }\n\n @HostListener('input', [\"$event.target.value\"]) onInput(e: string) {\n this.format(e);\n };\n\n @HostListener('paste', ['$event']) onPaste(event: ClipboardEvent) {\n event.preventDefault();\n this.format(event.clipboardData.getData('text/plain'));\n }\n\n format(val: string) {\n const numberFormat = parseInt(String(val).replace(this.currencyChars, ''));\n const usd = this.decimalPipe.transform(numberFormat, '1.0', 'en-US');\n this.renderer.setProperty(this.el.nativeElement, 'value', usd); \n }\n\n}\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Subscription } from 'rxjs';\nimport { ControlService } from 'src/app/modules/calidad/services/control.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport Swal from 'sweetalert2';\nimport { AgregarAgenteComponent } from '../agregar-agente/agregar-agente.component';\n\n@Component({\n selector: 'app-tabla-grupo',\n templateUrl: './tabla-grupo.component.html',\n styleUrls: ['./tabla-grupo.component.sass']\n})\nexport class TablaGrupoComponent implements OnInit, OnDestroy {\n @Input() idGrupo;\n dataSource = new MatTableDataSource();\n selection = new SelectionModel(true, []);\n displayedColumns:string[] = ['acciones','id_agente','nombre_agente','numero_documento'];\n length;\n pageSize = 5;\n page = 1;\n pageSizeOptions = [5,10,25,50,100];\n @ViewChild(MatPaginator) paginator:MatPaginator;\n\n //Filtros\n filtroNombre:string = '';\n filtroCedula:string = '';\n\n //Observable para los cambios de la tabla\n subscription:Subscription;\n\n constructor(\n private dialog:MatDialog,\n private controlService:ControlService\n ) { }\n\n ngOnInit(): void {\n this.getAsesoresGrupo(this.page,this.pageSize);\n this.subscription = this.controlService.refresh$.subscribe(()=>{\n this.getAsesoresGrupo(this.page,this.pageSize);\n this.selection.clear();\n });\n }\n\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n\n pageEvent(event:any){\n this.pageSize = event.pageSize;\n this.page = event.pageIndex + 1;\n this.getAsesoresGrupo(this.page,this.pageSize);\n }\n\n addAgent(){\n const agenteRef = this.dialog.open(AgregarAgenteComponent,{\n width: '732px',\n disableClose: true,\n data:{\n idGrupo: this.idGrupo,\n agentes: this.dataSource.data,\n }\n });\n }\n\n getAsesoresGrupo(page,pageSize){\n const params = {\n nombre: '',\n cedula: '',\n idGrupo: this.idGrupo,\n numeroReg: pageSize,\n page\n }\n\n if (this.filtroNombre != '') {\n params.nombre = this.filtroNombre;\n }\n\n if (this.filtroCedula != '' && this.filtroCedula != null) {\n params.cedula = this.filtroCedula;\n }\n this.controlService.getAsesoresGrupo(params).subscribe((resp:any)=>{\n this.dataSource.data = resp.data;\n this.length = resp.total;\n })\n }\n\n filtro(){\n this.paginator.firstPage();\n this.getAsesoresGrupo(this.page,this.pageSize);\n }\n\n /** Whether the number of selected elements matches the total number of rows. */\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n \n /** Selects all rows if they are not all selected; otherwise clear selection. */\n masterToggle() {\n if (this.isAllSelected()) {\n this.selection.clear();\n return;\n }\n \n this.selection.select(...this.dataSource.data);\n }\n \n /** The label for the checkbox on the passed row */\n checkboxLabel(row?: any): string {\n if (!row) {\n return `${this.isAllSelected() ? 'deselect' : 'select'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.position + 1}`;\n }\n\n deleteAsesores(){\n Swal.fire({\n position:'center',\n width:'866px',\n icon: 'warning' ,\n title: '¿Desea eliminar los asesores seleccionados?',\n text: '¿Deseas eliminar permanentemente los agentes seleccionados? Recuerda que esta acción será definitiva y no se podrá deshacer.',\n showCancelButton:true,\n reverseButtons:true,\n confirmButtonText:'Eliminar',\n cancelButtonText:'Cancelar',\n }).then(result=>{\n if (result.isConfirmed) {\n const data = {\n asesores: this.selection.selected.map(seleccion=>{\n return {id:seleccion.usuario_id}\n }),\n idGrupo: this.idGrupo,\n }\n this.controlService.deleteAsesorGrupo(data).subscribe((resp:any)=>{\n })\n }\n\n })\n }\n\n}\n","
\n
\n
\n \n Nombre agente\n \n \n \n \n Cédula agente\n \n \n \n
\n
\n \n \n
\n
\n
\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n ID Agente {{ element.id }} Nombre agente {{ element.nombre_usuario }} Número de documento {{ element.cedula_usuario }}
No hay registros para mostrar
\n \n \n \n \n
\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, ValidatorFn, AbstractControl, ValidationErrors } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ProfileService } from '../../services/rest/profile.service';\nimport { AlertsService } from '../../../../shared/alerts/alerts.service';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: './change-password.component.html',\n styleUrls: ['./change-password.component.sass']\n})\nexport class ChangePasswordComponent implements OnInit {\n\n formPassword:FormGroup;\n showPassword = false;\n constructor(private fb:FormBuilder,private profileService:ProfileService,\n private dialogRef:MatDialogRef,\n private alertServices:AlertsService,\n @Inject(MAT_DIALOG_DATA) public data: any) { }\n\n ngOnInit(): void {\n this.formPassword = this.fb.group({\n 'password':['',\n [\n this.passwordValidate(),\n Validators.required,\n Validators.maxLength(15),\n Validators.minLength(5)]\n ],\n 'confirmPassword':['',\n [\n this.passwordValidate(),\n Validators.required,\n Validators.maxLength(15),\n Validators.minLength(5),\n this.matchValues('password')]\n ]\n })\n\n }\n /**\n * Metodo que permite validar si la segunda contraseña coincide con la anterior\n *\n * @param matchTo Parametro al que se quiere hacer referencia, por ejemplo password\n * @returns isMatching boolean\n * @author Carlos Galindez\n */\n\n matchValues( matchTo: string ): (AbstractControl) => ValidationErrors | null {\n return (control: AbstractControl): ValidationErrors | null => {\n return !!control.parent &&\n !!control.parent.value &&\n control.value === control.parent.controls[matchTo].value\n ? null\n : { isMatching: false };\n };\n}\n get error(): any { return this.formPassword.controls; }\n\n /**\n * @author Daniel Martinez\n * @createdate 2021-02-16\n * Metodo que se encarga de las validaciones del campo password\n */\n passwordValidate(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } | null => {\n if (!/[A-Z]/.test(control.value)) {\n return { hasCapitalCase: { value: control.value } };\n }\n else if (!/[a-z]/.test(control.value)) {\n return { hasSmallCase: { value: control.value } };\n }\n else if (!/[!@#$%^&*()_+=[{};':\"|,.<>/?/{};':\"|,.<>/?-]/.test(control.value)) {\n return { hasSpecialCharacters: { value: control.value } };\n }\n else if (!/\\d/.test(control.value)) {\n return { hasNumber: { value: control.value } };\n }\n return null;\n };\n }\n /**\n * @author Daniel Martinez\n * @createdate 2021-01-27\n * Metodo que evalua en tiempo real los caracteres ingresados en el input, no deja ingresar numeros ni espacios\n * @param event evento del keypress del input usuario\n */\n omitSpecialChar(event): any{\n let k;\n k = event.charCode;\n return((k > 32 && k < 126));\n }\n\n /**\n * Metodo que consume el servicio y permite cambiar la contraseña\n * @author Carlos Galindez\n */\n changePassword(){\n if(this.formPassword.valid){\n this.profileService.changePassword(this.data.userId,this.formPassword.value.password).subscribe( (resp) => {\n this.alertServices.alertSuccess('Su contraseña fue actualizada con exito','');\n this.dialogRef.close();\n })\n }\n\n }\n\n\n\n}\n","
\n \n

Cambiar contraseña

\n
\n\n
\n \n \n \n Nueva contraseña {{showPassword ? 'text' : 'password'}}\n \n \n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 5 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 15 caracteres\n Su contraseña debe tener un número\n Su contraseña debe tener una mayuscula\n Su contraseña debe tener una minuscula\n Su contraseña debe tener un caracter especial\n \n \n Confirmar contraseña\n \n \n \n ¡Advertencia! Este campo es requerido\n ¡Aún falta! Recibimos mínimo 5 caracteres\n ¡Cuidado! Solo puedes tener un máximo de 15 caracteres\n Su contraseña debe tener un número\n Su contraseña debe tener una mayuscula\n Su contraseña debe tener una minuscula\n Su contraseña debe tener un caracter especial\n Su contraseña no es igual a la ingresada previamente\n\n \n
\n \n \n
\n
\n
","export class inicialFieldsContract {\n value: any[];\n constructor() {\n this.value = [\n\n {\n id: 301,\n type: 'options',\n key: 'empresa',\n controlType: 'dropdown-request',\n label: 'Empresa',\n value: '',\n apiServe: 'rrhh',\n required: true,\n canAdd: false,\n options: [{ id: null, name: null }],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n disabled: false,\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n {\n id: 304,\n type: 'date',\n key: 'fecha_de_ingreso',\n controlType: 'datepicker',\n label: 'Fecha de ingreso',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options: [],\n minLength: 1,\n maxLength: 100,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n {\n id: 305,\n type: 'options',\n key: 'area',\n controlType: 'dropdown-request',\n label: 'Área',\n apiServe: 'rrhh',\n value: '',\n required: true,\n canAdd: false,\n options: [{ id: null, name: null }],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n disabled: false,\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n {\n id: 306,\n type: 'options',\n key: 'cargo',\n controlType: 'dropdown-request',\n label: 'Cargo',\n apiServe: 'rrhh',\n value: '',\n required: true,\n canAdd: false,\n options: [{ id: null, name: null }],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n disabled: false,\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n /*{\n id: 307,\n type: 'options',\n key: 'banco',\n controlType: 'dropdown-request',\n label: 'Banco',\n apiServe:'rrhh',\n value: '',\n required: true,\n canAdd: false,\n options:[{id:null,name:null}],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies:[],\n disabled:false,\n cols:1,\n editRoles: ['coordinador-de-contratacion','analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion','analista-de-contratacion'],\n },\n {\n id: 307,\n type: 'options',\n key: 'kind_account',\n controlType: 'dropdown-request',\n label: 'Tipo de cuenta',\n apiServe:'rrhh',\n value: '',\n required: true,\n canAdd: false,\n options:[{id:null, key:null, name:null}],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies:[],\n disabled:false,\n cols:1,\n editRoles: ['coordinador-de-contratacion','analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion','analista-de-contratacion'],\n },\n {\n id: 300,\n type: 'number',\n key: 'bank_account',\n controlType: 'textbox',\n label: 'Número de cuenta',\n value: '',\n required: true,\n canAdd: false,\n options:[],\n minLength: 1,\n maxLength: 10000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies:[],\n disabled:false,\n cols:1,\n editRoles: ['coordinador-de-contratacion','analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion','analista-de-contratacion'],\n },\n {\n id: 308,\n type: 'options',\n key: 'eps',\n controlType: 'dropdown-request',\n label: 'EPS',\n apiServe:'rrhh',\n value: '',\n required: true,\n canAdd: false,\n options:[{id:null,name:null}],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies:[],\n disabled:false,\n cols:1,\n editRoles: ['coordinador-de-contratacion','analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion','analista-de-contratacion'],\n }, */\n {\n id: 309,\n type: 'options',\n key: 'caja_de_compensacion',\n controlType: 'dropdown-request',\n label: 'Caja de compensación',\n apiServe: 'rrhh',\n value: '',\n required: true,\n canAdd: false,\n options: [{ id: null, name: null }],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n disabled: false,\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n {\n id: 310,\n type: 'options',\n key: 'arl',\n controlType: 'dropdown-request',\n label: 'ARL',\n apiServe: 'rrhh',\n value: '',\n required: true,\n canAdd: false,\n options: [{ id: null, name: null }],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n disabled: false,\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n {\n id: 311,\n type: 'options',\n key: 'lugar_contratacion',\n controlType: 'dropdown-request',\n label: 'Lugar de contratación',\n apiServe: 'rrhh',\n value: '',\n required: true,\n canAdd: false,\n options: [{ id: null, name: null }],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n disabled: false,\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n ]\n }\n}\n\n\nexport const AgreementsType = [\n { id: 1, key: 'obra-labor', name: 'Obra labor', type: 'TYPE_E' },\n // {id:2, key:'integral', name: 'Integral', type:'TYPE_A'},\n //{id:3, key:'prestacion_de_servicios', name: 'Prestación de servicios', type:'TYPE_A'},\n { id: 4, key: 'aprendizaje_sena', name: 'Aprendizaje Sena', type: 'TYPE_B' },\n { id: 5, key: 'termino_fijo', name: 'Termino fijo', type: 'TYPE_C' },\n //{id:6, key:'corretaje', name: 'Corretaje', type:'TYPE_A'},\n //{id:7, key:'indefinido', name: 'Indefinido', type:'TYPE_A'},\n //{id:8, key:'cesion-de-contrato', name: 'Cesion de contrato', type:'TYPE_D'},\n { id: 9, key: 'aprendizaje-universitario', name: 'Aprendizaje Universitario', type: 'TYPE_B' },\n { id: 10, key: 'indefinido-v2', name: 'Contrato Laboral Termino - Indefinido', type: 'TYPE_A' },\n { id: 11, key: 'manejo_confianza', name: 'Manejo y Confianza', type: 'TYPE_A' },\n // {id:11, key:'indefinido_parcial', name: 'Indefinido parcial', type:'TYPE_A'},\n // {id:11, key:'obra_labor_parcial', name: 'Obra labor parcial', type:'TYPE_A'}\n { id: 12, key: 'obra-labor-por-dias', name: 'Obra labor staff operativo', type: 'TYPE_E' },\n { id: 13, key: 'obra-labor-por-hora', name: 'Contrato laboral indefinido AT&T', type: 'TYPE_E' },\n { id: 14, key: 'termino-indefinido-dias', name: 'Contrato Laboral Término indefinido', type: 'TYPE_A' },\n { id: 15, key: 'termino-indefinido-mc', name: 'Término indefinido manejo y confianza', type: 'TYPE_A' },\n { id: 18, key: 'obra-labor-vanti', name: 'Contrato obra o labor vanti', type: 'TYPE_E' },\n]\nexport class typeForms {\n value: any[];\n constructor() {\n this.value = [\n {\n key: 'TYPE_A',\n form: [\n {\n id: 312,\n type: 'options',\n key: 'cesantias',\n controlType: 'dropdown-request',\n label: 'Cesantías',\n apiServe: 'rrhh',\n value: '',\n required: true,\n canAdd: false,\n options: [{ id: null, name: null }],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n disabled: false,\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n /* Cambios de acuerdo a solicitud: https://trello.com/c/TMOHZn6x/106-mj00028-cambiar-de-interfaz-campos-de-eps-y-fondo-de-pensiones-en-soul\n {\n id: 313,\n type: 'options',\n key: 'caja_de_pensiones',\n controlType: 'dropdown-request',\n label: 'Fondo de pensiones',\n apiServe:'rrhh',\n value: '',\n required: true,\n canAdd: false,\n options:[{id:null,name:null}],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies:[],\n disabled:false,\n cols:1,\n editRoles: ['coordinador-de-contratacion','analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion','analista-de-contratacion'],\n }, */\n ]\n },\n {\n key: 'TYPE_B',\n form: [\n {\n id: 314,\n type: 'date',\n key: 'fecha_de_vencimiento',\n controlType: 'datepicker',\n label: 'Fecha de vencimiento',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options: [],\n minLength: 1,\n maxLength: 100,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n {\n id: 315,\n type: 'text',\n key: 'grupo',\n controlType: 'textbox',\n label: 'Grupo',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options: [],\n minLength: 1,\n maxLength: 50,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion']\n },\n {\n id: 316,\n type: 'text',\n key: 'especialidad-o-curso',\n controlType: 'textbox',\n label: 'Especialidad o curso',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options: [],\n minLength: 1,\n maxLength: 50,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n cols: 2,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion']\n },\n {\n id: 317,\n type: 'date',\n key: '1er-periodo-fecha-inicio',\n controlType: 'datepicker',\n label: '1er Periodo-Fecha inicio',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options: [],\n minLength: 1,\n maxLength: 100,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n {\n id: 318,\n type: 'date',\n key: '1er-periodo-fecha-fin',\n controlType: 'datepicker',\n label: '1er Periodo-Fecha fin',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options: [],\n minLength: 1,\n maxLength: 100,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n {\n id: 319,\n type: 'date',\n key: '2do-periodo-fecha-inicio',\n controlType: 'datepicker',\n label: '2do Periodo-Fecha inicio',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options: [],\n minLength: 1,\n maxLength: 100,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n {\n id: 320,\n type: 'date',\n key: '2do-periodo-fecha-fin',\n controlType: 'datepicker',\n label: '2do Periodo-Fecha fin',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options: [],\n minLength: 1,\n maxLength: 100,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n {\n id: 388,\n type: 'text',\n key: 'instituto_name',\n controlType: 'textbox',\n label: 'Instituto de formación',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options: [],\n minLength: 1,\n maxLength: 50,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion']\n },\n {\n id: 389,\n type: 'text',\n key: 'instituto_nit',\n controlType: 'textbox',\n label: 'Nit del instituto de formación',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options: [],\n minLength: 1,\n maxLength: 50,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion']\n },\n ]\n },\n {\n key: 'TYPE_C',\n form: [\n {\n id: 321,\n type: 'date',\n key: 'fecha_de_vencimiento',\n controlType: 'datepicker',\n label: 'Fecha de vencimiento',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options: [],\n minLength: 1,\n maxLength: 100,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n {\n id: 322,\n type: 'number',\n key: 'cuantos-meses',\n controlType: 'textbox',\n label: '¿Cuántos meses?',\n value: '',\n required: true,\n canAdd: false,\n options: [],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n disabled: false,\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n {\n id: 323,\n type: 'options',\n key: 'cesantias',\n controlType: 'dropdown-request',\n label: 'Cesantias',\n apiServe: 'rrhh',\n value: '',\n required: true,\n canAdd: false,\n options: [{ id: null, name: null }],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n disabled: false,\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n /* Cambios de acuerdo a solicitud: https://trello.com/c/TMOHZn6x/106-mj00028-cambiar-de-interfaz-campos-de-eps-y-fondo-de-pensiones-en-soul\n {\n id: 324,\n type: 'options',\n key: 'caja_de_pensiones',\n controlType: 'dropdown-request',\n label: 'Fondo de pensiones',\n apiServe:'rrhh',\n value: '',\n required: true,\n canAdd: false,\n options:[{id:null,name:null}],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies:[],\n disabled:false,\n cols:1,\n editRoles: ['coordinador-de-contratacion','analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion','analista-de-contratacion'],\n }, */\n ]\n },\n {\n key: 'TYPE_D',\n form: [\n {\n id: 325,\n type: 'date',\n key: 'fecha-top-factory',\n controlType: 'datepicker',\n label: 'Fecha top factory',\n value: '',\n disabled: false,\n required: true,\n canAdd: false,\n options: [],\n minLength: 1,\n maxLength: 100,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n /* Cambios de acuerdo a solicitud: https://trello.com/c/TMOHZn6x/106-mj00028-cambiar-de-interfaz-campos-de-eps-y-fondo-de-pensiones-en-soul\n {\n id: 326,\n type: 'options',\n key: 'caja_de_pensiones',\n controlType: 'dropdown-request',\n label: 'Fondo de pensiones',\n apiServe:'rrhh',\n value: '',\n required: true,\n canAdd: false,\n options:[{id:null,name:null}],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies:[],\n disabled:false,\n cols:1,\n editRoles: ['coordinador-de-contratacion','analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion','analista-de-contratacion'],\n }, */\n ]\n },\n {\n key: 'TYPE_E',\n form: [\n {\n id: 312,\n type: 'options',\n key: 'cesantias',\n controlType: 'dropdown-request',\n label: 'Cesantías',\n apiServe: 'rrhh',\n value: '',\n required: true,\n canAdd: false,\n options: [{ id: null, name: null }],\n minLength: 1,\n maxLength: 1000,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n disabled: false,\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n },\n {\n id: 315,\n type: 'text',\n key: 'cliente_corporativo',\n controlType: 'textbox',\n label: 'Cliente corporativo',\n apiServe: 'rrhh',\n value: '',\n required: false,\n canAdd: false,\n options: [],\n minLength: 1,\n maxLength: 50,\n inReport: false,\n preloaded: false,\n isFather: false,\n dependencies: [],\n disabled: false,\n cols: 1,\n editRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n seeRoles: ['coordinador-de-contratacion', 'analista-de-contratacion'],\n }\n ]\n }\n ]\n }\n}\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';\nimport {NotesService} from '../../../services/rest/notes.service';\nimport {AlertsService} from '../../../../../shared/alerts/alerts.service';\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\n\n@Component({\n selector: 'app-update-notes',\n templateUrl: './update-notes.component.html',\n styleUrls: ['./update-notes.component.sass']\n})\nexport class UpdateNotesComponent implements OnInit {\n\n noteValue: any;\n name: any;\n notasForm: any;\n noteId: any;\n\n constructor (\n @Inject(MAT_DIALOG_DATA) public data: any,\n private notesService: NotesService,\n private alertsService: AlertsService,\n public dialogRef: MatDialogRef,\n ) {\n this.noteValue = this.data['value']['note'];\n this.noteId = this.data['value']['id'];\n }\n\n ngOnInit(): void {\n this.formControl();\n }\n /**\n * @author Gabriel Garcia\n * @createddate 2022-10-29 \n * Metodo para definición de los controles del formulario\n */\n formControl(): void {\n this.notasForm = new FormGroup({\n anotacion: new FormControl(this.noteValue, [Validators.required]),\n });\n }\n /**\n * @author Gabriel Garcia\n * @createddate 2022-10-29 \n * Metodo para actualizar una nota\n * @param {any} notasForm Valores capturados de formulario de notas \n * @returns Json\n */\n update(notasForm: any) {\n const body = {\n note: notasForm.value.anotacion,\n };\n this.notesService.update(this.noteId, body).subscribe(response => {\n this.alertsService.alertSuccessWithoutButton('Excelente', 'Nota Actualizada');\n this.dialogRef.close();\n });\n }\n /**\n * @author Gabriel Garcia\n * @createddate 2022-10-29 \n * Metodo para cancelar la edición de la nota\n */\n opcionCancelar(){\n this.alertsService.alertWarning('¿Estás seguro?','¿Estás seguro de que deseas cancelar este proceso? Recuerda que la información se borrará automáticamente si realizas esta acción.').then((result)=>{\n if(result.isConfirmed){\n this.dialogRef.close();\n }\n });\n }\n \n}\n","\n\n\n
\n

\n Editar Nota\n

\n \n
\n\n
\n \n Escribe aqui tu nota\n \n \n
\n\n \n \n\n \n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { Store } from '@ngrx/store';\nimport * as moment from 'moment';\nimport { Observable } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport { CoachingService } from 'src/app/modules/coaching/services/coaching.service';\nimport { CoachingState } from 'src/app/modules/coaching/state/coaching.state';\nimport { listCampañas } from 'src/app/modules/coaching/state/selectors/selects.selector';\n\n@Component({\n selector: 'app-filtros',\n templateUrl: './filtros.component.html',\n styleUrls: ['./filtros.component.sass']\n})\nexport class FiltrosComponent implements OnInit {\n\n\n btnActive:boolean = false;\n campaignJefe:boolean = false;\n is_supervisor:boolean = false;\n\n //Filtros\n filtroFecha = new FormGroup({\n fechaInicial: new FormControl(),\n fechaFinal: new FormControl(),\n });\n filtroFechaSegui = new FormGroup({\n fechaInicialSegui: new FormControl(),\n fechaFinalSegui: new FormControl(),\n });\n filtroSeguimiento:string = '';\n filtroCampaign:string = '';\n filtroParametro:string = '';\n\n campaigns$:Observable = new Observable();\n\n constructor(\n private coachService:CoachingService,\n private store:Store,\n private authService:AuthService,\n ) { }\n\n ngOnInit(): void {\n this.campaigns$ = this.store.select(listCampañas);\n this.getFilterParam();\n }\n\n download(){\n\n const params = {\n fechaInicial:'',\n fechaFinal:'',\n fechaInicialSegui:'',\n fechaFinalSegui:'',\n campaing:'',\n search:''\n }\n\n if (this.filtroFecha.get('fechaInicial').value != null && this.filtroFecha.get('fechaFinal').value != null) {\n params.fechaInicial = moment(this.filtroFecha.get('fechaInicial').value).format('yyyy-MM-DD');\n params.fechaFinal = moment(this.filtroFecha.get('fechaFinal').value).format('yyyy-MM-DD');\n }\n\n if (this.filtroFechaSegui.get('fechaInicialSegui').value != null && this.filtroFechaSegui.get('fechaFinalSegui').value != null) {\n params.fechaInicialSegui = moment(this.filtroFechaSegui.get('fechaInicialSegui').value).format('yyyy-MM-DD');\n params.fechaFinalSegui = moment(this.filtroFechaSegui.get('fechaFinalSegui').value).format('yyyy-MM-DD');\n }\n\n if (this.filtroCampaign != null) {\n params.campaing = this.filtroCampaign;\n }\n\n if (this.filtroParametro != '') {\n params.search = this.filtroParametro;\n }\n\n this.coachService.getReport(params).subscribe((resp:any)=>{\n Tools.downloadFile(resp,'Coach_'+moment(new Date()).format('DD_MM_yyyy_hh_mm_ss'))\n });\n }\n\n /**\n * @author Cristian Gallo\n * @createdate 2022-02-04\n * Metedo que se encargara de habilitar y completar el campo filtro supervisor.\n * Tambien dara manejo el filtro de campañas.\n */\n\n getFilterParam(){\n this.authService.getUser().roles.forEach(rol => {\n if (rol == 'coaching::jefe' || rol == 'coaching::gerente') {\n this.campaignJefe = true;\n }\n \n if (rol == 'coaching::supervisor') {\n this.is_supervisor = true;\n this.filtroParametro = this.authService.decryptToken().rrhh.ID_number\n }\n\n });\n }\n\n}\n","
\n \n Fecha\n \n \n \n \n \n \n \n \n \n \n Creación seguimiento\n \n \n \n \n \n \n \n \n \n \n Campaña\n \n Ninguno\n \n {{campaign.name | uppercase }}\n \n \n {{campaign.name | uppercase }}\n \n \n \n \n Nombre o cédula coach\n \n \n
\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-control',\n templateUrl: './control.component.html',\n styleUrls: ['./control.component.sass']\n})\nexport class ControlComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n

Control

\n
\n

Aquí podrás crear y editar los grupos de las campañas. No

\n

olvides, “El respeto y empatía son clave”.

\n
\n
\n \n
\n
","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LandingPageEmailManagerComponent } from './pages/landing-page-email-manager/landing-page-email-manager.component';\nimport { EmailManagerMainComponent } from './pages/email-manager-main/email-manager-main.component';\nimport { ContactGroupMainComponent } from './pages/contact-group-main/contact-group-main.component';\nimport { CategoryPageMainComponent } from './pages/category-page-main/category-page-main.component';\nimport { StatePageMainComponent } from './pages/state-page-main/state-page-main.component';\nimport { TrayPageMainComponent } from './pages/tray-page-main/tray-page-main.component';\nimport { EmailPageMainComponent } from './pages/email-page-main/email-page-main.component';\nimport { AssignTraysUserComponent } from './pages/assign-trays-user/assign-trays-user.component';\nimport { AssignEmailUserComponent } from './pages/assign-email-user/assign-email-user.component';\nimport { AnsPageMainComponent } from './pages/ans-page-main/ans-page-main.component';\nimport { AssignPriorityPageMainComponent } from './pages/assign-priority-page-main/assign-priority-page-main.component';\nimport { SupervisorPageMainComponent } from './pages/supervisor-page-main/supervisor-page-main.component';\nimport { EmailReassignmentPageMainComponent } from './pages/email-reassignment-page-main/email-reassignment-page-main.component';\nimport { FolderPageMainComponent } from './pages/folder-page-main/folder-page-main.component';\nimport { AssignFolderUserComponent } from './pages/assign-folder-user/assign-folder-user.component';\nimport { MoveEmailToTraysComponent } from './pages/move-email-to-trays/move-email-to-trays.component';\nimport { MoveEmailToAccountComponent } from './pages/move-email-to-account/move-email-to-account.component';\nimport { SupervisorPageMainV2Component } from './pages/supervisor-page-main-v2/supervisor-page-main-v2.component';\nimport { TemplatesPageMainComponent } from './pages/templates-page-main/templates-page-main.component';\nimport { EmailSupportComponent } from './pages/email-support/email-support.component';\nimport { LabelPageMainComponent } from './pages/label-page-main/label-page-main.component';\n\nconst routes: Routes = [\n { path: '', component: LandingPageEmailManagerComponent },\n { path: 'correos', component: EmailManagerMainComponent },\n { path: 'contact-group', component: ContactGroupMainComponent },\n { path: 'categories', component: CategoryPageMainComponent },\n { path: 'states', component: StatePageMainComponent },\n { path: 'trays', component: TrayPageMainComponent },\n { path: 'email-config', component: EmailPageMainComponent },\n { path: 'assign-trays', component: AssignTraysUserComponent },\n { path: 'assign-emails', component: AssignEmailUserComponent },\n { path: 'ans', component: AnsPageMainComponent },\n { path: 'assign-priority', component: AssignPriorityPageMainComponent },\n { path: 'supervisor', component: SupervisorPageMainComponent },\n { path: 'email-reassignment', component: EmailReassignmentPageMainComponent },\n { path: 'templates', component: TemplatesPageMainComponent },\n { path: 'folders', component: FolderPageMainComponent },\n { path: 'assign-folders', component: AssignFolderUserComponent },\n { path: 'move-emails', component: MoveEmailToTraysComponent },\n { path: 'move-emails-account', component: MoveEmailToAccountComponent },\n { path: 'supervisor-v2', component: SupervisorPageMainV2Component },\n { path: 'templates', component: TemplatesPageMainComponent },\n { path: 'email-support', component: EmailSupportComponent },\n { path: 'labels', component: LabelPageMainComponent }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class EmailManagerRoutingModule { }\n","import {Component, Input, OnInit} from '@angular/core';\nimport {NotesService} from '../../../services/rest/notes.service';\nimport {MatDialog} from '@angular/material/dialog';\nimport {UpdateNotesComponent} from '../update-notes/update-notes.component';\nimport {AlertsService} from '../../../../../shared/alerts/alerts.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\n\n@Component({\n selector: 'app-by-step',\n templateUrl: './by-step.component.html',\n styleUrls: ['./by-step.component.sass']\n})\nexport class ByStepComponent implements OnInit {\n\n @Input() notes;\n @Input() rolUser;\n @Input() oportunity;\n @Input() step;\n @Input() typeView;\n user: any;\n\n constructor(\n private notesService: NotesService,\n public dialog: MatDialog,\n private alertsService: AlertsService,\n private authService: AuthService\n ) { }\n\n ngOnInit(): void {\n this.user = this.authService.decryptToken().rrhh_id;\n }\n /**\n * @author Gabriel Garcia\n * @createddate 2022-10-29 \n * Metodo para actualizar nota por id\n * @param {number} id id de la nota\n * @returns Json\n */\n update(id) {\n this.notesService.show(id).subscribe(response => {\n const dialogRef = this.dialog.open(UpdateNotesComponent, {\n width: '60%',\n disableClose: true,\n data: {\n value: response['data']\n },\n });\n dialogRef.afterClosed().subscribe(result => {\n this.getNotes();\n });\n });\n }\n /**\n * @author Gabriel Garcia\n * @createddate 2022-10-29 \n * Metodo para eliminar una nota por id\n * @param {number} id id de la nota\n * @returns Json\n */\n delete(id) {\n this.alertsService\n .alertWarning(\n '¿Estás seguro?',\n '¿En verdad desea eliminar esta nota?, recuerda que esta acción será definitiva y no se podrá deshacer.'\n )\n .then((result) => {\n if (result.isConfirmed) {\n this.notesService.delete(id).subscribe();\n this.alertsService.alertSuccessWithoutButton(\n 'Excelente',\n 'Se ha eliminado la nota exitosamente'\n );\n this.getNotes();\n }\n });\n }\n /**\n * @author Gabriel Garcia\n * @createddate 2022-10-29 \n * Metodo para actualizar nota por id\n * @param {number} id id de la nota\n * @returns Json\n */\n getNotes() {\n this.notesService.search(this.oportunity).subscribe((resp) => {\n this.notes = resp['data'][this.step];\n });\n }\n}\n","
\n
\n
\n Nota por: {{item.user_name}} | {{item.updated_at | date: 'dd/MM/yyyy h:mm a'}}\n
\n
{{item.note}}
\n
\n
\n \n \n
\n
\n\n
\n
\n
\n Nota por: {{item.user_name}} | {{item.updated_at | date: 'dd/MM/yyyy h:mm a'}}\n
\n
{{item.note}}
\n
\n
\n
\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","import { Component, OnInit, Input } from '@angular/core';\nimport { EmailService } from '../../services/email.service';\n\n@Component({\n selector: 'app-history-acordion-mail',\n templateUrl: './history-acordion-mail.component.html',\n styleUrls: ['./history-acordion-mail.component.css']\n})\nexport class HistoryAcordionMailComponent implements OnInit {\n @Input() idEmail: any = null;\n historyConversationList: any[] = [];\n\n constructor(private emailService: EmailService) { }\n\n ngOnInit(): void {\n this.getHistoryConversation();\n }\n\n /**\n * @author Fabian Duran\n * @createdate 2023-12-01\n * Metodo que trae el historico de conversacion del correo seleccionado.\n */\n getHistoryConversation(): void {\n this.emailService.getHistoryConversationByEmail(this.idEmail).subscribe(res => {\n this.historyConversationList = res.data;\n });\n }\n /**\n * @author Fabian Duran\n * @createdate 2023-12-01\n * Metodo que trae el historico de una conversacion segun seleccionado en el acordeon.\n * @param email Informacion del correo seleccionado. \n * @param index Indice seleccionado del expasion panel. \n */\n getDataToAccordeonOpen(email: any, index: number): void {\n if (!this.historyConversationList[index].hasOwnProperty('dataEmail')) {\n this.emailService.getEmailById(email).subscribe(res => {\n this.historyConversationList[index] = { \n ...this.historyConversationList[index], \n dataEmail: res.data\n };\n });\n }\n }\n}","
0; else noHistory\">\n \n \n \n \n \n {{ item.asunto }}\n \n \n \n {{ item.fecha_Hora }}\n \n \n \n \n
Cargando...
\n
\n
\n
\n
\n\n
No se registra historico de conversación
\n
","import { Component, OnInit } from '@angular/core';\nimport {TranslatesService} from '../../services/translates.service';\n\n@Component({\n selector: 'app-eliminar-auditoria',\n templateUrl: './eliminar-auditoria.component.html',\n styleUrls: ['./eliminar-auditoria.component.sass']\n})\nexport class EliminarAuditoriaComponent implements OnInit {\n private uuid = '8f87d0e0-92d3-11ee-b9d1-0242ac120003';\n public config: any;\n\n constructor(\n private configService: TranslatesService,\n ) { }\n\n ngOnInit(): void {\n this.configService.getConfig(this.uuid).subscribe((resp) => {\n this.config = resp;\n });\n }\n\n}\n","
\n\n
\n\n

{{config.labels.auditDeletion}}

\n
\n

{{config.labels.deleteAuditsInfo1}}

\n

{{config.labels.deleteAuditsInfo2}}

\n
\n\n \n\n
\n","import { Injectable } from '@angular/core';\nimport { MqttSoulService } from '../../mqtt/mqtt.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { IMqttMessage } from 'ngx-mqtt';\nimport { pipe } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { NotificacitonMqtt } from '../../mqtt/interfaces/mqtt.response.interface';\nimport { MessageChatInterface } from '../utils/interfaces.chat';\n\n@Injectable({\n providedIn: null\n})\nexport class ManagerChatService {\n\n //Envia los datos de confiruacion apra el chat actual enviado\n public $actualChat:Subject = new Subject();;\n //Variable apra capturar la mensajeria en tiempo real\n public $messagePublic:Subject = new Subject();\n //Variable que va indicando la lectur de los chats con los que se este comunicando\n public $readerMessages:Subject = new Subject()\n //Indica si la lista de contacto se deba dejar abierta o cerrada\n public $isOpenListContacs:Subject = new Subject()\n //Variable que va indicando se se publica un mensaje nuevo en un grupo \n public $messageGroup:Subject = new Subject()\n //Subscripcion de canal de grupos\n private chatGroupSubsciption:Subscription;\n\n /**\n * Interfaz que se encarga de la obtencion del ultimo emnsaje enviado y transmitirlo\n * @author Juan David Guerrero Vargas\n * @param message:MessageChatInterface|null {MessageChatInterface|null} mensaje enviado\n */\n public interfaceGetMessage = (message:MessageChatInterface|null)=>{\n if(message !== null ){\n this.newMesage(message);\n }\n }\n\n /**\n * Este pipe se encarga de transformar la respuesta de emision MQTT en el objeto JSON a utilizar en los diferente Chats\n */\n private pipeMqttMessage = pipe(\n map( (message:IMqttMessage) => message.payload ? new TextDecoder('utf-8').decode(message.payload) : \"\" ),\n map( (msg:string) => msg ? JSON.parse(msg) as NotificacitonMqtt : null ),\n map( (msg:any) => msg.message !== \"\" ? JSON.parse(msg.message) as MessageChatInterface : null ) ,\n ); \n\n\n constructor(\n private authService: AuthService,\n private mqttSoulService:MqttSoulService\n ) { \n\n this.mqttSoulService.getChannel(\"/chat/user/\" + this.authService.decryptToken().rrhh_id)\n .pipe(this.pipeMqttMessage) \n .subscribe(this.interfaceGetMessage);\n\n this.mqttSoulService.getChannel(\"/chat/group/0\" )\n .pipe(this.pipeMqttMessage) \n .subscribe(\n (groupMessage:any)=>{\n if(groupMessage !== null){\n this.newMesageInGroup(groupMessage);\n }\n }\n );\n\n this.mqttSoulService.getChannel(\"/chat/read/\" + this.authService.decryptToken().rrhh_id)\n .pipe(\n map( (message:IMqttMessage) => message.payload ? new TextDecoder('utf-8').decode(message.payload) : \"\" ),\n map( (msg:string) => msg ? JSON.parse(msg) as NotificacitonMqtt : null ),\n map( (msg:any) => msg.message !== \"\" ? JSON.parse(msg.message) : null ) ,\n ) \n .subscribe(\n (message:any)=>{\n if(message !== null ){\n this.$readerMessages.next(message);\n }\n }\n );\n\n }\n\n /**\n * Metodo para publicar nuevos mensajes \n * @author Juan David Guerrero Vargas\n * @param message:MessageChatInterface {MessageChatInterface} Mensaje piblicado\n */\n private newMesage(message:MessageChatInterface){\n this.$messagePublic.next(message)\n }\n\n private newMesageInGroup(groupMessa:any){\n this.$messageGroup.next(groupMessa)\n }\n\n /**\n * Metodo que emite cual es el chat actual a utilizar\n * @author Juan David Guerrero Vargas\n * @param chat:any {any} Emite cual es el usuario o grupo con el que se esta comunicando actualmente\n */\n public setActualChat(chat){\n this.$actualChat.next(chat)\n if(chat !== null && chat.recipient_type == 2){\n if(this.chatGroupSubsciption != undefined){\n this.chatGroupSubsciption.unsubscribe();\n }\n this.chatGroupSubsciption = this.mqttSoulService.getChannel(\"/chat/group/\" + chat.rrhh_id)\n .pipe( this.pipeMqttMessage ) \n .subscribe(this.interfaceGetMessage);\n }\n }\n\n /**\n * Metodo que se encarga de asignar el estado de a la lsita de conectato\n * @author Juan David Guerrero Vargas\n * @param stateListContact:boolean {boolean} estado de contacto\n */\n set openListContact(stateListContact:boolean){\n this.$isOpenListContacs.next(stateListContact);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\nimport { MailService } from '../../../services/rest/mail.service';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { AlertsService } from 'src/app/shared/alerts/alerts.service';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-new-email',\n templateUrl: './new-email.component.html',\n styleUrls: ['./new-email.component.sass']\n})\nexport class NewEmailComponent implements OnInit {\n\n mailForm: FormGroup;\n cuentaEmailId: any;\n\n // tslint:disable-next-line: member-ordering\n public editorConfig: AngularEditorConfig = {\n editable: true,\n spellcheck: true,\n height: '5%',\n minHeight: '0',\n maxHeight: '20%',\n minWidth: '0',\n enableToolbar: true,\n showToolbar: true,\n placeholder: 'Enter text here...',\n defaultParagraphSeparator: '',\n defaultFontName: '',\n defaultFontSize: '',\n fonts: [\n { class: 'arial', name: 'Arial' },\n { class: 'times-new-roman', name: 'Times New Roman' },\n { class: 'calibri', name: 'Calibri' },\n { class: 'comic-sans-ms', name: 'Comic Sans MS' }\n ],\n customClasses: [\n {\n name: 'quote',\n class: 'quote',\n },\n {\n name: 'redText',\n class: 'redText'\n },\n {\n name: 'titleText',\n class: 'titleText',\n tag: 'h1',\n },\n ],\n sanitize: true,\n toolbarPosition: 'top',\n toolbarHiddenButtons: [\n ['bold', 'italic'],\n ['fontSize']\n ]\n };\n\n archivosCargados: any[] = [];\n file: any;\n\n constructor(private form: FormBuilder,\n public mailService: MailService,\n public authService: AuthService,\n private alertsService: AlertsService,\n public dialog: MatDialogRef) { }\n\n ngOnInit(): void {\n this.formControl();\n\n this.mailService.postCuentaEmailConfig().subscribe((respo) => {\n this.cuentaEmailId = respo[0].cuentaEmailId;\n this.mailForm.patchValue({\n respuesta: '


' + respo[0].email.firma[0].firmaHtml + '


'\n });\n });\n\n }\n\n formControl(): void {\n this.mailForm = this.form.group({\n para: new FormControl('', [Validators.required]),\n cc: new FormControl('', []),\n cco: new FormControl('', []),\n asunto: new FormControl('', [Validators.required]),\n respuesta: new FormControl('', []),\n });\n }\n\n get error(): any { return this.mailForm.controls; }\n\n CargarArchivo(event): void {\n this.file = event.target.files[0];\n const formData = new FormData();\n formData.append('archivoCarga', this.file);\n\n this.mailService.postCargarArchivos(formData).subscribe((resp) => {\n this.archivosCargados.push({\n path: resp.data.path,\n name: resp.data.name\n });\n });\n }\n\n saveEmail(mailForm): void {\n\n const newMail = new FormData();\n\n newMail.append( 'asunto' , mailForm.value.asunto );\n newMail.append( 'cuentaEmailId' , this.cuentaEmailId );\n newMail.append( 'emailHtml' , mailForm.value.respuesta );\n newMail.append( 'adjuntos' , JSON.stringify(this.archivosCargados) );\n newMail.append( 'para' , mailForm.value.para );\n newMail.append( 'cc' , mailForm.value.cc );\n newMail.append( 'cco' , mailForm.value.cco );\n\n this.mailService.postCorreoNuevo(newMail).subscribe((resp) => {\n this.alertsService.alertSuccess('Enviado', resp.data);\n this.dialog.close();\n });\n }\n\n}\n","\n\n\n\n \n\n \n \n
\n\n \n Para: \n \n ¡Advertencia! Este campo es requerido\n Debe ingresar un correo valido\n \n\n \n cc: \n \n Debe ingresar un correo valido\n \n\n \n cco: \n \n Debe ingresar un correo valido\n \n\n \n Asunto: \n \n ¡Advertencia! Este campo es requerido\n \n\n \n
    \n
    \n
  • {{item.name}}
  • \n
    \n \n
\n\n \n\n
\n \n
\n \n
\n\n
\n\n
\n\n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { GroupsListComponent } from './pages/groups-list/groups-list.component';\n\nconst routes: Routes = [\n { path: '', component: GroupsListComponent},\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class GroupsRoutingModule { }\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\";","import { DecimalPipe } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport * as moment from 'moment';\nimport { Observable } from 'rxjs';\nimport { AuthService } from 'src/app/core/services/rest/auth.service';\nimport { Tools } from 'src/app/modules/calidad/utils/tools.utils';\nimport { auditoriaModel } from 'src/app/modules/coaching/core/interfaces/auditoria.interface';\nimport { CoachingService } from 'src/app/modules/coaching/services/coaching.service';\nimport { CoachingState } from 'src/app/modules/coaching/state/coaching.state';\nimport { selectedListAuditoria } from 'src/app/modules/coaching/state/selectors/auditoria.selector';\nimport { listCampañas } from 'src/app/modules/coaching/state/selectors/selects.selector';\nimport Swal from 'sweetalert2';\nimport { listIndicadores, listProcesos, listCuartiles, listCausas } from '../../../../../../state/selectors/selects.selector';\n\n@Component({\n selector: 'app-form-auditoria-coaching',\n templateUrl: './form-auditoria-coaching.component.html',\n styleUrls: ['./form-auditoria-coaching.component.sass']\n})\nexport class FormAuditoriaCoachingComponent implements OnInit {\n startDate = new Date();\n endtDate = moment(this.startDate).add(30,'d').format();\n acompanamientoForm:FormGroup;\n auditoria$:Observable = new Observable();\n dataAuditoria:auditoriaModel;\n dataCampaign;\n id_asesor;\n campaignJefe:boolean = false;\n //Selects\n indicadores$:Observable = new Observable();\n procesos$:Observable = new Observable();\n campaigns$:Observable = new Observable();\n cuartiles$:Observable = new Observable();\n causas$:Observable = new Observable();\n constructor(\n private fb:FormBuilder,\n private store:Store,\n private numberPipe:DecimalPipe,\n private coachingService:CoachingService,\n private router:Router,\n private authService:AuthService,\n ) { }\n\n ngOnInit(): void {\n this.getSelects();\n this.createForm();\n this.getFilterParam();\n }\n\n createForm(){\n this.acompanamientoForm = this.fb.group({\n tipo_proceso:['',[Validators.required]],\n idAuditoria:[{value:'',disabled:true},[Validators.required]],\n nombre_coachee:[{value:'',disabled:true},[Validators.required]],\n cedula_coachee:[{value:'',disabled:true},[Validators.required]],\n campaing:['',[Validators.required]],\n matriz:[{value:'',disabled:true},[Validators.required]],\n indicador:[{value:5,disabled:true},[Validators.required]],\n indicador_inicial:[{value:'',disabled:true},[Validators.required]],\n cuartil_inicial:['',[Validators.required]],\n proximo_seguimiento:['',[Validators.required]],\n objetivo_kpi:['',[Validators.required]],\n causa_raiz:['',[Validators.required]],\n conclusion_sesion:['',[Validators.required]],\n });\n this.auditoria$ = this.store.select(selectedListAuditoria);\n this.auditoria$.forEach(element => {\n if (element[0]) {\n this.dataAuditoria = element[0].auditoria;\n this.dataCampaign = element[0].campaing;\n this.id_asesor = this.dataAuditoria.asesor_id;\n this.acompanamientoForm.get('idAuditoria').setValue(this.dataAuditoria.id);\n this.acompanamientoForm.get('nombre_coachee').setValue(this.dataAuditoria.nombre_asesor);\n this.acompanamientoForm.get('cedula_coachee').setValue(this.dataAuditoria.cedula_asesor);\n this.acompanamientoForm.get('matriz').setValue(this.dataAuditoria.detalle_matriz.nombre);\n this.acompanamientoForm.get('indicador_inicial').setValue(this.dataAuditoria.total_punaje.match(/(\\d*.\\d{0,3})/)[0]);\n }\n });\n }\n\n getSelects(){\n this.indicadores$ = this.store.select(listIndicadores);\n this.procesos$ = this.store.select(listProcesos);\n this.cuartiles$ = this.store.select(listCuartiles);\n this.causas$ = this.store.select(listCausas);\n this.campaigns$ = this.store.select(listCampañas);\n }\n\n save(){\n if (this.acompanamientoForm.invalid) {\n return\n }\n this.acompanamientoForm.enable();\n this.acompanamientoForm.get('proximo_seguimiento').setValue(moment(this.acompanamientoForm.get('proximo_seguimiento').value).format('yyyy-MM-DD'));\n Object.assign(this.acompanamientoForm.value,{\n idCoachee:this.id_asesor,\n ruta:`/mios/coaching/solicitud/`,\n mensaje:`Se te ha realizado un nuevo acompañamiento con ID-`\n });\n this.coachingService.crearCoachee(this.acompanamientoForm.value).subscribe((resp:any)=>{\n if (resp.respuesta.codigo == 202) {\n Swal.fire({\n icon:'success',\n title:'¡Excelente!',\n html:`

El coaching se ha creado con exito.

ID Coaching ${resp.respuesta.id}

`,\n showConfirmButton:false,\n timer: 4500\n })\n this.router.navigateByUrl('/mios/coaching/coaching/0');\n }else{\n this.acompanamientoForm.get('idAuditoria').disable();\n this.acompanamientoForm.get('nombre_coachee').disable();\n this.acompanamientoForm.get('cedula_coachee').disable();\n this.acompanamientoForm.get('matriz').disable();\n this.acompanamientoForm.get('indicador').disable();\n this.acompanamientoForm.get('indicador_inicial').disable();\n Tools.swalError('¡Oops!','Lo sentimos, ha ocurrido un error inesperado y no fue posible crear el acompañamiento, por favor intenta nuevamente.');\n }\n },(err)=>{\n this.acompanamientoForm.get('idAuditoria').disable();\n this.acompanamientoForm.get('nombre_coachee').disable();\n this.acompanamientoForm.get('cedula_coachee').disable();\n this.acompanamientoForm.get('matriz').disable();\n this.acompanamientoForm.get('indicador').disable();\n this.acompanamientoForm.get('indicador_inicial').disable();\n }\n );\n }\n\n cancel(){\n this.acompanamientoForm.get('tipo_proceso').reset();\n this.acompanamientoForm.get('campaing').reset();\n this.acompanamientoForm.get('cuartil_inicial').reset();\n this.acompanamientoForm.get('proximo_seguimiento').reset();\n this.acompanamientoForm.get('objetivo_kpi').reset();\n this.acompanamientoForm.get('causa_raiz').reset();\n this.acompanamientoForm.get('conclusion_sesion').reset();\n this.acompanamientoForm.get('tipo_proceso').setErrors(null);\n this.acompanamientoForm.get('campaing').setErrors(null);\n this.acompanamientoForm.get('cuartil_inicial').setErrors(null);\n this.acompanamientoForm.get('proximo_seguimiento').setErrors(null);\n this.acompanamientoForm.get('objetivo_kpi').setErrors(null);\n this.acompanamientoForm.get('causa_raiz').setErrors(null);\n this.acompanamientoForm.get('conclusion_sesion').setErrors(null);\n }\n\n getFilterParam(){\n this.authService.getUser().roles.forEach(rol => {\n if (rol == 'coaching::jefe' || rol == 'coaching::gerente') {\n this.campaignJefe = true;\n }\n });\n }\n\n}\n","
\n

Nuevo acompañamiento

\n \n
\n \n Tipo de proceso\n \n {{proceso.nombre}}\n \n Por favor seleccione una opción\n \n \n Id auditoría\n \n \n \n Nombre\n \n \n \n Cédula\n \n \n \n Campaña\n \n \n {{campaign.name | uppercase }}\n \n \n {{campaign.name | uppercase }}\n \n \n Por favor seleccione una opción\n \n \n Matriz\n \n \n \n Indicador a trabajar\n \n {{indicador.nombre}}\n \n \n \n Indicador inicial\n \n \n \n Cuartil inicial\n \n {{cuartil.nombre}}\n \n Por favor seleccione una opción\n \n \n Próximo seguimiento\n \n \n \n \n \n Por ingresa una fecha de seguimiento.\n \n \n Objetivo KPI\n \n Por favor ingresa un valor de KPI.\n \n \n Causa raíz\n \n {{causa.nombre}}\n \n Por favor seleccione una opción\n \n \n Conclusiones\n \n Por favor seleccione una opción\n \n
\n \n \n
\n
\n
"],"sourceRoot":"webpack:///"}