회로및가대설정 모듈데이터별 함수 처리
This commit is contained in:
parent
23e0cbeb5f
commit
9c35b1e437
@ -66,14 +66,6 @@ export default function CircuitTrestleSetting({ id }) {
|
||||
selectedModels,
|
||||
setSelectedModels,
|
||||
}
|
||||
const stepUpProps = {
|
||||
tabNum,
|
||||
setTabNum,
|
||||
models,
|
||||
setModels,
|
||||
circuitAllocationType,
|
||||
setCircuitAllocationType,
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
if (!managementState) {
|
||||
@ -89,7 +81,58 @@ export default function CircuitTrestleSetting({ id }) {
|
||||
})
|
||||
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()
|
||||
.filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE)
|
||||
.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 = () => {
|
||||
@ -200,6 +212,19 @@ export default function CircuitTrestleSetting({ id }) {
|
||||
setAllocationType(ALLOCATION_TYPE.PASSIVITY)
|
||||
}
|
||||
|
||||
const stepUpProps = {
|
||||
tabNum,
|
||||
setTabNum,
|
||||
models,
|
||||
setModels,
|
||||
circuitAllocationType,
|
||||
setCircuitAllocationType,
|
||||
getApiProps,
|
||||
getSelectedModuleList,
|
||||
getRoofSurfaceList,
|
||||
getModelList,
|
||||
}
|
||||
|
||||
return (
|
||||
<WithDraggable isShow={true} pos={{ x: 50, y: 230 }}>
|
||||
<div className={`modal-pop-wrap l-2`}>
|
||||
|
||||
@ -24,9 +24,16 @@ export default function StepUp(props) {
|
||||
const [stepUpListData, setStepUpListData] = useState([])
|
||||
const [optCodes, setOptCodes] = useState([])
|
||||
|
||||
useCanvasPopupStatusController(6)
|
||||
const canvasPopupStatusState = useRecoilValue(canvasPopupStatusStore)
|
||||
if (Object.keys(canvasPopupStatusState[6]).length !== 0) {
|
||||
console.log('🚀 ~ useEffect ~ canvasPopupStatusState :', canvasPopupStatusState)
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
console.log('🚀 ~ useEffect ~ >>>>>>>>>>>> props:', props)
|
||||
|
||||
if (!managementState) {
|
||||
console.log('🚀 ~ useEffect ~ managementState:', managementState)
|
||||
setManagementState(managementStateLoaded)
|
||||
}
|
||||
|
||||
@ -73,48 +80,86 @@ export default function StepUp(props) {
|
||||
}
|
||||
//getPcsVoltageStepUpList(null)
|
||||
|
||||
getPcsVoltageStepUpList().then((res) => {
|
||||
// PCS 승압설정 정보 조회
|
||||
fetchStepUpData()
|
||||
}, [])
|
||||
|
||||
const fetchStepUpData = async () => {
|
||||
try {
|
||||
const res = await getPcsVoltageStepUpList()
|
||||
if (res?.result.code === 200 && res?.data) {
|
||||
const dataArray = Array.isArray(res.data) ? res.data : [res.data]
|
||||
const stepUpListData = dataArray.map((stepUps) => ({
|
||||
...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,
|
||||
})),
|
||||
})),
|
||||
}))
|
||||
const stepUpListData = formatStepUpListData(dataArray)
|
||||
console.log('🚀 ~ useEffect ~ getPcsVoltageStepUpList ~ stepUpListData:', 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)
|
||||
const canvasPopupStatusState = useRecoilValue(canvasPopupStatusStore)
|
||||
if (Object.keys(canvasPopupStatusState[6]).length !== 0) {
|
||||
console.log('🚀 ~ useEffect ~ canvasPopupStatusState :', canvasPopupStatusState)
|
||||
// PCS 옵션 조회
|
||||
const formatOptionCodes = (optionList = []) => {
|
||||
return optionList.map((opt) => ({
|
||||
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