@platform-modules/foreign-ministry 1.3.335 → 1.3.336
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env +6 -5
- package/dist/i18n/workflow-chat-i18n.d.ts +5 -0
- package/dist/i18n/workflow-chat-i18n.js +21 -0
- package/dist/i18n/workflow-chat-i18n.json +320 -0
- package/dist/i18n/workflow-chat-message.builder.d.ts +316 -0
- package/dist/i18n/workflow-chat-message.builder.js +891 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/models/AppointmentChatModel.d.ts +2 -0
- package/dist/models/AppointmentChatModel.js +8 -0
- package/dist/models/AppointmentWorkflowModel.d.ts +2 -0
- package/dist/models/AppointmentWorkflowModel.js +8 -0
- package/dist/models/AssistanceCitizensAbroadChatModel.d.ts +2 -0
- package/dist/models/AssistanceCitizensAbroadChatModel.js +8 -0
- package/dist/models/AssistanceCitizensAbroadWorkflowModel.d.ts +1 -0
- package/dist/models/AssistanceCitizensAbroadWorkflowModel.js +4 -0
- package/dist/models/ChildrensEducationChatModel.d.ts +2 -0
- package/dist/models/ChildrensEducationChatModel.js +8 -0
- package/dist/models/ChildrensEducationWorkflowModel.d.ts +1 -0
- package/dist/models/ChildrensEducationWorkflowModel.js +4 -0
- package/dist/models/DiplomaticAcademyChatModel.d.ts +2 -0
- package/dist/models/DiplomaticAcademyChatModel.js +8 -0
- package/dist/models/DiplomaticAcademyWorkflowModel.d.ts +2 -0
- package/dist/models/DiplomaticAcademyWorkflowModel.js +8 -0
- package/dist/models/DiplomaticChatsModel.d.ts +2 -0
- package/dist/models/DiplomaticChatsModel.js +8 -0
- package/dist/models/DiplomaticWorkFlowModel.d.ts +2 -0
- package/dist/models/DiplomaticWorkFlowModel.js +8 -0
- package/dist/models/DocumentTranslationChatModel.d.ts +2 -0
- package/dist/models/DocumentTranslationChatModel.js +8 -0
- package/dist/models/DocumentTranslationWorkflowModel.d.ts +2 -0
- package/dist/models/DocumentTranslationWorkflowModel.js +8 -0
- package/dist/models/EarlyCheckoutChatModel.d.ts +2 -0
- package/dist/models/EarlyCheckoutChatModel.js +8 -0
- package/dist/models/EarlyCheckoutWorkflowModel.d.ts +2 -0
- package/dist/models/EarlyCheckoutWorkflowModel.js +8 -0
- package/dist/models/EmbassyEvaluationChatModel.d.ts +1 -0
- package/dist/models/EmbassyEvaluationChatModel.js +4 -0
- package/dist/models/EmbassyEvaluationWorkflowModel.d.ts +1 -0
- package/dist/models/EmbassyEvaluationWorkflowModel.js +4 -0
- package/dist/models/EmployeeCardChatsModel.d.ts +2 -0
- package/dist/models/EmployeeCardChatsModel.js +8 -0
- package/dist/models/EmployeeCardWorkFlowModel.d.ts +2 -0
- package/dist/models/EmployeeCardWorkFlowModel.js +8 -0
- package/dist/models/EmployeeEvaluationChatModel.d.ts +1 -0
- package/dist/models/EmployeeEvaluationChatModel.js +4 -0
- package/dist/models/EmployeeEvaluationWorkflowModel.d.ts +1 -0
- package/dist/models/EmployeeEvaluationWorkflowModel.js +4 -0
- package/dist/models/EmployeeOfMonthNominationChatModel.d.ts +1 -0
- package/dist/models/EmployeeOfMonthNominationChatModel.js +4 -0
- package/dist/models/EmployeeOfMonthNominationWorkflowModel.d.ts +1 -0
- package/dist/models/EmployeeOfMonthNominationWorkflowModel.js +4 -0
- package/dist/models/EmployeeOfMonthSupportNominationChatModel.d.ts +1 -0
- package/dist/models/EmployeeOfMonthSupportNominationChatModel.js +4 -0
- package/dist/models/EmployeeOfMonthSupportNominationWorkflowModel.d.ts +1 -0
- package/dist/models/EmployeeOfMonthSupportNominationWorkflowModel.js +4 -0
- package/dist/models/FinancialChatsModel.d.ts +2 -0
- package/dist/models/FinancialChatsModel.js +8 -0
- package/dist/models/FinancialWorkFlowModel.d.ts +2 -0
- package/dist/models/FinancialWorkFlowModel.js +8 -0
- package/dist/models/FoodChatModel.d.ts +1 -0
- package/dist/models/FoodChatModel.js +4 -0
- package/dist/models/FoodWorkflowModel.d.ts +2 -0
- package/dist/models/FoodWorkflowModel.js +8 -0
- package/dist/models/GatePassChatsModel.d.ts +2 -0
- package/dist/models/GatePassChatsModel.js +8 -0
- package/dist/models/GatePassWorkFlowModel.d.ts +2 -0
- package/dist/models/GatePassWorkFlowModel.js +8 -0
- package/dist/models/GeneralServiceChatsModel.d.ts +2 -0
- package/dist/models/GeneralServiceChatsModel.js +8 -0
- package/dist/models/GeneralServiceWorkFlowModel.d.ts +2 -0
- package/dist/models/GeneralServiceWorkFlowModel.js +8 -0
- package/dist/models/HallChatModel.d.ts +1 -0
- package/dist/models/HallChatModel.js +4 -0
- package/dist/models/HallWorkflowModel.d.ts +2 -0
- package/dist/models/HallWorkflowModel.js +8 -0
- package/dist/models/HousingRentalAccommodationChatModel.d.ts +2 -0
- package/dist/models/HousingRentalAccommodationChatModel.js +8 -0
- package/dist/models/HousingRentalAccommodationWorkflowModel.d.ts +1 -0
- package/dist/models/HousingRentalAccommodationWorkflowModel.js +4 -0
- package/dist/models/HousingRentalVehicleChatModel.d.ts +2 -0
- package/dist/models/HousingRentalVehicleChatModel.js +8 -0
- package/dist/models/HousingRentalVehicleWorkflowModel.d.ts +1 -0
- package/dist/models/HousingRentalVehicleWorkflowModel.js +4 -0
- package/dist/models/InitiatorEmployeeNominationChatModel.d.ts +1 -0
- package/dist/models/InitiatorEmployeeNominationChatModel.js +4 -0
- package/dist/models/InitiatorEmployeeNominationWorkflowModel.d.ts +1 -0
- package/dist/models/InitiatorEmployeeNominationWorkflowModel.js +4 -0
- package/dist/models/InnovativeEmployeeNominationChatModel.d.ts +1 -0
- package/dist/models/InnovativeEmployeeNominationChatModel.js +4 -0
- package/dist/models/InnovativeEmployeeNominationWorkflowModel.d.ts +1 -0
- package/dist/models/InnovativeEmployeeNominationWorkflowModel.js +4 -0
- package/dist/models/IpeGrievanceChatModel.d.ts +1 -0
- package/dist/models/IpeGrievanceChatModel.js +4 -0
- package/dist/models/IpeGrievanceWorkflowModel.d.ts +1 -0
- package/dist/models/IpeGrievanceWorkflowModel.js +4 -0
- package/dist/models/LMSCourseExternalLecturerChatModel.d.ts +2 -0
- package/dist/models/LMSCourseExternalLecturerChatModel.js +8 -0
- package/dist/models/LMSCourseExternalLecturerWorkflowModel.d.ts +2 -0
- package/dist/models/LMSCourseExternalLecturerWorkflowModel.js +8 -0
- package/dist/models/LMSExternalCourseParticipationChatModel.d.ts +2 -0
- package/dist/models/LMSExternalCourseParticipationChatModel.js +8 -0
- package/dist/models/LMSExternalCourseParticipationWorkflowModel.d.ts +2 -0
- package/dist/models/LMSExternalCourseParticipationWorkflowModel.js +8 -0
- package/dist/models/LMSExternalEntityTrainedChatModel.d.ts +2 -0
- package/dist/models/LMSExternalEntityTrainedChatModel.js +8 -0
- package/dist/models/LMSExternalEntityTrainedWorkflowModel.d.ts +2 -0
- package/dist/models/LMSExternalEntityTrainedWorkflowModel.js +8 -0
- package/dist/models/LanguageCourseChatModel.d.ts +2 -0
- package/dist/models/LanguageCourseChatModel.js +8 -0
- package/dist/models/LanguageCourseWorkflowModel.d.ts +2 -0
- package/dist/models/LanguageCourseWorkflowModel.js +8 -0
- package/dist/models/LeaveChatModel.d.ts +2 -0
- package/dist/models/LeaveChatModel.js +8 -0
- package/dist/models/LeaveWorkFlowModel.d.ts +2 -0
- package/dist/models/LeaveWorkFlowModel.js +8 -0
- package/dist/models/MediaChatModel.d.ts +2 -0
- package/dist/models/MediaChatModel.js +8 -0
- package/dist/models/MediaWorkflowModel.d.ts +2 -0
- package/dist/models/MediaWorkflowModel.js +8 -0
- package/dist/models/MedicalExpensesChatModel.d.ts +2 -0
- package/dist/models/MedicalExpensesChatModel.js +8 -0
- package/dist/models/MedicalExpensesWorkflowModel.d.ts +1 -0
- package/dist/models/MedicalExpensesWorkflowModel.js +4 -0
- package/dist/models/MeetingChatModel.d.ts +2 -0
- package/dist/models/MeetingChatModel.js +8 -0
- package/dist/models/MeetingWorkflowModel.d.ts +2 -0
- package/dist/models/MeetingWorkflowModel.js +8 -0
- package/dist/models/MissionBankAccountChatModel.d.ts +2 -0
- package/dist/models/MissionBankAccountChatModel.js +8 -0
- package/dist/models/MissionBankAccountWorkflowModel.d.ts +2 -0
- package/dist/models/MissionBankAccountWorkflowModel.js +8 -0
- package/dist/models/MissionContractsChatModel.d.ts +2 -0
- package/dist/models/MissionContractsChatModel.js +8 -0
- package/dist/models/MissionContractsWorkflowModel.d.ts +1 -0
- package/dist/models/MissionContractsWorkflowModel.js +4 -0
- package/dist/models/MissionTravelChatModel.d.ts +1 -0
- package/dist/models/MissionTravelChatModel.js +4 -0
- package/dist/models/MissionTravelWorkflowModel.d.ts +2 -0
- package/dist/models/MissionTravelWorkflowModel.js +8 -0
- package/dist/models/NationalDayCelebrationsChatModel.d.ts +2 -0
- package/dist/models/NationalDayCelebrationsChatModel.js +8 -0
- package/dist/models/NationalDayCelebrationsWorkflowModel.d.ts +1 -0
- package/dist/models/NationalDayCelebrationsWorkflowModel.js +4 -0
- package/dist/models/RecruitmentDomesticWorkersChatModel.d.ts +2 -0
- package/dist/models/RecruitmentDomesticWorkersChatModel.js +8 -0
- package/dist/models/RecruitmentDomesticWorkersWorkflowModel.d.ts +1 -0
- package/dist/models/RecruitmentDomesticWorkersWorkflowModel.js +4 -0
- package/dist/models/RegisterCandidateChatModel.d.ts +2 -0
- package/dist/models/RegisterCandidateChatModel.js +8 -0
- package/dist/models/RegisterCandidateWorkflowModel.d.ts +2 -0
- package/dist/models/RegisterCandidateWorkflowModel.js +8 -0
- package/dist/models/RegisterVacancyChatModel.d.ts +2 -0
- package/dist/models/RegisterVacancyChatModel.js +8 -0
- package/dist/models/RegisterVacancyWorkflowModel.d.ts +2 -0
- package/dist/models/RegisterVacancyWorkflowModel.js +8 -0
- package/dist/models/RepatriationCitizensChatModel.d.ts +2 -0
- package/dist/models/RepatriationCitizensChatModel.js +8 -0
- package/dist/models/RepatriationCitizensWorkflowModel.d.ts +1 -0
- package/dist/models/RepatriationCitizensWorkflowModel.js +4 -0
- package/dist/models/RequestParcelChatModel.d.ts +2 -0
- package/dist/models/RequestParcelChatModel.js +8 -0
- package/dist/models/RequestParcelWorkflowModel.d.ts +2 -0
- package/dist/models/RequestParcelWorkflowModel.js +8 -0
- package/dist/models/RequestPassportChatModel.d.ts +2 -0
- package/dist/models/RequestPassportChatModel.js +8 -0
- package/dist/models/RequestPassportWorkflowModel.d.ts +2 -0
- package/dist/models/RequestPassportWorkflowModel.js +8 -0
- package/dist/models/ResignationTerminationChatModel.d.ts +2 -0
- package/dist/models/ResignationTerminationChatModel.js +8 -0
- package/dist/models/ResignationTerminationWorkflowModel.d.ts +2 -0
- package/dist/models/ResignationTerminationWorkflowModel.js +8 -0
- package/dist/models/RetiredCardChatsModel.d.ts +2 -0
- package/dist/models/RetiredCardChatsModel.js +8 -0
- package/dist/models/RetiredCardWorkFlowModel.d.ts +2 -0
- package/dist/models/RetiredCardWorkFlowModel.js +8 -0
- package/dist/models/SecurityChatsModel.d.ts +2 -0
- package/dist/models/SecurityChatsModel.js +8 -0
- package/dist/models/SlaApprovalsViewModel.js +47 -47
- package/dist/models/SlaMyRequestsViewModel.js +52 -52
- package/dist/models/StayAfterHoursChatModel.d.ts +2 -0
- package/dist/models/StayAfterHoursChatModel.js +8 -0
- package/dist/models/StayAfterHoursWorkflowModel.d.ts +2 -0
- package/dist/models/StayAfterHoursWorkflowModel.js +8 -0
- package/dist/models/TransferAllowanceChatModel.d.ts +2 -0
- package/dist/models/TransferAllowanceChatModel.js +8 -0
- package/dist/models/TransferAllowanceWorkflowModel.d.ts +1 -0
- package/dist/models/TransferAllowanceWorkflowModel.js +4 -0
- package/dist/models/TransferMissionChatModel.d.ts +2 -0
- package/dist/models/TransferMissionChatModel.js +8 -0
- package/dist/models/TransferMissionWorkflowModel.d.ts +2 -0
- package/dist/models/TransferMissionWorkflowModel.js +8 -0
- package/dist/models/TransferSalaryBankAccountChatModel.d.ts +2 -0
- package/dist/models/TransferSalaryBankAccountChatModel.js +8 -0
- package/dist/models/TransferSalaryBankAccountWorkflowModel.d.ts +1 -0
- package/dist/models/TransferSalaryBankAccountWorkflowModel.js +4 -0
- package/dist/models/UpdateAttendanceChatModel.d.ts +1 -0
- package/dist/models/UpdateAttendanceChatModel.js +4 -0
- package/dist/models/UpdateAttendanceWorkflowModel.d.ts +2 -0
- package/dist/models/UpdateAttendanceWorkflowModel.js +8 -0
- package/package.json +1 -1
- package/scripts/check-column-types.js +38 -38
- package/scripts/check-service-tables.js +42 -42
- package/scripts/sync-sla-reports-sql.js +95 -95
- package/sql/add_fm_workflow_chat_arabic_columns.sql +153 -0
- package/sql/sla-reports-sync.manifest.json +9 -8
- package/sql/sla_reports_admin_procedures.sql +283 -283
- package/sql/sla_reports_approvals_workbook.sql +383 -383
- package/sql/sla_reports_procedures.sql +874 -874
- package/sql/sla_requests_status_data_fix.sql +6 -0
- package/sql/sla_requests_status_to_varchar.sql +28 -28
- package/sql/vw_sla_approvals.sql +108 -108
- package/sql/vw_sla_my_requests.sql +55 -55
- package/src/data-source.ts +686 -686
- package/src/helpers/employee-evaluation-request.utils.ts +178 -178
- package/src/helpers/evaluation-eligibility.utils.ts +126 -126
- package/src/i18n/workflow-chat-i18n.json +320 -0
- package/src/i18n/workflow-chat-i18n.ts +5 -0
- package/src/i18n/workflow-chat-message.builder.ts +1405 -0
- package/src/index.ts +620 -618
- package/src/models/AppointmentChatModel.ts +6 -0
- package/src/models/AppointmentWorkflowModel.ts +6 -0
- package/src/models/AssistanceCitizensAbroadChatModel.ts +6 -0
- package/src/models/AssistanceCitizensAbroadWorkflowModel.ts +3 -0
- package/src/models/ChildrensEducationChatModel.ts +6 -0
- package/src/models/ChildrensEducationWorkflowModel.ts +3 -0
- package/src/models/DiplomaticAcademyChatModel.ts +6 -0
- package/src/models/DiplomaticAcademyRequestModel.ts +80 -80
- package/src/models/DiplomaticAcademyWorkflowModel.ts +6 -0
- package/src/models/DiplomaticChatsModel.ts +6 -0
- package/src/models/DiplomaticWorkFlowModel.ts +6 -0
- package/src/models/DocumentTranslationChatModel.ts +6 -0
- package/src/models/DocumentTranslationWorkflowModel.ts +6 -0
- package/src/models/DocumentationFileModel.ts +40 -40
- package/src/models/EarlyCheckoutChatModel.ts +6 -0
- package/src/models/EarlyCheckoutWorkflowModel.ts +6 -0
- package/src/models/EmbassyEvaluationChatModel.ts +3 -0
- package/src/models/EmbassyEvaluationCycleModel.ts +45 -45
- package/src/models/EmbassyEvaluationRequestModel.ts +59 -59
- package/src/models/EmbassyEvaluationWorkflowModel.ts +3 -0
- package/src/models/EmployeeCardChatsModel.ts +6 -0
- package/src/models/EmployeeCardWorkFlowModel.ts +8 -2
- package/src/models/EmployeeEvaluationAnswerModel.ts +26 -26
- package/src/models/EmployeeEvaluationChatModel.ts +3 -0
- package/src/models/EmployeeEvaluationWorkflowModel.ts +3 -0
- package/src/models/EmployeeOfMonthNominationChatModel.ts +3 -0
- package/src/models/EmployeeOfMonthNominationWorkflowModel.ts +3 -0
- package/src/models/EmployeeOfMonthSupportNominationChatModel.ts +3 -0
- package/src/models/EmployeeOfMonthSupportNominationWorkflowModel.ts +3 -0
- package/src/models/EvaluationEligibilitySettingModel.ts +51 -51
- package/src/models/EvaluationFormModel.ts +44 -44
- package/src/models/FinancialChatsModel.ts +6 -0
- package/src/models/FinancialWorkFlowModel.ts +6 -0
- package/src/models/FoodChatModel.ts +3 -0
- package/src/models/FoodWorkflowModel.ts +6 -0
- package/src/models/GatePassChatsModel.ts +6 -0
- package/src/models/GatePassWorkFlowModel.ts +8 -2
- package/src/models/GeneralServiceChatsModel.ts +6 -0
- package/src/models/GeneralServiceWorkFlowModel.ts +6 -0
- package/src/models/HallChatModel.ts +3 -0
- package/src/models/HallWorkflowModel.ts +6 -0
- package/src/models/HousingRentalAccommodationChatModel.ts +6 -0
- package/src/models/HousingRentalAccommodationWorkflowModel.ts +3 -0
- package/src/models/HousingRentalVehicleChatModel.ts +6 -0
- package/src/models/HousingRentalVehicleWorkflowModel.ts +3 -0
- package/src/models/InitiatorEmployeeNominationChatModel.ts +3 -0
- package/src/models/InitiatorEmployeeNominationWorkflowModel.ts +3 -0
- package/src/models/InnovativeEmployeeNominationChatModel.ts +3 -0
- package/src/models/InnovativeEmployeeNominationWorkflowModel.ts +3 -0
- package/src/models/IpeGrievanceChatModel.ts +3 -0
- package/src/models/IpeGrievanceWorkflowModel.ts +3 -0
- package/src/models/LMSCourseExternalLecturerChatModel.ts +6 -0
- package/src/models/LMSCourseExternalLecturerWorkflowModel.ts +6 -0
- package/src/models/LMSExternalCourseParticipationChatModel.ts +6 -0
- package/src/models/LMSExternalCourseParticipationWorkflowModel.ts +6 -0
- package/src/models/LMSExternalEntityTrainedChatModel.ts +6 -0
- package/src/models/LMSExternalEntityTrainedPersonModel.ts +45 -45
- package/src/models/LMSExternalEntityTrainedWorkflowModel.ts +6 -0
- package/src/models/LanguageCourseChatModel.ts +6 -0
- package/src/models/LanguageCourseRequestModel.ts +67 -67
- package/src/models/LanguageCourseWorkflowModel.ts +6 -0
- package/src/models/LeaveApprovalsModel.ts +66 -66
- package/src/models/LeaveChatModel.ts +7 -1
- package/src/models/LeaveConfigModel.ts +71 -71
- package/src/models/LeaveWorkFlowModel.ts +6 -0
- package/src/models/MediaChatModel.ts +6 -0
- package/src/models/MediaWorkflowModel.ts +6 -0
- package/src/models/MedicalExpensesChatModel.ts +6 -0
- package/src/models/MedicalExpensesWorkflowModel.ts +3 -0
- package/src/models/MeetingChatModel.ts +6 -0
- package/src/models/MeetingWorkflowModel.ts +6 -0
- package/src/models/MissionBankAccountChatModel.ts +6 -0
- package/src/models/MissionBankAccountWorkflowModel.ts +6 -0
- package/src/models/MissionContractsChatModel.ts +6 -0
- package/src/models/MissionContractsWorkflowModel.ts +3 -0
- package/src/models/MissionTravelApprovalModel.ts +101 -101
- package/src/models/MissionTravelAttachmentModel.ts +56 -56
- package/src/models/MissionTravelChatModel.ts +55 -52
- package/src/models/MissionTravelPersonModel.ts +105 -105
- package/src/models/MissionTravelWorkflowModel.ts +60 -54
- package/src/models/NationalDayCelebrationsChatModel.ts +6 -0
- package/src/models/NationalDayCelebrationsWorkflowModel.ts +3 -0
- package/src/models/ProjectContactsModel.ts +51 -51
- package/src/models/ProjectFaqModel.ts +36 -36
- package/src/models/ProjectInvoicesModel.ts +41 -41
- package/src/models/ProjectModel.ts +75 -75
- package/src/models/ProjectTasksModel.ts +75 -75
- package/src/models/RecruitmentDomesticWorkersChatModel.ts +6 -0
- package/src/models/RecruitmentDomesticWorkersWorkflowModel.ts +3 -0
- package/src/models/RegisterCandidateChatModel.ts +6 -0
- package/src/models/RegisterCandidateWorkflowModel.ts +6 -0
- package/src/models/RegisterVacancyChatModel.ts +6 -0
- package/src/models/RegisterVacancyWorkflowModel.ts +6 -0
- package/src/models/RepatriationCitizensChatModel.ts +6 -0
- package/src/models/RepatriationCitizensWorkflowModel.ts +3 -0
- package/src/models/RequestParcelChatModel.ts +6 -0
- package/src/models/RequestParcelWorkflowModel.ts +6 -0
- package/src/models/RequestPassportChatModel.ts +6 -0
- package/src/models/RequestPassportWorkflowModel.ts +6 -0
- package/src/models/ResignationTerminationChatModel.ts +6 -0
- package/src/models/ResignationTerminationWorkflowModel.ts +6 -0
- package/src/models/RetiredCardChatsModel.ts +6 -0
- package/src/models/RetiredCardWorkFlowModel.ts +8 -2
- package/src/models/SecurityChatsModel.ts +6 -0
- package/src/models/ServiceSlaApprovalModel.ts +63 -63
- package/src/models/ServicesNotificationConfigsModel.ts +55 -55
- package/src/models/SlaApprovalsViewModel.ts +135 -135
- package/src/models/SlaMyRequestsViewModel.ts +172 -172
- package/src/models/SlaRequestModel.ts +57 -57
- package/src/models/StayAfterHoursChatModel.ts +6 -0
- package/src/models/StayAfterHoursWorkflowModel.ts +6 -0
- package/src/models/TransferAllowanceChatModel.ts +6 -0
- package/src/models/TransferAllowanceWorkflowModel.ts +3 -0
- package/src/models/TransferMissionChatModel.ts +6 -0
- package/src/models/TransferMissionWorkflowModel.ts +6 -0
- package/src/models/TransferSalaryBankAccountChatModel.ts +6 -0
- package/src/models/TransferSalaryBankAccountWorkflowModel.ts +3 -0
- package/src/models/UpdateAttendanceChatModel.ts +3 -0
- package/src/models/UpdateAttendanceWorkflowModel.ts +6 -0
- package/src/sla-report-views.ts +3 -3
- package/tsconfig.json +1 -0
- package/dist/helpers/sla-request-status.helper.d.ts +0 -3
- package/dist/helpers/sla-request-status.helper.js +0 -36
- package/dist/models/EmbassyEvaluationDepartmentSettingModel.d.ts +0 -14
- package/dist/models/EmbassyEvaluationDepartmentSettingModel.js +0 -56
- package/dist/models/EvaluationMastersModel.d.ts +0 -16
- package/dist/models/EvaluationMastersModel.js +0 -67
- package/dist/models/EvaluationQuestionMasterModel.d.ts +0 -10
- package/dist/models/EvaluationQuestionMasterModel.js +0 -42
- package/dist/models/EvaluationSectionMasterModel.d.ts +0 -7
- package/dist/models/EvaluationSectionMasterModel.js +0 -36
- package/dist/models/EvaluationWorkflowModel.d.ts +0 -60
- package/dist/models/EvaluationWorkflowModel.js +0 -215
- package/dist/models/IneligibleForEvaluationModel.d.ts +0 -8
- package/dist/models/IneligibleForEvaluationModel.js +0 -44
- package/dist/models/MissionTravelClassConfigModel.d.ts +0 -10
- package/dist/models/MissionTravelClassConfigModel.js +0 -50
- package/dist/models/MissionTravelPerdiemModel.d.ts +0 -10
- package/dist/models/MissionTravelPerdiemModel.js +0 -54
- package/dist/models/UuidAuditModel.d.ts +0 -9
- package/dist/models/UuidAuditModel.js +0 -41
|
@@ -28,10 +28,16 @@ export class RetiredCardWorkFlow extends BaseModel {
|
|
|
28
28
|
retired_card_approval_details_id: number; // Foreign key to retired_card_approvals
|
|
29
29
|
|
|
30
30
|
@Column({ type: 'varchar', length: 255, nullable: false })
|
|
31
|
-
content: string;
|
|
31
|
+
content: string;
|
|
32
|
+
|
|
33
|
+
@Column({ type: 'varchar', length: 500, nullable: true })
|
|
34
|
+
content_ar: string | null; // Description of the workflow step (e.g., "Pending Security Department Processing")
|
|
32
35
|
|
|
33
36
|
@Column({ type: 'enum', enum: RetiredCardWorkFlowStatus, default: RetiredCardWorkFlowStatus.NOT_YET_STARTED, nullable: false })
|
|
34
|
-
status: RetiredCardWorkFlowStatus;
|
|
37
|
+
status: RetiredCardWorkFlowStatus;
|
|
38
|
+
|
|
39
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
40
|
+
status_ar: string | null; // Current status of this workflow step
|
|
35
41
|
|
|
36
42
|
@Column({ type: 'integer', nullable: true })
|
|
37
43
|
user_id: number | null; // User responsible for this step
|
|
@@ -37,6 +37,9 @@ export class SecurityChat extends BaseModel {
|
|
|
37
37
|
@Column({ type: 'text', nullable: false })
|
|
38
38
|
message: string;
|
|
39
39
|
|
|
40
|
+
@Column({ type: 'text', nullable: true })
|
|
41
|
+
message_ar: string | null;
|
|
42
|
+
|
|
40
43
|
@Column({
|
|
41
44
|
type: 'enum',
|
|
42
45
|
enum: SecurityDeptMessageType,
|
|
@@ -48,6 +51,9 @@ export class SecurityChat extends BaseModel {
|
|
|
48
51
|
@Column({ type: 'text', nullable: true })
|
|
49
52
|
status: string;
|
|
50
53
|
|
|
54
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
55
|
+
status_ar: string | null;
|
|
56
|
+
|
|
51
57
|
constructor(
|
|
52
58
|
request_id: number,
|
|
53
59
|
user_id: number,
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
import { Column, Entity, Index } from "typeorm";
|
|
2
|
-
|
|
3
|
-
import { BaseModel } from "./BaseModel";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
@Entity({ name: "sla_approval" })
|
|
8
|
-
@Index("idx_sla_approval_request_id", ["request_id"])
|
|
9
|
-
@Index("idx_sla_approval_source_approval_id", ["source_approval_id"])
|
|
10
|
-
@Index("idx_sla_approval_service_subservice", ["service_id", "sub_service_id"])
|
|
11
|
-
@Index("idx_sla_approval_approval_status", ["approval_status"])
|
|
12
|
-
@Index("idx_sla_approval_level", ["level"])
|
|
13
|
-
@Index("idx_sla_approval_approver_user_id", ["approver_user_id"])
|
|
14
|
-
@Index("idx_sla_approval_delegate_user_id", ["delegate_user_id"])
|
|
15
|
-
@Index("idx_sla_approval_request_level", ["request_id", "level"])
|
|
16
|
-
@Index("idx_sla_approval_svc_sub_status", ["service_id", "sub_service_id", "approval_status"])
|
|
17
|
-
|
|
18
|
-
export class ServiceSlaApproval extends BaseModel {
|
|
19
|
-
|
|
20
|
-
@Column({ type: "int" })
|
|
21
|
-
request_id: number;
|
|
22
|
-
|
|
23
|
-
@Column({ type: "int" })
|
|
24
|
-
source_approval_id: number;
|
|
25
|
-
|
|
26
|
-
@Column({ type: "int", nullable: true })
|
|
27
|
-
service_id: number | null;
|
|
28
|
-
|
|
29
|
-
@Column({ type: "int", nullable: true })
|
|
30
|
-
sub_service_id: number | null;
|
|
31
|
-
|
|
32
|
-
@Column({ type: "varchar", length: 64 })
|
|
33
|
-
approval_status: string;
|
|
34
|
-
|
|
35
|
-
@Column({ type: "int" })
|
|
36
|
-
level: number;
|
|
37
|
-
|
|
38
|
-
@Column({ type: "int", nullable: true })
|
|
39
|
-
approver_role_id: number | null;
|
|
40
|
-
|
|
41
|
-
@Column({ type: "int", nullable: true })
|
|
42
|
-
department_id: number | null;
|
|
43
|
-
|
|
44
|
-
@Column({ type: "int", nullable: true })
|
|
45
|
-
section_id: number | null;
|
|
46
|
-
|
|
47
|
-
@Column({ type: "int", nullable: true })
|
|
48
|
-
approver_user_id: number | null;
|
|
49
|
-
|
|
50
|
-
@Column({ type: "int", nullable: true })
|
|
51
|
-
delegate_user_id: number | null;
|
|
52
|
-
|
|
53
|
-
@Column({ type: "int", nullable: true })
|
|
54
|
-
approved_by: number | null;
|
|
55
|
-
|
|
56
|
-
@Column({ type: "varchar", length: 500, nullable: true, default: "" })
|
|
57
|
-
comment: string;
|
|
58
|
-
|
|
59
|
-
@Column({ type: "boolean", default: true, nullable: false })
|
|
60
|
-
is_allowed: boolean;
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
|
|
1
|
+
import { Column, Entity, Index } from "typeorm";
|
|
2
|
+
|
|
3
|
+
import { BaseModel } from "./BaseModel";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@Entity({ name: "sla_approval" })
|
|
8
|
+
@Index("idx_sla_approval_request_id", ["request_id"])
|
|
9
|
+
@Index("idx_sla_approval_source_approval_id", ["source_approval_id"])
|
|
10
|
+
@Index("idx_sla_approval_service_subservice", ["service_id", "sub_service_id"])
|
|
11
|
+
@Index("idx_sla_approval_approval_status", ["approval_status"])
|
|
12
|
+
@Index("idx_sla_approval_level", ["level"])
|
|
13
|
+
@Index("idx_sla_approval_approver_user_id", ["approver_user_id"])
|
|
14
|
+
@Index("idx_sla_approval_delegate_user_id", ["delegate_user_id"])
|
|
15
|
+
@Index("idx_sla_approval_request_level", ["request_id", "level"])
|
|
16
|
+
@Index("idx_sla_approval_svc_sub_status", ["service_id", "sub_service_id", "approval_status"])
|
|
17
|
+
|
|
18
|
+
export class ServiceSlaApproval extends BaseModel {
|
|
19
|
+
|
|
20
|
+
@Column({ type: "int" })
|
|
21
|
+
request_id: number;
|
|
22
|
+
|
|
23
|
+
@Column({ type: "int" })
|
|
24
|
+
source_approval_id: number;
|
|
25
|
+
|
|
26
|
+
@Column({ type: "int", nullable: true })
|
|
27
|
+
service_id: number | null;
|
|
28
|
+
|
|
29
|
+
@Column({ type: "int", nullable: true })
|
|
30
|
+
sub_service_id: number | null;
|
|
31
|
+
|
|
32
|
+
@Column({ type: "varchar", length: 64 })
|
|
33
|
+
approval_status: string;
|
|
34
|
+
|
|
35
|
+
@Column({ type: "int" })
|
|
36
|
+
level: number;
|
|
37
|
+
|
|
38
|
+
@Column({ type: "int", nullable: true })
|
|
39
|
+
approver_role_id: number | null;
|
|
40
|
+
|
|
41
|
+
@Column({ type: "int", nullable: true })
|
|
42
|
+
department_id: number | null;
|
|
43
|
+
|
|
44
|
+
@Column({ type: "int", nullable: true })
|
|
45
|
+
section_id: number | null;
|
|
46
|
+
|
|
47
|
+
@Column({ type: "int", nullable: true })
|
|
48
|
+
approver_user_id: number | null;
|
|
49
|
+
|
|
50
|
+
@Column({ type: "int", nullable: true })
|
|
51
|
+
delegate_user_id: number | null;
|
|
52
|
+
|
|
53
|
+
@Column({ type: "int", nullable: true })
|
|
54
|
+
approved_by: number | null;
|
|
55
|
+
|
|
56
|
+
@Column({ type: "varchar", length: 500, nullable: true, default: "" })
|
|
57
|
+
comment: string;
|
|
58
|
+
|
|
59
|
+
@Column({ type: "boolean", default: true, nullable: false })
|
|
60
|
+
is_allowed: boolean;
|
|
61
|
+
|
|
62
|
+
}
|
|
63
|
+
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { Column, Entity } from "typeorm";
|
|
2
|
-
import { BaseModel } from "./BaseModel";
|
|
3
|
-
|
|
4
|
-
export enum ServicesNotificationTriggerType {
|
|
5
|
-
FINAL_APPROVAL = "final_approval",
|
|
6
|
-
EVERY_APPROVAL = "every_approval"
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
@Entity({ name: "services_notification_configs" })
|
|
10
|
-
export class ServicesNotificationConfigs extends BaseModel {
|
|
11
|
-
@Column({ type: "integer", nullable: false })
|
|
12
|
-
department_id: number;
|
|
13
|
-
|
|
14
|
-
@Column({ type: "integer", nullable: true })
|
|
15
|
-
section_id: number | null;
|
|
16
|
-
|
|
17
|
-
@Column({ type: "integer", nullable: false })
|
|
18
|
-
service_id: number;
|
|
19
|
-
|
|
20
|
-
@Column({ type: "integer", nullable: true })
|
|
21
|
-
sub_service_id: number | null;
|
|
22
|
-
|
|
23
|
-
@Column({ type: "integer", nullable: true })
|
|
24
|
-
role_id: number;
|
|
25
|
-
|
|
26
|
-
@Column({
|
|
27
|
-
type: "enum",
|
|
28
|
-
enum: ServicesNotificationTriggerType,
|
|
29
|
-
nullable: false,
|
|
30
|
-
default: ServicesNotificationTriggerType.FINAL_APPROVAL
|
|
31
|
-
})
|
|
32
|
-
trigger: ServicesNotificationTriggerType;
|
|
33
|
-
|
|
34
|
-
@Column({ type: "boolean", nullable: false, default: true })
|
|
35
|
-
is_active: boolean;
|
|
36
|
-
|
|
37
|
-
constructor(
|
|
38
|
-
department_id: number,
|
|
39
|
-
section_id: number | null = null,
|
|
40
|
-
service_id: number,
|
|
41
|
-
sub_service_id: number | null = null,
|
|
42
|
-
role_id: number,
|
|
43
|
-
trigger: ServicesNotificationTriggerType = ServicesNotificationTriggerType.FINAL_APPROVAL,
|
|
44
|
-
is_active: boolean = true
|
|
45
|
-
) {
|
|
46
|
-
super();
|
|
47
|
-
this.department_id = department_id;
|
|
48
|
-
this.section_id = section_id;
|
|
49
|
-
this.service_id = service_id;
|
|
50
|
-
this.sub_service_id = sub_service_id;
|
|
51
|
-
this.role_id = role_id;
|
|
52
|
-
this.trigger = trigger;
|
|
53
|
-
this.is_active = is_active;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
1
|
+
import { Column, Entity } from "typeorm";
|
|
2
|
+
import { BaseModel } from "./BaseModel";
|
|
3
|
+
|
|
4
|
+
export enum ServicesNotificationTriggerType {
|
|
5
|
+
FINAL_APPROVAL = "final_approval",
|
|
6
|
+
EVERY_APPROVAL = "every_approval"
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@Entity({ name: "services_notification_configs" })
|
|
10
|
+
export class ServicesNotificationConfigs extends BaseModel {
|
|
11
|
+
@Column({ type: "integer", nullable: false })
|
|
12
|
+
department_id: number;
|
|
13
|
+
|
|
14
|
+
@Column({ type: "integer", nullable: true })
|
|
15
|
+
section_id: number | null;
|
|
16
|
+
|
|
17
|
+
@Column({ type: "integer", nullable: false })
|
|
18
|
+
service_id: number;
|
|
19
|
+
|
|
20
|
+
@Column({ type: "integer", nullable: true })
|
|
21
|
+
sub_service_id: number | null;
|
|
22
|
+
|
|
23
|
+
@Column({ type: "integer", nullable: true })
|
|
24
|
+
role_id: number;
|
|
25
|
+
|
|
26
|
+
@Column({
|
|
27
|
+
type: "enum",
|
|
28
|
+
enum: ServicesNotificationTriggerType,
|
|
29
|
+
nullable: false,
|
|
30
|
+
default: ServicesNotificationTriggerType.FINAL_APPROVAL
|
|
31
|
+
})
|
|
32
|
+
trigger: ServicesNotificationTriggerType;
|
|
33
|
+
|
|
34
|
+
@Column({ type: "boolean", nullable: false, default: true })
|
|
35
|
+
is_active: boolean;
|
|
36
|
+
|
|
37
|
+
constructor(
|
|
38
|
+
department_id: number,
|
|
39
|
+
section_id: number | null = null,
|
|
40
|
+
service_id: number,
|
|
41
|
+
sub_service_id: number | null = null,
|
|
42
|
+
role_id: number,
|
|
43
|
+
trigger: ServicesNotificationTriggerType = ServicesNotificationTriggerType.FINAL_APPROVAL,
|
|
44
|
+
is_active: boolean = true
|
|
45
|
+
) {
|
|
46
|
+
super();
|
|
47
|
+
this.department_id = department_id;
|
|
48
|
+
this.section_id = section_id;
|
|
49
|
+
this.service_id = service_id;
|
|
50
|
+
this.sub_service_id = sub_service_id;
|
|
51
|
+
this.role_id = role_id;
|
|
52
|
+
this.trigger = trigger;
|
|
53
|
+
this.is_active = is_active;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -1,135 +1,135 @@
|
|
|
1
|
-
import { ViewColumn, ViewEntity } from "typeorm";
|
|
2
|
-
|
|
3
|
-
const VW_SLA_APPROVALS_SQL = `
|
|
4
|
-
SELECT
|
|
5
|
-
sa.id AS sla_approval_id,
|
|
6
|
-
sa.source_approval_id,
|
|
7
|
-
sa.request_id,
|
|
8
|
-
sa.service_id AS service_id,
|
|
9
|
-
sa.sub_service_id AS sub_service_id,
|
|
10
|
-
TRIM(COALESCE(svc.name, ''))::TEXT AS service_name,
|
|
11
|
-
TRIM(COALESCE(subsvc.sub_service_name, ''))::TEXT AS sub_service_name,
|
|
12
|
-
sa.approver_role_id AS approval_role_id,
|
|
13
|
-
TRIM(COALESCE(ar.name, ''))::TEXT AS approval_role_name,
|
|
14
|
-
sa.department_id AS approval_department_id,
|
|
15
|
-
TRIM(COALESCE(adpt.department_name, ''))::TEXT AS approval_department_name,
|
|
16
|
-
sa.section_id AS approval_section_id,
|
|
17
|
-
TRIM(COALESCE(asec.section_name, ''))::TEXT AS approval_section_name,
|
|
18
|
-
sa.approval_status::TEXT AS approval_status,
|
|
19
|
-
sr.status::TEXT AS request_status,
|
|
20
|
-
sa.level AS level,
|
|
21
|
-
sa.approver_user_id AS approver_user_id,
|
|
22
|
-
TRIM(COALESCE(au.employee_name, ''))::TEXT AS approver_user_name,
|
|
23
|
-
sa.delegate_user_id AS delegate_user_id,
|
|
24
|
-
TRIM(COALESCE(du.employee_name, ''))::TEXT AS delegate_user_name,
|
|
25
|
-
sa.approved_by AS approved_by,
|
|
26
|
-
TRIM(COALESCE(ab.employee_name, ''))::TEXT AS approved_by_name,
|
|
27
|
-
sa.comment::TEXT AS comment,
|
|
28
|
-
sa.created_at AS created_at,
|
|
29
|
-
sa.updated_at AS updated_at
|
|
30
|
-
FROM sla_approval sa
|
|
31
|
-
INNER JOIN sla_requests sr
|
|
32
|
-
ON sr.request_id = sa.request_id AND COALESCE(sr.is_deleted, false) = false
|
|
33
|
-
LEFT JOIN fm_services svc
|
|
34
|
-
ON svc.id = sa.service_id AND COALESCE(svc.is_deleted, false) = false
|
|
35
|
-
LEFT JOIN fm_sub_services subsvc
|
|
36
|
-
ON subsvc.id = sa.sub_service_id AND COALESCE(subsvc.is_deleted, false) = false
|
|
37
|
-
LEFT JOIN departments adpt
|
|
38
|
-
ON adpt.id = sa.department_id AND COALESCE(adpt.is_deleted, false) = false
|
|
39
|
-
LEFT JOIN sections asec
|
|
40
|
-
ON asec.id = sa.section_id AND COALESCE(asec.is_deleted, false) = false
|
|
41
|
-
LEFT JOIN role ar
|
|
42
|
-
ON ar.id = sa.approver_role_id AND COALESCE(ar.is_deleted, false) = false
|
|
43
|
-
LEFT JOIN users au
|
|
44
|
-
ON au.id = sa.approver_user_id AND COALESCE(au.is_deleted, false) = false
|
|
45
|
-
LEFT JOIN users du
|
|
46
|
-
ON du.id = sa.delegate_user_id AND COALESCE(du.is_deleted, false) = false
|
|
47
|
-
LEFT JOIN users ab
|
|
48
|
-
ON ab.id = sa.approved_by AND COALESCE(ab.is_deleted, false) = false
|
|
49
|
-
WHERE COALESCE(sa.is_deleted, false) = false
|
|
50
|
-
`;
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Read-only view for SLA approvals listings (TypeORM).
|
|
54
|
-
* Approver matching (`sla_approval_matches_user` semantics) is applied in Reports_Service queries.
|
|
55
|
-
*/
|
|
56
|
-
@ViewEntity({
|
|
57
|
-
name: "vw_sla_approvals",
|
|
58
|
-
expression: VW_SLA_APPROVALS_SQL,
|
|
59
|
-
})
|
|
60
|
-
export class SlaApprovalsView {
|
|
61
|
-
@ViewColumn()
|
|
62
|
-
sla_approval_id: number;
|
|
63
|
-
|
|
64
|
-
@ViewColumn()
|
|
65
|
-
source_approval_id: number;
|
|
66
|
-
|
|
67
|
-
@ViewColumn()
|
|
68
|
-
request_id: number;
|
|
69
|
-
|
|
70
|
-
@ViewColumn()
|
|
71
|
-
service_id: number;
|
|
72
|
-
|
|
73
|
-
@ViewColumn()
|
|
74
|
-
sub_service_id: number;
|
|
75
|
-
|
|
76
|
-
@ViewColumn()
|
|
77
|
-
service_name: string;
|
|
78
|
-
|
|
79
|
-
@ViewColumn()
|
|
80
|
-
sub_service_name: string;
|
|
81
|
-
|
|
82
|
-
@ViewColumn()
|
|
83
|
-
approval_role_id: number;
|
|
84
|
-
|
|
85
|
-
@ViewColumn()
|
|
86
|
-
approval_role_name: string;
|
|
87
|
-
|
|
88
|
-
@ViewColumn()
|
|
89
|
-
approval_department_id: number;
|
|
90
|
-
|
|
91
|
-
@ViewColumn()
|
|
92
|
-
approval_department_name: string;
|
|
93
|
-
|
|
94
|
-
@ViewColumn()
|
|
95
|
-
approval_section_id: number;
|
|
96
|
-
|
|
97
|
-
@ViewColumn()
|
|
98
|
-
approval_section_name: string;
|
|
99
|
-
|
|
100
|
-
@ViewColumn()
|
|
101
|
-
approval_status: string;
|
|
102
|
-
|
|
103
|
-
@ViewColumn()
|
|
104
|
-
request_status: string;
|
|
105
|
-
|
|
106
|
-
@ViewColumn()
|
|
107
|
-
level: number;
|
|
108
|
-
|
|
109
|
-
@ViewColumn()
|
|
110
|
-
approver_user_id: number;
|
|
111
|
-
|
|
112
|
-
@ViewColumn()
|
|
113
|
-
approver_user_name: string;
|
|
114
|
-
|
|
115
|
-
@ViewColumn()
|
|
116
|
-
delegate_user_id: number;
|
|
117
|
-
|
|
118
|
-
@ViewColumn()
|
|
119
|
-
delegate_user_name: string;
|
|
120
|
-
|
|
121
|
-
@ViewColumn()
|
|
122
|
-
approved_by: number;
|
|
123
|
-
|
|
124
|
-
@ViewColumn()
|
|
125
|
-
approved_by_name: string;
|
|
126
|
-
|
|
127
|
-
@ViewColumn()
|
|
128
|
-
comment: string;
|
|
129
|
-
|
|
130
|
-
@ViewColumn()
|
|
131
|
-
created_at: Date;
|
|
132
|
-
|
|
133
|
-
@ViewColumn()
|
|
134
|
-
updated_at: Date;
|
|
135
|
-
}
|
|
1
|
+
import { ViewColumn, ViewEntity } from "typeorm";
|
|
2
|
+
|
|
3
|
+
const VW_SLA_APPROVALS_SQL = `
|
|
4
|
+
SELECT
|
|
5
|
+
sa.id AS sla_approval_id,
|
|
6
|
+
sa.source_approval_id,
|
|
7
|
+
sa.request_id,
|
|
8
|
+
sa.service_id AS service_id,
|
|
9
|
+
sa.sub_service_id AS sub_service_id,
|
|
10
|
+
TRIM(COALESCE(svc.name, ''))::TEXT AS service_name,
|
|
11
|
+
TRIM(COALESCE(subsvc.sub_service_name, ''))::TEXT AS sub_service_name,
|
|
12
|
+
sa.approver_role_id AS approval_role_id,
|
|
13
|
+
TRIM(COALESCE(ar.name, ''))::TEXT AS approval_role_name,
|
|
14
|
+
sa.department_id AS approval_department_id,
|
|
15
|
+
TRIM(COALESCE(adpt.department_name, ''))::TEXT AS approval_department_name,
|
|
16
|
+
sa.section_id AS approval_section_id,
|
|
17
|
+
TRIM(COALESCE(asec.section_name, ''))::TEXT AS approval_section_name,
|
|
18
|
+
sa.approval_status::TEXT AS approval_status,
|
|
19
|
+
sr.status::TEXT AS request_status,
|
|
20
|
+
sa.level AS level,
|
|
21
|
+
sa.approver_user_id AS approver_user_id,
|
|
22
|
+
TRIM(COALESCE(au.employee_name, ''))::TEXT AS approver_user_name,
|
|
23
|
+
sa.delegate_user_id AS delegate_user_id,
|
|
24
|
+
TRIM(COALESCE(du.employee_name, ''))::TEXT AS delegate_user_name,
|
|
25
|
+
sa.approved_by AS approved_by,
|
|
26
|
+
TRIM(COALESCE(ab.employee_name, ''))::TEXT AS approved_by_name,
|
|
27
|
+
sa.comment::TEXT AS comment,
|
|
28
|
+
sa.created_at AS created_at,
|
|
29
|
+
sa.updated_at AS updated_at
|
|
30
|
+
FROM sla_approval sa
|
|
31
|
+
INNER JOIN sla_requests sr
|
|
32
|
+
ON sr.request_id = sa.request_id AND COALESCE(sr.is_deleted, false) = false
|
|
33
|
+
LEFT JOIN fm_services svc
|
|
34
|
+
ON svc.id = sa.service_id AND COALESCE(svc.is_deleted, false) = false
|
|
35
|
+
LEFT JOIN fm_sub_services subsvc
|
|
36
|
+
ON subsvc.id = sa.sub_service_id AND COALESCE(subsvc.is_deleted, false) = false
|
|
37
|
+
LEFT JOIN departments adpt
|
|
38
|
+
ON adpt.id = sa.department_id AND COALESCE(adpt.is_deleted, false) = false
|
|
39
|
+
LEFT JOIN sections asec
|
|
40
|
+
ON asec.id = sa.section_id AND COALESCE(asec.is_deleted, false) = false
|
|
41
|
+
LEFT JOIN role ar
|
|
42
|
+
ON ar.id = sa.approver_role_id AND COALESCE(ar.is_deleted, false) = false
|
|
43
|
+
LEFT JOIN users au
|
|
44
|
+
ON au.id = sa.approver_user_id AND COALESCE(au.is_deleted, false) = false
|
|
45
|
+
LEFT JOIN users du
|
|
46
|
+
ON du.id = sa.delegate_user_id AND COALESCE(du.is_deleted, false) = false
|
|
47
|
+
LEFT JOIN users ab
|
|
48
|
+
ON ab.id = sa.approved_by AND COALESCE(ab.is_deleted, false) = false
|
|
49
|
+
WHERE COALESCE(sa.is_deleted, false) = false
|
|
50
|
+
`;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Read-only view for SLA approvals listings (TypeORM).
|
|
54
|
+
* Approver matching (`sla_approval_matches_user` semantics) is applied in Reports_Service queries.
|
|
55
|
+
*/
|
|
56
|
+
@ViewEntity({
|
|
57
|
+
name: "vw_sla_approvals",
|
|
58
|
+
expression: VW_SLA_APPROVALS_SQL,
|
|
59
|
+
})
|
|
60
|
+
export class SlaApprovalsView {
|
|
61
|
+
@ViewColumn()
|
|
62
|
+
sla_approval_id: number;
|
|
63
|
+
|
|
64
|
+
@ViewColumn()
|
|
65
|
+
source_approval_id: number;
|
|
66
|
+
|
|
67
|
+
@ViewColumn()
|
|
68
|
+
request_id: number;
|
|
69
|
+
|
|
70
|
+
@ViewColumn()
|
|
71
|
+
service_id: number;
|
|
72
|
+
|
|
73
|
+
@ViewColumn()
|
|
74
|
+
sub_service_id: number;
|
|
75
|
+
|
|
76
|
+
@ViewColumn()
|
|
77
|
+
service_name: string;
|
|
78
|
+
|
|
79
|
+
@ViewColumn()
|
|
80
|
+
sub_service_name: string;
|
|
81
|
+
|
|
82
|
+
@ViewColumn()
|
|
83
|
+
approval_role_id: number;
|
|
84
|
+
|
|
85
|
+
@ViewColumn()
|
|
86
|
+
approval_role_name: string;
|
|
87
|
+
|
|
88
|
+
@ViewColumn()
|
|
89
|
+
approval_department_id: number;
|
|
90
|
+
|
|
91
|
+
@ViewColumn()
|
|
92
|
+
approval_department_name: string;
|
|
93
|
+
|
|
94
|
+
@ViewColumn()
|
|
95
|
+
approval_section_id: number;
|
|
96
|
+
|
|
97
|
+
@ViewColumn()
|
|
98
|
+
approval_section_name: string;
|
|
99
|
+
|
|
100
|
+
@ViewColumn()
|
|
101
|
+
approval_status: string;
|
|
102
|
+
|
|
103
|
+
@ViewColumn()
|
|
104
|
+
request_status: string;
|
|
105
|
+
|
|
106
|
+
@ViewColumn()
|
|
107
|
+
level: number;
|
|
108
|
+
|
|
109
|
+
@ViewColumn()
|
|
110
|
+
approver_user_id: number;
|
|
111
|
+
|
|
112
|
+
@ViewColumn()
|
|
113
|
+
approver_user_name: string;
|
|
114
|
+
|
|
115
|
+
@ViewColumn()
|
|
116
|
+
delegate_user_id: number;
|
|
117
|
+
|
|
118
|
+
@ViewColumn()
|
|
119
|
+
delegate_user_name: string;
|
|
120
|
+
|
|
121
|
+
@ViewColumn()
|
|
122
|
+
approved_by: number;
|
|
123
|
+
|
|
124
|
+
@ViewColumn()
|
|
125
|
+
approved_by_name: string;
|
|
126
|
+
|
|
127
|
+
@ViewColumn()
|
|
128
|
+
comment: string;
|
|
129
|
+
|
|
130
|
+
@ViewColumn()
|
|
131
|
+
created_at: Date;
|
|
132
|
+
|
|
133
|
+
@ViewColumn()
|
|
134
|
+
updated_at: Date;
|
|
135
|
+
}
|