diff --git a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx index 1c72c105..803ea4d9 100644 --- a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx @@ -16,7 +16,7 @@ import { useSwal } from '@/hooks/useSwal' import { canvasState, canvasZoomState } from '@/store/canvasAtom' import { useTrestle } from '@/hooks/module/useTrestle' -import { selectedModuleState } from '@/store/selectedModuleOptions' +import { moduleSelectionDataState, selectedModuleState } from '@/store/selectedModuleOptions' import { v4 as uuidv4 } from 'uuid' import { useEstimate } from '@/hooks/useEstimate' @@ -60,7 +60,7 @@ export default function CircuitTrestleSetting({ id }) { const [seletedSubOption, setSeletedSubOption] = useState(null) const { setModuleStatisticsData } = useCircuitTrestle() const { handleCanvasToPng } = useImgLoader() - + const moduleSelectionData = useRecoilValue(moduleSelectionDataState) const passivityCircuitAllocationRef = useRef() const { setIsGlobalLoading } = useContext(QcastContext) @@ -340,8 +340,15 @@ export default function CircuitTrestleSetting({ id }) { const target = pcsCheck.max ? moduleMaxQty : moduleStdQty const placementModules = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE) + let moduleAmount = placementModules.reduce((acc, module) => { + if (moduleSelectionData.module.itemList.length === 1 || module.moduleInfo.itemId === moduleSelectionData.module.itemList[0].itemId) { + return acc + 1 + } else { + return acc + 0.66 + } + }, 0) - if (placementModules.length > target) { + if (moduleAmount > target) { swalFire({ title: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.all.power.conditional.validation.error01'), type: 'alert', diff --git a/src/hooks/module/useTrestle.js b/src/hooks/module/useTrestle.js index 643b8e03..b0ec3a31 100644 --- a/src/hooks/module/useTrestle.js +++ b/src/hooks/module/useTrestle.js @@ -2568,6 +2568,10 @@ export const useTrestle = () => { const getSameLineModules = (surface) => { const { direction, modules, isChidory } = surface + if (!modules || modules.length === 0) { + return + } + // 같은 단에 있는 모듈들의 리스트 let sameLineModuleList = []