회로및가대설정 모듈데이터별 함수 처리
This commit is contained in:
parent
23e0cbeb5f
commit
9c35b1e437
@ -66,14 +66,6 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
selectedModels,
|
selectedModels,
|
||||||
setSelectedModels,
|
setSelectedModels,
|
||||||
}
|
}
|
||||||
const stepUpProps = {
|
|
||||||
tabNum,
|
|
||||||
setTabNum,
|
|
||||||
models,
|
|
||||||
setModels,
|
|
||||||
circuitAllocationType,
|
|
||||||
setCircuitAllocationType,
|
|
||||||
}
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!managementState) {
|
if (!managementState) {
|
||||||
@ -89,7 +81,58 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const roofSurfaceList = canvas
|
|
||||||
|
console.log('🚀 ~ onAutoRecommend ~ selectedModules:', selectedModules)
|
||||||
|
|
||||||
|
const params = {
|
||||||
|
...getApiProps(),
|
||||||
|
useModuleItemList: getSelectedModuleList(),
|
||||||
|
roofSurfaceList: getRoofSurfaceList(),
|
||||||
|
pcsItemList: getModelList(),
|
||||||
|
}
|
||||||
|
|
||||||
|
getPcsAutoRecommendList(params).then((res) => {
|
||||||
|
if (res.data?.pcsItemList) {
|
||||||
|
setModels(res.data.pcsItemList)
|
||||||
|
setTabNum(2)
|
||||||
|
} else {
|
||||||
|
swalFire({
|
||||||
|
title: '파워컨디셔너를 추가해 주세요.',
|
||||||
|
type: 'alert',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const getApiProps = () => {
|
||||||
|
return {
|
||||||
|
maxConnYn: pcsCheck.max ? 'Y' : 'N',
|
||||||
|
smpCirYn: pcsCheck.division ? 'Y' : 'N',
|
||||||
|
coldZoneYn: managementState?.coldRegionFlg === '1' ? 'Y' : 'N',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const getModelList = () => {
|
||||||
|
return models.map((model) => {
|
||||||
|
return {
|
||||||
|
itemId: model.itemId,
|
||||||
|
pcsMkrCd: model.pcsMkrCd,
|
||||||
|
pcsSerCd: model.pcsSerCd,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const getSelectedModuleList = () => {
|
||||||
|
return selectedModules.itemList.map((m) => {
|
||||||
|
return {
|
||||||
|
itemId: m.itemId,
|
||||||
|
mixMatlNo: m.mixMatlNo,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const getRoofSurfaceList = () => {
|
||||||
|
return canvas
|
||||||
.getObjects()
|
.getObjects()
|
||||||
.filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE)
|
.filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE)
|
||||||
.map((obj) => {
|
.map((obj) => {
|
||||||
@ -107,37 +150,6 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const params = {
|
|
||||||
maxConnYn: pcsCheck.max ? 'Y' : 'N',
|
|
||||||
smpCirYn: pcsCheck.division ? 'Y' : 'N',
|
|
||||||
coldZoneYn: managementState?.coldRegionFlg === '1' ? 'Y' : 'N',
|
|
||||||
useModuleItemList: selectedModules.itemList.map((m) => {
|
|
||||||
return {
|
|
||||||
itemId: m.itemId,
|
|
||||||
mixMatlNo: m.mixMatlNo,
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
roofSurfaceList: roofSurfaceList,
|
|
||||||
pcsItemList: models.map((model) => {
|
|
||||||
return {
|
|
||||||
itemId: model.itemId,
|
|
||||||
pcsMkrCd: model.pcsMkrCd,
|
|
||||||
pcsSerCd: model.pcsSerCd,
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
}
|
|
||||||
getPcsAutoRecommendList(params).then((res) => {
|
|
||||||
if (res.data?.pcsItemList) {
|
|
||||||
setModels(res.data.pcsItemList)
|
|
||||||
setTabNum(2)
|
|
||||||
} else {
|
|
||||||
swalFire({
|
|
||||||
title: '파워컨디셔너를 추가해 주세요.',
|
|
||||||
type: 'alert',
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const onAutoAllocation = () => {
|
const onAutoAllocation = () => {
|
||||||
@ -200,6 +212,19 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
setAllocationType(ALLOCATION_TYPE.PASSIVITY)
|
setAllocationType(ALLOCATION_TYPE.PASSIVITY)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const stepUpProps = {
|
||||||
|
tabNum,
|
||||||
|
setTabNum,
|
||||||
|
models,
|
||||||
|
setModels,
|
||||||
|
circuitAllocationType,
|
||||||
|
setCircuitAllocationType,
|
||||||
|
getApiProps,
|
||||||
|
getSelectedModuleList,
|
||||||
|
getRoofSurfaceList,
|
||||||
|
getModelList,
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<WithDraggable isShow={true} pos={{ x: 50, y: 230 }}>
|
<WithDraggable isShow={true} pos={{ x: 50, y: 230 }}>
|
||||||
<div className={`modal-pop-wrap l-2`}>
|
<div className={`modal-pop-wrap l-2`}>
|
||||||
|
|||||||
@ -24,9 +24,16 @@ export default function StepUp(props) {
|
|||||||
const [stepUpListData, setStepUpListData] = useState([])
|
const [stepUpListData, setStepUpListData] = useState([])
|
||||||
const [optCodes, setOptCodes] = useState([])
|
const [optCodes, setOptCodes] = useState([])
|
||||||
|
|
||||||
|
useCanvasPopupStatusController(6)
|
||||||
|
const canvasPopupStatusState = useRecoilValue(canvasPopupStatusStore)
|
||||||
|
if (Object.keys(canvasPopupStatusState[6]).length !== 0) {
|
||||||
|
console.log('🚀 ~ useEffect ~ canvasPopupStatusState :', canvasPopupStatusState)
|
||||||
|
}
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
console.log('🚀 ~ useEffect ~ >>>>>>>>>>>> props:', props)
|
||||||
|
|
||||||
if (!managementState) {
|
if (!managementState) {
|
||||||
console.log('🚀 ~ useEffect ~ managementState:', managementState)
|
|
||||||
setManagementState(managementStateLoaded)
|
setManagementState(managementStateLoaded)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,48 +80,86 @@ export default function StepUp(props) {
|
|||||||
}
|
}
|
||||||
//getPcsVoltageStepUpList(null)
|
//getPcsVoltageStepUpList(null)
|
||||||
|
|
||||||
getPcsVoltageStepUpList().then((res) => {
|
// PCS 승압설정 정보 조회
|
||||||
|
fetchStepUpData()
|
||||||
|
}, [])
|
||||||
|
|
||||||
|
const fetchStepUpData = async () => {
|
||||||
|
try {
|
||||||
|
const res = await getPcsVoltageStepUpList()
|
||||||
if (res?.result.code === 200 && res?.data) {
|
if (res?.result.code === 200 && res?.data) {
|
||||||
const dataArray = Array.isArray(res.data) ? res.data : [res.data]
|
const dataArray = Array.isArray(res.data) ? res.data : [res.data]
|
||||||
const stepUpListData = dataArray.map((stepUps) => ({
|
const stepUpListData = formatStepUpListData(dataArray)
|
||||||
...stepUps,
|
|
||||||
optionList: (stepUps.optionList || []).map((option) => ({
|
|
||||||
pcsOptCd: option.pcsOptCd,
|
|
||||||
pcsOptNm: option.pcsOptNm,
|
|
||||||
pcsOptNmJp: option.pcsOptNmJp,
|
|
||||||
})),
|
|
||||||
pcsItemList: (stepUps.pcsItemList || []).map((item) => ({
|
|
||||||
goodsNo: item.goodsNo,
|
|
||||||
itemId: item.itemId,
|
|
||||||
itemNm: item.itemNm,
|
|
||||||
pcsMkrCd: item.pcsMkrCd,
|
|
||||||
pcsSerCd: item.pcsSerCd,
|
|
||||||
connList: (item.connList || []).map((conn) => ({
|
|
||||||
connAllowCur: conn.connAllowCur,
|
|
||||||
connMaxParalCnt: conn.connMaxParalCnt,
|
|
||||||
goodsNo: conn.goodsNo,
|
|
||||||
itemId: conn.itemId,
|
|
||||||
itemNm: conn.itemNm,
|
|
||||||
vstuParalCnt: conn.vstuParalCnt,
|
|
||||||
})),
|
|
||||||
serQtyList: (item.serQtyList || []).map((qty) => ({
|
|
||||||
serQty: qty.serQty,
|
|
||||||
paralQty: qty.paralQty,
|
|
||||||
})),
|
|
||||||
})),
|
|
||||||
}))
|
|
||||||
console.log('🚀 ~ useEffect ~ getPcsVoltageStepUpList ~ stepUpListData:', stepUpListData)
|
console.log('🚀 ~ useEffect ~ getPcsVoltageStepUpList ~ stepUpListData:', stepUpListData)
|
||||||
setStepUpListData(stepUpListData)
|
setStepUpListData(stepUpListData)
|
||||||
|
|
||||||
setOptCodes(res.data.optionList.map((opt) => ({ ...opt, code: opt.pcsOptCd, name: opt.pcsOptNm, nameJp: opt.pcsOptNmJp })))
|
// PCS 옵션 조회
|
||||||
|
const formattedOptCodes = formatOptionCodes(res.data.optionList)
|
||||||
|
setOptCodes(formattedOptCodes)
|
||||||
}
|
}
|
||||||
})
|
} catch (error) {
|
||||||
}, [])
|
console.error('Error fetching step up data:', error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
useCanvasPopupStatusController(6)
|
// PCS 옵션 조회
|
||||||
const canvasPopupStatusState = useRecoilValue(canvasPopupStatusStore)
|
const formatOptionCodes = (optionList = []) => {
|
||||||
if (Object.keys(canvasPopupStatusState[6]).length !== 0) {
|
return optionList.map((opt) => ({
|
||||||
console.log('🚀 ~ useEffect ~ canvasPopupStatusState :', canvasPopupStatusState)
|
code: opt.pcsOptCd,
|
||||||
|
name: opt.pcsOptNm,
|
||||||
|
nameJp: opt.pcsOptNmJp,
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
|
||||||
|
// PCS 승압설정 정보 포맷
|
||||||
|
const formatStepUpListData = (dataArray = []) => {
|
||||||
|
return dataArray.map((stepUps) => ({
|
||||||
|
...stepUps,
|
||||||
|
optionList: formatOptionList(stepUps.optionList),
|
||||||
|
pcsItemList: formatPcsItemList(stepUps.pcsItemList),
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
|
||||||
|
// PCS 옵션 포맷
|
||||||
|
const formatOptionList = (optionList = []) => {
|
||||||
|
return optionList.map((option) => ({
|
||||||
|
pcsOptCd: option.pcsOptCd,
|
||||||
|
pcsOptNm: option.pcsOptNm,
|
||||||
|
pcsOptNmJp: option.pcsOptNmJp,
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
|
||||||
|
// PCS 아이템 포맷
|
||||||
|
const formatPcsItemList = (pcsItemList = []) => {
|
||||||
|
return pcsItemList.map((item) => ({
|
||||||
|
goodsNo: item.goodsNo,
|
||||||
|
itemId: item.itemId,
|
||||||
|
itemNm: item.itemNm,
|
||||||
|
pcsMkrCd: item.pcsMkrCd,
|
||||||
|
pcsSerCd: item.pcsSerCd,
|
||||||
|
connList: formatConnList(item.connList),
|
||||||
|
serQtyList: formatSerQtyList(item.serQtyList),
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
|
||||||
|
// PCS 연결 포맷
|
||||||
|
const formatConnList = (connList = []) => {
|
||||||
|
return connList.map((conn) => ({
|
||||||
|
connAllowCur: conn.connAllowCur,
|
||||||
|
connMaxParalCnt: conn.connMaxParalCnt,
|
||||||
|
goodsNo: conn.goodsNo,
|
||||||
|
itemId: conn.itemId,
|
||||||
|
itemNm: conn.itemNm,
|
||||||
|
vstuParalCnt: conn.vstuParalCnt,
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
|
||||||
|
// PCS 시리즈 포맷
|
||||||
|
const formatSerQtyList = (serQtyList = []) => {
|
||||||
|
return serQtyList.map((qty) => ({
|
||||||
|
serQty: qty.serQty,
|
||||||
|
paralQty: qty.paralQty,
|
||||||
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
// 각 모듈의 탭을 변경하는 함수
|
// 각 모듈의 탭을 변경하는 함수
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user