분류 전체보기(343)
-
개인정보-컴플라이언스-웹애플리케이션 (수정사항 3)
정량 데이터 가져오기 코드 수정부분const getQuantitativeData = async (req, res) => { const { systemId } = req.query; if (!systemId) { return res.status(400).json({ message: "System ID is required." }); } try { const query = ` SELECT question_number, unit, evaluation_method, score, question, legal_basis, criteria_and_references, file_upload, response, feedback FROM quantitative ..
2025.01.29 -
개인정보-컴플라이언스-웹애플리케이션 (수정사항 2-3)
현재 assessment_result 테이블에 동일한 system_id에 대한 평가 결과가 여러 개 존재할 가능성이 있기 때문에 중복 문제가 발생할 수 있어서 수정하도록 하겠습니다. 🚨 문제점 분석ON DUPLICATE KEY UPDATE가 중복을 해결하지 못할 가능성 있음system_id가 UNIQUE 제약 조건이 없으면, 같은 system_id에 대해 여러 개의 평가 결과가 삽입될 수 있습니다. ON DUPLICATE KEY UPDATE는 기존 행이 있는 경우에만 업데이트되므로, 이미 중복된 데이터가 있는 경우 중복이 해결되지 않습니다.자가진단이 완료될 때마다 INSERT INTO로 새로운 평가 결과가 생성됩니다.기존에 있는 평가 결과를 업데이트하는 것이 아니라, 새로운 데이터를 삽입하는 방식이라면..
2025.01.29 -
개인정보-컴플라이언스-웹애플리케이션 (수정사항 2-2)
현재 아직도 JOIN이 여러 개의 평가 결과(assessment_result)가 있는 경우 중복된 시스템을 여러 번 조회하게 만드는 원인이 되고 있어. 수정전 코드/** * 🔹 전문가가 배정된 시스템 목록 조회 */const getAssignedSystems = async (req, res) => { const { expertId } = req.query; console.log("✅ [getAssignedSystems] Received expertId:", expertId); if (!expertId) { return res.status(400).json({ resultCode: "F-1", msg: "전문가 ID가 필요합니다.", }); } try { con..
2025.01.29 -
개인정보-컴플라이언스-웹애플리케이션 (수정사항 2)
백엔드 코드중에 슈퍼유저의 기능중에 전문가와 시스템을 매칭해주는 코드가있었는데 그쪽에서 문제가 생겼습니다. 수정전 코드const matchExpertsToSystem = async (req, res) => { const { systemId, expertIds } = req.body; if (!systemId || !Array.isArray(expertIds) || expertIds.length === 0) { return res.status(400).json({ resultCode: "F-1", msg: "시스템 ID와 전문가 ID 목록을 제공해야 합니다.", }); } try { // 기존 매칭 데이터 삭제 await pool.query("DELETE FR..
2025.01.29 -
개인정보-컴플라이언스-웹애플리케이션 (수정사항 1)
현재 기관회원으로 로그인하고 세션을 발급 받는 시간동안에 새로고침을 하면 로그인창으로 리다이렉트이 이루어져 수정을 해야합니다. 이전 App.jsximport { BrowserRouter, Routes, Route, Navigate } from "react-router-dom";import Layout from "./components/Layout/Layout";import { useRecoilState } from "recoil";import { useEffect } from "react";import axios from "axios";import { authState } from "./state/authState";import Login from "./components/Login/Login";impo..
2025.01.29 -
개인정보-컴플라이언스-웹애플리케이션(13) - (정량문항 피드백 , 정성문항피드백) 프론트 코드
DiagnosisFeedbackPag.jsximport React, { useEffect, useState } from "react";import { useNavigate, useLocation } from "react-router-dom";import axios from "axios";import { useRecoilState } from "recoil";import { quantitativeDataState, currentStepState,} from "../../state/selfTestState";import { quantitativeFeedbackState } from "../../state/feedback";function DiagnosisFeedbackPage() { const navi..
2025.01.29