/* Парус 8 - Панели мониторинга - ТОиР - Аналитика по ремонтам АТС Пользовательские хуки: Хуки открытия разделов */ //--------------------- //Подключение библиотек //--------------------- import { useContext, useCallback } from "react"; //Классы React import { ApplicationСtx } from "../../../context/application"; //Контекст приложения import { BackEndСtx } from "../../../context/backend"; //Контекст взаимодействия с сервером //----------- //Тело модуля //----------- //Состояние открытия разделов const useDictionary = () => { //Подключение к контексту приложения const { pOnlineShowDictionary, pOnlineShowUnit } = useContext(ApplicationСtx); //Отображение раздела "Штатные подразделения" const handleInsDepartmentOpen = useCallback( async prms => { pOnlineShowDictionary({ unitCode: "INS_DEPARTMENT", inputParameters: [{ name: "in_CODE", value: prms.sCode }], callBack: res => { res.success ? prms.callBack(res) : null; } }); }, [pOnlineShowDictionary] ); //Отображение раздела "Типовые работы по техническому обслуживанию и ремонту" const handleEquipTypeWorksOpen = useCallback( async prms => { pOnlineShowDictionary({ unitCode: "EquipTypeWorks", inputParameters: [{ name: "in_CODE", value: prms.sCode }], callBack: res => { res.success ? prms.callBack(res) : null; } }); }, [pOnlineShowDictionary] ); //Отображение раздела "Виды работ по техническому обслуживанию и ремонту" const handleEquipWorkKindsOpen = useCallback( async prms => { pOnlineShowDictionary({ unitCode: "EquipWorkKinds", inputParameters: [{ name: "in_CODE", value: prms.sCode }], callBack: res => { res.success ? prms.callBack(res) : null; } }); }, [pOnlineShowDictionary] ); //Отображение раздела "Ремонтные ведомости" const handleEquipRepairSheetsOpen = useCallback( async prms => { // pOnlineShowDictionary({ // unitCode: "EquipRepairSheets", // inputParameters: [{ name: "in_RN", value: prms.nRn }], // callBack: res => { // res.success ? prms.callBack(res) : null; // } // }); pOnlineShowUnit({ unitCode: "EquipRepairSheets", inputParameters: [{ name: "in_RN", value: prms.nRn }], modal: false }); }, [pOnlineShowUnit] ); //Возвращаем функции открытия разделов return { handleInsDepartmentOpen, handleEquipTypeWorksOpen, handleEquipWorkKindsOpen, handleEquipRepairSheetsOpen }; }; //Состояние дополнительных общих процедур const useProcedures = () => { //Подключение к контексту взаимодействия с сервером const { executeStored } = useContext(BackEndСtx); //Считывание наименования подразделения по мнемокоду const handleInsDepartmentNameGet = useCallback( async prms => { //Считываем наименование подразделения const departmentName = await executeStored({ stored: "UDO_PKG_P8PANELS_RPR_ANL.GET_INS_DEPARTMENT_NAME", args: { SCODE: prms.code } }); //Возвращаем наименование подразделения return departmentName.SNAME; }, [executeStored] ); //Возвращаем дополнительные функции return { handleInsDepartmentNameGet }; }; //---------------- //Интерфейс модуля //---------------- export { useDictionary, useProcedures };