qcast-front/src/hooks/common/useMasterController.js
2024-12-12 18:58:16 +09:00

157 lines
5.8 KiB
JavaScript

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,
}
}