From afa6d87621e4111bdc3170fb19c8a568f75eece8 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: Thu, 23 Jan 2025 13:47:01 +0900 Subject: [PATCH 1/5] =?UTF-8?q?=EC=88=98=EB=8F=99=20=EB=B2=88=ED=98=B8=20?= =?UTF-8?q?=ED=99=95=EC=A0=95=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 | 1 + .../step/PowerConditionalSelect.jsx | 2 +- .../step/type/PassivityCircuitAllocation.jsx | 769 +++++++++++++++++- src/hooks/common/useMasterController.js | 7 + 4 files changed, 774 insertions(+), 5 deletions(-) diff --git a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx index fa4abd4c..1d6ac400 100644 --- a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx @@ -62,6 +62,7 @@ export default function CircuitTrestleSetting({ id }) { const passivityProps = { tabNum, setTabNum, + pcsCheck, selectedModels, setSelectedModels, } diff --git a/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx b/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx index fbaef41a..3c581e6f 100644 --- a/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx @@ -141,7 +141,7 @@ export default function PowerConditionalSelect(props) { return } - setSelectedModels([...selectedModels, selectedRow]) + setSelectedModels([...selectedModels, { ...selectedRow, id: uuidv4() }]) setSelectedRow(null) } diff --git a/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx b/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx index 62e54ec1..e1c2b29b 100644 --- a/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx @@ -1,5 +1,6 @@ import { GlobalDataContext } from '@/app/GlobalDataProvider' import { POLYGON_TYPE } from '@/common/common' +import { useMasterController } from '@/hooks/common/useMasterController' import { useMessage } from '@/hooks/useMessage' import { canvasState } from '@/store/canvasAtom' import { moduleStatisticsState } from '@/store/circuitTrestleAtom' @@ -8,7 +9,7 @@ import { useContext, useEffect, useState } from 'react' import { useRecoilValue } from 'recoil' export default function PassivityCircuitAllocation(props) { - const { tabNum, setTabNum, selectedModels } = props + const { tabNum, setTabNum, selectedModels, pcsCheck } = props const { getMessage } = useMessage() const canvas = useRecoilValue(canvasState) const { managementState, setManagementState, managementStateLoaded } = useContext(GlobalDataContext) @@ -22,6 +23,7 @@ export default function PassivityCircuitAllocation(props) { const [footer, setFooter] = useState(['ํ•ฉ๊ณ„']) const [circuitNumber, setCircuitNumber] = useState(1) const [targetModules, setTargetModules] = useState([]) + const { pcsMaualConfChk } = useMasterController() useEffect(() => { console.log('๐Ÿš€ ~ PassivityCircuitAllocation ~ targetModules:', targetModules) @@ -145,15 +147,752 @@ export default function PassivityCircuitAllocation(props) { const handleCircuitNumberFix = () => { console.log('๐Ÿš€ ~ handleCircuitNumberFix ~ circuitNumber:', circuitNumber) + console.log('๐Ÿš€ ~ handleCircuitNumberFix ~ selectedPcs:', selectedPcs) + // const params = { + // maxConnYn: pcsCheck.max ? 'Y' : 'N', + // smpCirYn: 'Y', + // coldZoneYn: 'Y', + // useModuleItemList: [{ itemId: '107077', mixMatlNo: '0' }], + // pcsItemList: [ + // { + // pcsMkrCd: 'MKR001', + // pcsSerCd: 'SER001', + // itemId: '106857', + // itemNm: 'HQJP-KA55-5 ๏พŠ๏พŸ๏พœ๏ฝฐ๏ฝบ๏พ๏พƒ๏พž๏ฝจ๏ฝผ๏ฝฎ๏พ…5.5kWๅฑ‹ๅ†…', + // goodsNo: 'HQJP-KA55-5', + // serQtyList: [ + // { + // serQty: 5, + // paralQty: 3, + // rmdYn: 'Y', + // usePossYn: 'Y', + // roofSurfaceList: [ + // { + // roofSurfaceId: '1', + // roofSurface: '๋‚จ์„œ', + // roofSurfaceIncl: '5', + // moduleList: [ + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-1', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-1', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-1', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-1', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-1', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-4', + // pcsItemId: '106856', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-4', + // pcsItemId: '106856', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-4', + // pcsItemId: '106856', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-4', + // pcsItemId: '106856', + // }, + // ], + // cirLastIdx: 5, + // isCirLastDupCircuit: true, + // roofSurfacePossibleModuleCnt: 0, + // totCirModuleWpOut: 0, + // roofSurfaceCirModuleWpOut: 3960, + // }, + // { + // roofSurfaceId: '2', + // roofSurface: '๋‚จ์„œ', + // roofSurfaceIncl: '5', + // moduleList: [ + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-2', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-2', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-2', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-2', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-2', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: null, + // pcsItemId: null, + // }, + // ], + // cirLastIdx: 3, + // isCirLastDupCircuit: true, + // roofSurfacePossibleModuleCnt: 1, + // totCirModuleWpOut: 0, + // roofSurfaceCirModuleWpOut: 2200, + // }, + // { + // roofSurfaceId: '3', + // roofSurface: '๋‚จ', + // roofSurfaceIncl: '3', + // moduleList: [ + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-3', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-3', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-3', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-3', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-3', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-5', + // pcsItemId: '106856', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-5', + // pcsItemId: '106856', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-5', + // pcsItemId: '106856', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-5', + // pcsItemId: '106856', + // }, + // ], + // cirLastIdx: 6, + // isCirLastDupCircuit: true, + // roofSurfacePossibleModuleCnt: 0, + // totCirModuleWpOut: 0, + // roofSurfaceCirModuleWpOut: 3960, + // }, + // ], + // }, + // ], + // }, + // { + // pcsMkrCd: 'MKR001', + // pcsSerCd: 'SER001', + // itemId: '106856', + // itemNm: 'HQJP-KA40-5 ๏พŠ๏พŸ๏พœ๏ฝฐ๏ฝบ๏พ๏พƒ๏พž๏ฝจ๏ฝผ๏ฝฎ๏พ…4.0kWๅฑ‹ๅ†…', + // goodsNo: 'HQJP-KA40-5', + // circuitCfg: '4, 4', + // serQtyList: [ + // { + // pcsTpCd: 'INDFCS', + // serQty: 4, + // paralQty: 2, + // rmdYn: 'Y', + // usePossYn: 'Y', + // cirModuleWpOutSum: 3520, + // roofSurfaceList: [ + // { + // roofSurfaceId: '1', + // roofSurface: '๋‚จ์„œ', + // roofSurfaceIncl: '5', + // moduleList: [ + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-1', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-1', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-1', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-1', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-1', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-4', + // pcsItemId: '106856', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-4', + // pcsItemId: '106856', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-4', + // pcsItemId: '106856', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-4', + // pcsItemId: '106856', + // }, + // ], + // cirLastIdx: 5, + // isCirLastDupCircuit: true, + // roofSurfacePossibleModuleCnt: 0, + // totCirModuleWpOut: 0, + // roofSurfaceCirModuleWpOut: 3960, + // }, + // { + // roofSurfaceId: '2', + // roofSurface: '๋‚จ์„œ', + // roofSurfaceIncl: '5', + // moduleList: [ + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-2', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-2', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-2', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-2', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-2', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: null, + // pcsItemId: null, + // }, + // ], + // }, + // { + // roofSurfaceId: '3', + // roofSurface: '๋‚จ', + // roofSurfaceIncl: '3', + // moduleList: [ + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-3', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-3', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-3', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-3', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '1-3', + // pcsItemId: '106857', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-5', + // pcsItemId: '106856', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-5', + // pcsItemId: '106856', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-5', + // pcsItemId: '106856', + // }, + // { + // pcsMkrCd: null, + // pcsSerCd: null, + // applySerQty: null, + // itemId: '107077', + // itemTp: null, + // wpOut: 440, + // moduleStdVol: 42, + // moduleColdZoneVol: null, + // mixMatlNo: null, + // circuit: '2-5', + // pcsItemId: '106856', + // }, + // ], + // }, + // ], + // }, + // ], + // }, + // ], + // } + // pcsMaualConfChk() + canvas.discardActiveObject() canvas .getObjects() .filter((obj) => targetModules.includes(obj.id)) .forEach((obj) => { obj.set({ circuit: circuitNumber, + strokeWidth: 0.3, }) + obj.pscId = selectedPcs.id + obj.pscIndex = selectedModels.findIndex((model) => model.itemId === selectedPcs.itemId) + 1 canvas.add( - new fabric.Text(`(${circuitNumber})`, { + new fabric.Text(getCircuitNumber(), { left: obj.left + obj.width / 2, top: obj.top + obj.height / 2, fill: 'red', @@ -171,7 +910,29 @@ export default function PassivityCircuitAllocation(props) { console.log(obj) }) setTargetModules([]) - setCircuitNumber(circuitNumber + 1) + setCircuitNumber(+circuitNumber + 1) + canvas.renderAll() + } + + const getCircuitNumber = () => { + if (selectedModels.length === 1) { + return `(${circuitNumber})` + } else { + return `(${selectedModels.findIndex((model) => model.itemId === selectedPcs.itemId) + 1}-${circuitNumber})` + } + } + + const initSelectedPcsCircuitNumber = () => { + const modules = canvas.getObjects().filter((obj) => obj.name === 'circuitNumber' && obj.pscId === selectedPcs.id) + canvas.remove(...modules) + canvas + .getObjects() + .filter((obj) => obj.pscIndex === selectedPcs.id) + .forEach((obj) => { + obj.pscId = null + obj.pscIndex = null + }) + canvas.renderAll() } @@ -280,7 +1041,7 @@ export default function PassivityCircuitAllocation(props) {
-
From 9c35b1e437d98920ab71f3a0ed4a9b252a74738f Mon Sep 17 00:00:00 2001 From: changkyu choi Date: Thu, 23 Jan 2025 15:25:02 +0900 Subject: [PATCH 5/5] =?UTF-8?q?=ED=9A=8C=EB=A1=9C=EB=B0=8F=EA=B0=80?= =?UTF-8?q?=EB=8C=80=EC=84=A4=EC=A0=95=20=EB=AA=A8=EB=93=88=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=EB=B3=84=20=ED=95=A8=EC=88=98=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../circuitTrestle/CircuitTrestleSetting.jsx | 105 ++++++++++------ .../modal/circuitTrestle/step/StepUp.jsx | 117 ++++++++++++------ 2 files changed, 146 insertions(+), 76 deletions(-) diff --git a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx index 1d6ac400..2881ec2c 100644 --- a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx @@ -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 (
diff --git a/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx b/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx index 19a701dc..721e6dff 100644 --- a/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx @@ -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, + })) } // ๊ฐ ๋ชจ๋“ˆ์˜ ํƒญ์„ ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜