멀티 모듈 집계표 수정
This commit is contained in:
parent
88db95406b
commit
8f1710e3dc
@ -500,6 +500,7 @@ export default function CircuitTrestleSetting({ id }) {
|
||||
selectedModels,
|
||||
setSelectedModels,
|
||||
managementState,
|
||||
getUseModuleItemList,
|
||||
}
|
||||
|
||||
// 수동할당 컴포넌트 속성
|
||||
|
||||
@ -27,6 +27,7 @@ export default function PowerConditionalSelect(props) {
|
||||
selectedModels,
|
||||
setSelectedModels,
|
||||
managementState,
|
||||
getUseModuleItemList,
|
||||
} = props
|
||||
const [pcsCheck, setPcsCheck] = useRecoilState(pcsCheckState)
|
||||
|
||||
@ -159,8 +160,14 @@ export default function PowerConditionalSelect(props) {
|
||||
setModels([])
|
||||
setSelectedModels([])
|
||||
setSelectedMaker(option)
|
||||
console.log('option', option)
|
||||
getUseModuleItemList
|
||||
const param = {
|
||||
pcsMkrCd: option.pcsMkrCd,
|
||||
mixMatlNo: getUseModuleItemList()[0].mixMatlNo,
|
||||
}
|
||||
|
||||
getPcsMakerList(option).then((res) => {
|
||||
getPcsMakerList(param).then((res) => {
|
||||
setSeries(
|
||||
res.data.map((series) => {
|
||||
return { ...series, selected: false }
|
||||
|
||||
@ -350,6 +350,12 @@ export default function StepUp(props) {
|
||||
return module.id
|
||||
})
|
||||
|
||||
targetSurface.modules.map((module) => {
|
||||
module.circuit = null
|
||||
module.circuitNumber = null
|
||||
module.pcsItemId = null
|
||||
})
|
||||
|
||||
// 모듈 목록 삭제
|
||||
canvas
|
||||
.getObjects()
|
||||
@ -363,6 +369,7 @@ export default function StepUp(props) {
|
||||
|
||||
roofSurface.moduleList.forEach((module) => {
|
||||
const targetModule = canvas.getObjects().filter((obj) => obj.id === module.uniqueId)[0]
|
||||
if (module.circuit === '') return
|
||||
const moduleCircuitText = new fabric.Text(module.circuit, {
|
||||
left: targetModule.left + targetModule.width / 2,
|
||||
top: targetModule.top + targetModule.height / 2,
|
||||
|
||||
@ -33,9 +33,6 @@ export default function PassivityCircuitAllocation(props) {
|
||||
const isDisplayCircuitNumber = useRecoilValue(circuitNumDisplaySelector)
|
||||
|
||||
useEffect(() => {
|
||||
console.log('header, rows', header, rows)
|
||||
console.log('selectedModels', selectedModels)
|
||||
// setSurfaceInfo()
|
||||
setModuleStatisticsData()
|
||||
if (!managementState) {
|
||||
setManagementState(managementStateLoaded)
|
||||
@ -78,80 +75,6 @@ export default function PassivityCircuitAllocation(props) {
|
||||
canvas.renderAll()
|
||||
}
|
||||
|
||||
const setSurfaceInfo = () => {
|
||||
const surfaces = canvas.getObjects().filter((obj) => POLYGON_TYPE.MODULE_SETUP_SURFACE === obj.name)
|
||||
// setHeaders([header[0], { name: '회로', prop: 'circuit' }, ...header.slice(1)])
|
||||
// setRows(
|
||||
// rows.map((row) => {
|
||||
// return {
|
||||
// ...row,
|
||||
// circuit: '',
|
||||
// }
|
||||
// }),
|
||||
// )
|
||||
// let totals = {}
|
||||
|
||||
// rows.forEach((row) => {
|
||||
// if (header.length === 4) {
|
||||
// if (!totals[header[2].prop]) totals[header[2].prop] = 0
|
||||
// totals[header[2].prop] += +row[header[2].prop]
|
||||
// } else if (header.length === 5) {
|
||||
// if (!totals[header[2].prop]) totals[header[2].prop] = 0
|
||||
// totals[header[2].prop] += +row[header[2].prop]
|
||||
// if (!totals[header[3].prop]) totals[header[3].prop] = 0
|
||||
// totals[header[3]] += +row[header[3]]
|
||||
// }
|
||||
// })
|
||||
// setFooter([
|
||||
// ...['합계', ''],
|
||||
// ...Object.keys(totals).map((key) => {
|
||||
// return totals[key]
|
||||
// }),
|
||||
// Object.keys(totals).reduce((acc, key) => {
|
||||
// return acc + totals[key]
|
||||
// }, 0),
|
||||
// ])
|
||||
// let totalWpout = 0
|
||||
// const rows = surfaces.map((surface) => {
|
||||
// let wpOut = 0
|
||||
// let moduleInfo = {}
|
||||
// surface.modules.forEach((module) => {
|
||||
// wpOut += +module.moduleInfo.wpOut
|
||||
// if (!moduleInfo[module.moduleInfo.itemId]) moduleInfo[module.moduleInfo.itemId] = 0
|
||||
// moduleInfo[module.moduleInfo.itemId]++
|
||||
// })
|
||||
// totalWpout += wpOut
|
||||
// console.log('🚀 ~ moduleData.rows=surfaces.map ~ module:', module)
|
||||
// return {
|
||||
// roofShape: DIRECTION[surface.direction],
|
||||
// powerGeneration: wpOut.toLocaleString('ko-KR', { maximumFractionDigits: 4 }),
|
||||
// ...moduleInfo,
|
||||
// }
|
||||
// })
|
||||
|
||||
// setTotalWpout(totalWpout)
|
||||
// 지붕면 리스트 -> 지붕면에 있는 모듈 리스트 -> 발전량 총합 계산
|
||||
// wpOut
|
||||
|
||||
// setModuleData({
|
||||
// header: [
|
||||
// { name: getMessage('modal.panel.batch.statistic.roof.shape'), prop: 'roofShape' },
|
||||
// { name: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.circuit'), prop: 'circuit' },
|
||||
// ...selectedModules.itemList.map((module) => {
|
||||
// return {
|
||||
// name: module.itemNm,
|
||||
// prop: module.itemId,
|
||||
// }
|
||||
// }),
|
||||
// {
|
||||
// name: `${getMessage('modal.panel.batch.statistic.power.generation.amount')}(kW)`,
|
||||
// prop: 'powerGeneration',
|
||||
// },
|
||||
// ],
|
||||
// rows: rows,
|
||||
// })
|
||||
}
|
||||
|
||||
const handleCircuitNumberFix = () => {
|
||||
let uniqueCircuitNumbers = [
|
||||
...new Set(
|
||||
@ -177,6 +100,7 @@ export default function PassivityCircuitAllocation(props) {
|
||||
return
|
||||
} else if (selectedModels.length > 1) {
|
||||
let result = false
|
||||
|
||||
uniqueCircuitNumbers.forEach((number) => {
|
||||
if (
|
||||
number.split('-')[1] === circuitNumber + ')' &&
|
||||
@ -229,20 +153,14 @@ export default function PassivityCircuitAllocation(props) {
|
||||
setSelectedPcs(tempSelectedPcs)
|
||||
canvas.add(moduleCircuitText)
|
||||
})
|
||||
console.log('🚀 ~ handleCircuitNumberFix ~ selectedModels:', selectedModels)
|
||||
|
||||
// let pcsList = [...selectedModels.map((model) => ({ ...model }))]
|
||||
let pcsList = JSON.parse(JSON.stringify(selectedModels))
|
||||
pcsList = pcsList.map((model) => {
|
||||
console.log('🚀 ~ handleCircuitNumberFix ~ pcsList:', pcsList)
|
||||
let pcsList = JSON.parse(JSON.stringify(selectedModels)).map((model) => {
|
||||
if (model.id === selectedPcs.id) {
|
||||
model.isUsed = true
|
||||
}
|
||||
return model
|
||||
})
|
||||
|
||||
console.log('🚀 ~ handleCircuitNumberFix ~ pcsList:', pcsList)
|
||||
|
||||
const roofSurfaceList = canvas
|
||||
.getObjects()
|
||||
.filter((obj) => POLYGON_TYPE.MODULE_SETUP_SURFACE === obj.name && obj?.modules.length > 0)
|
||||
@ -261,7 +179,6 @@ export default function PassivityCircuitAllocation(props) {
|
||||
}
|
||||
})
|
||||
|
||||
console.log('uniqueCircuitNumbers', uniqueCircuitNumbers)
|
||||
const usedPcses = pcsList.filter((model) => model.isUsed)
|
||||
const pcsItemList = usedPcses.map((model, index) => {
|
||||
return {
|
||||
@ -289,7 +206,6 @@ export default function PassivityCircuitAllocation(props) {
|
||||
}
|
||||
|
||||
getPcsManualConfChk(params).then((res) => {
|
||||
console.log('targetModules', targetModules)
|
||||
if (res.resultCode === 'E') {
|
||||
swalFire({
|
||||
text: res.resultMsg,
|
||||
@ -321,8 +237,6 @@ export default function PassivityCircuitAllocation(props) {
|
||||
setModuleStatisticsData()
|
||||
})
|
||||
}
|
||||
console.log('🚀 ~ handleCircuitNumberFix ~ selectedModels:', selectedModels)
|
||||
console.log('🚀 ~ handleCircuitNumberFix ~ selectedModels:', selectedModels)
|
||||
|
||||
const getCircuitNumber = () => {
|
||||
if (selectedModels.length === 1) {
|
||||
@ -334,7 +248,7 @@ export default function PassivityCircuitAllocation(props) {
|
||||
|
||||
const initSelectedPcsCircuitNumber = () => {
|
||||
swalFire({
|
||||
title: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.init.info'),
|
||||
title: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.selected.power.conditional.reset.info'),
|
||||
type: 'confirm',
|
||||
icon: 'warning',
|
||||
confirmFn: () => {
|
||||
@ -355,7 +269,7 @@ export default function PassivityCircuitAllocation(props) {
|
||||
const initAllPcsCircuitNumber = () => {
|
||||
canvas.discardActiveObject()
|
||||
swalFire({
|
||||
title: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.init.setting.info'),
|
||||
title: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.all.power.conditional.reset.info'),
|
||||
type: 'confirm',
|
||||
icon: 'warning',
|
||||
confirmFn: () => {
|
||||
@ -444,18 +358,6 @@ export default function PassivityCircuitAllocation(props) {
|
||||
</label>
|
||||
</div>
|
||||
))}
|
||||
{/* <div className="d-check-radio pop mb10">
|
||||
<input type="radio" name="radio01" id="ra01" />
|
||||
<label htmlFor="ra01">HQJP-KA55-5 (標準回路2枚~10枚)</label>
|
||||
</div>
|
||||
<div className="d-check-radio pop mb10">
|
||||
<input type="radio" name="radio01" id="ra02" />
|
||||
<label htmlFor="ra02">HQJP-KA55-5 (標準回路2枚~10枚)</label>
|
||||
</div>
|
||||
<div className="d-check-radio pop">
|
||||
<input type="radio" name="radio01" id="ra03" />
|
||||
<label htmlFor="ra03">HQJP-KA55-5 (標準回路2枚~10枚)</label>
|
||||
</div>*/}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1010,10 +1010,10 @@ export function useModule() {
|
||||
wpOut: 0,
|
||||
circuits: { wpOut: 0 },
|
||||
}
|
||||
}
|
||||
|
||||
if (!surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId]) {
|
||||
surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId] = 0
|
||||
}
|
||||
if (!surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId]) {
|
||||
surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId] = 0
|
||||
}
|
||||
surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId]++
|
||||
surfaceObjects[surface.id].circuits[module.circuitNumber].circuits.wpOut += +module.moduleInfo.wpOut
|
||||
@ -1027,7 +1027,7 @@ export function useModule() {
|
||||
let tempRow = {
|
||||
name: surfaceObjects[key].roofSurface,
|
||||
circuit: surfaceObjects[key].circuit,
|
||||
wpOut: parseInt((surfaceObjects[key].wpOut / 1000).toFixed(3)),
|
||||
wpOut: parseFloat(surfaceObjects[key].wpOut / 1000),
|
||||
}
|
||||
selectedModules.itemList.forEach((module) => {
|
||||
tempRow[module.itemId] = surfaceObjects[key][module.itemId]
|
||||
@ -1038,7 +1038,7 @@ export function useModule() {
|
||||
let row = {
|
||||
name: surfaceObjects[key].roofSurface,
|
||||
circuit: surfaceObjects[key].circuits[circuit].circuit,
|
||||
wpOut: parseInt((surfaceObjects[key].circuits[circuit].circuits.wpOut / 1000).toFixed(3)),
|
||||
wpOut: parseFloat(surfaceObjects[key].circuits[circuit].circuits.wpOut / 1000),
|
||||
}
|
||||
selectedModules.itemList.forEach((module) => {
|
||||
row[module.itemId] = surfaceObjects[key].circuits[circuit].circuits[module.itemId]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user