import { useAxios } from '@/hooks/useAxios' import { useMessage } from '@/hooks/useMessage' import { useSwal } from '@/hooks/useSwal' import { getQueryString } from '@/util/common-utils' /** * 마스터 컨트롤러 훅 * @returns */ export function useMasterController() { const { get } = useAxios() const { getMessage } = useMessage() const { swalFire } = useSwal() /** * 지붕재 목록 조회 * @returns */ const getRoofMaterialList = async () => { return await get({ url: '/api/v1/master/getRoofMaterialList' }).then((res) => { console.log('🚀🚀 ~ getRoofMaterialList ~ res:', res) return res }) } /** * 모듈 타입별 아이템 목록 조회 * @param {지붕재 코드} roofMatlCd * @returns */ const getModuleTypeItemList = async (roofMatlCd) => { if (!roofMatlCd || roofMatlCd.trim() === '') { swalFire({ text: getMessage('master.moduletypeitem.message.error'), type: 'alert', icon: 'error' }) return null } const param = { roofMatlCd: roofMatlCd } const paramString = getQueryString(param) return await get({ url: `/api/v1/master/getModuleTypeItemList${paramString}` }).then((res) => { console.log('🚀🚀 ~ getModuleTypeItemList ~ res:', res) return res }) } /** * 가대 목록 조회 * @param {모듈타입코드} moduleTpCd * @param {지붕재코드} roofMatlCd * @param {서까래기초코드} raftBaseCd * @param {가대메이커코드} trestleMkrCd * @param {공법코드} constMthdCd * @param {지붕기초코드} roofBaseCd * @returns */ const getTrestleList = async (params) => { console.log('🚀🚀 ~ getTrestleList ~ params:', params) params = getQueryString({ moduleTpCd: params.moduleTpCd ? params.moduleTpCd : '', roofMatlCd: params.roofMatlCd ? params.roofMatlCd : '', raftBaseCd: params.raftBaseCd ? params.raftBaseCd : '', trestleMkrCd: params.trestleMkrCd ? params.trestleMkrCd : '', constMthdCd: params.constMthdCd ? params.constMthdCd : '', roofBaseCd: params.roofBaseCd ? params.roofBaseCd : '', }) return await get({ url: '/api/v1/master/getTrestleList' + params }).then((res) => { console.log('🚀🚀 ~ getTrestleList ~ res:', res) return res }) } /** * 모듈 시공법 목록 조회 * @param {모듈타입코드} moduleTpCd * @param {지붕재코드} roofMatlCd * @param {가대메이커코드} trestleMkrCd * @param {공법코드} constMthdCd * @param {지붕기초코드} roofBaseCd * @param {면조도} illuminationTp * @param {설치높이} instHt * @param {풍속} stdWindSpeed * @param {적설량} stdSnowLd * @param {경사도코드} inclCd * @param {서까래기초코드} raftBaseCd * @param {하제(망둥어)피치} roofPitch * * @returns */ const getConstructionList = async (params) => { console.log('🚀🚀 ~ getConstructionList ~ params:', params) params = getQueryString({ moduleTpCd: params.moduleTpCd ? params.moduleTpCd : '', roofMatlCd: params.roofMatlCd ? params.roofMatlCd : '', trestleMkrCd: params.trestleMkrCd ? params.trestleMkrCd : '', constMthdCd: params.constMthdCd ? params.constMthdCd : '', roofBaseCd: params.roofBaseCd ? params.roofBaseCd : '', illuminationTp: params.illuminationTp ? params.illuminationTp : '', instHt: params.instHt ? params.instHt : '', stdWindSpeed: params.stdWindSpeed ? params.stdWindSpeed : '', stdSnowLd: params.stdSnowLd ? params.stdSnowLd : '', inclCd: params.inclCd ? params.inclCd : '', raftBaseCd: params.raftBaseCd ? params.raftBaseCd : '', roofPitch: params.roofPitch ? params.roofPitch : 0, }) return await get({ url: '/api/v1/master/getConstructionList' + params }).then((res) => { console.log('🚀🚀 ~ getConstructionList ~ res:', res) return res }) } /** * 가대 상세 조회 * @param {모듈타입코드} moduleTpCd * @param {지붕재코드} roofMatlCd * @param {가대메이커코드} trestleMkrCd * @param {공법코드} constMthdCd * @param {지붕기초코드} roofBaseCd * @param {면조도} illuminationTp * @param {설치높이} instHt * @param {풍속} stdWindSpeed * @param {적설량} stdSnowLd * @param {경사도코드} inclCd * @param {시공법} constTp * @param {혼합모듈번호} mixMatlNo * @param {하제(망둥어)피치}roofPitch * @returns */ const getTrestleDetailList = async (params) => { console.log('🚀🚀 ~ getConstructionList ~ params:', params) params = getQueryString({ moduleTpCd: params.moduleTpCd ? params.moduleTpCd : '', roofMatlCd: params.roofMatlCd ? params.roofMatlCd : '', trestleMkrCd: params.trestleMkrCd ? params.trestleMkrCd : '', constMthdCd: params.constMthdCd ? params.constMthdCd : '', roofBaseCd: params.roofBaseCd ? params.roofBaseCd : '', illuminationTp: params.illuminationTp ? params.illuminationTp : '', instHt: params.instHt ? params.instHt : '', stdWindSpeed: params.stdWindSpeed ? params.stdWindSpeed : '', stdSnowLd: params.stdSnowLd ? params.stdSnowLd : '', inclCd: params.inclCd ? params.inclCd : '', constTp: params.constTp ? params.constTp : '', mixMatlNo: params.mixMatlNo ? params.mixMatlNo : 0, roofPitch: params.roofPitch ? params.roofPitch : 0, }) return await get({ url: '/api/v1/master/getTrestleDetailList' + params }).then((res) => { console.log('🚀🚀 ~ getTrestleDetailList ~ res:', res) return res }) } return { getRoofMaterialList, getModuleTypeItemList, getTrestleList, getConstructionList, getTrestleDetailList, } }