저장 시 위치가 바뀌는 문제 해결
This commit is contained in:
parent
ab07908f09
commit
0217393cb8
|
|
@ -202,21 +202,25 @@ export class YardLayoutService {
|
|||
|
||||
const pool = getPool();
|
||||
const result = await pool.query(query, [
|
||||
data.material_code,
|
||||
data.material_name,
|
||||
data.quantity,
|
||||
data.unit,
|
||||
data.position_x,
|
||||
data.position_y,
|
||||
data.position_z,
|
||||
data.size_x,
|
||||
data.size_y,
|
||||
data.size_z,
|
||||
data.color,
|
||||
data.data_source_type,
|
||||
data.data_source_config ? JSON.stringify(data.data_source_config) : null,
|
||||
data.data_binding ? JSON.stringify(data.data_binding) : null,
|
||||
data.memo,
|
||||
data.material_code !== undefined ? data.material_code : null,
|
||||
data.material_name !== undefined ? data.material_name : null,
|
||||
data.quantity !== undefined ? data.quantity : null,
|
||||
data.unit !== undefined ? data.unit : null,
|
||||
data.position_x !== undefined ? data.position_x : null,
|
||||
data.position_y !== undefined ? data.position_y : null,
|
||||
data.position_z !== undefined ? data.position_z : null,
|
||||
data.size_x !== undefined ? data.size_x : null,
|
||||
data.size_y !== undefined ? data.size_y : null,
|
||||
data.size_z !== undefined ? data.size_z : null,
|
||||
data.color !== undefined ? data.color : null,
|
||||
data.data_source_type !== undefined ? data.data_source_type : null,
|
||||
data.data_source_config !== undefined
|
||||
? JSON.stringify(data.data_source_config)
|
||||
: null,
|
||||
data.data_binding !== undefined
|
||||
? JSON.stringify(data.data_binding)
|
||||
: null,
|
||||
data.memo !== undefined ? data.memo : null,
|
||||
placementId,
|
||||
]);
|
||||
|
||||
|
|
|
|||
|
|
@ -174,8 +174,31 @@ export default function YardEditor({ layout, onBack }: YardEditorProps) {
|
|||
const response = await yardLayoutApi.updatePlacement(selectedPlacement.id, updatedData);
|
||||
if (response.success) {
|
||||
const updated = response.data as YardPlacement;
|
||||
setPlacements((prev) => prev.map((p) => (p.id === updated.id ? updated : p)));
|
||||
setSelectedPlacement(updated);
|
||||
|
||||
// 현재 위치 정보를 유지하면서 업데이트
|
||||
setPlacements((prev) =>
|
||||
prev.map((p) => {
|
||||
if (p.id === updated.id) {
|
||||
// 현재 프론트엔드 상태의 위치를 유지
|
||||
return {
|
||||
...updated,
|
||||
position_x: p.position_x,
|
||||
position_y: p.position_y,
|
||||
position_z: p.position_z,
|
||||
};
|
||||
}
|
||||
return p;
|
||||
}),
|
||||
);
|
||||
|
||||
// 선택된 요소도 동일하게 업데이트
|
||||
setSelectedPlacement({
|
||||
...updated,
|
||||
position_x: selectedPlacement.position_x,
|
||||
position_y: selectedPlacement.position_y,
|
||||
position_z: selectedPlacement.position_z,
|
||||
});
|
||||
|
||||
setShowConfigPanel(false);
|
||||
}
|
||||
} catch (error) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue