Merge pull request 'dedupe 키를 (itemId, moduleTpCd) 조합으로 변경' (#788) from dev into dev-deploy

Reviewed-on: #788
This commit is contained in:
ysCha 2026-04-21 17:54:32 +09:00
commit 8b76df44cb
3 changed files with 24 additions and 6 deletions

View File

@ -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 }) {
</div>
{tabNum === 1 && allocationType === ALLOCATION_TYPE.AUTO && <PowerConditionalSelect {...powerConditionalSelectProps} />}
{tabNum === 1 && allocationType === ALLOCATION_TYPE.PASSIVITY && (
<PassivityCircuitAllocation {...passivityProps} ref={passivityCircuitAllocationRef} isFold={isFold} />
<PassivityCircuitAllocation {...passivityProps} isFold={isFold} />
)}
{tabNum === 2 && <StepUp {...stepUpProps} onInitialize={handleStepUpInitialize} />}
</div>

View File

@ -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(),

View File

@ -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
})
}