From fa57be3c299ac3bb2a0e67ff98fef077bed76077 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=8B=9D?= <43837214+Minsiki@users.noreply.github.com> Date: Fri, 24 Jan 2025 18:07:10 +0900 Subject: [PATCH] =?UTF-8?q?=ED=9A=8C=EB=A1=9C=EB=B2=88=ED=98=B8=20?= =?UTF-8?q?=EC=B4=88=EA=B8=B0=ED=99=94=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EB=B0=8F=20=EB=AF=B8=ED=95=A0=EB=8B=B9=20=EB=AA=A8?= =?UTF-8?q?=EB=93=88=20=EC=82=AD=EC=A0=9C=20=EB=B2=88=ED=98=B8=20=ED=99=95?= =?UTF-8?q?=EC=A0=95=EC=8B=9C=20validation=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../circuitTrestle/CircuitTrestleSetting.jsx | 75 +++-- .../step/PowerConditionalSelect.jsx | 2 +- .../step/type/PassivityCircuitAllocation.jsx | 274 +++++++++++++----- 3 files changed, 238 insertions(+), 113 deletions(-) diff --git a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx index 17414c4a..4dba2fc3 100644 --- a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx @@ -50,6 +50,14 @@ export default function CircuitTrestleSetting({ id }) { } }, []) + useEffect(() => { + if (allocationType === ALLOCATION_TYPE.PASSIVITY && tabNum === 2) { + const notAllocationModules = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE && !obj.circuit) + canvas.remove(...notAllocationModules) + canvas.renderAll() + } + }, [tabNum]) + const onAutoRecommend = () => { if (series.filter((s) => s.selected).length === 0) { swalFire({ @@ -59,13 +67,11 @@ export default function CircuitTrestleSetting({ id }) { return } - console.log('πŸš€ ~ onAutoRecommend ~ selectedModules:', selectedModules) - const params = { - ...getApiProps(), - useModuleItemList: getSelectedModuleList(), + ...getOptYn(), + useModuleItemList: getUseModuleItemList(), roofSurfaceList: getRoofSurfaceList(), - pcsItemList: getModelList(), + pcsItemList: getPcsItemList(), } getPcsAutoRecommendList(params).then((res) => { @@ -81,7 +87,7 @@ export default function CircuitTrestleSetting({ id }) { }) } - const getApiProps = () => { + const getOptYn = () => { return { maxConnYn: pcsCheck.max ? 'Y' : 'N', smpCirYn: pcsCheck.division ? 'Y' : 'N', @@ -89,7 +95,7 @@ export default function CircuitTrestleSetting({ id }) { } } - const getModelList = () => { + const getPcsItemList = () => { return models.map((model) => { return { itemId: model.itemId, @@ -113,27 +119,14 @@ export default function CircuitTrestleSetting({ id }) { paralQty: 0, rmdYn: 'Y', usePossYn: 'Y', - roofSurfaceList: [ - { - roofSurfaceId: '', - roofSurface: '', - roofSurfaceIncl: '', - moduleList: [ - { - itemId: '', - circuit: '', - pcsItemId: '', - }, - ], - }, - ], + roofSurfaceList: getRoofSurfaceList(), }, ], } }) } - const getSelectedModuleList = () => { + const getUseModuleItemList = () => { return selectedModules.itemList.map((m) => { return { itemId: m.itemId, @@ -157,6 +150,8 @@ export default function CircuitTrestleSetting({ id }) { moduleList: obj.modules.map((module) => { return { itemId: module.moduleInfo.itemId, + circuit: module.circuitNumber ? module.circuitNumber : null, + pcsItemId: module.circuit ? module.circuit?.pcsItemId : null, } }), } @@ -223,6 +218,25 @@ export default function CircuitTrestleSetting({ id }) { setAllocationType(ALLOCATION_TYPE.PASSIVITY) } + const onClickPrev = () => { + setAllocationType(ALLOCATION_TYPE.AUTO) + swalFire({ + text: 'ν• λ‹Ήν•œ 회둜 λ²ˆν˜Έκ°€ μ΄ˆκΈ°ν™”λ©λ‹ˆλ‹€.', + type: 'alert', + icon: 'warning', + confirmFn: () => { + const circuitModules = canvas + .getObjects() + .filter((obj) => obj.name === 'module' && selectedModels.map((model) => model.id).includes(obj.circuit?.circuitInfo?.id)) + canvas.remove(...circuitModules.map((module) => module.circuit)) + circuitModules.forEach((obj) => { + obj.circuit = null + obj.pcsItemId = null + }) + }, + }) + } + const powerConditionalSelectProps = { tabNum, setTabNum, @@ -245,11 +259,10 @@ export default function CircuitTrestleSetting({ id }) { pcsCheck, selectedModels, setSelectedModels, - getApiProps, - getSelectedModuleList, + getOptYn, + getUseModuleItemList, getSelectModelList, getRoofSurfaceList, - getModelList, } const stepUpProps = { @@ -257,12 +270,10 @@ export default function CircuitTrestleSetting({ id }) { setTabNum, models, setModels, - circuitAllocationType, - setCircuitAllocationType, - getApiProps, - getSelectedModuleList, - getRoofSurfaceList, - getModelList, + getOptYn, // μ˜΅μ…˜ Y/N + getUseModuleItemList, // μ‚¬μš©λœ λͺ¨λ“ˆμ•„μ΄ν…œ List + getRoofSurfaceList, // μ§€λΆ•λ©΄ λͺ©λ‘ + getPcsItemList, // PCS μ•„μ΄ν…œ λͺ©λ‘ } return ( @@ -297,7 +308,7 @@ export default function CircuitTrestleSetting({ id }) { )} {tabNum === 1 && allocationType === ALLOCATION_TYPE.PASSIVITY && (
-