diff --git a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx
index 011cfe54..24c5a44d 100644
--- a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx
+++ b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx
@@ -58,7 +58,6 @@ export default function CircuitTrestleSetting({ id }) {
const { setModuleStatisticsData } = useCircuitTrestle()
const { handleCanvasToPng } = useImgLoader()
const moduleSelectionData = useRecoilValue(moduleSelectionDataState)
- const passivityCircuitAllocationRef = useRef()
const { setIsGlobalLoading } = useContext(QcastContext)
const originCanvasViewPortTransform = useRef([])
@@ -844,9 +843,16 @@ export default function CircuitTrestleSetting({ id }) {
pcsItemId: item.itemId,
pscOptCd: getPcsOptCd(index),
paralQty: serQty.paralQty,
- // 접속함 중복 체크: 동일 itemId는 1개만, 다르면 각각 올림
+ // 접속함 중복 체크: (itemId, moduleTpCd) 조합 기준으로 dedupe (Cross Mix 구분)
connections: item.connList?.length
- ? [...new Map(item.connList.map((conn) => [conn.itemId, { connItemId: conn.itemId, connMaxParalCnt: conn.connMaxParalCnt }])).values()]
+ ? [
+ ...new Map(
+ item.connList.map((conn) => [
+ `${conn.itemId}_${conn.moduleTpCd}`,
+ { connItemId: conn.itemId, connMaxParalCnt: conn.connMaxParalCnt, moduleTpCd: conn.moduleTpCd },
+ ]),
+ ).values(),
+ ]
: [],
})
// return {
@@ -1041,7 +1047,7 @@ export default function CircuitTrestleSetting({ id }) {
{tabNum === 1 && allocationType === ALLOCATION_TYPE.AUTO && }
{tabNum === 1 && allocationType === ALLOCATION_TYPE.PASSIVITY && (
-
+
)}
{tabNum === 2 && }
diff --git a/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx b/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx
index da6ea213..60f44db3 100644
--- a/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx
+++ b/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx
@@ -345,6 +345,7 @@ export default function StepUp(props) {
itemId: conn.itemId ?? '',
itemNm: conn.itemNm ?? '',
vstuParalCnt: conn.vstuParalCnt ?? 0,
+ moduleTpCd: conn.moduleTpCd,
}))
}
@@ -585,15 +586,16 @@ export default function StepUp(props) {
pcsItemId: serQty.itemId,
pcsOptCd: seletedOption,
paralQty: serQty.paralQty,
- // 접속함 중복 체크: 동일 itemId는 1개만, 다르면 각각 올림
+ // 접속함 중복 체크: (itemId, moduleTpCd) 조합 기준으로 dedupe
connections: item.connList?.length
? [
...new Map(
item.connList.map((conn) => [
- conn.itemId,
+ `${conn.itemId}_${conn.moduleTpCd}`,
{
connItemId: conn.itemId,
connMaxParalCnt: conn.connMaxParalCnt,
+ moduleTpCd: conn.moduleTpCd,
},
]),
).values(),
diff --git a/src/hooks/common/useMasterController.js b/src/hooks/common/useMasterController.js
index 36f5bd61..971b42ce 100644
--- a/src/hooks/common/useMasterController.js
+++ b/src/hooks/common/useMasterController.js
@@ -264,6 +264,8 @@ export function useMasterController() {
*/
const getPcsAutoRecommendList = async (params = null) => {
return await post({ url: '/api/v1/master/getPcsAutoRecommendList', data: params }).then((res) => {
+ console.log('[moduleTpCd] getPcsAutoRecommendList req:', params)
+ console.log('[moduleTpCd] getPcsAutoRecommendList res pcsItemList:', res?.data?.pcsItemList?.map((p) => ({ itemId: p.itemId, pcsTpCd: p.pcsTpCd, connList: p.connList?.map((c) => ({ itemId: c.itemId, moduleTpCd: c.moduleTpCd })) })))
return res
})
}
@@ -286,6 +288,8 @@ export function useMasterController() {
*/
const getPcsVoltageChk = async (params = null) => {
return await post({ url: '/api/v1/master/getPcsVoltageChk', data: params }).then((res) => {
+ console.log('[moduleTpCd] getPcsVoltageChk req:', params)
+ console.log('[moduleTpCd] getPcsVoltageChk res pcsItemList:', res?.data?.pcsItemList?.map((p) => ({ itemId: p.itemId, pcsTpCd: p.pcsTpCd, connList: p.connList?.map((c) => ({ itemId: c.itemId, moduleTpCd: c.moduleTpCd })) })))
return res
})
}
@@ -322,11 +326,15 @@ export function useMasterController() {
}
return await post({ url: '/api/v1/master/getPcsVoltageStepUpList', data: params }).then((res) => {
+ console.log('[moduleTpCd] getPcsVoltageStepUpList req:', params)
+ console.log('[moduleTpCd] getPcsVoltageStepUpList res pcsItemList:', res?.data?.pcsItemList?.map((p) => ({ itemId: p.itemId, pcsTpCd: p.pcsTpCd, connList: p.connList?.map((c) => ({ itemId: c.itemId, moduleTpCd: c.moduleTpCd })) })))
return res
})
}
const getQuotationItem = async (params) => {
+ console.log('[moduleTpCd] getQuotationItem req pcses.connections:', params?.pcses?.map((p) => ({ pcsItemId: p.pcsItemId, connections: p.connections })))
+ console.log('[moduleTpCd] getQuotationItem full req:', params)
return await post({ url: '/api/v1/master/getQuotationItem', data: params })
.then((res) => {
return res
@@ -355,6 +363,8 @@ export function useMasterController() {
*/
const getPcsConnOptionItemList = async (params = null) => {
return await post({ url: '/api/v1/master/getPcsConnOptionItemList', data: params }).then((res) => {
+ console.log('[moduleTpCd] getPcsConnOptionItemList req:', params)
+ console.log('[moduleTpCd] getPcsConnOptionItemList res pcsItemList:', res?.data?.pcsItemList?.map((p) => ({ itemId: p.itemId, pcsTpCd: p.pcsTpCd, connList: p.connList?.map((c) => ({ itemId: c.itemId, moduleTpCd: c.moduleTpCd })) })))
return res
})
}