Initial deployment setup
Deploy staging / deploy (push) Failing after 6s

This commit is contained in:
root
2026-08-31 16:45:24 +09:00
commit 33453ecc55
3475 changed files with 850363 additions and 0 deletions
+93
View File
@@ -0,0 +1,93 @@
#!/usr/bin/env python3
"""Apply exact email/alias matches from a BARON-SSO export to the template."""
from __future__ import annotations
import argparse
import csv
import re
from collections import defaultdict
from pathlib import Path
EMAIL_RE = re.compile(r"[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}", re.IGNORECASE)
MATCH_COLUMNS = (
"Email",
"Meta:secondary_emails",
"Meta:aliasEmails",
"Meta:worksmobileAliasEmails",
"Meta:sub_email",
"Meta:external_sub_email",
"Meta:source_login_id",
)
def emails(value: str | None) -> set[str]:
return {match.lower() for match in EMAIL_RE.findall(value or "")}
def main() -> None:
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--users", type=Path, default=Path("users_export_20260805.csv"))
parser.add_argument(
"--template",
type=Path,
default=Path("scripts/generated/egbim_migration/identity_mapping_template.csv"),
)
parser.add_argument("--output", type=Path)
args = parser.parse_args()
output = args.output or args.template
with args.users.open(encoding="utf-8-sig", newline="") as stream:
users = list(csv.DictReader(stream))
with args.template.open(encoding="utf-8", newline="") as stream:
template = list(csv.DictReader(stream))
index: dict[str, list[tuple[dict[str, str], str]]] = defaultdict(list)
for user in users:
for column in MATCH_COLUMNS:
for identifier in emails(user.get(column)):
index[identifier].append((user, column))
resolved = 0
ambiguous = 0
unmatched = 0
for row in template:
identifier = row["legacy_identifier"].strip().lower()
candidates = index.get(identifier, [])
users_by_id = {user["user_id"]: (user, column) for user, column in candidates}
if len(users_by_id) != 1:
row["resolution_status"] = "AMBIGUOUS" if len(users_by_id) > 1 else "UNRESOLVED"
row["notes"] = (
"BARON-SSO export에서 동일 alias가 여러 사용자와 일치함"
if len(users_by_id) > 1
else "정확한 이메일/보조 이메일 일치 없음; 이름만으로 자동 매핑하지 않음"
)
if len(users_by_id) > 1:
ambiguous += 1
else:
unmatched += 1
continue
user, matched_column = next(iter(users_by_id.values()))
row["sso_subject"] = user.get("user_id", "")
row["tenant_id"] = user.get("tenant_id", "")
row["email"] = user.get("Email", "")
row["name"] = user.get("Name", "")
row["department"] = user.get("Meta:department") or user.get("JobTitle") or user.get("Position") or ""
row["phone"] = user.get("Phone", "")
row["resolution_status"] = "RESOLVED"
row["notes"] = f"exact match: {matched_column}"
resolved += 1
with output.open("w", encoding="utf-8", newline="") as stream:
writer = csv.DictWriter(stream, fieldnames=template[0].keys())
writer.writeheader()
writer.writerows(template)
print(f"template_rows={len(template)} resolved={resolved} ambiguous={ambiguous} unmatched={unmatched}")
print(f"output={output}")
if __name__ == "__main__":
main()
+149
View File
@@ -0,0 +1,149 @@
#!/usr/bin/env python3
"""Build a BARON-SSO identity mapping template from the EGBIM QA dump.
The output is a review template. It never invents an SSO subject or tenant and
it never assigns administrator permissions.
"""
from __future__ import annotations
import argparse
import csv
from pathlib import Path
import migrate_egbim_dump
migrate_egbim_dump.TABLES["qa_comments"] = (
"comment_id",
"post_id",
"commenter",
"content",
"created_at",
"user_name",
"updated_at",
)
ADMIN_CANDIDATE_EMAILS = {
"cjy627@hanmaceng.co.kr",
"b23072@hanmaceng.co.kr",
"kjy0426@hanmaceng.co.kr",
"b21367@hanmaceng.co.kr",
"rmsgud1202@hanmaceng.co.kr",
}
def add_identity(
identities: dict[str, dict[str, object]],
identifier: str | None,
*,
legacy_user_id: str | None = None,
legacy_name: str | None = None,
post_count: bool = False,
comment_count: bool = False,
) -> None:
key = (identifier or "").strip().lower()
if not key:
return
item = identities.setdefault(
key,
{
"legacy_user_ids": set(),
"legacy_names": set(),
"post_count": 0,
"comment_count": 0,
"admin_candidate": key in ADMIN_CANDIDATE_EMAILS,
},
)
if legacy_user_id:
item["legacy_user_ids"].add(str(legacy_user_id))
if legacy_name:
item["legacy_names"].add(str(legacy_name))
if post_count:
item["post_count"] += 1
if comment_count:
item["comment_count"] += 1
def write_template(posts: list[dict], comments: list[dict], output: Path) -> int:
identities: dict[str, dict[str, object]] = {}
for row in posts:
add_identity(
identities,
row.get("login_id"),
legacy_user_id=row.get("user_id"),
legacy_name=row.get("user_name"),
post_count=True,
)
for row in comments:
add_identity(
identities,
row.get("commenter"),
legacy_name=row.get("user_name"),
comment_count=True,
)
output.parent.mkdir(parents=True, exist_ok=True)
with output.open("w", newline="", encoding="utf-8") as stream:
writer = csv.writer(stream)
writer.writerow(
[
"legacy_identifier",
"legacy_user_ids",
"legacy_names",
"post_count",
"comment_count",
"admin_candidate",
"sso_subject",
"tenant_id",
"email",
"name",
"department",
"phone",
"resolution_status",
"notes",
]
)
for identifier in sorted(identities):
item = identities[identifier]
writer.writerow(
[
identifier,
";".join(sorted(item["legacy_user_ids"])),
";".join(sorted(item["legacy_names"])),
item["post_count"],
item["comment_count"],
"Y" if item["admin_candidate"] else "N",
"",
"",
"",
"",
"",
"",
"UNRESOLVED",
"BARON-SSO profile/secondary_emails 확인 후 입력",
]
)
return len(identities)
def main() -> None:
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--source-sql", type=Path, default=Path("scripts/egbim_qa.sql"))
parser.add_argument(
"--output",
type=Path,
default=Path("scripts/generated/egbim_migration/identity_mapping_template.csv"),
)
args = parser.parse_args()
text = args.source_sql.read_text(encoding="utf-8")
posts = migrate_egbim_dump.load_table(text, "qa_posts")
comments = migrate_egbim_dump.load_table(text, "qa_comments")
identities = write_template(posts, comments, args.output)
print(f"posts={len(posts)} comments={len(comments)} identities={identities}")
print(f"output={args.output}")
if __name__ == "__main__":
main()
+100
View File
@@ -0,0 +1,100 @@
#!/usr/bin/env bash
set -Eeuo pipefail
ROOT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
API_PID=""
SECRETARY_PID=""
WEB_PID=""
die() {
echo "[dev-local] $*" >&2
exit 1
}
require_command() {
command -v "$1" >/dev/null 2>&1 || die "'$1' command not found"
}
ensure_port_free() {
local port="$1"
if lsof -nP -iTCP:"$port" -sTCP:LISTEN >/dev/null 2>&1; then
echo "[dev-local] port $port is already in use:" >&2
lsof -nP -iTCP:"$port" -sTCP:LISTEN >&2 || true
die "stop the process using port $port, then rerun the local server"
fi
}
wait_for_url() {
local name="$1"
local url="$2"
local attempts=90
echo "[dev-local] waiting for $name..."
for ((attempt = 1; attempt <= attempts; attempt++)); do
if curl -fsS --max-time 2 "$url" >/dev/null 2>&1; then
echo "[dev-local] $name is ready"
return 0
fi
sleep 1
done
die "$name did not respond at $url within ${attempts}s"
}
cleanup() {
local status=$?
trap - EXIT INT TERM
for pid in "$WEB_PID" "$SECRETARY_PID" "$API_PID"; do
if [[ -n "$pid" ]] && kill -0 "$pid" 2>/dev/null; then
kill "$pid" 2>/dev/null || true
fi
done
wait 2>/dev/null || true
exit "$status"
}
require_command curl
require_command lsof
require_command pnpm
[[ -x "$ROOT_DIR/apps/secretary-api/.venv/bin/uvicorn" ]] || \
die "Secretary API virtualenv is missing: apps/secretary-api/.venv/bin/uvicorn"
ensure_port_free 3100
ensure_port_free 4000
ensure_port_free 8010
trap cleanup EXIT INT TERM
(
cd "$ROOT_DIR/apps/api"
APP_ADDRESS=127.0.0.1 pnpm dev
) &
API_PID=$!
(
cd "$ROOT_DIR/apps/secretary-api"
./.venv/bin/uvicorn app.main:app --reload --host 127.0.0.1 --port 8010
) &
SECRETARY_PID=$!
(
cd "$ROOT_DIR/apps/web"
pnpm dev --hostname 127.0.0.1 --port 3100
) &
WEB_PID=$!
wait_for_url "API" "http://127.0.0.1:4000/api/health"
wait_for_url "Secretary API" "http://127.0.0.1:8010/api/health"
wait_for_url "Web" "http://127.0.0.1:3100/"
echo "[dev-local] all local servers are ready"
echo "API: http://127.0.0.1:4000"
echo "Secretary API: http://127.0.0.1:8010"
echo "Web: http://127.0.0.1:3100"
echo "Press Ctrl-C to stop all development servers."
wait -n "$API_PID" "$SECRETARY_PID" "$WEB_PID"
+1448
View File
File diff suppressed because one or more lines are too long
@@ -0,0 +1,21 @@
-- EGBIM workspace to ABC project/channel mapping discovered on staging.
-- This is intentionally separate from Alembic because ABC IDs can differ by environment.
-- Run once on baron_support after confirming the target IDs.
SET NAMES utf8mb4;
USE `baron_support`;
INSERT INTO workspace_channel_mappings
(workspace_id, abc_channel_id, abc_channel_key, is_active)
SELECT
w.id,
'2',
'EGBIM',
1
FROM workspaces w
WHERE w.workspace_code = 'EGBIM'
AND NOT EXISTS (
SELECT 1
FROM workspace_channel_mappings m
WHERE m.workspace_id = w.id
AND m.abc_channel_id = '2'
);
@@ -0,0 +1,23 @@
# EGBIM QA migration artifacts
These files are generated from `scripts/egbim_qa.sql`; the source dump itself is not a target migration script.
## Files
- `userfeedback_feedbacks.sql`: inserts the 427 legacy posts into ABC `userfeedback.feedbacks` on EGBIM channel `2`. Migration metadata is embedded in the `data` JSON because the staging schema has no `additional_data` column.
- `support_tickets_comments.sql`: imports 427 EGBIM posts into `baron_support.support_tickets`, creates post mappings, and imports 677 legacy comments into `ticket_comments`.
- `support_ticket_secrets.sql`: applies EGBIM `is_secret` or `is_private` to mapped `baron_support.support_tickets`.
- `support_attachments.sql`: inserts resolved post attachments and comment images into `baron_support.attachments` after support ticket/comment mappings exist.
- `uploads_manifest.csv`: audit list with source path, target storage key, checksum, and copy status.
The referenced files were copied to `uploads/EGBIM_QA/`. The container sees them under `/app/uploads/EGBIM_QA/`.
## Required order
1. Apply the support schema/migration that creates `migration_mappings`, `support_tickets`, `ticket_comments`, and `attachments`.
2. Run `support_tickets_comments.sql` against `baron_support`. It creates 427 tickets, post mappings, and 677 comments.
3. Run `userfeedback_feedbacks.sql` against the ABC `userfeedback` database.
4. Run `support_ticket_secrets.sql` against `baron_support`.
5. Run `support_attachments.sql` against `baron_support`. It resolves the EGBIM workspace automatically and links post/comment files through the mappings.
The one missing source file is recorded in `uploads_manifest.csv` as `MISSING`; do not create a fake attachment row for it.
@@ -0,0 +1,245 @@
-- Generated for baron_support.attachments.
-- Run after EGBIM_QA POST/COMMENT migration mappings exist.
-- Comment migration must set ticket_comments.abc_comment_id = EGBIM_QA:<source comment id>.
SET NAMES utf8mb4;
USE `baron_support`;
SET @EGBIM_WORKSPACE_ID = (SELECT id FROM workspaces WHERE workspace_code='EGBIM');
SET @EGBIM_UPLOADER_ID = 'migration:EGBIM_QA';
SET @EGBIM_UPLOADER_TENANT_ID = 'migration:EGBIM_QA';
START TRANSACTION;
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'프린트 오류.png','4.png','LOCAL','/app/uploads','EGBIM_QA/attachments/4.png','image/png','png',133728,'bd914f2164a13dba962179cd7a64da1099d75fd6a58886849a331b23e7b6f015','EGBIM_QA:POST_ATTACHMENT:4','ACTIVE','2025-08-27 15:52:17','2025-08-27 15:52:17' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='14' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:4');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'이지빔개선이미지1.PNG','5.png','LOCAL','/app/uploads','EGBIM_QA/attachments/5.png','image/png','png',86593,'f9315bdd7d116ea78562a9245aa0247a4e8221045218ca5977e9bbf99680ebac','EGBIM_QA:POST_ATTACHMENT:5','ACTIVE','2025-08-29 14:40:59','2025-08-29 14:40:59' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='20' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:5');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'이지빔개선이미지2.PNG','6.png','LOCAL','/app/uploads','EGBIM_QA/attachments/6.png','image/png','png',36202,'16b27fc3d232f79aeeb85723807dd041db86b0a78ef37e67ed3227f35cd98451','EGBIM_QA:POST_ATTACHMENT:6','ACTIVE','2025-08-29 14:40:59','2025-08-29 14:40:59' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='20' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:6');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'대야천교 A2노리.zip','7.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/7.zip','application/zip','zip',5444903,'967cdcebd2445bc6957ef11f7a9ef4b231b81e008ad19ab93b046f0fa4a868bd','EGBIM_QA:POST_ATTACHMENT:7','ACTIVE','2025-08-29 15:36:39','2025-08-29 15:36:39' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='21' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:7');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'오류문의.zip','8.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/8.zip','application/zip','zip',1710514,'a63786e18553620ca4878aa09f845222aafdba1dbb0c133ffc3da5d195fe25c4','EGBIM_QA:POST_ATTACHMENT:8','ACTIVE','2025-08-29 16:01:21','2025-08-29 16:01:21' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='22' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:8');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'250902 삽도 수정(내부 표 변경).zip','10.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/10.zip','application/zip','zip',731246,'01da6bfa22ac034f89ce9c7db10aa7d007a76a58a9e2851670ee4a2c615e0de7','EGBIM_QA:POST_ATTACHMENT:10','ACTIVE','2025-09-02 16:07:44','2025-09-02 16:07:44' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='33' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:10');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'CAD상 배경이미지 예시.JPG','11.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/11.jpg','image/jpeg','jpg',61620,'8c93f224323fe78e2bce3b7fec121a9b8518f44f519c0380b4a5a2ef1929d70e','EGBIM_QA:POST_ATTACHMENT:11','ACTIVE','2025-09-03 09:44:23','2025-09-03 09:44:23' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='39' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:11');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'JPG 출력시 배경이미지 깨짐 예시.JPG','12.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/12.jpg','image/jpeg','jpg',208715,'5b0698c8d917220c52f0409a25ccb6e461863146bc0e04b0b2fe1a7ea0fb1f29','EGBIM_QA:POST_ATTACHMENT:12','ACTIVE','2025-09-03 09:44:23','2025-09-03 09:44:23' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='39' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:12');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20250903_094341.png','13.png','LOCAL','/app/uploads','EGBIM_QA/attachments/13.png','image/png','png',17656,'7ac844557281a514c33dc897282a1df8372c4052eba23067c8221cf8147c7fbf','EGBIM_QA:POST_ATTACHMENT:13','ACTIVE','2025-09-03 09:45:38','2025-09-03 09:45:38' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='41' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:13');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'11.zip','14.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/14.zip','application/zip','zip',3722287,'59bf53d3aa1b819a80acb4af4a385293d7302d1a71aed8f8f3e097a880f62b87','EGBIM_QA:POST_ATTACHMENT:14','ACTIVE','2025-09-03 15:31:36','2025-09-03 15:31:36' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='43' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:14');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20250905_175019.png','15.png','LOCAL','/app/uploads','EGBIM_QA/attachments/15.png','image/png','png',105167,'18ad50e7390753a32a26b6b24491e3df591f7c29a47b7b11b60d5e22f89db580','EGBIM_QA:POST_ATTACHMENT:15','ACTIVE','2025-09-05 17:50:35','2025-09-05 17:50:35' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='59' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:15');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'플롯 오류.jpg','16.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/16.jpg','image/jpeg','jpg',2354295,'b9e6a34433343b8d840e22f075b799bf3afc4b52195f2e672ea51e45b327b3d2','EGBIM_QA:POST_ATTACHMENT:16','ACTIVE','2025-09-08 15:58:20','2025-09-08 15:58:20' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='60' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:16');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'이지빔 오류.png','17.png','LOCAL','/app/uploads','EGBIM_QA/attachments/17.png','image/png','png',182115,'9ea3798264732730aaa723d4643c4e59d6795da6f1ce10d4a144d8211e7d56f9','EGBIM_QA:POST_ATTACHMENT:17','ACTIVE','2025-09-08 19:15:15','2025-09-08 19:15:15' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='61' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:17');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'KakaoTalk_20250910_154923538.jpg','18.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/18.jpg','image/jpeg','jpg',4877121,'721e852361cda56e5961148fc33a31b7dfa6d3cd268f78fcbfb6c6403e72835f','EGBIM_QA:POST_ATTACHMENT:18','ACTIVE','2025-09-10 15:51:33','2025-09-10 15:51:33' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='64' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:18');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'cmdengonly.png','19.png','LOCAL','/app/uploads','EGBIM_QA/attachments/19.png','image/png','png',5322,'9d8253b592101e759e2a08bb160b4fa6b65a78dad021ce1b9acb0225ca64953a','EGBIM_QA:POST_ATTACHMENT:19','ACTIVE','2025-09-11 15:30:26','2025-09-11 15:30:26' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='69' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:19');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'이지빔큐앤에이개선.png','20.png','LOCAL','/app/uploads','EGBIM_QA/attachments/20.png','image/png','png',29096,'32d10251833be4c3d45bc1f4e6d34b59cee665c05b56de7b1e639648bd42ffe7','EGBIM_QA:POST_ATTACHMENT:20','ACTIVE','2025-09-11 15:33:34','2025-09-11 15:33:34' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='69' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:20');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'인쇄하기 에러.png','21.png','LOCAL','/app/uploads','EGBIM_QA/attachments/21.png','image/png','png',100318,'6b993fc410107a0ba3fd65e9ea114ab1287f26b5e175d83a10c583cc6970268b','EGBIM_QA:POST_ATTACHMENT:21','ACTIVE','2025-09-12 14:53:18','2025-09-12 14:53:18' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='70' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:21');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'인쇄하기 정상.png','22.png','LOCAL','/app/uploads','EGBIM_QA/attachments/22.png','image/png','png',181149,'32265ec02413ac1bd77beadd8dcac0308ce2ac15625d9ffd788db18ff4de7ebb','EGBIM_QA:POST_ATTACHMENT:22','ACTIVE','2025-09-12 14:53:18','2025-09-12 14:53:18' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='70' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:22');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'캡처1.JPG','23.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/23.jpg','image/jpeg','jpg',118891,'518031574b99f80957618509c60e428904402780ab9313fe81e70bf9c9ef3309','EGBIM_QA:POST_ATTACHMENT:23','ACTIVE','2025-09-16 09:43:05','2025-09-16 09:43:05' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='76' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:23');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'003~004.평면및종단면도(금곡사사)-250911 - Standard.zip','25.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/25.zip','application/zip','zip',15763404,'b779df93f53bf81b0fa5ac7f2aae0b7b15b1d343264aba0eb714a4298c63320d','EGBIM_QA:POST_ATTACHMENT:25','ACTIVE','2025-09-19 09:41:52','2025-09-19 09:41:52' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='97' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:25');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'제목 없음.png','26.png','LOCAL','/app/uploads','EGBIM_QA/attachments/26.png','image/png','png',152283,'ae71bb484bd3451f95af6f796ab471523bb3f011841132c17d9cb4a249c32898','EGBIM_QA:POST_ATTACHMENT:26','ACTIVE','2025-09-19 09:41:52','2025-09-19 09:41:52' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='97' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:26');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'KakaoTalk_20250919_153731765.png','27.png','LOCAL','/app/uploads','EGBIM_QA/attachments/27.png','image/png','png',3747,'c28cb944b58b3e178f43cbeccc8712f71e2932f84041a6cc321730051e537976','EGBIM_QA:POST_ATTACHMENT:27','ACTIVE','2025-09-19 15:43:17','2025-09-19 15:43:17' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='98' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:27');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'Resized_20250923_151823_1758608324791.jpeg','29.jpeg','LOCAL','/app/uploads','EGBIM_QA/attachments/29.jpeg','image/jpeg','jpeg',2735686,'0ccbb7ebdab327fde110fedca438496b47c8b56059f46219b146264698075583','EGBIM_QA:POST_ATTACHMENT:29','ACTIVE','2025-09-23 15:29:52','2025-09-23 15:29:52' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='106' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:29');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'04.슬래브 수정하기.zip','30.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/30.zip','application/zip','zip',1593369,'c89d558bef6e2b429f243a38c6302129bbf9c0cf2de2290999d12b357ea0e20f','EGBIM_QA:POST_ATTACHMENT:30','ACTIVE','2025-09-24 10:37:07','2025-09-24 10:37:07' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='108' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:30');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'외부참조_대덕특구 도곽.zip','31.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/31.zip','application/zip','zip',66755,'8634ebe61650a104bd4bab0a510290ee0e5e4346812eb0dcb1f41460eb21bba5','EGBIM_QA:POST_ATTACHMENT:31','ACTIVE','2025-09-24 10:39:12','2025-09-24 10:39:12' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='108' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:31');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'EZBIM.jpg','32.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/32.jpg','image/jpeg','jpg',1638060,'9bd17c77de3cdb111e4e1b9a5e228c6c335e01602ce42320540e3458ca514947','EGBIM_QA:POST_ATTACHMENT:32','ACTIVE','2025-09-24 17:17:13','2025-09-24 17:17:13' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='111' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:32');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'화면 캡처 2025-09-25 152205.png','33.png','LOCAL','/app/uploads','EGBIM_QA/attachments/33.png','image/png','png',304829,'04541448a57432d4b941e6beb7a1e84bb32152b44d79b36e32edcb0f9959ed5b','EGBIM_QA:POST_ATTACHMENT:33','ACTIVE','2025-09-25 15:36:12','2025-09-25 15:36:12' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='113' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:33');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'스크린샷 2025-09-25 155142.png','34.png','LOCAL','/app/uploads','EGBIM_QA/attachments/34.png','image/png','png',104245,'157eba9bba07878e9949fe98071edb96077739cda6660dc51e8bbcaf672e1dab','EGBIM_QA:POST_ATTACHMENT:34','ACTIVE','2025-09-25 15:52:32','2025-09-25 15:52:32' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='114' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:34');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'레지스트리.zip','35.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/35.zip','application/zip','zip',69972,'a776041c2266f4d024a29c896b8c80626984775005341de94c7b7443fa4992ae','EGBIM_QA:POST_ATTACHMENT:35','ACTIVE','2025-09-29 14:42:17','2025-09-29 14:42:17' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='47' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:35');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'(기존추가)6.3-5.zip','37.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/37.zip','application/zip','zip',1385160,'34fe420ba6f996ba9135232a6ab23e792d99ae3f82ef0efc60ff984f06891a9e','EGBIM_QA:POST_ATTACHMENT:37','ACTIVE','2025-09-29 17:21:03','2025-09-29 17:21:03' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='118' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:37');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'KakaoTalk_20251001_091636675.jpg','38.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/38.jpg','image/jpeg','jpg',594266,'f9b70eae4b7fd408d3af26404c5d66bb13eaacbfd918f3dcccf2ffba7fac790e','EGBIM_QA:POST_ATTACHMENT:38','ACTIVE','2025-10-01 09:20:08','2025-10-01 09:20:08' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='126' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:38');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'KakaoTalk_20251001_091636675_01.jpg','39.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/39.jpg','image/jpeg','jpg',375941,'1331b2f284a637cf91cca6a33842b4ab4af9468cc631f0ed2712c0bcd678f72c','EGBIM_QA:POST_ATTACHMENT:39','ACTIVE','2025-10-01 09:20:08','2025-10-01 09:20:08' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='126' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:39');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'KakaoTalk_20251001_091636675_02.jpg','40.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/40.jpg','image/jpeg','jpg',47513,'b87e04cd48715621c6efa3d7dd32475e860a258fc06bce56f7aac32be9f27cac','EGBIM_QA:POST_ATTACHMENT:40','ACTIVE','2025-10-01 09:20:08','2025-10-01 09:20:08' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='126' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:40');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'출력시 프리트 회질저하.png','41.png','LOCAL','/app/uploads','EGBIM_QA/attachments/41.png','image/png','png',314125,'b447b953098f48865b44169a2121144804f78f05584ff345b495a7e369cf9a22','EGBIM_QA:POST_ATTACHMENT:41','ACTIVE','2025-10-01 09:20:39','2025-10-01 09:20:39' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='127' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:41');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'TEXTMATCHCOPY.jpg','43.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/43.jpg','image/jpeg','jpg',27605,'05312671eef3b5a0128f8805c8cbf8de256f36fcf1a75e5d2a512f2b4e26faf6','EGBIM_QA:POST_ATTACHMENT:43','ACTIVE','2025-10-16 09:38:42','2025-10-16 09:38:42' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='135' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:43');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'material.jpg','45.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/45.jpg','image/jpeg','jpg',699488,'33eee458ca3f9d0543d138e8e40c89ed65a07d3d7c65d1371d1633ab140ce883','EGBIM_QA:POST_ATTACHMENT:45','ACTIVE','2025-10-17 08:34:11','2025-10-17 08:34:11' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='137' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:45');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'화면 캡처 2025-10-21 104231.png','46.png','LOCAL','/app/uploads','EGBIM_QA/attachments/46.png','image/png','png',238394,'49fca16da59c672c7fd56b59e52740098f972bfb70a1fc52257f984082596a89','EGBIM_QA:POST_ATTACHMENT:46','ACTIVE','2025-10-21 10:42:43','2025-10-21 10:42:43' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='142' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:46');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'캡처.PNG','47.png','LOCAL','/app/uploads','EGBIM_QA/attachments/47.png','image/png','png',77533,'2e219736687c5f5f40376985cdb2baee5a8e49f46b26f263bf86463e1ebbb798','EGBIM_QA:POST_ATTACHMENT:47','ACTIVE','2025-10-21 15:18:22','2025-10-21 15:18:22' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='144' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:47');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'캡처12.PNG','48.png','LOCAL','/app/uploads','EGBIM_QA/attachments/48.png','image/png','png',22877,'d189e322372ee85b65a7f8f9129f5f297ca14a4aefff24712ab9671317051989','EGBIM_QA:POST_ATTACHMENT:48','ACTIVE','2025-10-21 15:18:22','2025-10-21 15:18:22' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='144' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:48');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20251022_091405.png','49.png','LOCAL','/app/uploads','EGBIM_QA/attachments/49.png','image/png','png',179551,'9d327b07c61830fe7774478fb6f394d8c8320ae5ae0cbd45a25aecfdeeb5241b','EGBIM_QA:POST_ATTACHMENT:49','ACTIVE','2025-10-22 09:14:44','2025-10-22 09:14:44' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='149' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:49');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20251023_095426.png','50.png','LOCAL','/app/uploads','EGBIM_QA/attachments/50.png','image/png','png',124171,'f84b63407297f045e73f9ad4694543e7863bf640194c9b49db36feafcebeade8','EGBIM_QA:POST_ATTACHMENT:50','ACTIVE','2025-10-23 09:58:30','2025-10-23 09:58:30' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='152' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:50');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'도곽 머서리부 격자 오류 2.PNG','51.png','LOCAL','/app/uploads','EGBIM_QA/attachments/51.png','image/png','png',418337,'855a1bcfb6d8fec79110fd48d0aad69b2d627498c4b2ed4ee5a7632720c5c5e5','EGBIM_QA:POST_ATTACHMENT:51','ACTIVE','2025-10-23 13:50:03','2025-10-23 13:50:03' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='153' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:51');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'도곽 머서리부 격자 오류 3.PNG','52.png','LOCAL','/app/uploads','EGBIM_QA/attachments/52.png','image/png','png',353941,'ac66cfbaef4b8c77e321fbe524c817b034776afc2c719eafd658981d87cd358b','EGBIM_QA:POST_ATTACHMENT:52','ACTIVE','2025-10-23 13:50:03','2025-10-23 13:50:03' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='153' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:52');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'도곽 모서리부 격자 오류1.PNG','53.png','LOCAL','/app/uploads','EGBIM_QA/attachments/53.png','image/png','png',154446,'d49a6bb466a14ec4de62e6b9fdaffc75a63062444af53fc7d8a6a53cb2074da1','EGBIM_QA:POST_ATTACHMENT:53','ACTIVE','2025-10-23 13:50:03','2025-10-23 13:50:03' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='153' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:53');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20251024_100329.png','54.png','LOCAL','/app/uploads','EGBIM_QA/attachments/54.png','image/png','png',846646,'8d436e0e30e5489d957a964b6dfe2eb3eaa310865f64ca7b290b6eef605d1f7d','EGBIM_QA:POST_ATTACHMENT:54','ACTIVE','2025-10-24 10:10:17','2025-10-24 10:10:17' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='155' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:54');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20251024_100340.png','55.png','LOCAL','/app/uploads','EGBIM_QA/attachments/55.png','image/png','png',662829,'0df9f04c35ed48eadc4c1199f339babdacb79405730bf2d241d5693194f2ecf5','EGBIM_QA:POST_ATTACHMENT:55','ACTIVE','2025-10-24 10:10:17','2025-10-24 10:10:17' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='155' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:55');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'캡처.JPG','56.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/56.jpg','image/jpeg','jpg',129195,'6ad49be80f978833d25e08bb0642801ad004abc070153123b4a47b14407e13e3','EGBIM_QA:POST_ATTACHMENT:56','ACTIVE','2025-10-24 11:02:43','2025-10-24 11:02:43' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='156' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:56');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20251024_164603.png','57.png','LOCAL','/app/uploads','EGBIM_QA/attachments/57.png','image/png','png',378048,'dacf54d0889a5ca3bafde49415c254af0c6798def7f373c29d5e207fce91010e','EGBIM_QA:POST_ATTACHMENT:57','ACTIVE','2025-10-24 16:48:45','2025-10-24 16:48:45' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='155' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:57');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20251024_164813.png','58.png','LOCAL','/app/uploads','EGBIM_QA/attachments/58.png','image/png','png',942771,'badb9dfdf5f918d790291170211d9e9f7f1935f62021fc457d23ee5bb57a17cd','EGBIM_QA:POST_ATTACHMENT:58','ACTIVE','2025-10-24 16:48:45','2025-10-24 16:48:45' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='155' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:58');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'eg-bim 설치오류.PNG','60.png','LOCAL','/app/uploads','EGBIM_QA/attachments/60.png','image/png','png',43904,'fd1b9b58e85504a163dfe65213e68ff1cbc2482b73d5476af53648a928944f3d','EGBIM_QA:POST_ATTACHMENT:60','ACTIVE','2025-11-04 08:37:43','2025-11-04 08:37:43' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='173' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:60');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'Desktop.zip','63.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/63.zip','application/zip','zip',35887,'24277d108e70dc96ee2701c5951e675ce9e4f9686ead77d717dc4bcc225d73fe','EGBIM_QA:POST_ATTACHMENT:63','ACTIVE','2025-11-04 10:39:39','2025-11-04 10:39:39' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='178' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:63');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'cmdeng 오류.png','64.png','LOCAL','/app/uploads','EGBIM_QA/attachments/64.png','image/png','png',92965,'2414d305ccf20f1744cad78154721f5ad5723cd8957579ff23596d36670d3609','EGBIM_QA:POST_ATTACHMENT:64','ACTIVE','2025-11-05 10:32:58','2025-11-05 10:32:58' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='185' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:64');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'04 [Nose부] 교대 계획.dwg','76.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/76.dwg','image/vnd.dwg','dwg',85120,'cb7f598bc613a225e592aa2fd7f6a5c390717b8266ef56b8db32472810bf1328','EGBIM_QA:POST_ATTACHMENT:76','ACTIVE','2025-11-12 16:07:32','2025-11-12 16:07:32' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='200' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:76');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'낱 장 출력 위치도.pdf','78.pdf','LOCAL','/app/uploads','EGBIM_QA/attachments/78.pdf','application/pdf','pdf',10510536,'3fb5f9954e1b34e8594660a4bcc78fb651c227acfd623b830920058274505f08','EGBIM_QA:POST_ATTACHMENT:78','ACTIVE','2025-11-13 10:06:12','2025-11-13 10:06:12' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='203' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:78');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'다중 출력 위치도.pdf','79.pdf','LOCAL','/app/uploads','EGBIM_QA/attachments/79.pdf','application/pdf','pdf',8231932,'1e73fd31729ede3d95d04f18194d63f095646cc9e099e38aaa5a46fc4fd08141','EGBIM_QA:POST_ATTACHMENT:79','ACTIVE','2025-11-13 10:06:12','2025-11-13 10:06:12' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='203' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:79');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'캡처.JPG','80.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/80.jpg','image/jpeg','jpg',47120,'8da142fd6d2d724af36393a05085901d0def705f89c6a0760fcac9815f7fac5d','EGBIM_QA:POST_ATTACHMENT:80','ACTIVE','2025-11-14 09:28:46','2025-11-14 09:28:46' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='207' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:80');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'1.1.3 평면 및 종단면도 ( 이설도로 )_251113.dwg','81.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/81.dwg','image/vnd.dwg','dwg',3348687,'d2dc2b488aef495e6cca22863eceee47dc195c6d53f55b5cd282436ac95fbd86','EGBIM_QA:POST_ATTACHMENT:81','ACTIVE','2025-11-14 10:36:07','2025-11-14 10:36:07' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='209' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:81');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'2025-11-21 15 59 21-ole 이미지 반전.png','82.png','LOCAL','/app/uploads','EGBIM_QA/attachments/82.png','image/png','png',494588,'3a47c90b6f602d40ca88ef1140a7111be3fbf6b49f0a4030df84befd23d5dd4d','EGBIM_QA:POST_ATTACHMENT:82','ACTIVE','2025-11-21 16:03:28','2025-11-21 16:03:28' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='217' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:82');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'2025-11-21 15 59 22-ole 이미지 반전.png','83.png','LOCAL','/app/uploads','EGBIM_QA/attachments/83.png','image/png','png',544857,'27e52f660ab99b026a9a673d278f30ea7425ba91071475c1daa0fe473adcc458','EGBIM_QA:POST_ATTACHMENT:83','ACTIVE','2025-11-21 16:03:28','2025-11-21 16:03:28' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='217' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:83');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'C0010201-002 표준횡단.dwg','84.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/84.dwg','image/vnd.dwg','dwg',3570944,'15212fdae33a06a7bcfcc8a17bd03a20e4a35ac58668e55a3247ad5a60adfad1','EGBIM_QA:POST_ATTACHMENT:84','ACTIVE','2025-11-21 16:03:28','2025-11-21 16:03:28' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='217' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:84');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'C0010201-001 표준횡단.dwg','85.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/85.dwg','image/vnd.dwg','dwg',3409236,'75874416e7c735de0affa628d9d318ee05ae26bee7eb1d6215db538efd5a20d2','EGBIM_QA:POST_ATTACHMENT:85','ACTIVE','2025-11-21 16:03:28','2025-11-21 16:03:28' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='217' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:85');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'오류 화면.jpg','86.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/86.jpg','image/jpeg','jpg',59594,'022bfe8468ea9370148a6527eec483d0e568b197e8d315f2c42bdc2b9f47212e','EGBIM_QA:POST_ATTACHMENT:86','ACTIVE','2025-11-24 15:41:51','2025-11-24 15:41:51' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='219' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:86');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'drpipe.zip','87.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/87.zip','application/zip','zip',339605,'652da3d75733f34b4fffe995674ea1f32746f970b959ee433383572eb8b9e3a3','EGBIM_QA:POST_ATTACHMENT:87','ACTIVE','2025-11-26 09:06:55','2025-11-26 09:06:55' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='220' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:87');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'재료표.GIF','90.gif','LOCAL','/app/uploads','EGBIM_QA/attachments/90.gif','image/gif','gif',24348,'a8920bb763f529e2a06913deadac9af5f783b0dd8792377cd53294e00b8ffffe','EGBIM_QA:POST_ATTACHMENT:90','ACTIVE','2025-12-02 10:36:45','2025-12-02 10:36:45' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='226' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:90');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'레지스트리.reg','91.reg','LOCAL','/app/uploads','EGBIM_QA/attachments/91.reg','application/octet-stream','reg',152756,'2ee19ea157f5cb6c477ab8442b79c6fd72749ebe8e881ec05780f178515c8007','EGBIM_QA:POST_ATTACHMENT:91','ACTIVE','2025-12-05 10:22:15','2025-12-05 10:22:15' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='230' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:91');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'투명도 테스트.zip','92.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/92.zip','application/zip','zip',28825,'ab89166189b69fdc5fe9fbec4e70964121e5762a7d4fd0c7283bb1b26462ea1a','EGBIM_QA:POST_ATTACHMENT:92','ACTIVE','2025-12-05 10:22:15','2025-12-05 10:22:15' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='230' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:92');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'251204_법성홍농 노선도 - Standard.zip','93.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/93.zip','application/zip','zip',6360618,'8cc0613a78533317337bfc46d06fd61fe8a2569039c43f9bf13928d8e6625b10','EGBIM_QA:POST_ATTACHMENT:93','ACTIVE','2025-12-05 13:52:23','2025-12-05 13:52:23' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='232' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:93');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'251205-PLOT 에러.png','94.png','LOCAL','/app/uploads','EGBIM_QA/attachments/94.png','image/png','png',27223,'073680dd4a3e06a61c8857f53b8afb775669c0c951a0308da147a025f852f328','EGBIM_QA:POST_ATTACHMENT:94','ACTIVE','2025-12-05 15:04:12','2025-12-05 15:04:12' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='234' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:94');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'접근수로굴착.png','95.png','LOCAL','/app/uploads','EGBIM_QA/attachments/95.png','image/png','png',72253,'10a212e1394885fafee068d6c3f521f43d34eb988a1fb735d22253bfdda74c2e','EGBIM_QA:POST_ATTACHMENT:95','ACTIVE','2025-12-08 08:31:24','2025-12-08 08:31:24' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='235' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:95');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'251209-APPLOAD 삭제안됨.png','96.png','LOCAL','/app/uploads','EGBIM_QA/attachments/96.png','image/png','png',24197,'de32b3cc67cceabccc0c34e420c79688e00b4d81ecf3b8d13bafaaf87d9fcf86','EGBIM_QA:POST_ATTACHMENT:96','ACTIVE','2025-12-09 15:56:16','2025-12-09 15:56:16' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='236' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:96');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'캡처.JPG','97.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/97.jpg','image/jpeg','jpg',100954,'b2f2635be4ae5eff14e2f3e637e8b91a60f2ad7336106e06e4fac8f1aca99d56','EGBIM_QA:POST_ATTACHMENT:97','ACTIVE','2025-12-10 13:13:47','2025-12-10 13:13:47' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='238' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:97');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'K-005.jpg','98.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/98.jpg','image/jpeg','jpg',169787,'455f971e7ba45b31602080f6e5b350400beb0bbb699e2f17a1b02a4a6cf9a4c9','EGBIM_QA:POST_ATTACHMENT:98','ACTIVE','2025-12-17 09:11:48','2025-12-17 09:11:48' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='244' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:98');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'K-006.jpg','99.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/99.jpg','image/jpeg','jpg',103420,'ffb3c5281d6fe6ff1f280cf3cd784c856c435de40c29502011fdd250aa4b79b6','EGBIM_QA:POST_ATTACHMENT:99','ACTIVE','2025-12-17 09:11:48','2025-12-17 09:11:48' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='244' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:99');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'종전선형_종점부 R380.v2.dwg','100.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/100.dwg','image/vnd.dwg','dwg',484386,'ccb4ab92d69bd0deafc340ce883aae2466daf9236518172096f86b1770573eef','EGBIM_QA:POST_ATTACHMENT:100','ACTIVE','2025-12-19 09:23:01','2025-12-19 09:23:01' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='246' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:100');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'Drawing2.dwg','101.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/101.dwg','image/vnd.dwg','dwg',21094,'16cb39a5edfda45cefbc4ca787a597c343cf89d32e6c30da5437ba46b9c2c87e','EGBIM_QA:POST_ATTACHMENT:101','ACTIVE','2025-12-30 14:40:50','2025-12-30 14:40:50' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='252' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:101');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'레지스트리.reg','102.reg','LOCAL','/app/uploads','EGBIM_QA/attachments/102.reg','application/octet-stream','reg',1097690,'81df65dd872837757177d21350b839dd5c1e9faa26afef2ef25267d7e550ef83','EGBIM_QA:POST_ATTACHMENT:102','ACTIVE','2025-12-31 10:37:42','2025-12-31 10:37:42' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='252' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:102');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'251229 계획평면도.zip','103.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/103.zip','application/zip','zip',10897836,'918a2b50758b902dcd771af225cbebc535c39b3ef56e8e8d8774c8f77998d58f','EGBIM_QA:POST_ATTACHMENT:103','ACTIVE','2025-12-31 13:35:43','2025-12-31 13:35:43' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='256' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:103');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'그리미 도곽인식.png','104.png','LOCAL','/app/uploads','EGBIM_QA/attachments/104.png','image/png','png',705433,'a993a0ffba58877c0301176884f5413605c23c935748bd09daf971d4212343e1','EGBIM_QA:POST_ATTACHMENT:104','ACTIVE','2025-12-31 13:35:43','2025-12-31 13:35:43' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='256' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:104');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'꾸러미 도곽미인식.png','105.png','LOCAL','/app/uploads','EGBIM_QA/attachments/105.png','image/png','png',230175,'9f0586b0dc978ec2f21a8b630c24f4e8e5469d62406ea4811dd85615aadf1395','EGBIM_QA:POST_ATTACHMENT:105','ACTIVE','2025-12-31 13:35:43','2025-12-31 13:35:43' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='256' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:105');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'Drawing1.dwg','106.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/106.dwg','image/vnd.dwg','dwg',4598337,'5b2b55b3848b3f3d6c279d0ecc413107c33ab0159f15a2d8486380565b734e93','EGBIM_QA:POST_ATTACHMENT:106','ACTIVE','2025-12-31 14:15:31','2025-12-31 14:15:31' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='257' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:106');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'연결형태1.jpg','107.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/107.jpg','image/jpeg','jpg',254537,'1ecb7caf102cb691b7f520b38f08596be82c5e92e6003ca4cb59a26e40028da3','EGBIM_QA:POST_ATTACHMENT:107','ACTIVE','2026-01-06 10:19:05','2026-01-06 10:19:05' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='259' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:107');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'연결형태2.jpg','108.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/108.jpg','image/jpeg','jpg',253888,'e70f25e79b4f002ae5501d419846b1d3690f9140014b46a065830b51b5571e6f','EGBIM_QA:POST_ATTACHMENT:108','ACTIVE','2026-01-06 10:19:05','2026-01-06 10:19:05' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='259' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:108');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'연결형태3.jpg','109.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/109.jpg','image/jpeg','jpg',255501,'8d63f90f26d6bbc543f12c5b9efeae2260e0641d178022887f0e8954516db10c','EGBIM_QA:POST_ATTACHMENT:109','ACTIVE','2026-01-06 10:19:05','2026-01-06 10:19:05' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='259' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:109');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'대산당진(2공구) 사업구역경계.dxf','110.dxf','LOCAL','/app/uploads','EGBIM_QA/attachments/110.dxf','image/vnd.dxf','dxf',7862979,'0aa7ca332109c492430755e958bb3dafc474f90cf673d6c288770bf95ed215fb','EGBIM_QA:POST_ATTACHMENT:110','ACTIVE','2026-01-06 14:16:51','2026-01-06 14:16:51' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='259' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:110');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'Water Storage Longitudinal & Cross Sections.dwg','111.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/111.dwg','image/vnd.dwg','dwg',4280504,'7516d4a2efff89caae9bda7b35c7484996abd89c5110de7e6497fa6f06d7f7f6','EGBIM_QA:POST_ATTACHMENT:111','ACTIVE','2026-01-08 17:01:58','2026-01-08 17:01:58' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='265' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:111');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20260112_170637.jpg','112.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/112.jpg','image/jpeg','jpg',35685,'e757b8f5980ef80dcd070083eeef1bf151c4aa7ca051868085d93d649797d73d','EGBIM_QA:POST_ATTACHMENT:112','ACTIVE','2026-01-12 17:07:43','2026-01-12 17:07:43' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='268' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:112');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna.reg','113.reg','LOCAL','/app/uploads','EGBIM_QA/attachments/113.reg','application/octet-stream','reg',1570848,'c1ca162c3fec26a1da027836241c492dd4be6a057395ea24d819ca4b92fce125','EGBIM_QA:POST_ATTACHMENT:113','ACTIVE','2026-01-23 09:51:29','2026-01-23 09:51:29' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='271' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:113');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'선스타일.dwg','114.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/114.dwg','image/vnd.dwg','dwg',38956,'aa7fc34db90647c45599c859694011d40224bb401328a6791e364dbfa05db191','EGBIM_QA:POST_ATTACHMENT:114','ACTIVE','2026-01-23 09:51:29','2026-01-23 09:51:29' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='271' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:114');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'스크린샷 2026-01-26 163117.png','115.png','LOCAL','/app/uploads','EGBIM_QA/attachments/115.png','image/png','png',190854,'2e89948f9f7d7a639838b9bd11c457563215214b9f8cb376efe272d9d7aa1f4b','EGBIM_QA:POST_ATTACHMENT:115','ACTIVE','2026-01-26 16:33:57','2026-01-26 16:33:57' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='272' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:115');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'01.외관조사망도_석문국가산단 배수갑문(2025-상반기).dwg','116.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/116.dwg','image/vnd.dwg','dwg',6059813,'cae1942f52eedbd92510b7c2568fc12230eb1622ddf8cc09f3dd2b7f726cbd4d','EGBIM_QA:POST_ATTACHMENT:116','ACTIVE','2026-01-26 16:39:12','2026-01-26 16:39:12' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='272' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:116');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'04 부대공.zip','117.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/117.zip','application/zip','zip',3622415,'3c8efc54ecf89e5056e123fb02a73d643f6607656a32ee541edb5ee40fcf200e','EGBIM_QA:POST_ATTACHMENT:117','ACTIVE','2026-02-02 17:39:17','2026-02-02 17:39:17' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='276' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:117');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'01.위치도(동량~산척)_착수보고 PPT-배치1_캐드 플롯.jpg','118.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/118.jpg','image/jpeg','jpg',5412828,'b4e5e7c11ecc8a431263bb98305584295b8c297a7d1cffd62644590e55c121af','EGBIM_QA:POST_ATTACHMENT:118','ACTIVE','2026-02-03 13:30:29','2026-02-03 13:30:29' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='277' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:118');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'01.위치도(동량~산척)_착수보고 PPT-배치1_이지빔.jpg','119.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/119.jpg','image/jpeg','jpg',9979649,'ba29439563bd83710ec96786e0295ac8008041beaca3d2a4ee324e6003623346','EGBIM_QA:POST_ATTACHMENT:119','ACTIVE','2026-02-03 13:30:29','2026-02-03 13:30:29' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='277' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:119');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'모델기반 11+600~12+540_SavedWithErrors.dwg','120.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/120.dwg','image/vnd.dwg','dwg',9081562,'9de915baab97aabc179173fc7113ad0a0f0437d1b34ba14274a79340820ae049','EGBIM_QA:POST_ATTACHMENT:120','ACTIVE','2026-02-03 14:59:21','2026-02-03 14:59:21' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='278' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:120');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'모델기반 11+600~12+540_SavedWithErrors1.dwg','121.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/121.dwg','image/vnd.dwg','dwg',9081562,'c19979b840d1e56009c3fc8d3303b32e6e9b73b11218b1d2f9d14c2cfbc6ac69','EGBIM_QA:POST_ATTACHMENT:121','ACTIVE','2026-02-03 14:59:21','2026-02-03 14:59:21' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='278' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:121');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'KakaoTalk_20260203_153624358.png','122.png','LOCAL','/app/uploads','EGBIM_QA/attachments/122.png','image/png','png',258015,'49db96325aca81ac14edd99e5396dfa0abcd172c9129f3fe9ec4694aed75a7a1','EGBIM_QA:POST_ATTACHMENT:122','ACTIVE','2026-02-03 15:37:19','2026-02-03 15:37:19' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='279' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:122');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'[도면] BIM_대호지교 시점부(A1) 배근도.dwg','123.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/123.dwg','image/vnd.dwg','dwg',3114270,'23fee231a2a324b9d7d239e02fcc98ea2ad3f24b9efc7755a55a555a45186ae8','EGBIM_QA:POST_ATTACHMENT:123','ACTIVE','2026-02-11 09:47:45','2026-02-11 09:47:45' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='287' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:123');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20260211_113953.png','124.png','LOCAL','/app/uploads','EGBIM_QA/attachments/124.png','image/png','png',754900,'8f2d3caf1a31042a78984203b5be7d0de36f7fffe139a258eeb3063c8aafda17','EGBIM_QA:POST_ATTACHMENT:124','ACTIVE','2026-02-11 11:41:14','2026-02-11 11:41:14' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='289' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:124');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'동산 소하천 보고용 판넬_20250623.dwg','125.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/125.dwg','image/vnd.dwg','dwg',7069368,'e264e4b03765b931d33f5cdc731b5f801b2e9d497397f79a19ca33ac34a796d0','EGBIM_QA:POST_ATTACHMENT:125','ACTIVE','2026-02-11 11:41:14','2026-02-11 11:41:14' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='289' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:125');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'충북도_5000-Layout 01_이지빔 플롯.pdf','126.pdf','LOCAL','/app/uploads','EGBIM_QA/attachments/126.pdf','application/pdf','pdf',13127850,'c04950bf5fd4fcbecb3f69011cd314dc4e0e6b19afba4d8689ec8a9c589ebedb','EGBIM_QA:POST_ATTACHMENT:126','ACTIVE','2026-02-13 20:16:12','2026-02-13 20:16:12' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='294' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:126');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'충북도_5000 Layout 01_캐드 플롯.pdf','127.pdf','LOCAL','/app/uploads','EGBIM_QA/attachments/127.pdf','application/pdf','pdf',20443647,'41f093151ab26b03ffd313cc5278b0e41b76cd808ec234902bea632dbc54319b','EGBIM_QA:POST_ATTACHMENT:127','ACTIVE','2026-02-13 20:16:12','2026-02-13 20:16:12' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='294' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:127');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'라이센스 만료.png','128.png','LOCAL','/app/uploads','EGBIM_QA/attachments/128.png','image/png','png',317079,'3f46901ecc0389adc2c9c0e5f9a1d4e7f115a32c259ba7bb79c4d34a85048b3e','EGBIM_QA:POST_ATTACHMENT:128','ACTIVE','2026-02-23 11:01:34','2026-02-23 11:01:34' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='297' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:128');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'OLE파일 뒤집힘.png','129.png','LOCAL','/app/uploads','EGBIM_QA/attachments/129.png','image/png','png',106954,'131a192c3562ab7af38b8c6bca43a8b78e2e0e0a59845beca851a0b9b42b0c13','EGBIM_QA:POST_ATTACHMENT:129','ACTIVE','2026-02-24 14:59:29','2026-02-24 14:59:29' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='298' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:129');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'1.JPG','130.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/130.jpg','image/jpeg','jpg',30646,'021798720afb973ef9f8e476f5943ddc6f465d68f058831041de9cf7a361b274','EGBIM_QA:POST_ATTACHMENT:130','ACTIVE','2026-02-24 20:17:01','2026-02-24 20:17:01' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='299' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:130');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'2.JPG','131.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/131.jpg','image/jpeg','jpg',48756,'efeed26af06ac86da0b4782b556e155870a0e186428ef5e74c412b99faac4793','EGBIM_QA:POST_ATTACHMENT:131','ACTIVE','2026-02-24 20:17:01','2026-02-24 20:17:01' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='299' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:131');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'Capture_2026_0304_085418.jpeg','132.jpeg','LOCAL','/app/uploads','EGBIM_QA/attachments/132.jpeg','image/jpeg','jpeg',15240,'70c38095a169c89ae98b0c5664ee21043889380b1b0a8d466c76274c2f9d5096','EGBIM_QA:POST_ATTACHMENT:132','ACTIVE','2026-03-04 10:58:09','2026-03-04 10:58:09' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='307' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:132');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'73-1.표지판삽도_ver1.0 (1)-Model.pdf','133.pdf','LOCAL','/app/uploads','EGBIM_QA/attachments/133.pdf','application/pdf','pdf',65864,'b0b2ae1b276b846472089515c9a94b413df29b94d1d63b0a87971680b9db7157','EGBIM_QA:POST_ATTACHMENT:133','ACTIVE','2026-03-04 13:57:03','2026-03-04 13:57:03' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='308' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:133');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'SAMPLE.dwg','134.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/134.dwg','image/vnd.dwg','dwg',364583,'e1c5f6b6e05df5c27917722ce935fec2caf516a8b64dadf1ada3b9414162c4e5','EGBIM_QA:POST_ATTACHMENT:134','ACTIVE','2026-03-09 11:31:58','2026-03-09 11:31:58' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='314' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:134');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'xr_5000도 - Standard.zip','135.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/135.zip','application/zip','zip',23926222,'05674a08d619826b89654535bee3bf3b7b9e21241309d447bd70ad7505e4e2e4','EGBIM_QA:POST_ATTACHMENT:135','ACTIVE','2026-03-09 13:43:50','2026-03-09 13:43:50' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='315' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:135');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'221.reg','136.reg','LOCAL','/app/uploads','EGBIM_QA/attachments/136.reg','application/octet-stream','reg',1659696,'52e33ed1fc8c9e89e1220cad80a8b4b5599825440599a91db9ecae07615671b4','EGBIM_QA:POST_ATTACHMENT:136','ACTIVE','2026-03-09 15:08:52','2026-03-09 15:08:52' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='314' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:136');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'image01.png','137.png','LOCAL','/app/uploads','EGBIM_QA/attachments/137.png','image/png','png',76000,'c4c57b7ec1eb76eb4b568c37102b6cfc7a4130f7bda0784a6946bcc9311c354b','EGBIM_QA:POST_ATTACHMENT:137','ACTIVE','2026-03-10 10:50:00','2026-03-10 10:50:00' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='320' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:137');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'오류.JPG','138.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/138.jpg','image/jpeg','jpg',15771,'958b17b03737d72f71354a3c58efc183853c7b539d8aabd59ca484f838076190','EGBIM_QA:POST_ATTACHMENT:138','ACTIVE','2026-03-10 11:40:06','2026-03-10 11:40:06' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='321' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:138');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'오류-2.JPG','139.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/139.jpg','image/jpeg','jpg',21835,'e94f71b21a6477be83c0ab698d85b638135a9fd946957ecb0f44928a4554c4f4','EGBIM_QA:POST_ATTACHMENT:139','ACTIVE','2026-03-10 11:40:06','2026-03-10 11:40:06' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='321' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:139');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'[남양주시] 남양주왕숙2 공공주택지구(4326).dxf','140.dxf','LOCAL','/app/uploads','EGBIM_QA/attachments/140.dxf','image/vnd.dxf','dxf',43114,'bac090501bf2c8a409a1b380b6f497db42351aa1fbc58df4568e280f62ad6247','EGBIM_QA:POST_ATTACHMENT:140','ACTIVE','2026-03-11 13:47:21','2026-03-11 13:47:21' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='327' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:140');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'경계선 화면표시 왜곡.png','141.png','LOCAL','/app/uploads','EGBIM_QA/attachments/141.png','image/png','png',140235,'7ebb7bd1ba03e94a5c55720701e464ab31129917e592149a86d54770f25b7988','EGBIM_QA:POST_ATTACHMENT:141','ACTIVE','2026-03-11 13:47:21','2026-03-11 13:47:21' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='327' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:141');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'캡처.JPG','142.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/142.jpg','image/jpeg','jpg',97553,'adb894bbc2d9b8d142df2c4a7bed90148eb29aaf7424e46b78e656f704228c15','EGBIM_QA:POST_ATTACHMENT:142','ACTIVE','2026-03-12 09:52:15','2026-03-12 09:52:15' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='330' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:142');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'#위치도 - Standard.zip','144.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/144.zip','application/zip','zip',19107361,'3face2ed58a068c51f97fb9dba02edb5ef35e99280ea1344ee41b7e86286a69c','EGBIM_QA:POST_ATTACHMENT:144','ACTIVE','2026-03-18 10:53:36','2026-03-18 10:53:36' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='337' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:144');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'KakaoTalk_20260319_145034264.jpg','145.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/145.jpg','image/jpeg','jpg',378049,'79dc1a8a72a3d0f9a4ba6cdcbf39b09e9f84a6b557c27e0246d5be0545ccbc44','EGBIM_QA:POST_ATTACHMENT:145','ACTIVE','2026-03-19 15:02:41','2026-03-19 15:02:41' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='338' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:145');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'KakaoTalk_20260319_145034264_01.jpg','146.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/146.jpg','image/jpeg','jpg',585362,'e8ca291802ff49ed6e9ea5a824431d79104f5ad3288cd08f431a2d8c21a0f1db','EGBIM_QA:POST_ATTACHMENT:146','ACTIVE','2026-03-19 15:02:41','2026-03-19 15:02:41' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='338' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:146');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'첨부사진1.jpg','147.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/147.jpg','image/jpeg','jpg',6617605,'841698df6e91f4230e34513ea27109b33c239cebf390572afccf7bb58983e9e3','EGBIM_QA:POST_ATTACHMENT:147','ACTIVE','2026-03-19 15:43:11','2026-03-19 15:43:11' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='339' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:147');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'첨부사진2.jpg','148.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/148.jpg','image/jpeg','jpg',6754195,'0d04863f932fae8df98a10f7b2b18e3f02d7079e2797fac0dd3f4139e83811d8','EGBIM_QA:POST_ATTACHMENT:148','ACTIVE','2026-03-19 15:43:11','2026-03-19 15:43:11' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='339' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:148');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'첨부사진3.jpg','149.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/149.jpg','image/jpeg','jpg',7161806,'c86750d6bb5f705b8a31116934e3d68882562b85cafb19989ea85d562f00a5f2','EGBIM_QA:POST_ATTACHMENT:149','ACTIVE','2026-03-19 15:43:11','2026-03-19 15:43:11' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='339' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:149');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'1111.jpg','150.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/150.jpg','image/jpeg','jpg',941277,'144da3eb2d1689de5ebbd8ac2cee8fad55378720d402b133b0051c7c61247d3b','EGBIM_QA:POST_ATTACHMENT:150','ACTIVE','2026-03-20 09:27:49','2026-03-20 09:27:49' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='340' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:150');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'R1 단축키.reg','151.reg','LOCAL','/app/uploads','EGBIM_QA/attachments/151.reg','application/octet-stream','reg',492242,'92f717665a024917e2a557fdbd6962c7f648a45e09c49bc1a27b931385dbf9d8','EGBIM_QA:POST_ATTACHMENT:151','ACTIVE','2026-03-23 10:06:36','2026-03-23 10:06:36' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='343' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:151');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'R1 단축키.hwp','152.hwp','LOCAL','/app/uploads','EGBIM_QA/attachments/152.hwp','application/x-hwp','hwp',95744,'727f7ace62982fcfaba2e9277927787307e888c544a395bbf06770de91ec090e','EGBIM_QA:POST_ATTACHMENT:152','ACTIVE','2026-03-23 10:06:36','2026-03-23 10:06:36' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='343' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:152');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'사진1.png','153.png','LOCAL','/app/uploads','EGBIM_QA/attachments/153.png','image/png','png',147920,'a3d98fac50a4c07676cffe87dc6f7a2b9b17964685d3092b14902c8f3836368e','EGBIM_QA:POST_ATTACHMENT:153','ACTIVE','2026-03-25 14:01:47','2026-03-25 14:01:47' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='347' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:153');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'사진2.png','154.png','LOCAL','/app/uploads','EGBIM_QA/attachments/154.png','image/png','png',149296,'471d7341ca8afc0d43eb90538b686bac56c151d228838e1a5e15f5ecff99d591','EGBIM_QA:POST_ATTACHMENT:154','ACTIVE','2026-03-25 14:01:47','2026-03-25 14:01:47' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='347' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:154');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20260401_150953.jpg','156.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/156.jpg','image/jpeg','jpg',863604,'22ded1013f48745ce1b47223a6ffdcd1909dbb241eebf040e65c82c0705575ce','EGBIM_QA:POST_ATTACHMENT:156','ACTIVE','2026-04-01 15:10:22','2026-04-01 15:10:22' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='352' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:156');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'장제로 측량현황도(2구간)_230612F(측량보완).dwg','157.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/157.dwg','image/vnd.dwg','dwg',3436308,'a78606f1c9a5e360417bb53a513e94ae32fee354e039ef7f0e3dd147627aeaf8','EGBIM_QA:POST_ATTACHMENT:157','ACTIVE','2026-04-02 09:49:46','2026-04-02 09:49:46' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='354' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:157');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20260403114033.jpg','158.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/158.jpg','image/jpeg','jpg',124084,'1f152bcf81ac58129532124f2827e5612844a1f6fbfee13d9c6c0c22be145ab6','EGBIM_QA:POST_ATTACHMENT:158','ACTIVE','2026-04-03 11:41:04','2026-04-03 11:41:04' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='355' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:158');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'Drawing1.dwg','159.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/159.dwg','image/vnd.dwg','dwg',76800,'2926f7e37e6e07fbd145741b1f75cb944b1e746b7f2b45cd06b9553b61e695da','EGBIM_QA:POST_ATTACHMENT:159','ACTIVE','2026-04-03 11:41:23','2026-04-03 11:41:23' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='355' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:159');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'에러 화면 캡쳐.GIF','160.gif','LOCAL','/app/uploads','EGBIM_QA/attachments/160.gif','image/gif','gif',48199,'a35e0a1036123fc14cd67e92e3ac49c6886f15f42533e8bee17c5fa720e275b8','EGBIM_QA:POST_ATTACHMENT:160','ACTIVE','2026-04-13 11:21:58','2026-04-13 11:21:58' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='363' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:160');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'pl오류.dwg','161.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/161.dwg','image/vnd.dwg','dwg',9432604,'05f3690fef35db2635ea0ed3e39085e7ce29f155a3805d317849e33fe6ca006b','EGBIM_QA:POST_ATTACHMENT:161','ACTIVE','2026-04-14 09:21:38','2026-04-14 09:21:38' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='365' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:161');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'취수통관 일반도.dwg','162.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/162.dwg','image/vnd.dwg','dwg',7338797,'3238a580f95363c395d8083c57a8b9814103ee86180bccb540a58c918c3b39af','EGBIM_QA:POST_ATTACHMENT:162','ACTIVE','2026-04-15 16:21:47','2026-04-15 16:21:47' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='370' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:162');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'FIXVPORT.lsp','163.lsp','LOCAL','/app/uploads','EGBIM_QA/attachments/163.lsp','application/octet-stream','lsp',1550,'15121c1776ef51f3cc46067009d8aede5989b96c968fb02ca185c34c06ad96f1','EGBIM_QA:POST_ATTACHMENT:163','ACTIVE','2026-04-16 13:29:18','2026-04-16 13:29:18' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='370' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:163');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'플롯 투명도 미적용.jpg','164.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/164.jpg','image/jpeg','jpg',6383923,'1293ea295d902ceff0c22d7cc1bc5681b45c7f5e03a0ee4a933ac765b2812221','EGBIM_QA:POST_ATTACHMENT:164','ACTIVE','2026-04-17 14:10:11','2026-04-17 14:10:11' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='374' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:164');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'플롯 투명도 적용.jpg','165.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/165.jpg','image/jpeg','jpg',6474066,'1cce8342bdb8807a694ae929bf8426577d2c6d814db538bc7dde910434ad1b59','EGBIM_QA:POST_ATTACHMENT:165','ACTIVE','2026-04-17 14:10:11','2026-04-17 14:10:11' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='374' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:165');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'객체스냅 잔상오류.JPG','166.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/166.jpg','image/jpeg','jpg',36113,'0ad5fed6e868621f9103c8b5636cb44a6109517b541fdaa746403a272739920f','EGBIM_QA:POST_ATTACHMENT:166','ACTIVE','2026-04-17 17:15:06','2026-04-17 17:15:06' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='375' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:166');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'스크린샷 2026-04-21 095747.png','167.png','LOCAL','/app/uploads','EGBIM_QA/attachments/167.png','image/png','png',14989,'42e0aeb8b9858d64daec4098f74e35be1fc22efb7699cae002a9220276d031f7','EGBIM_QA:POST_ATTACHMENT:167','ACTIVE','2026-04-21 09:59:46','2026-04-21 09:59:46' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='376' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:167');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'[1.4.0.0.P.VC16.x64.RF111][AccessViolation][atio6axx.dll][7ffe5bccd1a4][2026-04-21][10.12.35].zip','168.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/168.zip','application/zip','zip',530581,'00ed486bb01822eb2f8a7d881b2d9c9f49003898521cfed30852d1d627c3963c','EGBIM_QA:POST_ATTACHMENT:168','ACTIVE','2026-04-21 19:18:36','2026-04-21 19:18:36' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='378' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:168');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'260424_지하차도_형상기획_수정.dwg','169.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/169.dwg','image/vnd.dwg','dwg',1276553,'83cb31161686eaa7cfb2822172ffb83a2340b501cbe1ed65e2d0ffb8881c7183','EGBIM_QA:POST_ATTACHMENT:169','ACTIVE','2026-04-24 11:44:15','2026-04-24 11:44:15' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='379' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:169');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'coordinates export 명령어 오류.png','170.png','LOCAL','/app/uploads','EGBIM_QA/attachments/170.png','image/png','png',4560,'506fc8515bf3170710c72438e5d16cd7431040ac11d05d90ab9183ce3d429c15','EGBIM_QA:POST_ATTACHMENT:170','ACTIVE','2026-04-27 14:29:45','2026-04-27 14:29:45' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='382' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:170');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'삽도_항만1.dwg','171.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/171.dwg','image/vnd.dwg','dwg',804450,'ac88121fe5c0f68ab61fed22844ddf73cfcdec9bb749ed76f0ea10f8a1cac671','EGBIM_QA:POST_ATTACHMENT:171','ACTIVE','2026-04-27 15:20:23','2026-04-27 15:20:23' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='383' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:171');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'EG-BIM 오류 사진.JPG','172.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/172.jpg','image/jpeg','jpg',73973,'b05e3e850a2bca6ed1a50252dfe0ba87d2e45cbe4b690821388ea481d86d4b89','EGBIM_QA:POST_ATTACHMENT:172','ACTIVE','2026-05-13 16:47:08','2026-05-13 16:47:08' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='389' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:172');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'화목나들목-EGBIM 오류보고용.dwg','175.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/175.dwg','image/vnd.dwg','dwg',77343,'40237268afeabcfaeee6951c656468f9dc4febb9c8e98226a9bf6da5181146c2','EGBIM_QA:POST_ATTACHMENT:175','ACTIVE','2026-05-13 17:20:58','2026-05-13 17:20:58' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='390' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:175');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'화목나들목-EGBIM 오류보고용.dwg','176.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/176.dwg','image/vnd.dwg','dwg',77343,'40237268afeabcfaeee6951c656468f9dc4febb9c8e98226a9bf6da5181146c2','EGBIM_QA:POST_ATTACHMENT:176','ACTIVE','2026-05-13 17:21:39','2026-05-13 17:21:39' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='390' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:176');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'GETIP_98.lsp','177.lsp','LOCAL','/app/uploads','EGBIM_QA/attachments/177.lsp','application/octet-stream','lsp',165924,'27e6e136508a7cb59e27a5de5e381b16953c7e59e4113b3e63674dbaab077395','EGBIM_QA:POST_ATTACHMENT:177','ACTIVE','2026-05-13 17:21:39','2026-05-13 17:21:39' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='390' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:177');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'GETIP_98_메뉴얼.docx','178.docx','LOCAL','/app/uploads','EGBIM_QA/attachments/178.docx','application/vnd.openxmlformats-officedocument.wordprocessingml.document','docx',58867,'afd0afeaf088e0058e457e33a6c4e660103848a7bab6cba08f326a7629054a7b','EGBIM_QA:POST_ATTACHMENT:178','ACTIVE','2026-05-13 17:21:39','2026-05-13 17:21:39' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='390' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:178');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'라이센스만료.jpg','179.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/179.jpg','image/jpeg','jpg',91524,'198f52e06dbf9de1325f75fae9c11e3bd51a68bbb1f165e30f4cac4dcdd39aac','EGBIM_QA:POST_ATTACHMENT:179','ACTIVE','2026-05-20 17:02:26','2026-05-20 17:02:26' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='394' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:179');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'스크린샷 2026-05-21 100324.png','180.png','LOCAL','/app/uploads','EGBIM_QA/attachments/180.png','image/png','png',14012,'49dda271788a188005717723998aa1022bc28a21bdbcc7ce7259cb74af441c2c','EGBIM_QA:POST_ATTACHMENT:180','ACTIVE','2026-05-21 10:04:54','2026-05-21 10:04:54' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='395' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:180');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'스크린샷 2026-05-21 100321.png','181.png','LOCAL','/app/uploads','EGBIM_QA/attachments/181.png','image/png','png',13860,'fb6907e21921016d561401319a350063221ca2cc3e715247364a316320abc69b','EGBIM_QA:POST_ATTACHMENT:181','ACTIVE','2026-05-21 10:04:54','2026-05-21 10:04:54' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='395' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:181');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20260526_095314.png','182.png','LOCAL','/app/uploads','EGBIM_QA/attachments/182.png','image/png','png',20200,'36e75055fbade2a0a441cf32aed206f483daea06c0beb41160fbe03e76494336','EGBIM_QA:POST_ATTACHMENT:182','ACTIVE','2026-05-26 09:54:22','2026-05-26 09:54:22' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='397' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:182');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'가이드.jpg','183.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/183.jpg','image/jpeg','jpg',338193,'06838837d04581bc700a964ad33d67db9d661be82abbde866b0f4d808f08a249','EGBIM_QA:POST_ATTACHMENT:183','ACTIVE','2026-05-29 09:33:19','2026-05-29 09:33:19' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='402' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:183');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'사용자 화면.jpg','184.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/184.jpg','image/jpeg','jpg',93003,'c29fe3d3ab85169abee38e19003d79184d12bbba922fdbbac567bd433d60b72d','EGBIM_QA:POST_ATTACHMENT:184','ACTIVE','2026-05-29 09:33:19','2026-05-29 09:33:19' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='402' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:184');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'KakaoTalk_20260601_111539096.png','185.png','LOCAL','/app/uploads','EGBIM_QA/attachments/185.png','image/png','png',279159,'7b79ead79665318a1e73651a1eb1055739ed2520d8e30837cf5d6f2475244bc8','EGBIM_QA:POST_ATTACHMENT:185','ACTIVE','2026-06-01 11:16:58','2026-06-01 11:16:58' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='403' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:185');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'화면 캡처 2026-06-02 092930.png','186.png','LOCAL','/app/uploads','EGBIM_QA/attachments/186.png','image/png','png',32378,'fc83ae8ef9f4fe4f3605707719b5dc8697a12a441540b57d89fa54825a206701','EGBIM_QA:POST_ATTACHMENT:186','ACTIVE','2026-06-02 09:31:53','2026-06-02 09:31:53' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='404' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:186');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'화면 캡처 2026-06-02 092947.png','187.png','LOCAL','/app/uploads','EGBIM_QA/attachments/187.png','image/png','png',32624,'0c718e4c5a69ae7457c9e7ae4da3623d0675cfa2a0282e56982cf47e3b682f90','EGBIM_QA:POST_ATTACHMENT:187','ACTIVE','2026-06-02 09:31:53','2026-06-02 09:31:53' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='404' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:187');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'Template_2.1 배수유역도.dwg','188.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/188.dwg','image/vnd.dwg','dwg',29378984,'cd3077319dff0fa7d75f19b9ffb20c309a78534276e36854a759109e1fbaa5c2','EGBIM_QA:POST_ATTACHMENT:188','ACTIVE','2026-06-04 09:01:41','2026-06-04 09:01:41' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='400' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:188');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'KakaoTalk_20260605_142943486.jpg','189.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/189.jpg','image/jpeg','jpg',703573,'ed7e93cfe49173b4e2c7c948af324b4c5614ea9c878f6e3c75c4d73c2b14ad85','EGBIM_QA:POST_ATTACHMENT:189','ACTIVE','2026-06-05 14:31:43','2026-06-05 14:31:43' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='407' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:189');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'KakaoTalk_20260605_142943486_01.jpg','190.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/190.jpg','image/jpeg','jpg',664978,'0804c807921f6fe03755b583cd61a0141d8db63b1eb1da0a39452dac33aa3d2a','EGBIM_QA:POST_ATTACHMENT:190','ACTIVE','2026-06-05 14:31:43','2026-06-05 14:31:43' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='407' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:190');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'화면 캡처 2026-06-11 174153.png','192.png','LOCAL','/app/uploads','EGBIM_QA/attachments/192.png','image/png','png',4681,'3641828b91540c5c4a25151acf2a80f93a740054aa7051d26b23e4eb48de1b8b','EGBIM_QA:POST_ATTACHMENT:192','ACTIVE','2026-06-11 17:42:05','2026-06-11 17:42:05' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='412' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:192');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'01. GUI.png','193.png','LOCAL','/app/uploads','EGBIM_QA/attachments/193.png','image/png','png',9833,'4121b7840b7e77235256515818c56b4351f8c7a65167e434df9f884bd134f2a1','EGBIM_QA:POST_ATTACHMENT:193','ACTIVE','2026-06-19 11:13:43','2026-06-19 11:13:43' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='414' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:193');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'02. 사용 전.png','194.png','LOCAL','/app/uploads','EGBIM_QA/attachments/194.png','image/png','png',402077,'e05a9f994d23878a1f83f7ab794fc742cb1955b643449208a1b30d06bf44345a','EGBIM_QA:POST_ATTACHMENT:194','ACTIVE','2026-06-19 11:13:43','2026-06-19 11:13:43' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='414' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:194');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'03. 사용 후.png','195.png','LOCAL','/app/uploads','EGBIM_QA/attachments/195.png','image/png','png',1212504,'27f8b4ec360acc3d092286bee90d1d126d4615dbdb4c91055a510ed224293858','EGBIM_QA:POST_ATTACHMENT:195','ACTIVE','2026-06-19 11:13:43','2026-06-19 11:13:43' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='414' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:195');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'run_app4.zip','196.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/196.zip','application/zip','zip',4950,'103256f144f8ba51e301c5145b9193d27d68359591addee318f7b7a8379c839c','EGBIM_QA:POST_ATTACHMENT:196','ACTIVE','2026-06-19 11:14:14','2026-06-19 11:14:14' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='414' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:196');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'@결과물.zip','197.zip','LOCAL','/app/uploads','EGBIM_QA/attachments/197.zip','application/zip','zip',15438858,'5a2f7d9533ea54526728159b09d385d2a3687562cc3060e4b085da186cbeb640','EGBIM_QA:POST_ATTACHMENT:197','ACTIVE','2026-06-19 11:21:27','2026-06-19 11:21:27' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='414' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:197');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'캡처.PNG','198.png','LOCAL','/app/uploads','EGBIM_QA/attachments/198.png','image/png','png',176968,'1dea4cd91e5fcce55d0e5138e817270066c36742ba7918ab2d579f1c656c59d3','EGBIM_QA:POST_ATTACHMENT:198','ACTIVE','2026-06-24 10:37:24','2026-06-24 10:37:24' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='415' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:198');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'26.06.23.[사연댐] 가설사무소.dwg','199.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/199.dwg','image/vnd.dwg','dwg',856626,'204ddc38694f24ea2259d2efe82edd924c280ceffa92b73831865e6430a9bdeb','EGBIM_QA:POST_ATTACHMENT:199','ACTIVE','2026-06-24 11:37:24','2026-06-24 11:37:24' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='416' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:199');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'스크린샷 2026-06-25 071539.png','200.png','LOCAL','/app/uploads','EGBIM_QA/attachments/200.png','image/png','png',223886,'36d3b8f9c0e4da121505611cda3788224116982dd38df0508bd8cd84b7fd1c50','EGBIM_QA:POST_ATTACHMENT:200','ACTIVE','2026-06-25 07:20:40','2026-06-25 07:20:40' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='417' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:200');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'화면 캡처 2026-06-29 101639.png','201.png','LOCAL','/app/uploads','EGBIM_QA/attachments/201.png','image/png','png',6649,'07faa36974b18490bf648b488548c331cb455d49d1d73a09f78dfeb9c43a78c0','EGBIM_QA:POST_ATTACHMENT:201','ACTIVE','2026-06-29 10:34:27','2026-06-29 10:34:27' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='419' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:201');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'드림플러스 다중플롯.png','202.png','LOCAL','/app/uploads','EGBIM_QA/attachments/202.png','image/png','png',43509,'2bc1acfee980a6267ade67a87ab8338e8ade20878af0418ad52793f85e372de9','EGBIM_QA:POST_ATTACHMENT:202','ACTIVE','2026-06-30 13:09:29','2026-06-30 13:09:29' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='421' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:202');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'화면 캡처 2026-07-01 144718.jpg','203.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/203.jpg','image/jpeg','jpg',293809,'5ccc4ab568fe2e501ce87a0affb1b0a055321d887d87b13ed933579c6ce7a1d5','EGBIM_QA:POST_ATTACHMENT:203','ACTIVE','2026-07-01 14:47:24','2026-07-01 14:47:24' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='423' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:203');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'강경보도육교 기초일반도 및 구조도.dwg','204.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/204.dwg','image/vnd.dwg','dwg',540872,'7d2d1bcfe23042819e436c1aaea2f4f3fa1a251a44741b0b0b720c8620a10c95','EGBIM_QA:POST_ATTACHMENT:204','ACTIVE','2026-07-01 16:24:00','2026-07-01 16:24:00' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='424' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:204');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'K-002.png','205.png','LOCAL','/app/uploads','EGBIM_QA/attachments/205.png','image/png','png',28945,'d9f832f8ac982bbe0d7f99ab810e00191928a151d9f4317db48ce34ab47b1ffd','EGBIM_QA:POST_ATTACHMENT:205','ACTIVE','2026-07-02 09:10:55','2026-07-02 09:10:55' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='426' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:205');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'스크린샷 2026-07-02 170745.png','206.png','LOCAL','/app/uploads','EGBIM_QA/attachments/206.png','image/png','png',246344,'1d7f89223c98be22dd04b4ee8317a08ea51809905eef339eef6f6d94a0744cf4','EGBIM_QA:POST_ATTACHMENT:206','ACTIVE','2026-07-02 17:07:36','2026-07-02 17:07:36' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='430' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:206');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'오류사진.jpg','207.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/207.jpg','image/jpeg','jpg',14300792,'8c457222caea53e77e54ba61677bb6f786ecd112570441d95f4ff0c8a4819976','EGBIM_QA:POST_ATTACHMENT:207','ACTIVE','2026-07-03 09:53:25','2026-07-03 09:53:25' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='431' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:207');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'textmask 적용전.JPG','208.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/208.jpg','image/jpeg','jpg',33475,'7284708a229097dcd33f123cfcab0f39c1614a7951306485f81c312183a179a3','EGBIM_QA:POST_ATTACHMENT:208','ACTIVE','2026-07-08 09:36:45','2026-07-08 09:36:45' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='434' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:208');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'textmask 적용후.JPG','209.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/209.jpg','image/jpeg','jpg',27083,'2a29807d3a5a0bbf42745f357124786d9419e50a0b2637d5ecaf892700417642','EGBIM_QA:POST_ATTACHMENT:209','ACTIVE','2026-07-08 09:36:45','2026-07-08 09:36:45' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='434' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:209');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'bim.jpg','210.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/210.jpg','image/jpeg','jpg',12667664,'706c6f678ac9d511038e358e2115cc0263846ee072a8b8b1574812cbe93230bd','EGBIM_QA:POST_ATTACHMENT:210','ACTIVE','2026-07-08 10:14:36','2026-07-08 10:14:36' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='435' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:210');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'선꼴 다름 이슈.grm','211.grm','LOCAL','/app/uploads','EGBIM_QA/attachments/211.grm','application/octet-stream','grm',2112407,'ef8fee5e1dea30f31f0096215daf08dc73434021f29b2163a4b5f8f8d4e545d3','EGBIM_QA:POST_ATTACHMENT:211','ACTIVE','2026-07-10 17:53:13','2026-07-10 17:53:13' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='442' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:211');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'화면 캡처 2026-07-14 083937.png','212.png','LOCAL','/app/uploads','EGBIM_QA/attachments/212.png','image/png','png',28036,'161b0876f4992c84abb4a9ccde4baa502d11616c69d87bfed23f30674b5ea0a3','EGBIM_QA:POST_ATTACHMENT:212','ACTIVE','2026-07-14 08:42:05','2026-07-14 08:42:05' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='447' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:212');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'1783986125_f66db96d_화면 캡처 2026-07-14 083937.png','213.png','LOCAL','/app/uploads','EGBIM_QA/attachments/213.png','image/png','png',28036,'161b0876f4992c84abb4a9ccde4baa502d11616c69d87bfed23f30674b5ea0a3','EGBIM_QA:POST_ATTACHMENT:213','ACTIVE','2026-07-14 11:40:47','2026-07-14 11:40:47' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='448' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:213');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'선꼴 2.grm','214.grm','LOCAL','/app/uploads','EGBIM_QA/attachments/214.grm','application/octet-stream','grm',76261,'4bc135754b89ba21847ad2aebab2b7b1ca15af541ce10f8156c4e1c17b155960','EGBIM_QA:POST_ATTACHMENT:214','ACTIVE','2026-07-15 09:07:35','2026-07-15 09:07:35' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='451' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:214');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'선꼴 1.grm','215.grm','LOCAL','/app/uploads','EGBIM_QA/attachments/215.grm','application/octet-stream','grm',118820,'f93670ba87ca71a2768d731b587b88851a0b8d492fa18fea55036d76bd632994','EGBIM_QA:POST_ATTACHMENT:215','ACTIVE','2026-07-15 09:07:35','2026-07-15 09:07:35' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='451' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:215');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'1.png','216.png','LOCAL','/app/uploads','EGBIM_QA/attachments/216.png','image/png','png',158133,'15db3aec0617f72f7dea15ffbc0242097fe2635976f0d60b78f1cd1558d926d6','EGBIM_QA:POST_ATTACHMENT:216','ACTIVE','2026-07-16 13:45:12','2026-07-16 13:45:12' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='454' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:216');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'LISP파일_오류.dwg','217.dwg','LOCAL','/app/uploads','EGBIM_QA/attachments/217.dwg','image/vnd.dwg','dwg',2563303,'13e72e81f4617a23d1f6136b3ed5e74ef28c704b5929b02d96a7922b214df0c2','EGBIM_QA:POST_ATTACHMENT:217','ACTIVE','2026-07-20 10:28:06','2026-07-20 10:28:06' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='458' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:217');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'횡단면_응용_v12.lsp','218.lsp','LOCAL','/app/uploads','EGBIM_QA/attachments/218.lsp','application/octet-stream','lsp',19689,'07c1d42ee3e60b05c08afe7f77bf4b5f2053a1e5f4226936369e0b1e2fe60803','EGBIM_QA:POST_ATTACHMENT:218','ACTIVE','2026-07-20 10:28:06','2026-07-20 10:28:06' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='458' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:218');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'횡단면_응용_v12_설명서.hwp','219.hwp','LOCAL','/app/uploads','EGBIM_QA/attachments/219.hwp','application/x-hwp','hwp',1381376,'7a9ad413f7eadf3c7c2b1973e090371abd73923e484d23605297438eb37ae9f7','EGBIM_QA:POST_ATTACHMENT:219','ACTIVE','2026-07-20 10:28:06','2026-07-20 10:28:06' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='458' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:219');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'EG-BIM Error .jpg','220.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/220.jpg','image/jpeg','jpg',124291,'77648a5bceb0c55983d8555a4975e4fcb161f1565c5f17293fc77550ba7e3190','EGBIM_QA:POST_ATTACHMENT:220','ACTIVE','2026-07-20 11:25:29','2026-07-20 11:25:29' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='459' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:220');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'260721 실행오류.png','221.png','LOCAL','/app/uploads','EGBIM_QA/attachments/221.png','image/png','png',105967,'252c66af3d69b544828912f84c6158dcaed6be7240fceeb2c9c6ad3944c27ce4','EGBIM_QA:POST_ATTACHMENT:221','ACTIVE','2026-07-21 18:48:43','2026-07-21 18:48:43' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='460' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:221');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'K-001.png','222.png','LOCAL','/app/uploads','EGBIM_QA/attachments/222.png','image/png','png',59142,'bf7abb7a909fd18dff9938ff95d9d0ee0b9f9aaff5f092e3de95cdc9e402f277','EGBIM_QA:POST_ATTACHMENT:222','ACTIVE','2026-07-21 18:59:10','2026-07-21 18:59:10' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='461' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:222');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'화면 캡처 2026-07-21 200406.jpg','223.jpg','LOCAL','/app/uploads','EGBIM_QA/attachments/223.jpg','image/jpeg','jpg',80964,'24fc811b1aca242b4cc8b832fbffe5555e18280db0e6368334526ee010793dd2','EGBIM_QA:POST_ATTACHMENT:223','ACTIVE','2026-07-21 20:04:55','2026-07-21 20:04:55' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='465' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:223');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20260722_개선요청.png','224.png','LOCAL','/app/uploads','EGBIM_QA/attachments/224.png','image/png','png',40861,'0617cb294c343ea34d7367e2ad219b3dc3fbd5b1e1f39e283b825fb719541645','EGBIM_QA:POST_ATTACHMENT:224','ACTIVE','2026-07-22 09:38:19','2026-07-22 09:38:19' FROM (SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='468' AND mm.ticket_id IS NOT NULL LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:POST_ATTACHMENT:224');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'참고 이미지.jpg','17.jpg','LOCAL','/app/uploads','EGBIM_QA/comment-images/17.jpg','image/jpeg','jpg',327115,'ae009f7049d5168d2ef2fc9380a83c1e3f4da613d080902a3764e50fc2e42754','EGBIM_QA:COMMENT_IMAGE:17','ACTIVE','2025-11-14 10:57:54','2025-11-14 10:57:54' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:349' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:17');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'SecurityConfig.jpg','29.jpg','LOCAL','/app/uploads','EGBIM_QA/comment-images/29.jpg','image/jpeg','jpg',49786,'2987fcfda9a450f8ca1d140d1189f54c67ad06b32c89520504172d9a3255001f','EGBIM_QA:COMMENT_IMAGE:29','ACTIVE','2025-12-11 14:09:25','2025-12-11 14:09:25' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:468' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:29');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'image06.png','30.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/30.png','image/png','png',78462,'f9c9269c4e89b5bbad705b78f206274c63402d269c7a32a4ef3d9916265199a2','EGBIM_QA:COMMENT_IMAGE:30','ACTIVE','2025-12-24 08:38:52','2025-12-24 08:38:52' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:514' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:30');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'image07.png','31.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/31.png','image/png','png',130457,'4d497d50db8fbdc144337f3e1908bb9f1205a7dccf41177002cfa376d15d5314','EGBIM_QA:COMMENT_IMAGE:31','ACTIVE','2025-12-24 08:38:52','2025-12-24 08:38:52' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:514' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:31');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'image08.png','32.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/32.png','image/png','png',89328,'ec7ce3d5555a024aaa0dbe6c8ec1117d71997aabb0e60d45b4d0073a437408a6','EGBIM_QA:COMMENT_IMAGE:32','ACTIVE','2025-12-24 08:38:52','2025-12-24 08:38:52' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:514' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:32');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'명령어 선택 창.png','33.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/33.png','image/png','png',31927,'31faae37cd0f0267efd76a05ab26e618b6f9c9b9e266eb195e1eb3d773c19c87','EGBIM_QA:COMMENT_IMAGE:33','ACTIVE','2025-12-31 11:51:18','2025-12-31 11:51:18' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:523' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:33');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'탭1.PNG','36.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/36.png','image/png','png',164678,'80f51af777c389c9cf0d8cc5ff9c5c38cef0f799ea0a68f3c4ab89423d4f0658','EGBIM_QA:COMMENT_IMAGE:36','ACTIVE','2026-01-07 14:43:08','2026-01-07 14:43:08' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:551' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:36');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'탭2.PNG','37.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/37.png','image/png','png',167078,'c60132c43be5f5337ecb7d4bbccc465e922be755373ad94a13d7a5ac319345b5','EGBIM_QA:COMMENT_IMAGE:37','ACTIVE','2026-01-07 14:43:08','2026-01-07 14:43:08' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:551' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:37');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna271_키보드한글자판설정.png','38.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/38.png','image/png','png',92293,'438d4503b184e67b6401cbddf8abe4bb7d0cde8463b08b8971dc9e94b0a65287','EGBIM_QA:COMMENT_IMAGE:38','ACTIVE','2026-01-26 10:29:52','2026-01-26 10:29:52' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:571' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:38');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna276_ole이미지뒤집힘_패치예정.png','39.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/39.png','image/png','png',419325,'f0b6905dd73c8b002ace827c66799722d610c471394ea379170d25adda2b23ca','EGBIM_QA:COMMENT_IMAGE:39','ACTIVE','2026-02-03 08:14:05','2026-02-03 08:14:05' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:576' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:39');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna281_자동저장파일.png','40.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/40.png','image/png','png',28692,'93d51296e16e5016c299a4fe575a696df22a91b78f41abd945ea9f035cabccb2','EGBIM_QA:COMMENT_IMAGE:40','ACTIVE','2026-02-10 10:23:32','2026-02-10 10:23:32' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:582' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:40');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna281_자동저장설정.png','41.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/41.png','image/png','png',206292,'94a9e39d7c8bb4402882854bc881b688de779d2899640ad14384b70b34e02347','EGBIM_QA:COMMENT_IMAGE:41','ACTIVE','2026-02-10 10:23:32','2026-02-10 10:23:32' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:582' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:41');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna281_자동저장파일.png','42.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/42.png','image/png','png',28692,'93d51296e16e5016c299a4fe575a696df22a91b78f41abd945ea9f035cabccb2','EGBIM_QA:COMMENT_IMAGE:42','ACTIVE','2026-02-10 10:37:36','2026-02-10 10:37:36' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:584' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:42');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna281_자동저장설정.png','43.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/43.png','image/png','png',206292,'94a9e39d7c8bb4402882854bc881b688de779d2899640ad14384b70b34e02347','EGBIM_QA:COMMENT_IMAGE:43','ACTIVE','2026-02-10 10:37:36','2026-02-10 10:37:36' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:584' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:43');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'image01.png','44.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/44.png','image/png','png',37497,'66c9dc2462af57fbf524489dc39210f09216cafec9e610d6071d345c679b6568','EGBIM_QA:COMMENT_IMAGE:44','ACTIVE','2026-03-06 10:23:02','2026-03-06 10:23:02' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:618' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:44');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna327_DXF를dwg로변환후acad에서확인.png','45.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/45.png','image/png','png',125198,'43d058a775834642a2f27cce91baf90e538f6024c6be964485b214c817bc26be','EGBIM_QA:COMMENT_IMAGE:45','ACTIVE','2026-03-11 14:33:16','2026-03-11 14:33:16' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:647' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:45');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20260312_193835.jpg','46.jpg','LOCAL','/app/uploads','EGBIM_QA/comment-images/46.jpg','image/jpeg','jpg',179050,'79f21cf5d6a9e716d5ade2427e00ab045fd7e6fbb7377a331a83794f3c09e47d','EGBIM_QA:COMMENT_IMAGE:46','ACTIVE','2026-03-12 19:38:58','2026-03-12 19:38:58' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:660' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:46');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20260312_193757.jpg','47.jpg','LOCAL','/app/uploads','EGBIM_QA/comment-images/47.jpg','image/jpeg','jpg',279660,'3c0e0306d603002df6fad3fed79b613f7594d5fc698e8a39a6e9f26890807da7','EGBIM_QA:COMMENT_IMAGE:47','ACTIVE','2026-03-12 19:38:58','2026-03-12 19:38:58' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:660' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:47');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna329_FC입력시FCLOSEALL명령 자동완성.png','48.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/48.png','image/png','png',4822,'de8901d145e579b2159dcd1fd217213e666e494a3261bf1231cdec8d12b2034f','EGBIM_QA:COMMENT_IMAGE:48','ACTIVE','2026-03-13 10:03:23','2026-03-13 10:03:23' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:662' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:48');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna322_별도 다중파일 작업중 창 켜지지 않음_테스트.png','49.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/49.png','image/png','png',433220,'d7121f06350210efbca5551f5ec7af79f7dbf88bdc076869c35a3a8239e4b0dd','EGBIM_QA:COMMENT_IMAGE:49','ACTIVE','2026-03-17 14:11:29','2026-03-17 14:11:29' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:668' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:49');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'20260317_152313.jpg','50.jpg','LOCAL','/app/uploads','EGBIM_QA/comment-images/50.jpg','image/jpeg','jpg',224029,'d72548c84458a2e445cc923b4a28868addae3fed503aaf5611cfdb9dcd3550d2','EGBIM_QA:COMMENT_IMAGE:50','ACTIVE','2026-03-17 15:23:40','2026-03-17 15:23:40' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:670' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:50');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna342_acad와egbim색상비교 in layout.png','51.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/51.png','image/png','png',324053,'c391e420c433be069c3adbea5f0abf64cced250e324da5553075db9551aa07a2','EGBIM_QA:COMMENT_IMAGE:51','ACTIVE','2026-03-20 16:29:15','2026-03-20 16:29:15' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:680' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:51');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna342_acad와egbim색상비교.png','52.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/52.png','image/png','png',546625,'2b00aa885149789e3269e467d961167e24c0e052eb2fa258358fd585bd8ca4a9','EGBIM_QA:COMMENT_IMAGE:52','ACTIVE','2026-03-20 16:29:15','2026-03-20 16:29:15' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:680' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:52');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna343_단축키 숫자인식_20260323.png','53.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/53.png','image/png','png',342797,'591d3346c7548136efc3fcb022690608cefc7095adacade8814e0b1259ae4ccb','EGBIM_QA:COMMENT_IMAGE:53','ACTIVE','2026-03-23 09:07:56','2026-03-23 09:07:56' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:683' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:53');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna346_egbim삭제후fonts폴더.png','54.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/54.png','image/png','png',31483,'7315350285b526beb1db1a14230b21d8f77bef9d114c74525f95719a868b8fb2','EGBIM_QA:COMMENT_IMAGE:54','ACTIVE','2026-03-23 11:47:02','2026-03-23 11:47:02' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:685' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:54');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna254_명령어하위메뉴끄기_20260401.png','55.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/55.png','image/png','png',349208,'b22e87fc7672666dc6fa706eaa5c920ca66fac33528dcd0df0a1190a57c5dca3','EGBIM_QA:COMMENT_IMAGE:55','ACTIVE','2026-04-01 14:00:29','2026-04-01 14:00:29' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:706' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:55');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna352_우클릭draworder_back_명령프롬프트_20260401.png','56.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/56.png','image/png','png',4360,'0d8382514ac7b1cb7a0d1c817598029dc3ab0f7820e946154b070aeed4e9dd65','EGBIM_QA:COMMENT_IMAGE:56','ACTIVE','2026-04-01 15:41:29','2026-04-01 15:41:29' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:712' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:56');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna137_Materials_png로새물질생성_20260401.png','57.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/57.png','image/png','png',389163,'d1aa6aeb4a4e3a2c9e29fc09f960e28807636e55936c9e9381a93a1ff673dca7','EGBIM_QA:COMMENT_IMAGE:57','ACTIVE','2026-04-01 16:08:25','2026-04-01 16:08:25' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:713' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:57');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna353_acad proxy entity_acad_20260401.png','58.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/58.png','image/png','png',641179,'eb7f970893a076af695cacb3087291ec797355437fb7db4486ea113b9c1dd6a7','EGBIM_QA:COMMENT_IMAGE:58','ACTIVE','2026-04-01 17:28:53','2026-04-01 17:28:53' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:714' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:58');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna354_acad cfm 설정.png','59.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/59.png','image/png','png',126606,'d5423729122c2be0d3defa28ba0bfb46240c306f36ce9b508c1788f5ea211c96','EGBIM_QA:COMMENT_IMAGE:59','ACTIVE','2026-04-03 09:24:18','2026-04-03 09:24:18' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:716' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:59');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna361_도면출력시CTB설정_20260410.png','63.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/63.png','image/png','png',43690,'dc20499c03026e570a547be961cdd6ca4fcc10f024dfae86d4146480875ed375','EGBIM_QA:COMMENT_IMAGE:63','ACTIVE','2026-04-10 15:17:38','2026-04-10 15:17:38' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:727' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:63');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna365_폴리선 그릴수없는오류_THICKNESS0설정.png','64.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/64.png','image/png','png',203322,'c2862046898c957d7c35c5c92e9e639a9c5d72d478f305582d7be2508ddc954b','EGBIM_QA:COMMENT_IMAGE:64','ACTIVE','2026-04-14 15:16:19','2026-04-14 15:16:19' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:733' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:64');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna256_꾸러미도곽인식(V1.4.0)_20260413.png','65.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/65.png','image/png','png',856288,'40184ae3d85c736ec70eab8f133f051c2cf5c56eb877385deed533eee5cf6c02','EGBIM_QA:COMMENT_IMAGE:65','ACTIVE','2026-04-14 17:48:59','2026-04-14 17:48:59' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:735' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:65');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna365_Thickness 초기화 기능추가_20260424.png','66.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/66.png','image/png','png',5036,'12dc32677c41339516f8ab55676536c7be34369b78f14a6bf126f17fd7786edc','EGBIM_QA:COMMENT_IMAGE:66','ACTIVE','2026-04-24 12:01:05','2026-04-24 12:01:05' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:752' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:66');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna315_jpg복사오류_20260511.png','67.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/67.png','image/png','png',329326,'2fc6dd5f6855b2fbec8d975d3d6e0d84605b6474be1b14fc918a473f8c4b87f1','EGBIM_QA:COMMENT_IMAGE:67','ACTIVE','2026-05-11 09:54:10','2026-05-11 09:54:10' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:765' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:67');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna315_플롯시 투명도 적용됨_20260511.png','68.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/68.png','image/png','png',842034,'7331e1d6c708bfeb720a6fe8a8cd4b0ea509b1d76accd0228f7daaec6b4b59ff','EGBIM_QA:COMMENT_IMAGE:68','ACTIVE','2026-05-11 09:54:10','2026-05-11 09:54:10' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:765' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:68');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna401_사용자설정저장하기_20260529.png','69.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/69.png','image/png','png',109112,'17724489d49d6cee8d08b6e8073de046a633cb6c2bc11b01f83c82f42d2ef8f3','EGBIM_QA:COMMENT_IMAGE:69','ACTIVE','2026-05-29 11:58:03','2026-05-29 11:58:03' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:787' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:69');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna402_내부블록으로bind_20260529.png','70.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/70.png','image/png','png',402775,'65027c99f4a5a5556d2d0c9e8c553c20e54c004ee54729c2d6ba23ba29f213fd','EGBIM_QA:COMMENT_IMAGE:70','ACTIVE','2026-05-29 12:24:32','2026-05-29 12:24:32' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:788' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:70');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna467_문자회전(TER)설정_20260722.png','71.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/71.png','image/png','png',21323,'ed8e9a6e3d025c2570d9d7e2da669b6e0029d1cb09ec873274e437aee072a17c','EGBIM_QA:COMMENT_IMAGE:71','ACTIVE','2026-07-22 10:17:59','2026-07-22 10:17:59' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:852' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:71');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna460_dwg파일 실행 안되는 오류_20260722.png','72.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/72.png','image/png','png',440367,'3afe341687d09d21e4ccef6d6ebca10e86aee9950a9048681613f5349eca5384','EGBIM_QA:COMMENT_IMAGE:72','ACTIVE','2026-07-22 10:43:10','2026-07-22 10:43:10' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:855' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:72');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna465_JMP명령테스트.jpg','73.jpg','LOCAL','/app/uploads','EGBIM_QA/comment-images/73.jpg','image/jpeg','jpg',256526,'f2903506f6721a5712711ec52145fe627103365f54ee240aa64960db7c5b6887','EGBIM_QA:COMMENT_IMAGE:73','ACTIVE','2026-07-22 10:57:30','2026-07-22 10:57:30' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:856' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:73');
INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,@EGBIM_UPLOADER_TENANT_ID,'qna462_acad_purge창_20260722.png','74.png','LOCAL','/app/uploads','EGBIM_QA/comment-images/74.png','image/png','png',427241,'7d2bdc181bac383a6120c3bcb2198f67417993cbdd30d9ccb2f20ea555883593','EGBIM_QA:COMMENT_IMAGE:74','ACTIVE','2026-07-22 17:55:27','2026-07-22 17:55:27' FROM (SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc WHERE tc.abc_comment_id='EGBIM_QA:863' LIMIT 1) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id='EGBIM_QA:COMMENT_IMAGE:74');
COMMIT;
@@ -0,0 +1,63 @@
-- Generated for baron_support.support_tickets.
-- Applies EGBIM qa_posts.is_secret OR qa_posts.is_private after ticket mappings exist.
SET NAMES utf8mb4;
USE `baron_support`;
START TRANSACTION;
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='10';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='15';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='20';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='27';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='28';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='32';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='40';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='41';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='59';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='61';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='69';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='70';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='76';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='98';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='104';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='106';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='107';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='109';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='117';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='119';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='126';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='128';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='130';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='139';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='144';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='153';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='165';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='166';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='177';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='224';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='233';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='238';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='243';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='253';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='261';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='263';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='268';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='272';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='274';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='275';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='293';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='297';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='323';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='357';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='359';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='360';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='368';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='369';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='388';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='407';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='409';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='414';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='430';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='433';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='445';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='458';
UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' AND mm.source_entity_id='480';
COMMIT;
File diff suppressed because one or more lines are too long
@@ -0,0 +1,279 @@
entity_type,source_id,parent_id,original_name,source_value,source_path,storage_key,uploaded_at,file_size,checksum_sha256,status
POST_ATTACHMENT,4,14,프린트 오류.png,/egbim/uploads/qa/1756277537_72306a75_프린트 오류.png,/home/b24014/egbim/egbim/uploads/qa/1756277537_72306a75_프린트 오류.png,EGBIM_QA/attachments/4.png,2025-08-27 15:52:17,133728,bd914f2164a13dba962179cd7a64da1099d75fd6a58886849a331b23e7b6f015,READY
POST_ATTACHMENT,5,20,이지빔개선이미지1.PNG,/egbim/uploads/qa/1756446059_ae14596f_이지빔개선이미지1.PNG,/home/b24014/egbim/egbim/uploads/qa/1756446059_ae14596f_이지빔개선이미지1.PNG,EGBIM_QA/attachments/5.png,2025-08-29 14:40:59,86593,f9315bdd7d116ea78562a9245aa0247a4e8221045218ca5977e9bbf99680ebac,READY
POST_ATTACHMENT,6,20,이지빔개선이미지2.PNG,/egbim/uploads/qa/1756446059_39f5a321_이지빔개선이미지2.PNG,/home/b24014/egbim/egbim/uploads/qa/1756446059_39f5a321_이지빔개선이미지2.PNG,EGBIM_QA/attachments/6.png,2025-08-29 14:40:59,36202,16b27fc3d232f79aeeb85723807dd041db86b0a78ef37e67ed3227f35cd98451,READY
POST_ATTACHMENT,7,21,대야천교 A2노리.zip,/egbim/uploads/qa/1756449399_c8197e7c_대야천교 A2노리.zip,/home/b24014/egbim/egbim/uploads/qa/1756449399_c8197e7c_대야천교 A2노리.zip,EGBIM_QA/attachments/7.zip,2025-08-29 15:36:39,5444903,967cdcebd2445bc6957ef11f7a9ef4b231b81e008ad19ab93b046f0fa4a868bd,READY
POST_ATTACHMENT,8,22,오류문의.zip,/egbim/uploads/qa/1756450881_495434af_오류문의.zip,/home/b24014/egbim/egbim/uploads/qa/1756450881_495434af_오류문의.zip,EGBIM_QA/attachments/8.zip,2025-08-29 16:01:21,1710514,a63786e18553620ca4878aa09f845222aafdba1dbb0c133ffc3da5d195fe25c4,READY
POST_ATTACHMENT,10,33,250902 삽도 수정(내부 표 변경).zip,/egbim/uploads/qa/1756796864_726ff7c7_250902 삽도 수정(내부 표 변경).zip,/home/b24014/egbim/egbim/uploads/qa/1756796864_726ff7c7_250902 삽도 수정(내부 표 변경).zip,EGBIM_QA/attachments/10.zip,2025-09-02 16:07:44,731246,01da6bfa22ac034f89ce9c7db10aa7d007a76a58a9e2851670ee4a2c615e0de7,READY
POST_ATTACHMENT,11,39,CAD상 배경이미지 예시.JPG,/egbim/uploads/qa/1756860263_cce65130_CAD상 배경이미지 예시.JPG,/home/b24014/egbim/egbim/uploads/qa/1756860263_cce65130_CAD상 배경이미지 예시.JPG,EGBIM_QA/attachments/11.jpg,2025-09-03 09:44:23,61620,8c93f224323fe78e2bce3b7fec121a9b8518f44f519c0380b4a5a2ef1929d70e,READY
POST_ATTACHMENT,12,39,JPG 출력시 배경이미지 깨짐 예시.JPG,/egbim/uploads/qa/1756860263_0d6cb4d9_JPG 출력시 배경이미지 깨짐 예시.JPG,/home/b24014/egbim/egbim/uploads/qa/1756860263_0d6cb4d9_JPG 출력시 배경이미지 깨짐 예시.JPG,EGBIM_QA/attachments/12.jpg,2025-09-03 09:44:23,208715,5b0698c8d917220c52f0409a25ccb6e461863146bc0e04b0b2fe1a7ea0fb1f29,READY
POST_ATTACHMENT,13,41,20250903_094341.png,/egbim/uploads/qa/1756860338_79f18c91_20250903_094341.png,/home/b24014/egbim/egbim/uploads/qa/1756860338_79f18c91_20250903_094341.png,EGBIM_QA/attachments/13.png,2025-09-03 09:45:38,17656,7ac844557281a514c33dc897282a1df8372c4052eba23067c8221cf8147c7fbf,READY
POST_ATTACHMENT,14,43,11.zip,/egbim/uploads/qa/1756881096_213f602d_11.zip,/home/b24014/egbim/egbim/uploads/qa/1756881096_213f602d_11.zip,EGBIM_QA/attachments/14.zip,2025-09-03 15:31:36,3722287,59bf53d3aa1b819a80acb4af4a385293d7302d1a71aed8f8f3e097a880f62b87,READY
POST_ATTACHMENT,15,59,20250905_175019.png,/egbim/uploads/qa/1757062235_608d2701_20250905_175019.png,/home/b24014/egbim/egbim/uploads/qa/1757062235_608d2701_20250905_175019.png,EGBIM_QA/attachments/15.png,2025-09-05 17:50:35,105167,18ad50e7390753a32a26b6b24491e3df591f7c29a47b7b11b60d5e22f89db580,READY
POST_ATTACHMENT,16,60,플롯 오류.jpg,/egbim/uploads/qa/1757314700_3d3332bc_플롯 오류.jpg,/home/b24014/egbim/egbim/uploads/qa/1757314700_3d3332bc_플롯 오류.jpg,EGBIM_QA/attachments/16.jpg,2025-09-08 15:58:20,2354295,b9e6a34433343b8d840e22f075b799bf3afc4b52195f2e672ea51e45b327b3d2,READY
POST_ATTACHMENT,17,61,이지빔 오류.png,/egbim/uploads/qa/1757326515_c8878396_이지빔 오류.png,/home/b24014/egbim/egbim/uploads/qa/1757326515_c8878396_이지빔 오류.png,EGBIM_QA/attachments/17.png,2025-09-08 19:15:15,182115,9ea3798264732730aaa723d4643c4e59d6795da6f1ce10d4a144d8211e7d56f9,READY
POST_ATTACHMENT,18,64,KakaoTalk_20250910_154923538.jpg,/egbim/uploads/qa/1757487093_822fb3ae_KakaoTalk_20250910_154923538.jpg,/home/b24014/egbim/egbim/uploads/qa/1757487093_822fb3ae_KakaoTalk_20250910_154923538.jpg,EGBIM_QA/attachments/18.jpg,2025-09-10 15:51:33,4877121,721e852361cda56e5961148fc33a31b7dfa6d3cd268f78fcbfb6c6403e72835f,READY
POST_ATTACHMENT,19,69,cmdengonly.png,/egbim/uploads/qa/1757572226_fdef9b80_cmdengonly.png,/home/b24014/egbim/egbim/uploads/qa/1757572226_fdef9b80_cmdengonly.png,EGBIM_QA/attachments/19.png,2025-09-11 15:30:26,5322,9d8253b592101e759e2a08bb160b4fa6b65a78dad021ce1b9acb0225ca64953a,READY
POST_ATTACHMENT,20,69,이지빔큐앤에이개선.png,/egbim/uploads/qa/1757572414_9d10ad54_이지빔큐앤에이개선.png,/home/b24014/egbim/egbim/uploads/qa/1757572414_9d10ad54_이지빔큐앤에이개선.png,EGBIM_QA/attachments/20.png,2025-09-11 15:33:34,29096,32d10251833be4c3d45bc1f4e6d34b59cee665c05b56de7b1e639648bd42ffe7,READY
POST_ATTACHMENT,21,70,인쇄하기 에러.png,/egbim/uploads/qa/1757656398_fce26fae_인쇄하기 에러.png,/home/b24014/egbim/egbim/uploads/qa/1757656398_fce26fae_인쇄하기 에러.png,EGBIM_QA/attachments/21.png,2025-09-12 14:53:18,100318,6b993fc410107a0ba3fd65e9ea114ab1287f26b5e175d83a10c583cc6970268b,READY
POST_ATTACHMENT,22,70,인쇄하기 정상.png,/egbim/uploads/qa/1757656398_235a2777_인쇄하기 정상.png,/home/b24014/egbim/egbim/uploads/qa/1757656398_235a2777_인쇄하기 정상.png,EGBIM_QA/attachments/22.png,2025-09-12 14:53:18,181149,32265ec02413ac1bd77beadd8dcac0308ce2ac15625d9ffd788db18ff4de7ebb,READY
POST_ATTACHMENT,23,76,캡처1.JPG,/egbim/uploads/qa/1757983385_5816535c_캡처1.JPG,/home/b24014/egbim/egbim/uploads/qa/1757983385_5816535c_캡처1.JPG,EGBIM_QA/attachments/23.jpg,2025-09-16 09:43:05,118891,518031574b99f80957618509c60e428904402780ab9313fe81e70bf9c9ef3309,READY
POST_ATTACHMENT,25,97,003~004.평면및종단면도(금곡사사)-250911 - Standard.zip,/egbim/uploads/qa/1758242512_7b7568be_003~004.평면및종단면도(금곡사사)-250911 - Standard.zip,/home/b24014/egbim/egbim/uploads/qa/1758242512_7b7568be_003~004.평면및종단면도(금곡사사)-250911 - Standard.zip,EGBIM_QA/attachments/25.zip,2025-09-19 09:41:52,15763404,b779df93f53bf81b0fa5ac7f2aae0b7b15b1d343264aba0eb714a4298c63320d,READY
POST_ATTACHMENT,26,97,제목 없음.png,/egbim/uploads/qa/1758242512_1560e88e_제목 없음.png,/home/b24014/egbim/egbim/uploads/qa/1758242512_1560e88e_제목 없음.png,EGBIM_QA/attachments/26.png,2025-09-19 09:41:52,152283,ae71bb484bd3451f95af6f796ab471523bb3f011841132c17d9cb4a249c32898,READY
POST_ATTACHMENT,27,98,KakaoTalk_20250919_153731765.png,/egbim/uploads/qa/1758264197_5b32ce70_KakaoTalk_20250919_153731765.png,/home/b24014/egbim/egbim/uploads/qa/1758264197_5b32ce70_KakaoTalk_20250919_153731765.png,EGBIM_QA/attachments/27.png,2025-09-19 15:43:17,3747,c28cb944b58b3e178f43cbeccc8712f71e2932f84041a6cc321730051e537976,READY
POST_ATTACHMENT,29,106,Resized_20250923_151823_1758608324791.jpeg,/egbim/uploads/qa/1758608992_275f357e_Resized_20250923_151823_1758608324791.jpeg,/home/b24014/egbim/egbim/uploads/qa/1758608992_275f357e_Resized_20250923_151823_1758608324791.jpeg,EGBIM_QA/attachments/29.jpeg,2025-09-23 15:29:52,2735686,0ccbb7ebdab327fde110fedca438496b47c8b56059f46219b146264698075583,READY
POST_ATTACHMENT,30,108,04.슬래브 수정하기.zip,/egbim/uploads/qa/1758677827_34e4d97c_04.슬래브 수정하기.zip,/home/b24014/egbim/egbim/uploads/qa/1758677827_34e4d97c_04.슬래브 수정하기.zip,EGBIM_QA/attachments/30.zip,2025-09-24 10:37:07,1593369,c89d558bef6e2b429f243a38c6302129bbf9c0cf2de2290999d12b357ea0e20f,READY
POST_ATTACHMENT,31,108,외부참조_대덕특구 도곽.zip,/egbim/uploads/qa/1758677952_6b8c2186_외부참조_대덕특구 도곽.zip,/home/b24014/egbim/egbim/uploads/qa/1758677952_6b8c2186_외부참조_대덕특구 도곽.zip,EGBIM_QA/attachments/31.zip,2025-09-24 10:39:12,66755,8634ebe61650a104bd4bab0a510290ee0e5e4346812eb0dcb1f41460eb21bba5,READY
POST_ATTACHMENT,32,111,EZBIM.jpg,/egbim/uploads/qa/1758701833_c9f6691e_EZBIM.jpg,/home/b24014/egbim/egbim/uploads/qa/1758701833_c9f6691e_EZBIM.jpg,EGBIM_QA/attachments/32.jpg,2025-09-24 17:17:13,1638060,9bd17c77de3cdb111e4e1b9a5e228c6c335e01602ce42320540e3458ca514947,READY
POST_ATTACHMENT,33,113,화면 캡처 2025-09-25 152205.png,/egbim/uploads/qa/1758782172_8a78049e_화면 캡처 2025-09-25 152205.png,/home/b24014/egbim/egbim/uploads/qa/1758782172_8a78049e_화면 캡처 2025-09-25 152205.png,EGBIM_QA/attachments/33.png,2025-09-25 15:36:12,304829,04541448a57432d4b941e6beb7a1e84bb32152b44d79b36e32edcb0f9959ed5b,READY
POST_ATTACHMENT,34,114,스크린샷 2025-09-25 155142.png,/egbim/uploads/qa/1758783152_6f9a9a96_스크린샷 2025-09-25 155142.png,/home/b24014/egbim/egbim/uploads/qa/1758783152_6f9a9a96_스크린샷 2025-09-25 155142.png,EGBIM_QA/attachments/34.png,2025-09-25 15:52:32,104245,157eba9bba07878e9949fe98071edb96077739cda6660dc51e8bbcaf672e1dab,READY
POST_ATTACHMENT,35,47,레지스트리.zip,/egbim/uploads/qa/1759124537_12e94f08_레지스트리.zip,/home/b24014/egbim/egbim/uploads/qa/1759124537_12e94f08_레지스트리.zip,EGBIM_QA/attachments/35.zip,2025-09-29 14:42:17,69972,a776041c2266f4d024a29c896b8c80626984775005341de94c7b7443fa4992ae,READY
POST_ATTACHMENT,37,118,(기존추가)6.3-5.zip,/egbim/uploads/qa/1759134063_d2c40b65_(기존추가)6.3-5.zip,/home/b24014/egbim/egbim/uploads/qa/1759134063_d2c40b65_(기존추가)6.3-5.zip,EGBIM_QA/attachments/37.zip,2025-09-29 17:21:03,1385160,34fe420ba6f996ba9135232a6ab23e792d99ae3f82ef0efc60ff984f06891a9e,READY
POST_ATTACHMENT,38,126,KakaoTalk_20251001_091636675.jpg,/egbim/uploads/qa/1759278008_2aa7e4cc_KakaoTalk_20251001_091636675.jpg,/home/b24014/egbim/egbim/uploads/qa/1759278008_2aa7e4cc_KakaoTalk_20251001_091636675.jpg,EGBIM_QA/attachments/38.jpg,2025-10-01 09:20:08,594266,f9b70eae4b7fd408d3af26404c5d66bb13eaacbfd918f3dcccf2ffba7fac790e,READY
POST_ATTACHMENT,39,126,KakaoTalk_20251001_091636675_01.jpg,/egbim/uploads/qa/1759278008_61e68ac8_KakaoTalk_20251001_091636675_01.jpg,/home/b24014/egbim/egbim/uploads/qa/1759278008_61e68ac8_KakaoTalk_20251001_091636675_01.jpg,EGBIM_QA/attachments/39.jpg,2025-10-01 09:20:08,375941,1331b2f284a637cf91cca6a33842b4ab4af9468cc631f0ed2712c0bcd678f72c,READY
POST_ATTACHMENT,40,126,KakaoTalk_20251001_091636675_02.jpg,/egbim/uploads/qa/1759278008_0b8ce795_KakaoTalk_20251001_091636675_02.jpg,/home/b24014/egbim/egbim/uploads/qa/1759278008_0b8ce795_KakaoTalk_20251001_091636675_02.jpg,EGBIM_QA/attachments/40.jpg,2025-10-01 09:20:08,47513,b87e04cd48715621c6efa3d7dd32475e860a258fc06bce56f7aac32be9f27cac,READY
POST_ATTACHMENT,41,127,출력시 프리트 회질저하.png,/egbim/uploads/qa/1759278039_4c297fbb_출력시 프리트 회질저하.png,/home/b24014/egbim/egbim/uploads/qa/1759278039_4c297fbb_출력시 프리트 회질저하.png,EGBIM_QA/attachments/41.png,2025-10-01 09:20:39,314125,b447b953098f48865b44169a2121144804f78f05584ff345b495a7e369cf9a22,READY
POST_ATTACHMENT,43,135,TEXTMATCHCOPY.jpg,/egbim/uploads/qa/1760575122_4467dc88_TEXTMATCHCOPY.jpg,/home/b24014/egbim/egbim/uploads/qa/1760575122_4467dc88_TEXTMATCHCOPY.jpg,EGBIM_QA/attachments/43.jpg,2025-10-16 09:38:42,27605,05312671eef3b5a0128f8805c8cbf8de256f36fcf1a75e5d2a512f2b4e26faf6,READY
POST_ATTACHMENT,45,137,material.jpg,/egbim/uploads/qa/1760657651_dc5f6d5c_material.jpg,/home/b24014/egbim/egbim/uploads/qa/1760657651_dc5f6d5c_material.jpg,EGBIM_QA/attachments/45.jpg,2025-10-17 08:34:11,699488,33eee458ca3f9d0543d138e8e40c89ed65a07d3d7c65d1371d1633ab140ce883,READY
POST_ATTACHMENT,46,142,화면 캡처 2025-10-21 104231.png,/egbim/uploads/qa/1761010963_c2a91bc5_화면 캡처 2025-10-21 104231.png,/home/b24014/egbim/egbim/uploads/qa/1761010963_c2a91bc5_화면 캡처 2025-10-21 104231.png,EGBIM_QA/attachments/46.png,2025-10-21 10:42:43,238394,49fca16da59c672c7fd56b59e52740098f972bfb70a1fc52257f984082596a89,READY
POST_ATTACHMENT,47,144,캡처.PNG,/egbim/uploads/qa/1761027502_a9e21b70_캡처.PNG,/home/b24014/egbim/egbim/uploads/qa/1761027502_a9e21b70_캡처.PNG,EGBIM_QA/attachments/47.png,2025-10-21 15:18:22,77533,2e219736687c5f5f40376985cdb2baee5a8e49f46b26f263bf86463e1ebbb798,READY
POST_ATTACHMENT,48,144,캡처12.PNG,/egbim/uploads/qa/1761027502_9b44ccea_캡처12.PNG,/home/b24014/egbim/egbim/uploads/qa/1761027502_9b44ccea_캡처12.PNG,EGBIM_QA/attachments/48.png,2025-10-21 15:18:22,22877,d189e322372ee85b65a7f8f9129f5f297ca14a4aefff24712ab9671317051989,READY
POST_ATTACHMENT,49,149,20251022_091405.png,/egbim/uploads/qa/1761092084_725e5079_20251022_091405.png,/home/b24014/egbim/egbim/uploads/qa/1761092084_725e5079_20251022_091405.png,EGBIM_QA/attachments/49.png,2025-10-22 09:14:44,179551,9d327b07c61830fe7774478fb6f394d8c8320ae5ae0cbd45a25aecfdeeb5241b,READY
POST_ATTACHMENT,50,152,20251023_095426.png,/egbim/uploads/qa/1761181110_ca938dea_20251023_095426.png,/home/b24014/egbim/egbim/uploads/qa/1761181110_ca938dea_20251023_095426.png,EGBIM_QA/attachments/50.png,2025-10-23 09:58:30,124171,f84b63407297f045e73f9ad4694543e7863bf640194c9b49db36feafcebeade8,READY
POST_ATTACHMENT,51,153,도곽 머서리부 격자 오류 2.PNG,/egbim/uploads/qa/1761195003_e07967cc_도곽 머서리부 격자 오류 2.PNG,/home/b24014/egbim/egbim/uploads/qa/1761195003_e07967cc_도곽 머서리부 격자 오류 2.PNG,EGBIM_QA/attachments/51.png,2025-10-23 13:50:03,418337,855a1bcfb6d8fec79110fd48d0aad69b2d627498c4b2ed4ee5a7632720c5c5e5,READY
POST_ATTACHMENT,52,153,도곽 머서리부 격자 오류 3.PNG,/egbim/uploads/qa/1761195003_c107a8a0_도곽 머서리부 격자 오류 3.PNG,/home/b24014/egbim/egbim/uploads/qa/1761195003_c107a8a0_도곽 머서리부 격자 오류 3.PNG,EGBIM_QA/attachments/52.png,2025-10-23 13:50:03,353941,ac66cfbaef4b8c77e321fbe524c817b034776afc2c719eafd658981d87cd358b,READY
POST_ATTACHMENT,53,153,도곽 모서리부 격자 오류1.PNG,/egbim/uploads/qa/1761195003_a0ff0a6b_도곽 모서리부 격자 오류1.PNG,/home/b24014/egbim/egbim/uploads/qa/1761195003_a0ff0a6b_도곽 모서리부 격자 오류1.PNG,EGBIM_QA/attachments/53.png,2025-10-23 13:50:03,154446,d49a6bb466a14ec4de62e6b9fdaffc75a63062444af53fc7d8a6a53cb2074da1,READY
POST_ATTACHMENT,54,155,20251024_100329.png,/egbim/uploads/qa/1761268217_caaf1f4e_20251024_100329.png,/home/b24014/egbim/egbim/uploads/qa/1761268217_caaf1f4e_20251024_100329.png,EGBIM_QA/attachments/54.png,2025-10-24 10:10:17,846646,8d436e0e30e5489d957a964b6dfe2eb3eaa310865f64ca7b290b6eef605d1f7d,READY
POST_ATTACHMENT,55,155,20251024_100340.png,/egbim/uploads/qa/1761268217_534de396_20251024_100340.png,/home/b24014/egbim/egbim/uploads/qa/1761268217_534de396_20251024_100340.png,EGBIM_QA/attachments/55.png,2025-10-24 10:10:17,662829,0df9f04c35ed48eadc4c1199f339babdacb79405730bf2d241d5693194f2ecf5,READY
POST_ATTACHMENT,56,156,캡처.JPG,/egbim/uploads/qa/1761271363_bcf69228_캡처.JPG,/home/b24014/egbim/egbim/uploads/qa/1761271363_bcf69228_캡처.JPG,EGBIM_QA/attachments/56.jpg,2025-10-24 11:02:43,129195,6ad49be80f978833d25e08bb0642801ad004abc070153123b4a47b14407e13e3,READY
POST_ATTACHMENT,57,155,20251024_164603.png,/egbim/uploads/qa/1761292125_cc4a1143_20251024_164603.png,/home/b24014/egbim/egbim/uploads/qa/1761292125_cc4a1143_20251024_164603.png,EGBIM_QA/attachments/57.png,2025-10-24 16:48:45,378048,dacf54d0889a5ca3bafde49415c254af0c6798def7f373c29d5e207fce91010e,READY
POST_ATTACHMENT,58,155,20251024_164813.png,/egbim/uploads/qa/1761292125_3f29156a_20251024_164813.png,/home/b24014/egbim/egbim/uploads/qa/1761292125_3f29156a_20251024_164813.png,EGBIM_QA/attachments/58.png,2025-10-24 16:48:45,942771,badb9dfdf5f918d790291170211d9e9f7f1935f62021fc457d23ee5bb57a17cd,READY
POST_ATTACHMENT,60,173,eg-bim 설치오류.PNG,/egbim/uploads/qa/1762213063_34db2769_eg-bim 설치오류.PNG,/home/b24014/egbim/egbim/uploads/qa/1762213063_34db2769_eg-bim 설치오류.PNG,EGBIM_QA/attachments/60.png,2025-11-04 08:37:43,43904,fd1b9b58e85504a163dfe65213e68ff1cbc2482b73d5476af53648a928944f3d,READY
POST_ATTACHMENT,63,178,Desktop.zip,/egbim/uploads/qa/1762220379_8d34a8ab_Desktop.zip,/home/b24014/egbim/egbim/uploads/qa/1762220379_8d34a8ab_Desktop.zip,EGBIM_QA/attachments/63.zip,2025-11-04 10:39:39,35887,24277d108e70dc96ee2701c5951e675ce9e4f9686ead77d717dc4bcc225d73fe,READY
POST_ATTACHMENT,64,185,cmdeng 오류.png,/egbim/uploads/qa/1762306378_52bfa60c_cmdeng 오류.png,/home/b24014/egbim/egbim/uploads/qa/1762306378_52bfa60c_cmdeng 오류.png,EGBIM_QA/attachments/64.png,2025-11-05 10:32:58,92965,2414d305ccf20f1744cad78154721f5ad5723cd8957579ff23596d36670d3609,READY
POST_ATTACHMENT,76,200,04 [Nose부] 교대 계획.dwg,/egbim/uploads/qa/1762931252_7c4cc1ad_04 [Nose부] 교대 계획.dwg,/home/b24014/egbim/egbim/uploads/qa/1762931252_7c4cc1ad_04 [Nose부] 교대 계획.dwg,EGBIM_QA/attachments/76.dwg,2025-11-12 16:07:32,85120,cb7f598bc613a225e592aa2fd7f6a5c390717b8266ef56b8db32472810bf1328,READY
POST_ATTACHMENT,78,203,낱 장 출력 위치도.pdf,/egbim/uploads/qa/1762995972_64932179_낱 장 출력 위치도.pdf,/home/b24014/egbim/egbim/uploads/qa/1762995972_64932179_낱 장 출력 위치도.pdf,EGBIM_QA/attachments/78.pdf,2025-11-13 10:06:12,10510536,3fb5f9954e1b34e8594660a4bcc78fb651c227acfd623b830920058274505f08,READY
POST_ATTACHMENT,79,203,다중 출력 위치도.pdf,/egbim/uploads/qa/1762995972_fc075feb_다중 출력 위치도.pdf,/home/b24014/egbim/egbim/uploads/qa/1762995972_fc075feb_다중 출력 위치도.pdf,EGBIM_QA/attachments/79.pdf,2025-11-13 10:06:12,8231932,1e73fd31729ede3d95d04f18194d63f095646cc9e099e38aaa5a46fc4fd08141,READY
POST_ATTACHMENT,80,207,캡처.JPG,/egbim/uploads/qa/1763080126_8f3e209b_캡처.JPG,/home/b24014/egbim/egbim/uploads/qa/1763080126_8f3e209b_캡처.JPG,EGBIM_QA/attachments/80.jpg,2025-11-14 09:28:46,47120,8da142fd6d2d724af36393a05085901d0def705f89c6a0760fcac9815f7fac5d,READY
POST_ATTACHMENT,81,209,1.1.3 평면 및 종단면도 ( 이설도로 )_251113.dwg,/egbim/uploads/qa/1763084167_bf31b61b_1.1.3 평면 및 종단면도 ( 이설도로 )_251113.dwg,/home/b24014/egbim/egbim/uploads/qa/1763084167_bf31b61b_1.1.3 평면 및 종단면도 ( 이설도로 )_251113.dwg,EGBIM_QA/attachments/81.dwg,2025-11-14 10:36:07,3348687,d2dc2b488aef495e6cca22863eceee47dc195c6d53f55b5cd282436ac95fbd86,READY
POST_ATTACHMENT,82,217,2025-11-21 15 59 21-ole 이미지 반전.png,/egbim/uploads/qa/1763708608_c78a8fdc_2025-11-21 15 59 21-ole 이미지 반전.png,/home/b24014/egbim/egbim/uploads/qa/1763708608_c78a8fdc_2025-11-21 15 59 21-ole 이미지 반전.png,EGBIM_QA/attachments/82.png,2025-11-21 16:03:28,494588,3a47c90b6f602d40ca88ef1140a7111be3fbf6b49f0a4030df84befd23d5dd4d,READY
POST_ATTACHMENT,83,217,2025-11-21 15 59 22-ole 이미지 반전.png,/egbim/uploads/qa/1763708608_f56dffa1_2025-11-21 15 59 22-ole 이미지 반전.png,/home/b24014/egbim/egbim/uploads/qa/1763708608_f56dffa1_2025-11-21 15 59 22-ole 이미지 반전.png,EGBIM_QA/attachments/83.png,2025-11-21 16:03:28,544857,27e52f660ab99b026a9a673d278f30ea7425ba91071475c1daa0fe473adcc458,READY
POST_ATTACHMENT,84,217,C0010201-002 표준횡단.dwg,/egbim/uploads/qa/1763708608_a4232f5d_C0010201-002 표준횡단.dwg,/home/b24014/egbim/egbim/uploads/qa/1763708608_a4232f5d_C0010201-002 표준횡단.dwg,EGBIM_QA/attachments/84.dwg,2025-11-21 16:03:28,3570944,15212fdae33a06a7bcfcc8a17bd03a20e4a35ac58668e55a3247ad5a60adfad1,READY
POST_ATTACHMENT,85,217,C0010201-001 표준횡단.dwg,/egbim/uploads/qa/1763708608_3cec0dc6_C0010201-001 표준횡단.dwg,/home/b24014/egbim/egbim/uploads/qa/1763708608_3cec0dc6_C0010201-001 표준횡단.dwg,EGBIM_QA/attachments/85.dwg,2025-11-21 16:03:28,3409236,75874416e7c735de0affa628d9d318ee05ae26bee7eb1d6215db538efd5a20d2,READY
POST_ATTACHMENT,86,219,오류 화면.jpg,/egbim/uploads/qa/1763966511_c1cbcc9a_오류 화면.jpg,/home/b24014/egbim/egbim/uploads/qa/1763966511_c1cbcc9a_오류 화면.jpg,EGBIM_QA/attachments/86.jpg,2025-11-24 15:41:51,59594,022bfe8468ea9370148a6527eec483d0e568b197e8d315f2c42bdc2b9f47212e,READY
POST_ATTACHMENT,87,220,drpipe.zip,/egbim/uploads/qa/1764115615_3583a452_drpipe.zip,/home/b24014/egbim/egbim/uploads/qa/1764115615_3583a452_drpipe.zip,EGBIM_QA/attachments/87.zip,2025-11-26 09:06:55,339605,652da3d75733f34b4fffe995674ea1f32746f970b959ee433383572eb8b9e3a3,READY
POST_ATTACHMENT,90,226,재료표.GIF,/egbim/uploads/qa/1764639405_21eea30b_재료표.GIF,/home/b24014/egbim/egbim/uploads/qa/1764639405_21eea30b_재료표.GIF,EGBIM_QA/attachments/90.gif,2025-12-02 10:36:45,24348,a8920bb763f529e2a06913deadac9af5f783b0dd8792377cd53294e00b8ffffe,READY
POST_ATTACHMENT,91,230,레지스트리.reg,/egbim/uploads/qa/1764897735_d0e31216_레지스트리.reg,/home/b24014/egbim/egbim/uploads/qa/1764897735_d0e31216_레지스트리.reg,EGBIM_QA/attachments/91.reg,2025-12-05 10:22:15,152756,2ee19ea157f5cb6c477ab8442b79c6fd72749ebe8e881ec05780f178515c8007,READY
POST_ATTACHMENT,92,230,투명도 테스트.zip,/egbim/uploads/qa/1764897735_c03445aa_투명도 테스트.zip,/home/b24014/egbim/egbim/uploads/qa/1764897735_c03445aa_투명도 테스트.zip,EGBIM_QA/attachments/92.zip,2025-12-05 10:22:15,28825,ab89166189b69fdc5fe9fbec4e70964121e5762a7d4fd0c7283bb1b26462ea1a,READY
POST_ATTACHMENT,93,232,251204_법성홍농 노선도 - Standard.zip,/egbim/uploads/qa/1764910343_1bbd54b1_251204_법성홍농 노선도 - Standard.zip,/home/b24014/egbim/egbim/uploads/qa/1764910343_1bbd54b1_251204_법성홍농 노선도 - Standard.zip,EGBIM_QA/attachments/93.zip,2025-12-05 13:52:23,6360618,8cc0613a78533317337bfc46d06fd61fe8a2569039c43f9bf13928d8e6625b10,READY
POST_ATTACHMENT,94,234,251205-PLOT 에러.png,/egbim/uploads/qa/1764914652_f04b4a86_251205-PLOT 에러.png,/home/b24014/egbim/egbim/uploads/qa/1764914652_f04b4a86_251205-PLOT 에러.png,EGBIM_QA/attachments/94.png,2025-12-05 15:04:12,27223,073680dd4a3e06a61c8857f53b8afb775669c0c951a0308da147a025f852f328,READY
POST_ATTACHMENT,95,235,접근수로굴착.png,/egbim/uploads/qa/1765150284_cf844a42_접근수로굴착.png,/home/b24014/egbim/egbim/uploads/qa/1765150284_cf844a42_접근수로굴착.png,EGBIM_QA/attachments/95.png,2025-12-08 08:31:24,72253,10a212e1394885fafee068d6c3f521f43d34eb988a1fb735d22253bfdda74c2e,READY
POST_ATTACHMENT,96,236,251209-APPLOAD 삭제안됨.png,/egbim/uploads/qa/1765263376_c2257846_251209-APPLOAD 삭제안됨.png,/home/b24014/egbim/egbim/uploads/qa/1765263376_c2257846_251209-APPLOAD 삭제안됨.png,EGBIM_QA/attachments/96.png,2025-12-09 15:56:16,24197,de32b3cc67cceabccc0c34e420c79688e00b4d81ecf3b8d13bafaaf87d9fcf86,READY
POST_ATTACHMENT,97,238,캡처.JPG,/egbim/uploads/qa/1765340027_090d3d58_캡처.JPG,/home/b24014/egbim/egbim/uploads/qa/1765340027_090d3d58_캡처.JPG,EGBIM_QA/attachments/97.jpg,2025-12-10 13:13:47,100954,b2f2635be4ae5eff14e2f3e637e8b91a60f2ad7336106e06e4fac8f1aca99d56,READY
POST_ATTACHMENT,98,244,K-005.jpg,/egbim/uploads/qa/1765930308_f50ba94d_K-005.jpg,/home/b24014/egbim/egbim/uploads/qa/1765930308_f50ba94d_K-005.jpg,EGBIM_QA/attachments/98.jpg,2025-12-17 09:11:48,169787,455f971e7ba45b31602080f6e5b350400beb0bbb699e2f17a1b02a4a6cf9a4c9,READY
POST_ATTACHMENT,99,244,K-006.jpg,/egbim/uploads/qa/1765930308_40e06ea6_K-006.jpg,/home/b24014/egbim/egbim/uploads/qa/1765930308_40e06ea6_K-006.jpg,EGBIM_QA/attachments/99.jpg,2025-12-17 09:11:48,103420,ffb3c5281d6fe6ff1f280cf3cd784c856c435de40c29502011fdd250aa4b79b6,READY
POST_ATTACHMENT,100,246,종전선형_종점부 R380.v2.dwg,/egbim/uploads/qa/1766103781_de024878_종전선형_종점부 R380.v2.dwg,/home/b24014/egbim/egbim/uploads/qa/1766103781_de024878_종전선형_종점부 R380.v2.dwg,EGBIM_QA/attachments/100.dwg,2025-12-19 09:23:01,484386,ccb4ab92d69bd0deafc340ce883aae2466daf9236518172096f86b1770573eef,READY
POST_ATTACHMENT,101,252,Drawing2.dwg,/egbim/uploads/qa/1767073250_0d62554c_Drawing2.dwg,/home/b24014/egbim/egbim/uploads/qa/1767073250_0d62554c_Drawing2.dwg,EGBIM_QA/attachments/101.dwg,2025-12-30 14:40:50,21094,16cb39a5edfda45cefbc4ca787a597c343cf89d32e6c30da5437ba46b9c2c87e,READY
POST_ATTACHMENT,102,252,레지스트리.reg,/egbim/uploads/qa/1767145062_3500f2f2_레지스트리.reg,/home/b24014/egbim/egbim/uploads/qa/1767145062_3500f2f2_레지스트리.reg,EGBIM_QA/attachments/102.reg,2025-12-31 10:37:42,1097690,81df65dd872837757177d21350b839dd5c1e9faa26afef2ef25267d7e550ef83,READY
POST_ATTACHMENT,103,256,251229 계획평면도.zip,/egbim/uploads/qa/1767155743_d39452b7_251229 계획평면도.zip,/home/b24014/egbim/egbim/uploads/qa/1767155743_d39452b7_251229 계획평면도.zip,EGBIM_QA/attachments/103.zip,2025-12-31 13:35:43,10897836,918a2b50758b902dcd771af225cbebc535c39b3ef56e8e8d8774c8f77998d58f,READY
POST_ATTACHMENT,104,256,그리미 도곽인식.png,/egbim/uploads/qa/1767155743_927e0f46_그리미 도곽인식.png,/home/b24014/egbim/egbim/uploads/qa/1767155743_927e0f46_그리미 도곽인식.png,EGBIM_QA/attachments/104.png,2025-12-31 13:35:43,705433,a993a0ffba58877c0301176884f5413605c23c935748bd09daf971d4212343e1,READY
POST_ATTACHMENT,105,256,꾸러미 도곽미인식.png,/egbim/uploads/qa/1767155743_f44ab477_꾸러미 도곽미인식.png,/home/b24014/egbim/egbim/uploads/qa/1767155743_f44ab477_꾸러미 도곽미인식.png,EGBIM_QA/attachments/105.png,2025-12-31 13:35:43,230175,9f0586b0dc978ec2f21a8b630c24f4e8e5469d62406ea4811dd85615aadf1395,READY
POST_ATTACHMENT,106,257,Drawing1.dwg,/egbim/uploads/qa/1767158131_7aa37d15_Drawing1.dwg,/home/b24014/egbim/egbim/uploads/qa/1767158131_7aa37d15_Drawing1.dwg,EGBIM_QA/attachments/106.dwg,2025-12-31 14:15:31,4598337,5b2b55b3848b3f3d6c279d0ecc413107c33ab0159f15a2d8486380565b734e93,READY
POST_ATTACHMENT,107,259,연결형태1.jpg,/egbim/uploads/qa/1767662345_cdb9e917_연결형태1.jpg,/home/b24014/egbim/egbim/uploads/qa/1767662345_cdb9e917_연결형태1.jpg,EGBIM_QA/attachments/107.jpg,2026-01-06 10:19:05,254537,1ecb7caf102cb691b7f520b38f08596be82c5e92e6003ca4cb59a26e40028da3,READY
POST_ATTACHMENT,108,259,연결형태2.jpg,/egbim/uploads/qa/1767662345_9c898847_연결형태2.jpg,/home/b24014/egbim/egbim/uploads/qa/1767662345_9c898847_연결형태2.jpg,EGBIM_QA/attachments/108.jpg,2026-01-06 10:19:05,253888,e70f25e79b4f002ae5501d419846b1d3690f9140014b46a065830b51b5571e6f,READY
POST_ATTACHMENT,109,259,연결형태3.jpg,/egbim/uploads/qa/1767662345_98cc7b6c_연결형태3.jpg,/home/b24014/egbim/egbim/uploads/qa/1767662345_98cc7b6c_연결형태3.jpg,EGBIM_QA/attachments/109.jpg,2026-01-06 10:19:05,255501,8d63f90f26d6bbc543f12c5b9efeae2260e0641d178022887f0e8954516db10c,READY
POST_ATTACHMENT,110,259,대산당진(2공구) 사업구역경계.dxf,/egbim/uploads/qa/1767676611_e77245bb_대산당진(2공구) 사업구역경계.dxf,/home/b24014/egbim/egbim/uploads/qa/1767676611_e77245bb_대산당진(2공구) 사업구역경계.dxf,EGBIM_QA/attachments/110.dxf,2026-01-06 14:16:51,7862979,0aa7ca332109c492430755e958bb3dafc474f90cf673d6c288770bf95ed215fb,READY
POST_ATTACHMENT,111,265,Water Storage Longitudinal & Cross Sections.dwg,/egbim/uploads/qa/1767859318_7cc89086_Water Storage Longitudinal & Cross Sections.dwg,/home/b24014/egbim/egbim/uploads/qa/1767859318_7cc89086_Water Storage Longitudinal & Cross Sections.dwg,EGBIM_QA/attachments/111.dwg,2026-01-08 17:01:58,4280504,7516d4a2efff89caae9bda7b35c7484996abd89c5110de7e6497fa6f06d7f7f6,READY
POST_ATTACHMENT,112,268,20260112_170637.jpg,/egbim/uploads/qa/1768205263_a6745bff_20260112_170637.jpg,/home/b24014/egbim/egbim/uploads/qa/1768205263_a6745bff_20260112_170637.jpg,EGBIM_QA/attachments/112.jpg,2026-01-12 17:07:43,35685,e757b8f5980ef80dcd070083eeef1bf151c4aa7ca051868085d93d649797d73d,READY
POST_ATTACHMENT,113,271,qna.reg,/egbim/uploads/qa/1769129489_51c6c5a1_qna.reg,/home/b24014/egbim/egbim/uploads/qa/1769129489_51c6c5a1_qna.reg,EGBIM_QA/attachments/113.reg,2026-01-23 09:51:29,1570848,c1ca162c3fec26a1da027836241c492dd4be6a057395ea24d819ca4b92fce125,READY
POST_ATTACHMENT,114,271,선스타일.dwg,/egbim/uploads/qa/1769129489_9450dfb2_선스타일.dwg,/home/b24014/egbim/egbim/uploads/qa/1769129489_9450dfb2_선스타일.dwg,EGBIM_QA/attachments/114.dwg,2026-01-23 09:51:29,38956,aa7fc34db90647c45599c859694011d40224bb401328a6791e364dbfa05db191,READY
POST_ATTACHMENT,115,272,스크린샷 2026-01-26 163117.png,/egbim/uploads/qa/1769412837_97587903_스크린샷 2026-01-26 163117.png,/home/b24014/egbim/egbim/uploads/qa/1769412837_97587903_스크린샷 2026-01-26 163117.png,EGBIM_QA/attachments/115.png,2026-01-26 16:33:57,190854,2e89948f9f7d7a639838b9bd11c457563215214b9f8cb376efe272d9d7aa1f4b,READY
POST_ATTACHMENT,116,272,01.외관조사망도_석문국가산단 배수갑문(2025-상반기).dwg,/egbim/uploads/qa/1769413152_e9650533_01.외관조사망도_석문국가산단 배수갑문(2025-상반기).dwg,/home/b24014/egbim/egbim/uploads/qa/1769413152_e9650533_01.외관조사망도_석문국가산단 배수갑문(2025-상반기).dwg,EGBIM_QA/attachments/116.dwg,2026-01-26 16:39:12,6059813,cae1942f52eedbd92510b7c2568fc12230eb1622ddf8cc09f3dd2b7f726cbd4d,READY
POST_ATTACHMENT,117,276,04 부대공.zip,/egbim/uploads/qa/1770021557_40ef19e5_04 부대공.zip,/home/b24014/egbim/egbim/uploads/qa/1770021557_40ef19e5_04 부대공.zip,EGBIM_QA/attachments/117.zip,2026-02-02 17:39:17,3622415,3c8efc54ecf89e5056e123fb02a73d643f6607656a32ee541edb5ee40fcf200e,READY
POST_ATTACHMENT,118,277,01.위치도(동량~산척)_착수보고 PPT-배치1_캐드 플롯.jpg,/egbim/uploads/qa/1770093029_aaf275ad_01.위치도(동량~산척)_착수보고 PPT-배치1_캐드 플롯.jpg,/home/b24014/egbim/egbim/uploads/qa/1770093029_aaf275ad_01.위치도(동량~산척)_착수보고 PPT-배치1_캐드 플롯.jpg,EGBIM_QA/attachments/118.jpg,2026-02-03 13:30:29,5412828,b4e5e7c11ecc8a431263bb98305584295b8c297a7d1cffd62644590e55c121af,READY
POST_ATTACHMENT,119,277,01.위치도(동량~산척)_착수보고 PPT-배치1_이지빔.jpg,/egbim/uploads/qa/1770093029_a394ad6e_01.위치도(동량~산척)_착수보고 PPT-배치1_이지빔.jpg,/home/b24014/egbim/egbim/uploads/qa/1770093029_a394ad6e_01.위치도(동량~산척)_착수보고 PPT-배치1_이지빔.jpg,EGBIM_QA/attachments/119.jpg,2026-02-03 13:30:29,9979649,ba29439563bd83710ec96786e0295ac8008041beaca3d2a4ee324e6003623346,READY
POST_ATTACHMENT,120,278,모델기반 11+600~12+540_SavedWithErrors.dwg,/egbim/uploads/qa/1770098361_d6b40f10_모델기반 11+600~12+540_SavedWithErrors.dwg,/home/b24014/egbim/egbim/uploads/qa/1770098361_d6b40f10_모델기반 11+600~12+540_SavedWithErrors.dwg,EGBIM_QA/attachments/120.dwg,2026-02-03 14:59:21,9081562,9de915baab97aabc179173fc7113ad0a0f0437d1b34ba14274a79340820ae049,READY
POST_ATTACHMENT,121,278,모델기반 11+600~12+540_SavedWithErrors1.dwg,/egbim/uploads/qa/1770098361_3f0f5821_모델기반 11+600~12+540_SavedWithErrors1.dwg,/home/b24014/egbim/egbim/uploads/qa/1770098361_3f0f5821_모델기반 11+600~12+540_SavedWithErrors1.dwg,EGBIM_QA/attachments/121.dwg,2026-02-03 14:59:21,9081562,c19979b840d1e56009c3fc8d3303b32e6e9b73b11218b1d2f9d14c2cfbc6ac69,READY
POST_ATTACHMENT,122,279,KakaoTalk_20260203_153624358.png,/egbim/uploads/qa/1770100639_0390a4a7_KakaoTalk_20260203_153624358.png,/home/b24014/egbim/egbim/uploads/qa/1770100639_0390a4a7_KakaoTalk_20260203_153624358.png,EGBIM_QA/attachments/122.png,2026-02-03 15:37:19,258015,49db96325aca81ac14edd99e5396dfa0abcd172c9129f3fe9ec4694aed75a7a1,READY
POST_ATTACHMENT,123,287,[도면] BIM_대호지교 시점부(A1) 배근도.dwg,/egbim/uploads/qa/1770770865_adf31164_[도면] BIM_대호지교 시점부(A1) 배근도.dwg,/home/b24014/egbim/egbim/uploads/qa/1770770865_adf31164_[도면] BIM_대호지교 시점부(A1) 배근도.dwg,EGBIM_QA/attachments/123.dwg,2026-02-11 09:47:45,3114270,23fee231a2a324b9d7d239e02fcc98ea2ad3f24b9efc7755a55a555a45186ae8,READY
POST_ATTACHMENT,124,289,20260211_113953.png,/egbim/uploads/qa/1770777674_f0db5b88_20260211_113953.png,/home/b24014/egbim/egbim/uploads/qa/1770777674_f0db5b88_20260211_113953.png,EGBIM_QA/attachments/124.png,2026-02-11 11:41:14,754900,8f2d3caf1a31042a78984203b5be7d0de36f7fffe139a258eeb3063c8aafda17,READY
POST_ATTACHMENT,125,289,동산 소하천 보고용 판넬_20250623.dwg,/egbim/uploads/qa/1770777674_32be061c_동산 소하천 보고용 판넬_20250623.dwg,/home/b24014/egbim/egbim/uploads/qa/1770777674_32be061c_동산 소하천 보고용 판넬_20250623.dwg,EGBIM_QA/attachments/125.dwg,2026-02-11 11:41:14,7069368,e264e4b03765b931d33f5cdc731b5f801b2e9d497397f79a19ca33ac34a796d0,READY
POST_ATTACHMENT,126,294,충북도_5000-Layout 01_이지빔 플롯.pdf,/egbim/uploads/qa/1770981372_54c28382_충북도_5000-Layout 01_이지빔 플롯.pdf,/home/b24014/egbim/egbim/uploads/qa/1770981372_54c28382_충북도_5000-Layout 01_이지빔 플롯.pdf,EGBIM_QA/attachments/126.pdf,2026-02-13 20:16:12,13127850,c04950bf5fd4fcbecb3f69011cd314dc4e0e6b19afba4d8689ec8a9c589ebedb,READY
POST_ATTACHMENT,127,294,충북도_5000 Layout 01_캐드 플롯.pdf,/egbim/uploads/qa/1770981372_5880c2a7_충북도_5000 Layout 01_캐드 플롯.pdf,/home/b24014/egbim/egbim/uploads/qa/1770981372_5880c2a7_충북도_5000 Layout 01_캐드 플롯.pdf,EGBIM_QA/attachments/127.pdf,2026-02-13 20:16:12,20443647,41f093151ab26b03ffd313cc5278b0e41b76cd808ec234902bea632dbc54319b,READY
POST_ATTACHMENT,128,297,라이센스 만료.png,/egbim/uploads/qa/1771812094_80f52127_라이센스 만료.png,/home/b24014/egbim/egbim/uploads/qa/1771812094_80f52127_라이센스 만료.png,EGBIM_QA/attachments/128.png,2026-02-23 11:01:34,317079,3f46901ecc0389adc2c9c0e5f9a1d4e7f115a32c259ba7bb79c4d34a85048b3e,READY
POST_ATTACHMENT,129,298,OLE파일 뒤집힘.png,/egbim/uploads/qa/1771912769_2573bcc0_OLE파일 뒤집힘.png,/home/b24014/egbim/egbim/uploads/qa/1771912769_2573bcc0_OLE파일 뒤집힘.png,EGBIM_QA/attachments/129.png,2026-02-24 14:59:29,106954,131a192c3562ab7af38b8c6bca43a8b78e2e0e0a59845beca851a0b9b42b0c13,READY
POST_ATTACHMENT,130,299,1.JPG,/egbim/uploads/qa/1771931821_2bd2f028_1.JPG,/home/b24014/egbim/egbim/uploads/qa/1771931821_2bd2f028_1.JPG,EGBIM_QA/attachments/130.jpg,2026-02-24 20:17:01,30646,021798720afb973ef9f8e476f5943ddc6f465d68f058831041de9cf7a361b274,READY
POST_ATTACHMENT,131,299,2.JPG,/egbim/uploads/qa/1771931821_2db1fc02_2.JPG,/home/b24014/egbim/egbim/uploads/qa/1771931821_2db1fc02_2.JPG,EGBIM_QA/attachments/131.jpg,2026-02-24 20:17:01,48756,efeed26af06ac86da0b4782b556e155870a0e186428ef5e74c412b99faac4793,READY
POST_ATTACHMENT,132,307,Capture_2026_0304_085418.jpeg,/egbim/uploads/qa/1772589489_58166209_Capture_2026_0304_085418.jpeg,/home/b24014/egbim/egbim/uploads/qa/1772589489_58166209_Capture_2026_0304_085418.jpeg,EGBIM_QA/attachments/132.jpeg,2026-03-04 10:58:09,15240,70c38095a169c89ae98b0c5664ee21043889380b1b0a8d466c76274c2f9d5096,READY
POST_ATTACHMENT,133,308,73-1.표지판삽도_ver1.0 (1)-Model.pdf,/egbim/uploads/qa/1772600223_dd899df7_73-1.표지판삽도_ver1.0 (1)-Model.pdf,/home/b24014/egbim/egbim/uploads/qa/1772600223_dd899df7_73-1.표지판삽도_ver1.0 (1)-Model.pdf,EGBIM_QA/attachments/133.pdf,2026-03-04 13:57:03,65864,b0b2ae1b276b846472089515c9a94b413df29b94d1d63b0a87971680b9db7157,READY
POST_ATTACHMENT,134,314,SAMPLE.dwg,/egbim/uploads/qa/1773023518_37a3c762_SAMPLE.dwg,/home/b24014/egbim/egbim/uploads/qa/1773023518_37a3c762_SAMPLE.dwg,EGBIM_QA/attachments/134.dwg,2026-03-09 11:31:58,364583,e1c5f6b6e05df5c27917722ce935fec2caf516a8b64dadf1ada3b9414162c4e5,READY
POST_ATTACHMENT,135,315,xr_5000도 - Standard.zip,/egbim/uploads/qa/1773031430_e95b4590_xr_5000도 - Standard.zip,/home/b24014/egbim/egbim/uploads/qa/1773031430_e95b4590_xr_5000도 - Standard.zip,EGBIM_QA/attachments/135.zip,2026-03-09 13:43:50,23926222,05674a08d619826b89654535bee3bf3b7b9e21241309d447bd70ad7505e4e2e4,READY
POST_ATTACHMENT,136,314,221.reg,/egbim/uploads/qa/1773036532_bb72f2b6_221.reg,/home/b24014/egbim/egbim/uploads/qa/1773036532_bb72f2b6_221.reg,EGBIM_QA/attachments/136.reg,2026-03-09 15:08:52,1659696,52e33ed1fc8c9e89e1220cad80a8b4b5599825440599a91db9ecae07615671b4,READY
POST_ATTACHMENT,137,320,image01.png,/egbim/uploads/qa/1773107400_47a5874c_image01.png,/home/b24014/egbim/egbim/uploads/qa/1773107400_47a5874c_image01.png,EGBIM_QA/attachments/137.png,2026-03-10 10:50:00,76000,c4c57b7ec1eb76eb4b568c37102b6cfc7a4130f7bda0784a6946bcc9311c354b,READY
POST_ATTACHMENT,138,321,오류.JPG,/egbim/uploads/qa/1773110406_f0a0aaab_오류.JPG,/home/b24014/egbim/egbim/uploads/qa/1773110406_f0a0aaab_오류.JPG,EGBIM_QA/attachments/138.jpg,2026-03-10 11:40:06,15771,958b17b03737d72f71354a3c58efc183853c7b539d8aabd59ca484f838076190,READY
POST_ATTACHMENT,139,321,오류-2.JPG,/egbim/uploads/qa/1773110406_dcbd32e4_오류-2.JPG,/home/b24014/egbim/egbim/uploads/qa/1773110406_dcbd32e4_오류-2.JPG,EGBIM_QA/attachments/139.jpg,2026-03-10 11:40:06,21835,e94f71b21a6477be83c0ab698d85b638135a9fd946957ecb0f44928a4554c4f4,READY
POST_ATTACHMENT,140,327,[남양주시] 남양주왕숙2 공공주택지구(4326).dxf,/egbim/uploads/qa/1773204441_94408044_[남양주시] 남양주왕숙2 공공주택지구(4326).dxf,/home/b24014/egbim/egbim/uploads/qa/1773204441_94408044_[남양주시] 남양주왕숙2 공공주택지구(4326).dxf,EGBIM_QA/attachments/140.dxf,2026-03-11 13:47:21,43114,bac090501bf2c8a409a1b380b6f497db42351aa1fbc58df4568e280f62ad6247,READY
POST_ATTACHMENT,141,327,경계선 화면표시 왜곡.png,/egbim/uploads/qa/1773204441_5d81ff38_경계선 화면표시 왜곡.png,/home/b24014/egbim/egbim/uploads/qa/1773204441_5d81ff38_경계선 화면표시 왜곡.png,EGBIM_QA/attachments/141.png,2026-03-11 13:47:21,140235,7ebb7bd1ba03e94a5c55720701e464ab31129917e592149a86d54770f25b7988,READY
POST_ATTACHMENT,142,330,캡처.JPG,/egbim/uploads/qa/1773276735_fb25c050_캡처.JPG,/home/b24014/egbim/egbim/uploads/qa/1773276735_fb25c050_캡처.JPG,EGBIM_QA/attachments/142.jpg,2026-03-12 09:52:15,97553,adb894bbc2d9b8d142df2c4a7bed90148eb29aaf7424e46b78e656f704228c15,READY
POST_ATTACHMENT,144,337,#위치도 - Standard.zip,/egbim/uploads/qa/1773798816_89ad4aa6_#위치도 - Standard.zip,/home/b24014/egbim/egbim/uploads/qa/1773798816_89ad4aa6_#위치도 - Standard.zip,EGBIM_QA/attachments/144.zip,2026-03-18 10:53:36,19107361,3face2ed58a068c51f97fb9dba02edb5ef35e99280ea1344ee41b7e86286a69c,READY
POST_ATTACHMENT,145,338,KakaoTalk_20260319_145034264.jpg,/egbim/uploads/qa/1773900161_53915f6e_KakaoTalk_20260319_145034264.jpg,/home/b24014/egbim/egbim/uploads/qa/1773900161_53915f6e_KakaoTalk_20260319_145034264.jpg,EGBIM_QA/attachments/145.jpg,2026-03-19 15:02:41,378049,79dc1a8a72a3d0f9a4ba6cdcbf39b09e9f84a6b557c27e0246d5be0545ccbc44,READY
POST_ATTACHMENT,146,338,KakaoTalk_20260319_145034264_01.jpg,/egbim/uploads/qa/1773900161_3b1082f5_KakaoTalk_20260319_145034264_01.jpg,/home/b24014/egbim/egbim/uploads/qa/1773900161_3b1082f5_KakaoTalk_20260319_145034264_01.jpg,EGBIM_QA/attachments/146.jpg,2026-03-19 15:02:41,585362,e8ca291802ff49ed6e9ea5a824431d79104f5ad3288cd08f431a2d8c21a0f1db,READY
POST_ATTACHMENT,147,339,첨부사진1.jpg,/egbim/uploads/qa/1773902591_57df1f0e_첨부사진1.jpg,/home/b24014/egbim/egbim/uploads/qa/1773902591_57df1f0e_첨부사진1.jpg,EGBIM_QA/attachments/147.jpg,2026-03-19 15:43:11,6617605,841698df6e91f4230e34513ea27109b33c239cebf390572afccf7bb58983e9e3,READY
POST_ATTACHMENT,148,339,첨부사진2.jpg,/egbim/uploads/qa/1773902591_4feb8795_첨부사진2.jpg,/home/b24014/egbim/egbim/uploads/qa/1773902591_4feb8795_첨부사진2.jpg,EGBIM_QA/attachments/148.jpg,2026-03-19 15:43:11,6754195,0d04863f932fae8df98a10f7b2b18e3f02d7079e2797fac0dd3f4139e83811d8,READY
POST_ATTACHMENT,149,339,첨부사진3.jpg,/egbim/uploads/qa/1773902591_a27c9ef4_첨부사진3.jpg,/home/b24014/egbim/egbim/uploads/qa/1773902591_a27c9ef4_첨부사진3.jpg,EGBIM_QA/attachments/149.jpg,2026-03-19 15:43:11,7161806,c86750d6bb5f705b8a31116934e3d68882562b85cafb19989ea85d562f00a5f2,READY
POST_ATTACHMENT,150,340,1111.jpg,/egbim/uploads/qa/1773966469_12a2b062_1111.jpg,/home/b24014/egbim/egbim/uploads/qa/1773966469_12a2b062_1111.jpg,EGBIM_QA/attachments/150.jpg,2026-03-20 09:27:49,941277,144da3eb2d1689de5ebbd8ac2cee8fad55378720d402b133b0051c7c61247d3b,READY
POST_ATTACHMENT,151,343,R1 단축키.reg,/egbim/uploads/qa/1774227996_f0503a4f_R1 단축키.reg,/home/b24014/egbim/egbim/uploads/qa/1774227996_f0503a4f_R1 단축키.reg,EGBIM_QA/attachments/151.reg,2026-03-23 10:06:36,492242,92f717665a024917e2a557fdbd6962c7f648a45e09c49bc1a27b931385dbf9d8,READY
POST_ATTACHMENT,152,343,R1 단축키.hwp,/egbim/uploads/qa/1774227996_7f8b0fc5_R1 단축키.hwp,/home/b24014/egbim/egbim/uploads/qa/1774227996_7f8b0fc5_R1 단축키.hwp,EGBIM_QA/attachments/152.hwp,2026-03-23 10:06:36,95744,727f7ace62982fcfaba2e9277927787307e888c544a395bbf06770de91ec090e,READY
POST_ATTACHMENT,153,347,사진1.png,/egbim/uploads/qa/1774414907_9dc0f797_사진1.png,/home/b24014/egbim/egbim/uploads/qa/1774414907_9dc0f797_사진1.png,EGBIM_QA/attachments/153.png,2026-03-25 14:01:47,147920,a3d98fac50a4c07676cffe87dc6f7a2b9b17964685d3092b14902c8f3836368e,READY
POST_ATTACHMENT,154,347,사진2.png,/egbim/uploads/qa/1774414907_190050a8_사진2.png,/home/b24014/egbim/egbim/uploads/qa/1774414907_190050a8_사진2.png,EGBIM_QA/attachments/154.png,2026-03-25 14:01:47,149296,471d7341ca8afc0d43eb90538b686bac56c151d228838e1a5e15f5ecff99d591,READY
POST_ATTACHMENT,156,352,20260401_150953.jpg,/egbim/uploads/qa/1775023822_2c7de3b2_20260401_150953.jpg,/home/b24014/egbim/egbim/uploads/qa/1775023822_2c7de3b2_20260401_150953.jpg,EGBIM_QA/attachments/156.jpg,2026-04-01 15:10:22,863604,22ded1013f48745ce1b47223a6ffdcd1909dbb241eebf040e65c82c0705575ce,READY
POST_ATTACHMENT,157,354,장제로 측량현황도(2구간)_230612F(측량보완).dwg,/egbim/uploads/qa/1775090986_971be355_장제로 측량현황도(2구간)_230612F(측량보완).dwg,/home/b24014/egbim/egbim/uploads/qa/1775090986_971be355_장제로 측량현황도(2구간)_230612F(측량보완).dwg,EGBIM_QA/attachments/157.dwg,2026-04-02 09:49:46,3436308,a78606f1c9a5e360417bb53a513e94ae32fee354e039ef7f0e3dd147627aeaf8,READY
POST_ATTACHMENT,158,355,20260403114033.jpg,/egbim/uploads/qa/1775184064_ea2f33e1_20260403114033.jpg,/home/b24014/egbim/egbim/uploads/qa/1775184064_ea2f33e1_20260403114033.jpg,EGBIM_QA/attachments/158.jpg,2026-04-03 11:41:04,124084,1f152bcf81ac58129532124f2827e5612844a1f6fbfee13d9c6c0c22be145ab6,READY
POST_ATTACHMENT,159,355,Drawing1.dwg,/egbim/uploads/qa/1775184083_d66db56a_Drawing1.dwg,/home/b24014/egbim/egbim/uploads/qa/1775184083_d66db56a_Drawing1.dwg,EGBIM_QA/attachments/159.dwg,2026-04-03 11:41:23,76800,2926f7e37e6e07fbd145741b1f75cb944b1e746b7f2b45cd06b9553b61e695da,READY
POST_ATTACHMENT,160,363,에러 화면 캡쳐.GIF,/egbim/uploads/qa/1776046918_888778ff_에러 화면 캡쳐.GIF,/home/b24014/egbim/egbim/uploads/qa/1776046918_888778ff_에러 화면 캡쳐.GIF,EGBIM_QA/attachments/160.gif,2026-04-13 11:21:58,48199,a35e0a1036123fc14cd67e92e3ac49c6886f15f42533e8bee17c5fa720e275b8,READY
POST_ATTACHMENT,161,365,pl오류.dwg,/egbim/uploads/qa/1776126098_a3aa42b9_pl오류.dwg,/home/b24014/egbim/egbim/uploads/qa/1776126098_a3aa42b9_pl오류.dwg,EGBIM_QA/attachments/161.dwg,2026-04-14 09:21:38,9432604,05f3690fef35db2635ea0ed3e39085e7ce29f155a3805d317849e33fe6ca006b,READY
POST_ATTACHMENT,162,370,취수통관 일반도.dwg,/egbim/uploads/qa/1776237707_cac90675_취수통관 일반도.dwg,/home/b24014/egbim/egbim/uploads/qa/1776237707_cac90675_취수통관 일반도.dwg,EGBIM_QA/attachments/162.dwg,2026-04-15 16:21:47,7338797,3238a580f95363c395d8083c57a8b9814103ee86180bccb540a58c918c3b39af,READY
POST_ATTACHMENT,163,370,FIXVPORT.lsp,/egbim/uploads/qa/1776313758_50338ccd_FIXVPORT.lsp,/home/b24014/egbim/egbim/uploads/qa/1776313758_50338ccd_FIXVPORT.lsp,EGBIM_QA/attachments/163.lsp,2026-04-16 13:29:18,1550,15121c1776ef51f3cc46067009d8aede5989b96c968fb02ca185c34c06ad96f1,READY
POST_ATTACHMENT,164,374,플롯 투명도 미적용.jpg,/egbim/uploads/qa/1776402611_020072af_플롯 투명도 미적용.jpg,/home/b24014/egbim/egbim/uploads/qa/1776402611_020072af_플롯 투명도 미적용.jpg,EGBIM_QA/attachments/164.jpg,2026-04-17 14:10:11,6383923,1293ea295d902ceff0c22d7cc1bc5681b45c7f5e03a0ee4a933ac765b2812221,READY
POST_ATTACHMENT,165,374,플롯 투명도 적용.jpg,/egbim/uploads/qa/1776402611_81361a50_플롯 투명도 적용.jpg,/home/b24014/egbim/egbim/uploads/qa/1776402611_81361a50_플롯 투명도 적용.jpg,EGBIM_QA/attachments/165.jpg,2026-04-17 14:10:11,6474066,1cce8342bdb8807a694ae929bf8426577d2c6d814db538bc7dde910434ad1b59,READY
POST_ATTACHMENT,166,375,객체스냅 잔상오류.JPG,/egbim/uploads/qa/1776413706_248fe7ee_객체스냅 잔상오류.JPG,/home/b24014/egbim/egbim/uploads/qa/1776413706_248fe7ee_객체스냅 잔상오류.JPG,EGBIM_QA/attachments/166.jpg,2026-04-17 17:15:06,36113,0ad5fed6e868621f9103c8b5636cb44a6109517b541fdaa746403a272739920f,READY
POST_ATTACHMENT,167,376,스크린샷 2026-04-21 095747.png,/egbim/uploads/qa/1776733186_424f64a2_스크린샷 2026-04-21 095747.png,/home/b24014/egbim/egbim/uploads/qa/1776733186_424f64a2_스크린샷 2026-04-21 095747.png,EGBIM_QA/attachments/167.png,2026-04-21 09:59:46,14989,42e0aeb8b9858d64daec4098f74e35be1fc22efb7699cae002a9220276d031f7,READY
POST_ATTACHMENT,168,378,[1.4.0.0.P.VC16.x64.RF111][AccessViolation][atio6axx.dll][7ffe5bccd1a4][2026-04-21][10.12.35].zip,/egbim/uploads/qa/1776766716_df575e28_[1.4.0.0.P.VC16.x64.RF111][AccessViolation][atio6axx.dll][7ffe5bccd1a4][2026-04-21][10.12.35].zip,/home/b24014/egbim/egbim/uploads/qa/1776766716_df575e28_[1.4.0.0.P.VC16.x64.RF111][AccessViolation][atio6axx.dll][7ffe5bccd1a4][2026-04-21][10.12.35].zip,EGBIM_QA/attachments/168.zip,2026-04-21 19:18:36,530581,00ed486bb01822eb2f8a7d881b2d9c9f49003898521cfed30852d1d627c3963c,READY
POST_ATTACHMENT,169,379,260424_지하차도_형상기획_수정.dwg,/egbim/uploads/qa/1776998655_bcfd14d9_260424_지하차도_형상기획_수정.dwg,/home/b24014/egbim/egbim/uploads/qa/1776998655_bcfd14d9_260424_지하차도_형상기획_수정.dwg,EGBIM_QA/attachments/169.dwg,2026-04-24 11:44:15,1276553,83cb31161686eaa7cfb2822172ffb83a2340b501cbe1ed65e2d0ffb8881c7183,READY
POST_ATTACHMENT,170,382,coordinates export 명령어 오류.png,/egbim/uploads/qa/1777267785_bec79089_coordinates export 명령어 오류.png,/home/b24014/egbim/egbim/uploads/qa/1777267785_bec79089_coordinates export 명령어 오류.png,EGBIM_QA/attachments/170.png,2026-04-27 14:29:45,4560,506fc8515bf3170710c72438e5d16cd7431040ac11d05d90ab9183ce3d429c15,READY
POST_ATTACHMENT,171,383,삽도_항만1.dwg,/egbim/uploads/qa/1777270823_3a635eea_삽도_항만1.dwg,/home/b24014/egbim/egbim/uploads/qa/1777270823_3a635eea_삽도_항만1.dwg,EGBIM_QA/attachments/171.dwg,2026-04-27 15:20:23,804450,ac88121fe5c0f68ab61fed22844ddf73cfcdec9bb749ed76f0ea10f8a1cac671,READY
POST_ATTACHMENT,172,389,EG-BIM 오류 사진.JPG,/egbim/uploads/qa/1778658428_e211433b_EG-BIM 오류 사진.JPG,/home/b24014/egbim/egbim/uploads/qa/1778658428_e211433b_EG-BIM 오류 사진.JPG,EGBIM_QA/attachments/172.jpg,2026-05-13 16:47:08,73973,b05e3e850a2bca6ed1a50252dfe0ba87d2e45cbe4b690821388ea481d86d4b89,READY
POST_ATTACHMENT,175,390,화목나들목-EGBIM 오류보고용.dwg,/egbim/uploads/qa/1778660458_f476ed9a_화목나들목-EGBIM 오류보고용.dwg,/home/b24014/egbim/egbim/uploads/qa/1778660458_f476ed9a_화목나들목-EGBIM 오류보고용.dwg,EGBIM_QA/attachments/175.dwg,2026-05-13 17:20:58,77343,40237268afeabcfaeee6951c656468f9dc4febb9c8e98226a9bf6da5181146c2,READY
POST_ATTACHMENT,176,390,화목나들목-EGBIM 오류보고용.dwg,/egbim/uploads/qa/1778660499_6f38cd60_화목나들목-EGBIM 오류보고용.dwg,/home/b24014/egbim/egbim/uploads/qa/1778660499_6f38cd60_화목나들목-EGBIM 오류보고용.dwg,EGBIM_QA/attachments/176.dwg,2026-05-13 17:21:39,77343,40237268afeabcfaeee6951c656468f9dc4febb9c8e98226a9bf6da5181146c2,READY
POST_ATTACHMENT,177,390,GETIP_98.lsp,/egbim/uploads/qa/1778660499_b8b03fd6_GETIP_98.lsp,/home/b24014/egbim/egbim/uploads/qa/1778660499_b8b03fd6_GETIP_98.lsp,EGBIM_QA/attachments/177.lsp,2026-05-13 17:21:39,165924,27e6e136508a7cb59e27a5de5e381b16953c7e59e4113b3e63674dbaab077395,READY
POST_ATTACHMENT,178,390,GETIP_98_메뉴얼.docx,/egbim/uploads/qa/1778660499_849c91fc_GETIP_98_메뉴얼.docx,/home/b24014/egbim/egbim/uploads/qa/1778660499_849c91fc_GETIP_98_메뉴얼.docx,EGBIM_QA/attachments/178.docx,2026-05-13 17:21:39,58867,afd0afeaf088e0058e457e33a6c4e660103848a7bab6cba08f326a7629054a7b,READY
POST_ATTACHMENT,179,394,라이센스만료.jpg,/egbim/uploads/qa/1779264146_e0d2995e_라이센스만료.jpg,/home/b24014/egbim/egbim/uploads/qa/1779264146_e0d2995e_라이센스만료.jpg,EGBIM_QA/attachments/179.jpg,2026-05-20 17:02:26,91524,198f52e06dbf9de1325f75fae9c11e3bd51a68bbb1f165e30f4cac4dcdd39aac,READY
POST_ATTACHMENT,180,395,스크린샷 2026-05-21 100324.png,/egbim/uploads/qa/1779325494_3a31f842_스크린샷 2026-05-21 100324.png,/home/b24014/egbim/egbim/uploads/qa/1779325494_3a31f842_스크린샷 2026-05-21 100324.png,EGBIM_QA/attachments/180.png,2026-05-21 10:04:54,14012,49dda271788a188005717723998aa1022bc28a21bdbcc7ce7259cb74af441c2c,READY
POST_ATTACHMENT,181,395,스크린샷 2026-05-21 100321.png,/egbim/uploads/qa/1779325494_11ebfab5_스크린샷 2026-05-21 100321.png,/home/b24014/egbim/egbim/uploads/qa/1779325494_11ebfab5_스크린샷 2026-05-21 100321.png,EGBIM_QA/attachments/181.png,2026-05-21 10:04:54,13860,fb6907e21921016d561401319a350063221ca2cc3e715247364a316320abc69b,READY
POST_ATTACHMENT,182,397,20260526_095314.png,/egbim/uploads/qa/1779756862_0d572e8d_20260526_095314.png,/home/b24014/egbim/egbim/uploads/qa/1779756862_0d572e8d_20260526_095314.png,EGBIM_QA/attachments/182.png,2026-05-26 09:54:22,20200,36e75055fbade2a0a441cf32aed206f483daea06c0beb41160fbe03e76494336,READY
POST_ATTACHMENT,183,402,가이드.jpg,/egbim/uploads/qa/1780014799_545244bb_가이드.jpg,/home/b24014/egbim/egbim/uploads/qa/1780014799_545244bb_가이드.jpg,EGBIM_QA/attachments/183.jpg,2026-05-29 09:33:19,338193,06838837d04581bc700a964ad33d67db9d661be82abbde866b0f4d808f08a249,READY
POST_ATTACHMENT,184,402,사용자 화면.jpg,/egbim/uploads/qa/1780014799_c801fad7_사용자 화면.jpg,/home/b24014/egbim/egbim/uploads/qa/1780014799_c801fad7_사용자 화면.jpg,EGBIM_QA/attachments/184.jpg,2026-05-29 09:33:19,93003,c29fe3d3ab85169abee38e19003d79184d12bbba922fdbbac567bd433d60b72d,READY
POST_ATTACHMENT,185,403,KakaoTalk_20260601_111539096.png,/egbim/uploads/qa/1780280218_4c26ccca_KakaoTalk_20260601_111539096.png,/home/b24014/egbim/egbim/uploads/qa/1780280218_4c26ccca_KakaoTalk_20260601_111539096.png,EGBIM_QA/attachments/185.png,2026-06-01 11:16:58,279159,7b79ead79665318a1e73651a1eb1055739ed2520d8e30837cf5d6f2475244bc8,READY
POST_ATTACHMENT,186,404,화면 캡처 2026-06-02 092930.png,/egbim/uploads/qa/1780360313_07bb49b7_화면 캡처 2026-06-02 092930.png,/home/b24014/egbim/egbim/uploads/qa/1780360313_07bb49b7_화면 캡처 2026-06-02 092930.png,EGBIM_QA/attachments/186.png,2026-06-02 09:31:53,32378,fc83ae8ef9f4fe4f3605707719b5dc8697a12a441540b57d89fa54825a206701,READY
POST_ATTACHMENT,187,404,화면 캡처 2026-06-02 092947.png,/egbim/uploads/qa/1780360313_ade54746_화면 캡처 2026-06-02 092947.png,/home/b24014/egbim/egbim/uploads/qa/1780360313_ade54746_화면 캡처 2026-06-02 092947.png,EGBIM_QA/attachments/187.png,2026-06-02 09:31:53,32624,0c718e4c5a69ae7457c9e7ae4da3623d0675cfa2a0282e56982cf47e3b682f90,READY
POST_ATTACHMENT,188,400,Template_2.1 배수유역도.dwg,/egbim/uploads/qa/1780531301_aac4c4cd_Template_2.1 배수유역도.dwg,/home/b24014/egbim/egbim/uploads/qa/1780531301_aac4c4cd_Template_2.1 배수유역도.dwg,EGBIM_QA/attachments/188.dwg,2026-06-04 09:01:41,29378984,cd3077319dff0fa7d75f19b9ffb20c309a78534276e36854a759109e1fbaa5c2,READY
POST_ATTACHMENT,189,407,KakaoTalk_20260605_142943486.jpg,/egbim/uploads/qa/1780637503_892f16bb_KakaoTalk_20260605_142943486.jpg,/home/b24014/egbim/egbim/uploads/qa/1780637503_892f16bb_KakaoTalk_20260605_142943486.jpg,EGBIM_QA/attachments/189.jpg,2026-06-05 14:31:43,703573,ed7e93cfe49173b4e2c7c948af324b4c5614ea9c878f6e3c75c4d73c2b14ad85,READY
POST_ATTACHMENT,190,407,KakaoTalk_20260605_142943486_01.jpg,/egbim/uploads/qa/1780637503_372f320a_KakaoTalk_20260605_142943486_01.jpg,/home/b24014/egbim/egbim/uploads/qa/1780637503_372f320a_KakaoTalk_20260605_142943486_01.jpg,EGBIM_QA/attachments/190.jpg,2026-06-05 14:31:43,664978,0804c807921f6fe03755b583cd61a0141d8db63b1eb1da0a39452dac33aa3d2a,READY
POST_ATTACHMENT,192,412,화면 캡처 2026-06-11 174153.png,/egbim/uploads/qa/1781167325_5a9703b6_화면 캡처 2026-06-11 174153.png,/home/b24014/egbim/egbim/uploads/qa/1781167325_5a9703b6_화면 캡처 2026-06-11 174153.png,EGBIM_QA/attachments/192.png,2026-06-11 17:42:05,4681,3641828b91540c5c4a25151acf2a80f93a740054aa7051d26b23e4eb48de1b8b,READY
POST_ATTACHMENT,193,414,01. GUI.png,/egbim/uploads/qa/1781835223_cc22b796_01. GUI.png,/home/b24014/egbim/egbim/uploads/qa/1781835223_cc22b796_01. GUI.png,EGBIM_QA/attachments/193.png,2026-06-19 11:13:43,9833,4121b7840b7e77235256515818c56b4351f8c7a65167e434df9f884bd134f2a1,READY
POST_ATTACHMENT,194,414,02. 사용 전.png,/egbim/uploads/qa/1781835223_0deec111_02. 사용 전.png,/home/b24014/egbim/egbim/uploads/qa/1781835223_0deec111_02. 사용 전.png,EGBIM_QA/attachments/194.png,2026-06-19 11:13:43,402077,e05a9f994d23878a1f83f7ab794fc742cb1955b643449208a1b30d06bf44345a,READY
POST_ATTACHMENT,195,414,03. 사용 후.png,/egbim/uploads/qa/1781835223_e88a8429_03. 사용 후.png,/home/b24014/egbim/egbim/uploads/qa/1781835223_e88a8429_03. 사용 후.png,EGBIM_QA/attachments/195.png,2026-06-19 11:13:43,1212504,27f8b4ec360acc3d092286bee90d1d126d4615dbdb4c91055a510ed224293858,READY
POST_ATTACHMENT,196,414,run_app4.zip,/egbim/uploads/qa/1781835254_32c077c2_run_app4.zip,/home/b24014/egbim/egbim/uploads/qa/1781835254_32c077c2_run_app4.zip,EGBIM_QA/attachments/196.zip,2026-06-19 11:14:14,4950,103256f144f8ba51e301c5145b9193d27d68359591addee318f7b7a8379c839c,READY
POST_ATTACHMENT,197,414,@결과물.zip,/egbim/uploads/qa/1781835687_796bf16f_@결과물.zip,/home/b24014/egbim/egbim/uploads/qa/1781835687_796bf16f_@결과물.zip,EGBIM_QA/attachments/197.zip,2026-06-19 11:21:27,15438858,5a2f7d9533ea54526728159b09d385d2a3687562cc3060e4b085da186cbeb640,READY
POST_ATTACHMENT,198,415,캡처.PNG,/egbim/uploads/qa/1782265044_268704fe_캡처.PNG,/home/b24014/egbim/egbim/uploads/qa/1782265044_268704fe_캡처.PNG,EGBIM_QA/attachments/198.png,2026-06-24 10:37:24,176968,1dea4cd91e5fcce55d0e5138e817270066c36742ba7918ab2d579f1c656c59d3,READY
POST_ATTACHMENT,199,416,26.06.23.[사연댐] 가설사무소.dwg,/egbim/uploads/qa/1782268644_6fac966e_26.06.23.[사연댐] 가설사무소.dwg,/home/b24014/egbim/egbim/uploads/qa/1782268644_6fac966e_26.06.23.[사연댐] 가설사무소.dwg,EGBIM_QA/attachments/199.dwg,2026-06-24 11:37:24,856626,204ddc38694f24ea2259d2efe82edd924c280ceffa92b73831865e6430a9bdeb,READY
POST_ATTACHMENT,200,417,스크린샷 2026-06-25 071539.png,/egbim/uploads/qa/1782339640_a61cfc0f_스크린샷 2026-06-25 071539.png,/home/b24014/egbim/egbim/uploads/qa/1782339640_a61cfc0f_스크린샷 2026-06-25 071539.png,EGBIM_QA/attachments/200.png,2026-06-25 07:20:40,223886,36d3b8f9c0e4da121505611cda3788224116982dd38df0508bd8cd84b7fd1c50,READY
POST_ATTACHMENT,201,419,화면 캡처 2026-06-29 101639.png,/egbim/uploads/qa/1782696867_10435be3_화면 캡처 2026-06-29 101639.png,/home/b24014/egbim/egbim/uploads/qa/1782696867_10435be3_화면 캡처 2026-06-29 101639.png,EGBIM_QA/attachments/201.png,2026-06-29 10:34:27,6649,07faa36974b18490bf648b488548c331cb455d49d1d73a09f78dfeb9c43a78c0,READY
POST_ATTACHMENT,202,421,드림플러스 다중플롯.png,/egbim/uploads/qa/1782792569_95448cc4_드림플러스 다중플롯.png,/home/b24014/egbim/egbim/uploads/qa/1782792569_95448cc4_드림플러스 다중플롯.png,EGBIM_QA/attachments/202.png,2026-06-30 13:09:29,43509,2bc1acfee980a6267ade67a87ab8338e8ade20878af0418ad52793f85e372de9,READY
POST_ATTACHMENT,203,423,화면 캡처 2026-07-01 144718.jpg,/egbim/uploads/qa/1782884844_dd63a83a_화면 캡처 2026-07-01 144718.jpg,/home/b24014/egbim/egbim/uploads/qa/1782884844_dd63a83a_화면 캡처 2026-07-01 144718.jpg,EGBIM_QA/attachments/203.jpg,2026-07-01 14:47:24,293809,5ccc4ab568fe2e501ce87a0affb1b0a055321d887d87b13ed933579c6ce7a1d5,READY
POST_ATTACHMENT,204,424,강경보도육교 기초일반도 및 구조도.dwg,/egbim/uploads/qa/1782890640_53f8f297_강경보도육교 기초일반도 및 구조도.dwg,/home/b24014/egbim/egbim/uploads/qa/1782890640_53f8f297_강경보도육교 기초일반도 및 구조도.dwg,EGBIM_QA/attachments/204.dwg,2026-07-01 16:24:00,540872,7d2d1bcfe23042819e436c1aaea2f4f3fa1a251a44741b0b0b720c8620a10c95,READY
POST_ATTACHMENT,205,426,K-002.png,/egbim/uploads/qa/1782951055_0bf4aa55_K-002.png,/home/b24014/egbim/egbim/uploads/qa/1782951055_0bf4aa55_K-002.png,EGBIM_QA/attachments/205.png,2026-07-02 09:10:55,28945,d9f832f8ac982bbe0d7f99ab810e00191928a151d9f4317db48ce34ab47b1ffd,READY
POST_ATTACHMENT,206,430,스크린샷 2026-07-02 170745.png,/egbim/uploads/qa/1782979656_06e3abdc_스크린샷 2026-07-02 170745.png,/home/b24014/egbim/egbim/uploads/qa/1782979656_06e3abdc_스크린샷 2026-07-02 170745.png,EGBIM_QA/attachments/206.png,2026-07-02 17:07:36,246344,1d7f89223c98be22dd04b4ee8317a08ea51809905eef339eef6f6d94a0744cf4,READY
POST_ATTACHMENT,207,431,오류사진.jpg,/egbim/uploads/qa/1783040005_9468e361_오류사진.jpg,/home/b24014/egbim/egbim/uploads/qa/1783040005_9468e361_오류사진.jpg,EGBIM_QA/attachments/207.jpg,2026-07-03 09:53:25,14300792,8c457222caea53e77e54ba61677bb6f786ecd112570441d95f4ff0c8a4819976,READY
POST_ATTACHMENT,208,434,textmask 적용전.JPG,/egbim/uploads/qa/1783471005_8e35371c_textmask 적용전.JPG,/home/b24014/egbim/egbim/uploads/qa/1783471005_8e35371c_textmask 적용전.JPG,EGBIM_QA/attachments/208.jpg,2026-07-08 09:36:45,33475,7284708a229097dcd33f123cfcab0f39c1614a7951306485f81c312183a179a3,READY
POST_ATTACHMENT,209,434,textmask 적용후.JPG,/egbim/uploads/qa/1783471005_339bbf33_textmask 적용후.JPG,/home/b24014/egbim/egbim/uploads/qa/1783471005_339bbf33_textmask 적용후.JPG,EGBIM_QA/attachments/209.jpg,2026-07-08 09:36:45,27083,2a29807d3a5a0bbf42745f357124786d9419e50a0b2637d5ecaf892700417642,READY
POST_ATTACHMENT,210,435,bim.jpg,/egbim/uploads/qa/1783473276_b1063ad3_bim.jpg,/home/b24014/egbim/egbim/uploads/qa/1783473276_b1063ad3_bim.jpg,EGBIM_QA/attachments/210.jpg,2026-07-08 10:14:36,12667664,706c6f678ac9d511038e358e2115cc0263846ee072a8b8b1574812cbe93230bd,READY
POST_ATTACHMENT,211,442,선꼴 다름 이슈.grm,/egbim/uploads/qa/1783673593_6f692e19_선꼴 다름 이슈.grm,/home/b24014/egbim/egbim/uploads/qa/1783673593_6f692e19_선꼴 다름 이슈.grm,EGBIM_QA/attachments/211.grm,2026-07-10 17:53:13,2112407,ef8fee5e1dea30f31f0096215daf08dc73434021f29b2163a4b5f8f8d4e545d3,READY
POST_ATTACHMENT,212,447,화면 캡처 2026-07-14 083937.png,/egbim/uploads/qa/1783986125_f66db96d_화면 캡처 2026-07-14 083937.png,/home/b24014/egbim/egbim/uploads/qa/1783986125_f66db96d_화면 캡처 2026-07-14 083937.png,EGBIM_QA/attachments/212.png,2026-07-14 08:42:05,28036,161b0876f4992c84abb4a9ccde4baa502d11616c69d87bfed23f30674b5ea0a3,READY
POST_ATTACHMENT,213,448,1783986125_f66db96d_화면 캡처 2026-07-14 083937.png,/egbim/uploads/qa/1783996847_3cb864ad_1783986125_f66db96d_화면 캡처 2026-07-14 083937.png,/home/b24014/egbim/egbim/uploads/qa/1783996847_3cb864ad_1783986125_f66db96d_화면 캡처 2026-07-14 083937.png,EGBIM_QA/attachments/213.png,2026-07-14 11:40:47,28036,161b0876f4992c84abb4a9ccde4baa502d11616c69d87bfed23f30674b5ea0a3,READY
POST_ATTACHMENT,214,451,선꼴 2.grm,/egbim/uploads/qa/1784074055_e1e26cd0_선꼴 2.grm,/home/b24014/egbim/egbim/uploads/qa/1784074055_e1e26cd0_선꼴 2.grm,EGBIM_QA/attachments/214.grm,2026-07-15 09:07:35,76261,4bc135754b89ba21847ad2aebab2b7b1ca15af541ce10f8156c4e1c17b155960,READY
POST_ATTACHMENT,215,451,선꼴 1.grm,/egbim/uploads/qa/1784074055_629de472_선꼴 1.grm,/home/b24014/egbim/egbim/uploads/qa/1784074055_629de472_선꼴 1.grm,EGBIM_QA/attachments/215.grm,2026-07-15 09:07:35,118820,f93670ba87ca71a2768d731b587b88851a0b8d492fa18fea55036d76bd632994,READY
POST_ATTACHMENT,216,454,1.png,/egbim/uploads/qa/1784177112_ba1e5c61_1.png,/home/b24014/egbim/egbim/uploads/qa/1784177112_ba1e5c61_1.png,EGBIM_QA/attachments/216.png,2026-07-16 13:45:12,158133,15db3aec0617f72f7dea15ffbc0242097fe2635976f0d60b78f1cd1558d926d6,READY
POST_ATTACHMENT,217,458,LISP파일_오류.dwg,/egbim/uploads/qa/1784510886_73b9362f_LISP파일_오류.dwg,/home/b24014/egbim/egbim/uploads/qa/1784510886_73b9362f_LISP파일_오류.dwg,EGBIM_QA/attachments/217.dwg,2026-07-20 10:28:06,2563303,13e72e81f4617a23d1f6136b3ed5e74ef28c704b5929b02d96a7922b214df0c2,READY
POST_ATTACHMENT,218,458,횡단면_응용_v12.lsp,/egbim/uploads/qa/1784510886_fec62264_횡단면_응용_v12.lsp,/home/b24014/egbim/egbim/uploads/qa/1784510886_fec62264_횡단면_응용_v12.lsp,EGBIM_QA/attachments/218.lsp,2026-07-20 10:28:06,19689,07c1d42ee3e60b05c08afe7f77bf4b5f2053a1e5f4226936369e0b1e2fe60803,READY
POST_ATTACHMENT,219,458,횡단면_응용_v12_설명서.hwp,/egbim/uploads/qa/1784510886_79385326_횡단면_응용_v12_설명서.hwp,/home/b24014/egbim/egbim/uploads/qa/1784510886_79385326_횡단면_응용_v12_설명서.hwp,EGBIM_QA/attachments/219.hwp,2026-07-20 10:28:06,1381376,7a9ad413f7eadf3c7c2b1973e090371abd73923e484d23605297438eb37ae9f7,READY
POST_ATTACHMENT,220,459,EG-BIM Error .jpg,/egbim/uploads/qa/1784514329_6cd4a006_EG-BIM Error .jpg,/home/b24014/egbim/egbim/uploads/qa/1784514329_6cd4a006_EG-BIM Error .jpg,EGBIM_QA/attachments/220.jpg,2026-07-20 11:25:29,124291,77648a5bceb0c55983d8555a4975e4fcb161f1565c5f17293fc77550ba7e3190,READY
POST_ATTACHMENT,221,460,260721 실행오류.png,/egbim/uploads/qa/1784627323_bd148faa_260721 실행오류.png,/home/b24014/egbim/egbim/uploads/qa/1784627323_bd148faa_260721 실행오류.png,EGBIM_QA/attachments/221.png,2026-07-21 18:48:43,105967,252c66af3d69b544828912f84c6158dcaed6be7240fceeb2c9c6ad3944c27ce4,READY
POST_ATTACHMENT,222,461,K-001.png,/egbim/uploads/qa/1784627950_d6bf6930_K-001.png,/home/b24014/egbim/egbim/uploads/qa/1784627950_d6bf6930_K-001.png,EGBIM_QA/attachments/222.png,2026-07-21 18:59:10,59142,bf7abb7a909fd18dff9938ff95d9d0ee0b9f9aaff5f092e3de95cdc9e402f277,READY
POST_ATTACHMENT,223,465,화면 캡처 2026-07-21 200406.jpg,/egbim/uploads/qa/1784631895_e867cfd4_화면 캡처 2026-07-21 200406.jpg,/home/b24014/egbim/egbim/uploads/qa/1784631895_e867cfd4_화면 캡처 2026-07-21 200406.jpg,EGBIM_QA/attachments/223.jpg,2026-07-21 20:04:55,80964,24fc811b1aca242b4cc8b832fbffe5555e18280db0e6368334526ee010793dd2,READY
POST_ATTACHMENT,224,468,20260722_개선요청.png,/egbim/uploads/qa/1784680699_4eb104b1_20260722_개선요청.png,/home/b24014/egbim/egbim/uploads/qa/1784680699_4eb104b1_20260722_개선요청.png,EGBIM_QA/attachments/224.png,2026-07-22 09:38:19,40861,0617cb294c343ea34d7367e2ad219b3dc3fbd5b1e1f39e283b825fb719541645,READY
POST_ATTACHMENT,225,469,K-001.png,/egbim/uploads/qa/1784772729_7283e321_K-001.png,/home/b24014/egbim/egbim/uploads/qa/1784772729_7283e321_K-001.png,EGBIM_QA/attachments/225.png,2026-07-23 11:12:09,122526,,MISSING
COMMENT_IMAGE,17,349,참고 이미지.jpg,/egbim/uploads/comment/1763085474_8076e6.jpg,/home/b24014/egbim/egbim/uploads/comment/1763085474_8076e6.jpg,EGBIM_QA/comment-images/17.jpg,2025-11-14 10:57:54,327115,ae009f7049d5168d2ef2fc9380a83c1e3f4da613d080902a3764e50fc2e42754,READY
COMMENT_THUMBNAIL,17,349,참고 이미지.jpg,/egbim/uploads/comment/thumb/thumb_1763085474_8076e6.jpg,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1763085474_8076e6.jpg,EGBIM_QA/comment-thumbnails/17.jpg,2025-11-14 10:57:54,6941,52c50ed6095d0c30b959adad072bde3235a4cdd7ed45f0feb632df829281e794,READY
COMMENT_IMAGE,29,468,SecurityConfig.jpg,/uploads/comment/1765429765_3b7bdc.jpg,/home/b24014/egbim/egbim/uploads/comment/1765429765_3b7bdc.jpg,EGBIM_QA/comment-images/29.jpg,2025-12-11 14:09:25,49786,2987fcfda9a450f8ca1d140d1189f54c67ad06b32c89520504172d9a3255001f,READY
COMMENT_THUMBNAIL,29,468,SecurityConfig.jpg,/uploads/comment/thumb/thumb_1765429765_3b7bdc.jpg,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1765429765_3b7bdc.jpg,EGBIM_QA/comment-thumbnails/29.jpg,2025-12-11 14:09:25,3902,2e2815ef4c1284d58d012acc3a1276c2eecb40e10f2d410835b39adf101a36fc,READY
COMMENT_IMAGE,30,514,image06.png,/uploads/comment/1766533132_023fea.png,/home/b24014/egbim/egbim/uploads/comment/1766533132_023fea.png,EGBIM_QA/comment-images/30.png,2025-12-24 08:38:52,78462,f9c9269c4e89b5bbad705b78f206274c63402d269c7a32a4ef3d9916265199a2,READY
COMMENT_THUMBNAIL,30,514,image06.png,/uploads/comment/thumb/thumb_1766533132_023fea.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1766533132_023fea.png,EGBIM_QA/comment-thumbnails/30.png,2025-12-24 08:38:52,6325,34d89346d2b3b8ea735714942722ce1a015f524f6bf02ef98f81caa745af5c68,READY
COMMENT_IMAGE,31,514,image07.png,/uploads/comment/1766533132_cac55a.png,/home/b24014/egbim/egbim/uploads/comment/1766533132_cac55a.png,EGBIM_QA/comment-images/31.png,2025-12-24 08:38:52,130457,4d497d50db8fbdc144337f3e1908bb9f1205a7dccf41177002cfa376d15d5314,READY
COMMENT_THUMBNAIL,31,514,image07.png,/uploads/comment/thumb/thumb_1766533132_cac55a.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1766533132_cac55a.png,EGBIM_QA/comment-thumbnails/31.png,2025-12-24 08:38:52,8904,264ccd217f5df73bfc8f14990fb72ca27280897b4cf3ea405fe9af1f8bcc5341,READY
COMMENT_IMAGE,32,514,image08.png,/uploads/comment/1766533132_af27f5.png,/home/b24014/egbim/egbim/uploads/comment/1766533132_af27f5.png,EGBIM_QA/comment-images/32.png,2025-12-24 08:38:52,89328,ec7ce3d5555a024aaa0dbe6c8ec1117d71997aabb0e60d45b4d0073a437408a6,READY
COMMENT_THUMBNAIL,32,514,image08.png,/uploads/comment/thumb/thumb_1766533132_af27f5.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1766533132_af27f5.png,EGBIM_QA/comment-thumbnails/32.png,2025-12-24 08:38:52,7719,f3286c2ba7cde7405bcae03b3b537a401307f533fb8e4ee694a07c4f30b2e474,READY
COMMENT_IMAGE,33,523,명령어 선택 창.png,/uploads/comment/1767149478_b31be0.png,/home/b24014/egbim/egbim/uploads/comment/1767149478_b31be0.png,EGBIM_QA/comment-images/33.png,2025-12-31 11:51:18,31927,31faae37cd0f0267efd76a05ab26e618b6f9c9b9e266eb195e1eb3d773c19c87,READY
COMMENT_THUMBNAIL,33,523,명령어 선택 창.png,/uploads/comment/thumb/thumb_1767149478_b31be0.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1767149478_b31be0.png,EGBIM_QA/comment-thumbnails/33.png,2025-12-31 11:51:18,4617,115560132eef797eaa10bbcae8b48b8171a48d1beeebe6a7b73794cbbbd34caa,READY
COMMENT_IMAGE,36,551,탭1.PNG,/uploads/comment/1767764588_5ddc7e.png,/home/b24014/egbim/egbim/uploads/comment/1767764588_5ddc7e.png,EGBIM_QA/comment-images/36.png,2026-01-07 14:43:08,164678,80f51af777c389c9cf0d8cc5ff9c5c38cef0f799ea0a68f3c4ab89423d4f0658,READY
COMMENT_THUMBNAIL,36,551,탭1.PNG,/uploads/comment/thumb/thumb_1767764588_5ddc7e.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1767764588_5ddc7e.png,EGBIM_QA/comment-thumbnails/36.png,2026-01-07 14:43:08,4634,4982093ed7b9495c0f028776e3cd0c9fff8f79be188e5d48e4cf71eb5dd8258c,READY
COMMENT_IMAGE,37,551,탭2.PNG,/uploads/comment/1767764588_e4906a.png,/home/b24014/egbim/egbim/uploads/comment/1767764588_e4906a.png,EGBIM_QA/comment-images/37.png,2026-01-07 14:43:08,167078,c60132c43be5f5337ecb7d4bbccc465e922be755373ad94a13d7a5ac319345b5,READY
COMMENT_THUMBNAIL,37,551,탭2.PNG,/uploads/comment/thumb/thumb_1767764588_e4906a.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1767764588_e4906a.png,EGBIM_QA/comment-thumbnails/37.png,2026-01-07 14:43:08,4537,812eb8144ddc16ccd638d8dc46a984ce323ff75adcd8b2017a4b395c0075f7de,READY
COMMENT_IMAGE,38,571,qna271_키보드한글자판설정.png,/uploads/comment/1769390992_425f77.png,/home/b24014/egbim/egbim/uploads/comment/1769390992_425f77.png,EGBIM_QA/comment-images/38.png,2026-01-26 10:29:52,92293,438d4503b184e67b6401cbddf8abe4bb7d0cde8463b08b8971dc9e94b0a65287,READY
COMMENT_THUMBNAIL,38,571,qna271_키보드한글자판설정.png,/uploads/comment/thumb/thumb_1769390992_425f77.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1769390992_425f77.png,EGBIM_QA/comment-thumbnails/38.png,2026-01-26 10:29:52,6926,c69d3162dec62c6425ade74ece8c35c98aff8679350f516e490e96636e5ee3cf,READY
COMMENT_IMAGE,39,576,qna276_ole이미지뒤집힘_패치예정.png,/uploads/comment/1770074045_76f7e9.png,/home/b24014/egbim/egbim/uploads/comment/1770074045_76f7e9.png,EGBIM_QA/comment-images/39.png,2026-02-03 08:14:05,419325,f0b6905dd73c8b002ace827c66799722d610c471394ea379170d25adda2b23ca,READY
COMMENT_THUMBNAIL,39,576,qna276_ole이미지뒤집힘_패치예정.png,/uploads/comment/thumb/thumb_1770074045_76f7e9.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1770074045_76f7e9.png,EGBIM_QA/comment-thumbnails/39.png,2026-02-03 08:14:05,5917,a6a5128b84dcf0d582e8d50bc9739de9a3a9a1e06514a8eb67ee5aad5e832788,READY
COMMENT_IMAGE,40,582,qna281_자동저장파일.png,/uploads/comment/1770686612_69da20.png,/home/b24014/egbim/egbim/uploads/comment/1770686612_69da20.png,EGBIM_QA/comment-images/40.png,2026-02-10 10:23:32,28692,93d51296e16e5016c299a4fe575a696df22a91b78f41abd945ea9f035cabccb2,READY
COMMENT_THUMBNAIL,40,582,qna281_자동저장파일.png,/uploads/comment/thumb/thumb_1770686612_69da20.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1770686612_69da20.png,EGBIM_QA/comment-thumbnails/40.png,2026-02-10 10:23:32,3673,ad00dc86a0d9c6970a5188f859233093d4fa6fd1857768301821a6ac713b11d7,READY
COMMENT_IMAGE,41,582,qna281_자동저장설정.png,/uploads/comment/1770686612_9c3262.png,/home/b24014/egbim/egbim/uploads/comment/1770686612_9c3262.png,EGBIM_QA/comment-images/41.png,2026-02-10 10:23:32,206292,94a9e39d7c8bb4402882854bc881b688de779d2899640ad14384b70b34e02347,READY
COMMENT_THUMBNAIL,41,582,qna281_자동저장설정.png,/uploads/comment/thumb/thumb_1770686612_9c3262.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1770686612_9c3262.png,EGBIM_QA/comment-thumbnails/41.png,2026-02-10 10:23:32,6118,fb6dba4d68f6a0ff162d4d79976b5c204ead0ac6a77ab0427dcf41c99f1f2352,READY
COMMENT_IMAGE,42,584,qna281_자동저장파일.png,/uploads/comment/1770687456_bc9367.png,/home/b24014/egbim/egbim/uploads/comment/1770687456_bc9367.png,EGBIM_QA/comment-images/42.png,2026-02-10 10:37:36,28692,93d51296e16e5016c299a4fe575a696df22a91b78f41abd945ea9f035cabccb2,READY
COMMENT_THUMBNAIL,42,584,qna281_자동저장파일.png,/uploads/comment/thumb/thumb_1770687456_bc9367.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1770687456_bc9367.png,EGBIM_QA/comment-thumbnails/42.png,2026-02-10 10:37:36,3673,ad00dc86a0d9c6970a5188f859233093d4fa6fd1857768301821a6ac713b11d7,READY
COMMENT_IMAGE,43,584,qna281_자동저장설정.png,/uploads/comment/1770687456_a6ee52.png,/home/b24014/egbim/egbim/uploads/comment/1770687456_a6ee52.png,EGBIM_QA/comment-images/43.png,2026-02-10 10:37:36,206292,94a9e39d7c8bb4402882854bc881b688de779d2899640ad14384b70b34e02347,READY
COMMENT_THUMBNAIL,43,584,qna281_자동저장설정.png,/uploads/comment/thumb/thumb_1770687456_a6ee52.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1770687456_a6ee52.png,EGBIM_QA/comment-thumbnails/43.png,2026-02-10 10:37:36,6118,fb6dba4d68f6a0ff162d4d79976b5c204ead0ac6a77ab0427dcf41c99f1f2352,READY
COMMENT_IMAGE,44,618,image01.png,/uploads/comment/1772760182_7a1317.png,/home/b24014/egbim/egbim/uploads/comment/1772760182_7a1317.png,EGBIM_QA/comment-images/44.png,2026-03-06 10:23:02,37497,66c9dc2462af57fbf524489dc39210f09216cafec9e610d6071d345c679b6568,READY
COMMENT_THUMBNAIL,44,618,image01.png,/uploads/comment/thumb/thumb_1772760182_7a1317.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1772760182_7a1317.png,EGBIM_QA/comment-thumbnails/44.png,2026-03-06 10:23:02,11567,f594477d20131e63ef4eb0ee4e672ea7561ff890cb472384355e104ab9a0b47c,READY
COMMENT_IMAGE,45,647,qna327_DXF를dwg로변환후acad에서확인.png,/uploads/comment/1773207196_3238e3.png,/home/b24014/egbim/egbim/uploads/comment/1773207196_3238e3.png,EGBIM_QA/comment-images/45.png,2026-03-11 14:33:16,125198,43d058a775834642a2f27cce91baf90e538f6024c6be964485b214c817bc26be,READY
COMMENT_THUMBNAIL,45,647,qna327_DXF를dwg로변환후acad에서확인.png,/uploads/comment/thumb/thumb_1773207196_3238e3.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773207196_3238e3.png,EGBIM_QA/comment-thumbnails/45.png,2026-03-11 14:33:16,5254,ed87f5650fe86e3ab7f53101c08c9eff386c9cb6a1be26ced288f6eb9169034b,READY
COMMENT_IMAGE,46,660,20260312_193835.jpg,/uploads/comment/1773311938_b8d5e5.jpg,/home/b24014/egbim/egbim/uploads/comment/1773311938_b8d5e5.jpg,EGBIM_QA/comment-images/46.jpg,2026-03-12 19:38:58,179050,79f21cf5d6a9e716d5ade2427e00ab045fd7e6fbb7377a331a83794f3c09e47d,READY
COMMENT_THUMBNAIL,46,660,20260312_193835.jpg,/uploads/comment/thumb/thumb_1773311938_b8d5e5.jpg,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773311938_b8d5e5.jpg,EGBIM_QA/comment-thumbnails/46.jpg,2026-03-12 19:38:58,2329,3d02504f202e81974003ad3be224ac23217e003f86f18a16ca088aad431acc4f,READY
COMMENT_IMAGE,47,660,20260312_193757.jpg,/uploads/comment/1773311938_d6b915.jpg,/home/b24014/egbim/egbim/uploads/comment/1773311938_d6b915.jpg,EGBIM_QA/comment-images/47.jpg,2026-03-12 19:38:58,279660,3c0e0306d603002df6fad3fed79b613f7594d5fc698e8a39a6e9f26890807da7,READY
COMMENT_THUMBNAIL,47,660,20260312_193757.jpg,/uploads/comment/thumb/thumb_1773311938_d6b915.jpg,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773311938_d6b915.jpg,EGBIM_QA/comment-thumbnails/47.jpg,2026-03-12 19:38:58,5683,9cf109c906871b08dadf205eb65b80552144962ca54458947c5a571636fe05e7,READY
COMMENT_IMAGE,48,662,qna329_FC입력시FCLOSEALL명령 자동완성.png,/uploads/comment/1773363803_cc944d.png,/home/b24014/egbim/egbim/uploads/comment/1773363803_cc944d.png,EGBIM_QA/comment-images/48.png,2026-03-13 10:03:23,4822,de8901d145e579b2159dcd1fd217213e666e494a3261bf1231cdec8d12b2034f,READY
COMMENT_THUMBNAIL,48,662,qna329_FC입력시FCLOSEALL명령 자동완성.png,/uploads/comment/thumb/thumb_1773363803_cc944d.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773363803_cc944d.png,EGBIM_QA/comment-thumbnails/48.png,2026-03-13 10:03:23,4686,02b565490f3b2530fb3b3e21922ee845c3c4602bc96de9e131c4c65b155928ca,READY
COMMENT_IMAGE,49,668,qna322_별도 다중파일 작업중 창 켜지지 않음_테스트.png,/uploads/comment/1773724289_cfbc2e.png,/home/b24014/egbim/egbim/uploads/comment/1773724289_cfbc2e.png,EGBIM_QA/comment-images/49.png,2026-03-17 14:11:29,433220,d7121f06350210efbca5551f5ec7af79f7dbf88bdc076869c35a3a8239e4b0dd,READY
COMMENT_THUMBNAIL,49,668,qna322_별도 다중파일 작업중 창 켜지지 않음_테스트.png,/uploads/comment/thumb/thumb_1773724289_cfbc2e.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773724289_cfbc2e.png,EGBIM_QA/comment-thumbnails/49.png,2026-03-17 14:11:29,9128,27d63f7018369e3e7b360e9355a03bc85517bd5df34bb176b1837fad890f90e4,READY
COMMENT_IMAGE,50,670,20260317_152313.jpg,/uploads/comment/1773728620_5187a7.jpg,/home/b24014/egbim/egbim/uploads/comment/1773728620_5187a7.jpg,EGBIM_QA/comment-images/50.jpg,2026-03-17 15:23:40,224029,d72548c84458a2e445cc923b4a28868addae3fed503aaf5611cfdb9dcd3550d2,READY
COMMENT_THUMBNAIL,50,670,20260317_152313.jpg,/uploads/comment/thumb/thumb_1773728620_5187a7.jpg,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773728620_5187a7.jpg,EGBIM_QA/comment-thumbnails/50.jpg,2026-03-17 15:23:40,4001,48bd5989722d804a7b8f08d4ebb5bd0c5f305d4155c904781e05dc64347ab083,READY
COMMENT_IMAGE,51,680,qna342_acad와egbim색상비교 in layout.png,/uploads/comment/1773991755_62c265.png,/home/b24014/egbim/egbim/uploads/comment/1773991755_62c265.png,EGBIM_QA/comment-images/51.png,2026-03-20 16:29:15,324053,c391e420c433be069c3adbea5f0abf64cced250e324da5553075db9551aa07a2,READY
COMMENT_THUMBNAIL,51,680,qna342_acad와egbim색상비교 in layout.png,/uploads/comment/thumb/thumb_1773991755_62c265.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773991755_62c265.png,EGBIM_QA/comment-thumbnails/51.png,2026-03-20 16:29:15,3866,4a9c073e3125e82da6c40b916e570a379588a616bfdd5ca39be29e1422bd19b5,READY
COMMENT_IMAGE,52,680,qna342_acad와egbim색상비교.png,/uploads/comment/1773991755_728a8a.png,/home/b24014/egbim/egbim/uploads/comment/1773991755_728a8a.png,EGBIM_QA/comment-images/52.png,2026-03-20 16:29:15,546625,2b00aa885149789e3269e467d961167e24c0e052eb2fa258358fd585bd8ca4a9,READY
COMMENT_THUMBNAIL,52,680,qna342_acad와egbim색상비교.png,/uploads/comment/thumb/thumb_1773991755_728a8a.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773991755_728a8a.png,EGBIM_QA/comment-thumbnails/52.png,2026-03-20 16:29:15,3983,0af22d6311bb0bee24d29114eadc2f966eff95b49d4f57b291d3e6a486bec841,READY
COMMENT_IMAGE,53,683,qna343_단축키 숫자인식_20260323.png,/uploads/comment/1774224476_b4d7ac.png,/home/b24014/egbim/egbim/uploads/comment/1774224476_b4d7ac.png,EGBIM_QA/comment-images/53.png,2026-03-23 09:07:56,342797,591d3346c7548136efc3fcb022690608cefc7095adacade8814e0b1259ae4ccb,READY
COMMENT_THUMBNAIL,53,683,qna343_단축키 숫자인식_20260323.png,/uploads/comment/thumb/thumb_1774224476_b4d7ac.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1774224476_b4d7ac.png,EGBIM_QA/comment-thumbnails/53.png,2026-03-23 09:07:56,3240,03c7e2b99cce5ee4eba0db0755a9945ffb7f2eb13b54fdfb65446b8d26fa11ec,READY
COMMENT_IMAGE,54,685,qna346_egbim삭제후fonts폴더.png,/uploads/comment/1774234022_a107a4.png,/home/b24014/egbim/egbim/uploads/comment/1774234022_a107a4.png,EGBIM_QA/comment-images/54.png,2026-03-23 11:47:02,31483,7315350285b526beb1db1a14230b21d8f77bef9d114c74525f95719a868b8fb2,READY
COMMENT_THUMBNAIL,54,685,qna346_egbim삭제후fonts폴더.png,/uploads/comment/thumb/thumb_1774234022_a107a4.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1774234022_a107a4.png,EGBIM_QA/comment-thumbnails/54.png,2026-03-23 11:47:02,3497,a5ee7cd75c562cbb023718f3eab62d1c91a9f7ff9c241f1a7e8fcaf3860f992a,READY
COMMENT_IMAGE,55,706,qna254_명령어하위메뉴끄기_20260401.png,/uploads/comment/1775019629_d69840.png,/home/b24014/egbim/egbim/uploads/comment/1775019629_d69840.png,EGBIM_QA/comment-images/55.png,2026-04-01 14:00:29,349208,b22e87fc7672666dc6fa706eaa5c920ca66fac33528dcd0df0a1190a57c5dca3,READY
COMMENT_THUMBNAIL,55,706,qna254_명령어하위메뉴끄기_20260401.png,/uploads/comment/thumb/thumb_1775019629_d69840.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1775019629_d69840.png,EGBIM_QA/comment-thumbnails/55.png,2026-04-01 14:00:29,7254,7a4887b06189f4b436b7df86cf4a98fa1c979df8ac17196638c936ad92409cfa,READY
COMMENT_IMAGE,56,712,qna352_우클릭draworder_back_명령프롬프트_20260401.png,/uploads/comment/1775025689_d9eb65.png,/home/b24014/egbim/egbim/uploads/comment/1775025689_d9eb65.png,EGBIM_QA/comment-images/56.png,2026-04-01 15:41:29,4360,0d8382514ac7b1cb7a0d1c817598029dc3ab0f7820e946154b070aeed4e9dd65,READY
COMMENT_THUMBNAIL,56,712,qna352_우클릭draworder_back_명령프롬프트_20260401.png,/uploads/comment/thumb/thumb_1775025689_d9eb65.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1775025689_d9eb65.png,EGBIM_QA/comment-thumbnails/56.png,2026-04-01 15:41:29,2040,6991722cac46524c890b933803742516186c8277b78c8b6f9cc2ae96524430f7,READY
COMMENT_IMAGE,57,713,qna137_Materials_png로새물질생성_20260401.png,/uploads/comment/1775027305_842e9d.png,/home/b24014/egbim/egbim/uploads/comment/1775027305_842e9d.png,EGBIM_QA/comment-images/57.png,2026-04-01 16:08:25,389163,d1aa6aeb4a4e3a2c9e29fc09f960e28807636e55936c9e9381a93a1ff673dca7,READY
COMMENT_THUMBNAIL,57,713,qna137_Materials_png로새물질생성_20260401.png,/uploads/comment/thumb/thumb_1775027305_842e9d.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1775027305_842e9d.png,EGBIM_QA/comment-thumbnails/57.png,2026-04-01 16:08:25,3814,dbba987bfb868e75c4772d3645baed5e747144d6ea553891b3bfea9b9e934022,READY
COMMENT_IMAGE,58,714,qna353_acad proxy entity_acad_20260401.png,/uploads/comment/1775032133_0aa564.png,/home/b24014/egbim/egbim/uploads/comment/1775032133_0aa564.png,EGBIM_QA/comment-images/58.png,2026-04-01 17:28:53,641179,eb7f970893a076af695cacb3087291ec797355437fb7db4486ea113b9c1dd6a7,READY
COMMENT_THUMBNAIL,58,714,qna353_acad proxy entity_acad_20260401.png,/uploads/comment/thumb/thumb_1775032133_0aa564.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1775032133_0aa564.png,EGBIM_QA/comment-thumbnails/58.png,2026-04-01 17:28:53,3523,7f0668d6b16ba9ab56728fcca5b3db20eca03adb8d617e9e780ae3c1efe164df,READY
COMMENT_IMAGE,59,716,qna354_acad cfm 설정.png,/uploads/comment/1775175858_eea711.png,/home/b24014/egbim/egbim/uploads/comment/1775175858_eea711.png,EGBIM_QA/comment-images/59.png,2026-04-03 09:24:18,126606,d5423729122c2be0d3defa28ba0bfb46240c306f36ce9b508c1788f5ea211c96,READY
COMMENT_THUMBNAIL,59,716,qna354_acad cfm 설정.png,/uploads/comment/thumb/thumb_1775175858_eea711.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1775175858_eea711.png,EGBIM_QA/comment-thumbnails/59.png,2026-04-03 09:24:18,4800,7eeaa0bb34fc3058503c94fd28ae42a709498168df7ba01d20e2bd9dfead3c63,READY
COMMENT_IMAGE,63,727,qna361_도면출력시CTB설정_20260410.png,/uploads/comment/1775801858_cbb601.png,/home/b24014/egbim/egbim/uploads/comment/1775801858_cbb601.png,EGBIM_QA/comment-images/63.png,2026-04-10 15:17:38,43690,dc20499c03026e570a547be961cdd6ca4fcc10f024dfae86d4146480875ed375,READY
COMMENT_THUMBNAIL,63,727,qna361_도면출력시CTB설정_20260410.png,/uploads/comment/thumb/thumb_1775801858_cbb601.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1775801858_cbb601.png,EGBIM_QA/comment-thumbnails/63.png,2026-04-10 15:17:38,5524,6cacf10f9409626bb8b4071f1e002315cc7fedea645d8c14ac8f4613630077bd,READY
COMMENT_IMAGE,64,733,qna365_폴리선 그릴수없는오류_THICKNESS0설정.png,/uploads/comment/1776147379_b022da.png,/home/b24014/egbim/egbim/uploads/comment/1776147379_b022da.png,EGBIM_QA/comment-images/64.png,2026-04-14 15:16:19,203322,c2862046898c957d7c35c5c92e9e639a9c5d72d478f305582d7be2508ddc954b,READY
COMMENT_THUMBNAIL,64,733,qna365_폴리선 그릴수없는오류_THICKNESS0설정.png,/uploads/comment/thumb/thumb_1776147379_b022da.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1776147379_b022da.png,EGBIM_QA/comment-thumbnails/64.png,2026-04-14 15:16:19,6055,c850440965f38e00aac53c9aac13f37eb977caa913195a29a3a9b78127c95c2f,READY
COMMENT_IMAGE,65,735,qna256_꾸러미도곽인식(V1.4.0)_20260413.png,/uploads/comment/1776156539_b90d89.png,/home/b24014/egbim/egbim/uploads/comment/1776156539_b90d89.png,EGBIM_QA/comment-images/65.png,2026-04-14 17:48:59,856288,40184ae3d85c736ec70eab8f133f051c2cf5c56eb877385deed533eee5cf6c02,READY
COMMENT_THUMBNAIL,65,735,qna256_꾸러미도곽인식(V1.4.0)_20260413.png,/uploads/comment/thumb/thumb_1776156539_b90d89.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1776156539_b90d89.png,EGBIM_QA/comment-thumbnails/65.png,2026-04-14 17:48:59,3826,8cc13c74a14f180b5a1cf9530d9e2b77a6db059d0b552d7d82d81782d1822ae8,READY
COMMENT_IMAGE,66,752,qna365_Thickness 초기화 기능추가_20260424.png,/uploads/comment/1776999665_41c7ed.png,/home/b24014/egbim/egbim/uploads/comment/1776999665_41c7ed.png,EGBIM_QA/comment-images/66.png,2026-04-24 12:01:05,5036,12dc32677c41339516f8ab55676536c7be34369b78f14a6bf126f17fd7786edc,READY
COMMENT_THUMBNAIL,66,752,qna365_Thickness 초기화 기능추가_20260424.png,/uploads/comment/thumb/thumb_1776999665_41c7ed.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1776999665_41c7ed.png,EGBIM_QA/comment-thumbnails/66.png,2026-04-24 12:01:05,2535,0b28b3c353c54c34b0f791e322fc4719134023fba714ba673112614eaf0e4cc6,READY
COMMENT_IMAGE,67,765,qna315_jpg복사오류_20260511.png,/uploads/comment/1778460850_656e59.png,/home/b24014/egbim/egbim/uploads/comment/1778460850_656e59.png,EGBIM_QA/comment-images/67.png,2026-05-11 09:54:10,329326,2fc6dd5f6855b2fbec8d975d3d6e0d84605b6474be1b14fc918a473f8c4b87f1,READY
COMMENT_THUMBNAIL,67,765,qna315_jpg복사오류_20260511.png,/uploads/comment/thumb/thumb_1778460850_656e59.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1778460850_656e59.png,EGBIM_QA/comment-thumbnails/67.png,2026-05-11 09:54:10,6172,b17ec530156d5f455c2111eec1eeb65ee67eefbbe7340d7359010282a198934c,READY
COMMENT_IMAGE,68,765,qna315_플롯시 투명도 적용됨_20260511.png,/uploads/comment/1778460850_6cbc81.png,/home/b24014/egbim/egbim/uploads/comment/1778460850_6cbc81.png,EGBIM_QA/comment-images/68.png,2026-05-11 09:54:10,842034,7331e1d6c708bfeb720a6fe8a8cd4b0ea509b1d76accd0228f7daaec6b4b59ff,READY
COMMENT_THUMBNAIL,68,765,qna315_플롯시 투명도 적용됨_20260511.png,/uploads/comment/thumb/thumb_1778460850_6cbc81.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1778460850_6cbc81.png,EGBIM_QA/comment-thumbnails/68.png,2026-05-11 09:54:10,8589,1c521ab10b32ff8fe444b37e281799b11d132b6f68404264feff369aeb910413,READY
COMMENT_IMAGE,69,787,qna401_사용자설정저장하기_20260529.png,/uploads/comment/1780023483_6b8cfe.png,/home/b24014/egbim/egbim/uploads/comment/1780023483_6b8cfe.png,EGBIM_QA/comment-images/69.png,2026-05-29 11:58:03,109112,17724489d49d6cee8d08b6e8073de046a633cb6c2bc11b01f83c82f42d2ef8f3,READY
COMMENT_THUMBNAIL,69,787,qna401_사용자설정저장하기_20260529.png,/uploads/comment/thumb/thumb_1780023483_6b8cfe.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1780023483_6b8cfe.png,EGBIM_QA/comment-thumbnails/69.png,2026-05-29 11:58:03,3706,322392ca8772615f4c29da4a33e3f17e60df7fad13ce35d87b81035f09e49dab,READY
COMMENT_IMAGE,70,788,qna402_내부블록으로bind_20260529.png,/uploads/comment/1780025072_ca21e8.png,/home/b24014/egbim/egbim/uploads/comment/1780025072_ca21e8.png,EGBIM_QA/comment-images/70.png,2026-05-29 12:24:32,402775,65027c99f4a5a5556d2d0c9e8c553c20e54c004ee54729c2d6ba23ba29f213fd,READY
COMMENT_THUMBNAIL,70,788,qna402_내부블록으로bind_20260529.png,/uploads/comment/thumb/thumb_1780025072_ca21e8.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1780025072_ca21e8.png,EGBIM_QA/comment-thumbnails/70.png,2026-05-29 12:24:32,4806,4f13be92385542d1a11e0a8723ec6db0a7e47a1f9b5b072b8c4eaaad4429d251,READY
COMMENT_IMAGE,71,852,qna467_문자회전(TER)설정_20260722.png,/uploads/comment/1784683079_40d711.png,/home/b24014/egbim/egbim/uploads/comment/1784683079_40d711.png,EGBIM_QA/comment-images/71.png,2026-07-22 10:17:59,21323,ed8e9a6e3d025c2570d9d7e2da669b6e0029d1cb09ec873274e437aee072a17c,READY
COMMENT_THUMBNAIL,71,852,qna467_문자회전(TER)설정_20260722.png,/uploads/comment/thumb/thumb_1784683079_40d711.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1784683079_40d711.png,EGBIM_QA/comment-thumbnails/71.png,2026-07-22 10:17:59,5384,37e64e1fc2eace0402a59f7696fbfe19bfc06c5b44fec9cf9ff3e9e683165eae,READY
COMMENT_IMAGE,72,855,qna460_dwg파일 실행 안되는 오류_20260722.png,/uploads/comment/1784684590_51839e.png,/home/b24014/egbim/egbim/uploads/comment/1784684590_51839e.png,EGBIM_QA/comment-images/72.png,2026-07-22 10:43:10,440367,3afe341687d09d21e4ccef6d6ebca10e86aee9950a9048681613f5349eca5384,READY
COMMENT_THUMBNAIL,72,855,qna460_dwg파일 실행 안되는 오류_20260722.png,/uploads/comment/thumb/thumb_1784684590_51839e.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1784684590_51839e.png,EGBIM_QA/comment-thumbnails/72.png,2026-07-22 10:43:10,9632,e237f9d701995ed21bbe32b3bf563e1d6cece55a811d4dce2f20cea3847f3d14,READY
COMMENT_IMAGE,73,856,qna465_JMP명령테스트.jpg,/uploads/comment/1784685450_1a5edb.jpg,/home/b24014/egbim/egbim/uploads/comment/1784685450_1a5edb.jpg,EGBIM_QA/comment-images/73.jpg,2026-07-22 10:57:30,256526,f2903506f6721a5712711ec52145fe627103365f54ee240aa64960db7c5b6887,READY
COMMENT_THUMBNAIL,73,856,qna465_JMP명령테스트.jpg,/uploads/comment/thumb/thumb_1784685450_1a5edb.jpg,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1784685450_1a5edb.jpg,EGBIM_QA/comment-thumbnails/73.jpg,2026-07-22 10:57:30,3261,05f260c7d542e2c4169eb4e644a2d5c5f6f9a3af9bf093e9c4c4d23c06ef0288,READY
COMMENT_IMAGE,74,863,qna462_acad_purge창_20260722.png,/uploads/comment/1784710527_40aab9.png,/home/b24014/egbim/egbim/uploads/comment/1784710527_40aab9.png,EGBIM_QA/comment-images/74.png,2026-07-22 17:55:27,427241,7d2bdc181bac383a6120c3bcb2198f67417993cbdd30d9ccb2f20ea555883593,READY
COMMENT_THUMBNAIL,74,863,qna462_acad_purge창_20260722.png,/uploads/comment/thumb/thumb_1784710527_40aab9.png,/home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1784710527_40aab9.png,EGBIM_QA/comment-thumbnails/74.png,2026-07-22 17:55:27,6336,cce1167960fc204073db2fc7bf6a382207d560a24c4f3b62982e6d3d8a212c60,READY
1 entity_type source_id parent_id original_name source_value source_path storage_key uploaded_at file_size checksum_sha256 status
2 POST_ATTACHMENT 4 14 프린트 오류.png /egbim/uploads/qa/1756277537_72306a75_프린트 오류.png /home/b24014/egbim/egbim/uploads/qa/1756277537_72306a75_프린트 오류.png EGBIM_QA/attachments/4.png 2025-08-27 15:52:17 133728 bd914f2164a13dba962179cd7a64da1099d75fd6a58886849a331b23e7b6f015 READY
3 POST_ATTACHMENT 5 20 이지빔개선이미지1.PNG /egbim/uploads/qa/1756446059_ae14596f_이지빔개선이미지1.PNG /home/b24014/egbim/egbim/uploads/qa/1756446059_ae14596f_이지빔개선이미지1.PNG EGBIM_QA/attachments/5.png 2025-08-29 14:40:59 86593 f9315bdd7d116ea78562a9245aa0247a4e8221045218ca5977e9bbf99680ebac READY
4 POST_ATTACHMENT 6 20 이지빔개선이미지2.PNG /egbim/uploads/qa/1756446059_39f5a321_이지빔개선이미지2.PNG /home/b24014/egbim/egbim/uploads/qa/1756446059_39f5a321_이지빔개선이미지2.PNG EGBIM_QA/attachments/6.png 2025-08-29 14:40:59 36202 16b27fc3d232f79aeeb85723807dd041db86b0a78ef37e67ed3227f35cd98451 READY
5 POST_ATTACHMENT 7 21 대야천교 A2노리.zip /egbim/uploads/qa/1756449399_c8197e7c_대야천교 A2노리.zip /home/b24014/egbim/egbim/uploads/qa/1756449399_c8197e7c_대야천교 A2노리.zip EGBIM_QA/attachments/7.zip 2025-08-29 15:36:39 5444903 967cdcebd2445bc6957ef11f7a9ef4b231b81e008ad19ab93b046f0fa4a868bd READY
6 POST_ATTACHMENT 8 22 오류문의.zip /egbim/uploads/qa/1756450881_495434af_오류문의.zip /home/b24014/egbim/egbim/uploads/qa/1756450881_495434af_오류문의.zip EGBIM_QA/attachments/8.zip 2025-08-29 16:01:21 1710514 a63786e18553620ca4878aa09f845222aafdba1dbb0c133ffc3da5d195fe25c4 READY
7 POST_ATTACHMENT 10 33 250902 삽도 수정(내부 표 변경).zip /egbim/uploads/qa/1756796864_726ff7c7_250902 삽도 수정(내부 표 변경).zip /home/b24014/egbim/egbim/uploads/qa/1756796864_726ff7c7_250902 삽도 수정(내부 표 변경).zip EGBIM_QA/attachments/10.zip 2025-09-02 16:07:44 731246 01da6bfa22ac034f89ce9c7db10aa7d007a76a58a9e2851670ee4a2c615e0de7 READY
8 POST_ATTACHMENT 11 39 CAD상 배경이미지 예시.JPG /egbim/uploads/qa/1756860263_cce65130_CAD상 배경이미지 예시.JPG /home/b24014/egbim/egbim/uploads/qa/1756860263_cce65130_CAD상 배경이미지 예시.JPG EGBIM_QA/attachments/11.jpg 2025-09-03 09:44:23 61620 8c93f224323fe78e2bce3b7fec121a9b8518f44f519c0380b4a5a2ef1929d70e READY
9 POST_ATTACHMENT 12 39 JPG 출력시 배경이미지 깨짐 예시.JPG /egbim/uploads/qa/1756860263_0d6cb4d9_JPG 출력시 배경이미지 깨짐 예시.JPG /home/b24014/egbim/egbim/uploads/qa/1756860263_0d6cb4d9_JPG 출력시 배경이미지 깨짐 예시.JPG EGBIM_QA/attachments/12.jpg 2025-09-03 09:44:23 208715 5b0698c8d917220c52f0409a25ccb6e461863146bc0e04b0b2fe1a7ea0fb1f29 READY
10 POST_ATTACHMENT 13 41 20250903_094341.png /egbim/uploads/qa/1756860338_79f18c91_20250903_094341.png /home/b24014/egbim/egbim/uploads/qa/1756860338_79f18c91_20250903_094341.png EGBIM_QA/attachments/13.png 2025-09-03 09:45:38 17656 7ac844557281a514c33dc897282a1df8372c4052eba23067c8221cf8147c7fbf READY
11 POST_ATTACHMENT 14 43 11.zip /egbim/uploads/qa/1756881096_213f602d_11.zip /home/b24014/egbim/egbim/uploads/qa/1756881096_213f602d_11.zip EGBIM_QA/attachments/14.zip 2025-09-03 15:31:36 3722287 59bf53d3aa1b819a80acb4af4a385293d7302d1a71aed8f8f3e097a880f62b87 READY
12 POST_ATTACHMENT 15 59 20250905_175019.png /egbim/uploads/qa/1757062235_608d2701_20250905_175019.png /home/b24014/egbim/egbim/uploads/qa/1757062235_608d2701_20250905_175019.png EGBIM_QA/attachments/15.png 2025-09-05 17:50:35 105167 18ad50e7390753a32a26b6b24491e3df591f7c29a47b7b11b60d5e22f89db580 READY
13 POST_ATTACHMENT 16 60 플롯 오류.jpg /egbim/uploads/qa/1757314700_3d3332bc_플롯 오류.jpg /home/b24014/egbim/egbim/uploads/qa/1757314700_3d3332bc_플롯 오류.jpg EGBIM_QA/attachments/16.jpg 2025-09-08 15:58:20 2354295 b9e6a34433343b8d840e22f075b799bf3afc4b52195f2e672ea51e45b327b3d2 READY
14 POST_ATTACHMENT 17 61 이지빔 오류.png /egbim/uploads/qa/1757326515_c8878396_이지빔 오류.png /home/b24014/egbim/egbim/uploads/qa/1757326515_c8878396_이지빔 오류.png EGBIM_QA/attachments/17.png 2025-09-08 19:15:15 182115 9ea3798264732730aaa723d4643c4e59d6795da6f1ce10d4a144d8211e7d56f9 READY
15 POST_ATTACHMENT 18 64 KakaoTalk_20250910_154923538.jpg /egbim/uploads/qa/1757487093_822fb3ae_KakaoTalk_20250910_154923538.jpg /home/b24014/egbim/egbim/uploads/qa/1757487093_822fb3ae_KakaoTalk_20250910_154923538.jpg EGBIM_QA/attachments/18.jpg 2025-09-10 15:51:33 4877121 721e852361cda56e5961148fc33a31b7dfa6d3cd268f78fcbfb6c6403e72835f READY
16 POST_ATTACHMENT 19 69 cmdengonly.png /egbim/uploads/qa/1757572226_fdef9b80_cmdengonly.png /home/b24014/egbim/egbim/uploads/qa/1757572226_fdef9b80_cmdengonly.png EGBIM_QA/attachments/19.png 2025-09-11 15:30:26 5322 9d8253b592101e759e2a08bb160b4fa6b65a78dad021ce1b9acb0225ca64953a READY
17 POST_ATTACHMENT 20 69 이지빔큐앤에이개선.png /egbim/uploads/qa/1757572414_9d10ad54_이지빔큐앤에이개선.png /home/b24014/egbim/egbim/uploads/qa/1757572414_9d10ad54_이지빔큐앤에이개선.png EGBIM_QA/attachments/20.png 2025-09-11 15:33:34 29096 32d10251833be4c3d45bc1f4e6d34b59cee665c05b56de7b1e639648bd42ffe7 READY
18 POST_ATTACHMENT 21 70 인쇄하기 에러.png /egbim/uploads/qa/1757656398_fce26fae_인쇄하기 에러.png /home/b24014/egbim/egbim/uploads/qa/1757656398_fce26fae_인쇄하기 에러.png EGBIM_QA/attachments/21.png 2025-09-12 14:53:18 100318 6b993fc410107a0ba3fd65e9ea114ab1287f26b5e175d83a10c583cc6970268b READY
19 POST_ATTACHMENT 22 70 인쇄하기 정상.png /egbim/uploads/qa/1757656398_235a2777_인쇄하기 정상.png /home/b24014/egbim/egbim/uploads/qa/1757656398_235a2777_인쇄하기 정상.png EGBIM_QA/attachments/22.png 2025-09-12 14:53:18 181149 32265ec02413ac1bd77beadd8dcac0308ce2ac15625d9ffd788db18ff4de7ebb READY
20 POST_ATTACHMENT 23 76 캡처1.JPG /egbim/uploads/qa/1757983385_5816535c_캡처1.JPG /home/b24014/egbim/egbim/uploads/qa/1757983385_5816535c_캡처1.JPG EGBIM_QA/attachments/23.jpg 2025-09-16 09:43:05 118891 518031574b99f80957618509c60e428904402780ab9313fe81e70bf9c9ef3309 READY
21 POST_ATTACHMENT 25 97 003~004.평면및종단면도(금곡사사)-250911 - Standard.zip /egbim/uploads/qa/1758242512_7b7568be_003~004.평면및종단면도(금곡사사)-250911 - Standard.zip /home/b24014/egbim/egbim/uploads/qa/1758242512_7b7568be_003~004.평면및종단면도(금곡사사)-250911 - Standard.zip EGBIM_QA/attachments/25.zip 2025-09-19 09:41:52 15763404 b779df93f53bf81b0fa5ac7f2aae0b7b15b1d343264aba0eb714a4298c63320d READY
22 POST_ATTACHMENT 26 97 제목 없음.png /egbim/uploads/qa/1758242512_1560e88e_제목 없음.png /home/b24014/egbim/egbim/uploads/qa/1758242512_1560e88e_제목 없음.png EGBIM_QA/attachments/26.png 2025-09-19 09:41:52 152283 ae71bb484bd3451f95af6f796ab471523bb3f011841132c17d9cb4a249c32898 READY
23 POST_ATTACHMENT 27 98 KakaoTalk_20250919_153731765.png /egbim/uploads/qa/1758264197_5b32ce70_KakaoTalk_20250919_153731765.png /home/b24014/egbim/egbim/uploads/qa/1758264197_5b32ce70_KakaoTalk_20250919_153731765.png EGBIM_QA/attachments/27.png 2025-09-19 15:43:17 3747 c28cb944b58b3e178f43cbeccc8712f71e2932f84041a6cc321730051e537976 READY
24 POST_ATTACHMENT 29 106 Resized_20250923_151823_1758608324791.jpeg /egbim/uploads/qa/1758608992_275f357e_Resized_20250923_151823_1758608324791.jpeg /home/b24014/egbim/egbim/uploads/qa/1758608992_275f357e_Resized_20250923_151823_1758608324791.jpeg EGBIM_QA/attachments/29.jpeg 2025-09-23 15:29:52 2735686 0ccbb7ebdab327fde110fedca438496b47c8b56059f46219b146264698075583 READY
25 POST_ATTACHMENT 30 108 04.슬래브 수정하기.zip /egbim/uploads/qa/1758677827_34e4d97c_04.슬래브 수정하기.zip /home/b24014/egbim/egbim/uploads/qa/1758677827_34e4d97c_04.슬래브 수정하기.zip EGBIM_QA/attachments/30.zip 2025-09-24 10:37:07 1593369 c89d558bef6e2b429f243a38c6302129bbf9c0cf2de2290999d12b357ea0e20f READY
26 POST_ATTACHMENT 31 108 외부참조_대덕특구 도곽.zip /egbim/uploads/qa/1758677952_6b8c2186_외부참조_대덕특구 도곽.zip /home/b24014/egbim/egbim/uploads/qa/1758677952_6b8c2186_외부참조_대덕특구 도곽.zip EGBIM_QA/attachments/31.zip 2025-09-24 10:39:12 66755 8634ebe61650a104bd4bab0a510290ee0e5e4346812eb0dcb1f41460eb21bba5 READY
27 POST_ATTACHMENT 32 111 EZBIM.jpg /egbim/uploads/qa/1758701833_c9f6691e_EZBIM.jpg /home/b24014/egbim/egbim/uploads/qa/1758701833_c9f6691e_EZBIM.jpg EGBIM_QA/attachments/32.jpg 2025-09-24 17:17:13 1638060 9bd17c77de3cdb111e4e1b9a5e228c6c335e01602ce42320540e3458ca514947 READY
28 POST_ATTACHMENT 33 113 화면 캡처 2025-09-25 152205.png /egbim/uploads/qa/1758782172_8a78049e_화면 캡처 2025-09-25 152205.png /home/b24014/egbim/egbim/uploads/qa/1758782172_8a78049e_화면 캡처 2025-09-25 152205.png EGBIM_QA/attachments/33.png 2025-09-25 15:36:12 304829 04541448a57432d4b941e6beb7a1e84bb32152b44d79b36e32edcb0f9959ed5b READY
29 POST_ATTACHMENT 34 114 스크린샷 2025-09-25 155142.png /egbim/uploads/qa/1758783152_6f9a9a96_스크린샷 2025-09-25 155142.png /home/b24014/egbim/egbim/uploads/qa/1758783152_6f9a9a96_스크린샷 2025-09-25 155142.png EGBIM_QA/attachments/34.png 2025-09-25 15:52:32 104245 157eba9bba07878e9949fe98071edb96077739cda6660dc51e8bbcaf672e1dab READY
30 POST_ATTACHMENT 35 47 레지스트리.zip /egbim/uploads/qa/1759124537_12e94f08_레지스트리.zip /home/b24014/egbim/egbim/uploads/qa/1759124537_12e94f08_레지스트리.zip EGBIM_QA/attachments/35.zip 2025-09-29 14:42:17 69972 a776041c2266f4d024a29c896b8c80626984775005341de94c7b7443fa4992ae READY
31 POST_ATTACHMENT 37 118 (기존추가)6.3-5.zip /egbim/uploads/qa/1759134063_d2c40b65_(기존추가)6.3-5.zip /home/b24014/egbim/egbim/uploads/qa/1759134063_d2c40b65_(기존추가)6.3-5.zip EGBIM_QA/attachments/37.zip 2025-09-29 17:21:03 1385160 34fe420ba6f996ba9135232a6ab23e792d99ae3f82ef0efc60ff984f06891a9e READY
32 POST_ATTACHMENT 38 126 KakaoTalk_20251001_091636675.jpg /egbim/uploads/qa/1759278008_2aa7e4cc_KakaoTalk_20251001_091636675.jpg /home/b24014/egbim/egbim/uploads/qa/1759278008_2aa7e4cc_KakaoTalk_20251001_091636675.jpg EGBIM_QA/attachments/38.jpg 2025-10-01 09:20:08 594266 f9b70eae4b7fd408d3af26404c5d66bb13eaacbfd918f3dcccf2ffba7fac790e READY
33 POST_ATTACHMENT 39 126 KakaoTalk_20251001_091636675_01.jpg /egbim/uploads/qa/1759278008_61e68ac8_KakaoTalk_20251001_091636675_01.jpg /home/b24014/egbim/egbim/uploads/qa/1759278008_61e68ac8_KakaoTalk_20251001_091636675_01.jpg EGBIM_QA/attachments/39.jpg 2025-10-01 09:20:08 375941 1331b2f284a637cf91cca6a33842b4ab4af9468cc631f0ed2712c0bcd678f72c READY
34 POST_ATTACHMENT 40 126 KakaoTalk_20251001_091636675_02.jpg /egbim/uploads/qa/1759278008_0b8ce795_KakaoTalk_20251001_091636675_02.jpg /home/b24014/egbim/egbim/uploads/qa/1759278008_0b8ce795_KakaoTalk_20251001_091636675_02.jpg EGBIM_QA/attachments/40.jpg 2025-10-01 09:20:08 47513 b87e04cd48715621c6efa3d7dd32475e860a258fc06bce56f7aac32be9f27cac READY
35 POST_ATTACHMENT 41 127 출력시 프리트 회질저하.png /egbim/uploads/qa/1759278039_4c297fbb_출력시 프리트 회질저하.png /home/b24014/egbim/egbim/uploads/qa/1759278039_4c297fbb_출력시 프리트 회질저하.png EGBIM_QA/attachments/41.png 2025-10-01 09:20:39 314125 b447b953098f48865b44169a2121144804f78f05584ff345b495a7e369cf9a22 READY
36 POST_ATTACHMENT 43 135 TEXTMATCHCOPY.jpg /egbim/uploads/qa/1760575122_4467dc88_TEXTMATCHCOPY.jpg /home/b24014/egbim/egbim/uploads/qa/1760575122_4467dc88_TEXTMATCHCOPY.jpg EGBIM_QA/attachments/43.jpg 2025-10-16 09:38:42 27605 05312671eef3b5a0128f8805c8cbf8de256f36fcf1a75e5d2a512f2b4e26faf6 READY
37 POST_ATTACHMENT 45 137 material.jpg /egbim/uploads/qa/1760657651_dc5f6d5c_material.jpg /home/b24014/egbim/egbim/uploads/qa/1760657651_dc5f6d5c_material.jpg EGBIM_QA/attachments/45.jpg 2025-10-17 08:34:11 699488 33eee458ca3f9d0543d138e8e40c89ed65a07d3d7c65d1371d1633ab140ce883 READY
38 POST_ATTACHMENT 46 142 화면 캡처 2025-10-21 104231.png /egbim/uploads/qa/1761010963_c2a91bc5_화면 캡처 2025-10-21 104231.png /home/b24014/egbim/egbim/uploads/qa/1761010963_c2a91bc5_화면 캡처 2025-10-21 104231.png EGBIM_QA/attachments/46.png 2025-10-21 10:42:43 238394 49fca16da59c672c7fd56b59e52740098f972bfb70a1fc52257f984082596a89 READY
39 POST_ATTACHMENT 47 144 캡처.PNG /egbim/uploads/qa/1761027502_a9e21b70_캡처.PNG /home/b24014/egbim/egbim/uploads/qa/1761027502_a9e21b70_캡처.PNG EGBIM_QA/attachments/47.png 2025-10-21 15:18:22 77533 2e219736687c5f5f40376985cdb2baee5a8e49f46b26f263bf86463e1ebbb798 READY
40 POST_ATTACHMENT 48 144 캡처12.PNG /egbim/uploads/qa/1761027502_9b44ccea_캡처12.PNG /home/b24014/egbim/egbim/uploads/qa/1761027502_9b44ccea_캡처12.PNG EGBIM_QA/attachments/48.png 2025-10-21 15:18:22 22877 d189e322372ee85b65a7f8f9129f5f297ca14a4aefff24712ab9671317051989 READY
41 POST_ATTACHMENT 49 149 20251022_091405.png /egbim/uploads/qa/1761092084_725e5079_20251022_091405.png /home/b24014/egbim/egbim/uploads/qa/1761092084_725e5079_20251022_091405.png EGBIM_QA/attachments/49.png 2025-10-22 09:14:44 179551 9d327b07c61830fe7774478fb6f394d8c8320ae5ae0cbd45a25aecfdeeb5241b READY
42 POST_ATTACHMENT 50 152 20251023_095426.png /egbim/uploads/qa/1761181110_ca938dea_20251023_095426.png /home/b24014/egbim/egbim/uploads/qa/1761181110_ca938dea_20251023_095426.png EGBIM_QA/attachments/50.png 2025-10-23 09:58:30 124171 f84b63407297f045e73f9ad4694543e7863bf640194c9b49db36feafcebeade8 READY
43 POST_ATTACHMENT 51 153 도곽 머서리부 격자 오류 2.PNG /egbim/uploads/qa/1761195003_e07967cc_도곽 머서리부 격자 오류 2.PNG /home/b24014/egbim/egbim/uploads/qa/1761195003_e07967cc_도곽 머서리부 격자 오류 2.PNG EGBIM_QA/attachments/51.png 2025-10-23 13:50:03 418337 855a1bcfb6d8fec79110fd48d0aad69b2d627498c4b2ed4ee5a7632720c5c5e5 READY
44 POST_ATTACHMENT 52 153 도곽 머서리부 격자 오류 3.PNG /egbim/uploads/qa/1761195003_c107a8a0_도곽 머서리부 격자 오류 3.PNG /home/b24014/egbim/egbim/uploads/qa/1761195003_c107a8a0_도곽 머서리부 격자 오류 3.PNG EGBIM_QA/attachments/52.png 2025-10-23 13:50:03 353941 ac66cfbaef4b8c77e321fbe524c817b034776afc2c719eafd658981d87cd358b READY
45 POST_ATTACHMENT 53 153 도곽 모서리부 격자 오류1.PNG /egbim/uploads/qa/1761195003_a0ff0a6b_도곽 모서리부 격자 오류1.PNG /home/b24014/egbim/egbim/uploads/qa/1761195003_a0ff0a6b_도곽 모서리부 격자 오류1.PNG EGBIM_QA/attachments/53.png 2025-10-23 13:50:03 154446 d49a6bb466a14ec4de62e6b9fdaffc75a63062444af53fc7d8a6a53cb2074da1 READY
46 POST_ATTACHMENT 54 155 20251024_100329.png /egbim/uploads/qa/1761268217_caaf1f4e_20251024_100329.png /home/b24014/egbim/egbim/uploads/qa/1761268217_caaf1f4e_20251024_100329.png EGBIM_QA/attachments/54.png 2025-10-24 10:10:17 846646 8d436e0e30e5489d957a964b6dfe2eb3eaa310865f64ca7b290b6eef605d1f7d READY
47 POST_ATTACHMENT 55 155 20251024_100340.png /egbim/uploads/qa/1761268217_534de396_20251024_100340.png /home/b24014/egbim/egbim/uploads/qa/1761268217_534de396_20251024_100340.png EGBIM_QA/attachments/55.png 2025-10-24 10:10:17 662829 0df9f04c35ed48eadc4c1199f339babdacb79405730bf2d241d5693194f2ecf5 READY
48 POST_ATTACHMENT 56 156 캡처.JPG /egbim/uploads/qa/1761271363_bcf69228_캡처.JPG /home/b24014/egbim/egbim/uploads/qa/1761271363_bcf69228_캡처.JPG EGBIM_QA/attachments/56.jpg 2025-10-24 11:02:43 129195 6ad49be80f978833d25e08bb0642801ad004abc070153123b4a47b14407e13e3 READY
49 POST_ATTACHMENT 57 155 20251024_164603.png /egbim/uploads/qa/1761292125_cc4a1143_20251024_164603.png /home/b24014/egbim/egbim/uploads/qa/1761292125_cc4a1143_20251024_164603.png EGBIM_QA/attachments/57.png 2025-10-24 16:48:45 378048 dacf54d0889a5ca3bafde49415c254af0c6798def7f373c29d5e207fce91010e READY
50 POST_ATTACHMENT 58 155 20251024_164813.png /egbim/uploads/qa/1761292125_3f29156a_20251024_164813.png /home/b24014/egbim/egbim/uploads/qa/1761292125_3f29156a_20251024_164813.png EGBIM_QA/attachments/58.png 2025-10-24 16:48:45 942771 badb9dfdf5f918d790291170211d9e9f7f1935f62021fc457d23ee5bb57a17cd READY
51 POST_ATTACHMENT 60 173 eg-bim 설치오류.PNG /egbim/uploads/qa/1762213063_34db2769_eg-bim 설치오류.PNG /home/b24014/egbim/egbim/uploads/qa/1762213063_34db2769_eg-bim 설치오류.PNG EGBIM_QA/attachments/60.png 2025-11-04 08:37:43 43904 fd1b9b58e85504a163dfe65213e68ff1cbc2482b73d5476af53648a928944f3d READY
52 POST_ATTACHMENT 63 178 Desktop.zip /egbim/uploads/qa/1762220379_8d34a8ab_Desktop.zip /home/b24014/egbim/egbim/uploads/qa/1762220379_8d34a8ab_Desktop.zip EGBIM_QA/attachments/63.zip 2025-11-04 10:39:39 35887 24277d108e70dc96ee2701c5951e675ce9e4f9686ead77d717dc4bcc225d73fe READY
53 POST_ATTACHMENT 64 185 cmdeng 오류.png /egbim/uploads/qa/1762306378_52bfa60c_cmdeng 오류.png /home/b24014/egbim/egbim/uploads/qa/1762306378_52bfa60c_cmdeng 오류.png EGBIM_QA/attachments/64.png 2025-11-05 10:32:58 92965 2414d305ccf20f1744cad78154721f5ad5723cd8957579ff23596d36670d3609 READY
54 POST_ATTACHMENT 76 200 04 [Nose부] 교대 계획.dwg /egbim/uploads/qa/1762931252_7c4cc1ad_04 [Nose부] 교대 계획.dwg /home/b24014/egbim/egbim/uploads/qa/1762931252_7c4cc1ad_04 [Nose부] 교대 계획.dwg EGBIM_QA/attachments/76.dwg 2025-11-12 16:07:32 85120 cb7f598bc613a225e592aa2fd7f6a5c390717b8266ef56b8db32472810bf1328 READY
55 POST_ATTACHMENT 78 203 낱 장 출력 위치도.pdf /egbim/uploads/qa/1762995972_64932179_낱 장 출력 위치도.pdf /home/b24014/egbim/egbim/uploads/qa/1762995972_64932179_낱 장 출력 위치도.pdf EGBIM_QA/attachments/78.pdf 2025-11-13 10:06:12 10510536 3fb5f9954e1b34e8594660a4bcc78fb651c227acfd623b830920058274505f08 READY
56 POST_ATTACHMENT 79 203 다중 출력 위치도.pdf /egbim/uploads/qa/1762995972_fc075feb_다중 출력 위치도.pdf /home/b24014/egbim/egbim/uploads/qa/1762995972_fc075feb_다중 출력 위치도.pdf EGBIM_QA/attachments/79.pdf 2025-11-13 10:06:12 8231932 1e73fd31729ede3d95d04f18194d63f095646cc9e099e38aaa5a46fc4fd08141 READY
57 POST_ATTACHMENT 80 207 캡처.JPG /egbim/uploads/qa/1763080126_8f3e209b_캡처.JPG /home/b24014/egbim/egbim/uploads/qa/1763080126_8f3e209b_캡처.JPG EGBIM_QA/attachments/80.jpg 2025-11-14 09:28:46 47120 8da142fd6d2d724af36393a05085901d0def705f89c6a0760fcac9815f7fac5d READY
58 POST_ATTACHMENT 81 209 1.1.3 평면 및 종단면도 ( 이설도로 )_251113.dwg /egbim/uploads/qa/1763084167_bf31b61b_1.1.3 평면 및 종단면도 ( 이설도로 )_251113.dwg /home/b24014/egbim/egbim/uploads/qa/1763084167_bf31b61b_1.1.3 평면 및 종단면도 ( 이설도로 )_251113.dwg EGBIM_QA/attachments/81.dwg 2025-11-14 10:36:07 3348687 d2dc2b488aef495e6cca22863eceee47dc195c6d53f55b5cd282436ac95fbd86 READY
59 POST_ATTACHMENT 82 217 2025-11-21 15 59 21-ole 이미지 반전.png /egbim/uploads/qa/1763708608_c78a8fdc_2025-11-21 15 59 21-ole 이미지 반전.png /home/b24014/egbim/egbim/uploads/qa/1763708608_c78a8fdc_2025-11-21 15 59 21-ole 이미지 반전.png EGBIM_QA/attachments/82.png 2025-11-21 16:03:28 494588 3a47c90b6f602d40ca88ef1140a7111be3fbf6b49f0a4030df84befd23d5dd4d READY
60 POST_ATTACHMENT 83 217 2025-11-21 15 59 22-ole 이미지 반전.png /egbim/uploads/qa/1763708608_f56dffa1_2025-11-21 15 59 22-ole 이미지 반전.png /home/b24014/egbim/egbim/uploads/qa/1763708608_f56dffa1_2025-11-21 15 59 22-ole 이미지 반전.png EGBIM_QA/attachments/83.png 2025-11-21 16:03:28 544857 27e52f660ab99b026a9a673d278f30ea7425ba91071475c1daa0fe473adcc458 READY
61 POST_ATTACHMENT 84 217 C0010201-002 표준횡단.dwg /egbim/uploads/qa/1763708608_a4232f5d_C0010201-002 표준횡단.dwg /home/b24014/egbim/egbim/uploads/qa/1763708608_a4232f5d_C0010201-002 표준횡단.dwg EGBIM_QA/attachments/84.dwg 2025-11-21 16:03:28 3570944 15212fdae33a06a7bcfcc8a17bd03a20e4a35ac58668e55a3247ad5a60adfad1 READY
62 POST_ATTACHMENT 85 217 C0010201-001 표준횡단.dwg /egbim/uploads/qa/1763708608_3cec0dc6_C0010201-001 표준횡단.dwg /home/b24014/egbim/egbim/uploads/qa/1763708608_3cec0dc6_C0010201-001 표준횡단.dwg EGBIM_QA/attachments/85.dwg 2025-11-21 16:03:28 3409236 75874416e7c735de0affa628d9d318ee05ae26bee7eb1d6215db538efd5a20d2 READY
63 POST_ATTACHMENT 86 219 오류 화면.jpg /egbim/uploads/qa/1763966511_c1cbcc9a_오류 화면.jpg /home/b24014/egbim/egbim/uploads/qa/1763966511_c1cbcc9a_오류 화면.jpg EGBIM_QA/attachments/86.jpg 2025-11-24 15:41:51 59594 022bfe8468ea9370148a6527eec483d0e568b197e8d315f2c42bdc2b9f47212e READY
64 POST_ATTACHMENT 87 220 drpipe.zip /egbim/uploads/qa/1764115615_3583a452_drpipe.zip /home/b24014/egbim/egbim/uploads/qa/1764115615_3583a452_drpipe.zip EGBIM_QA/attachments/87.zip 2025-11-26 09:06:55 339605 652da3d75733f34b4fffe995674ea1f32746f970b959ee433383572eb8b9e3a3 READY
65 POST_ATTACHMENT 90 226 재료표.GIF /egbim/uploads/qa/1764639405_21eea30b_재료표.GIF /home/b24014/egbim/egbim/uploads/qa/1764639405_21eea30b_재료표.GIF EGBIM_QA/attachments/90.gif 2025-12-02 10:36:45 24348 a8920bb763f529e2a06913deadac9af5f783b0dd8792377cd53294e00b8ffffe READY
66 POST_ATTACHMENT 91 230 레지스트리.reg /egbim/uploads/qa/1764897735_d0e31216_레지스트리.reg /home/b24014/egbim/egbim/uploads/qa/1764897735_d0e31216_레지스트리.reg EGBIM_QA/attachments/91.reg 2025-12-05 10:22:15 152756 2ee19ea157f5cb6c477ab8442b79c6fd72749ebe8e881ec05780f178515c8007 READY
67 POST_ATTACHMENT 92 230 투명도 테스트.zip /egbim/uploads/qa/1764897735_c03445aa_투명도 테스트.zip /home/b24014/egbim/egbim/uploads/qa/1764897735_c03445aa_투명도 테스트.zip EGBIM_QA/attachments/92.zip 2025-12-05 10:22:15 28825 ab89166189b69fdc5fe9fbec4e70964121e5762a7d4fd0c7283bb1b26462ea1a READY
68 POST_ATTACHMENT 93 232 251204_법성홍농 노선도 - Standard.zip /egbim/uploads/qa/1764910343_1bbd54b1_251204_법성홍농 노선도 - Standard.zip /home/b24014/egbim/egbim/uploads/qa/1764910343_1bbd54b1_251204_법성홍농 노선도 - Standard.zip EGBIM_QA/attachments/93.zip 2025-12-05 13:52:23 6360618 8cc0613a78533317337bfc46d06fd61fe8a2569039c43f9bf13928d8e6625b10 READY
69 POST_ATTACHMENT 94 234 251205-PLOT 에러.png /egbim/uploads/qa/1764914652_f04b4a86_251205-PLOT 에러.png /home/b24014/egbim/egbim/uploads/qa/1764914652_f04b4a86_251205-PLOT 에러.png EGBIM_QA/attachments/94.png 2025-12-05 15:04:12 27223 073680dd4a3e06a61c8857f53b8afb775669c0c951a0308da147a025f852f328 READY
70 POST_ATTACHMENT 95 235 접근수로굴착.png /egbim/uploads/qa/1765150284_cf844a42_접근수로굴착.png /home/b24014/egbim/egbim/uploads/qa/1765150284_cf844a42_접근수로굴착.png EGBIM_QA/attachments/95.png 2025-12-08 08:31:24 72253 10a212e1394885fafee068d6c3f521f43d34eb988a1fb735d22253bfdda74c2e READY
71 POST_ATTACHMENT 96 236 251209-APPLOAD 삭제안됨.png /egbim/uploads/qa/1765263376_c2257846_251209-APPLOAD 삭제안됨.png /home/b24014/egbim/egbim/uploads/qa/1765263376_c2257846_251209-APPLOAD 삭제안됨.png EGBIM_QA/attachments/96.png 2025-12-09 15:56:16 24197 de32b3cc67cceabccc0c34e420c79688e00b4d81ecf3b8d13bafaaf87d9fcf86 READY
72 POST_ATTACHMENT 97 238 캡처.JPG /egbim/uploads/qa/1765340027_090d3d58_캡처.JPG /home/b24014/egbim/egbim/uploads/qa/1765340027_090d3d58_캡처.JPG EGBIM_QA/attachments/97.jpg 2025-12-10 13:13:47 100954 b2f2635be4ae5eff14e2f3e637e8b91a60f2ad7336106e06e4fac8f1aca99d56 READY
73 POST_ATTACHMENT 98 244 K-005.jpg /egbim/uploads/qa/1765930308_f50ba94d_K-005.jpg /home/b24014/egbim/egbim/uploads/qa/1765930308_f50ba94d_K-005.jpg EGBIM_QA/attachments/98.jpg 2025-12-17 09:11:48 169787 455f971e7ba45b31602080f6e5b350400beb0bbb699e2f17a1b02a4a6cf9a4c9 READY
74 POST_ATTACHMENT 99 244 K-006.jpg /egbim/uploads/qa/1765930308_40e06ea6_K-006.jpg /home/b24014/egbim/egbim/uploads/qa/1765930308_40e06ea6_K-006.jpg EGBIM_QA/attachments/99.jpg 2025-12-17 09:11:48 103420 ffb3c5281d6fe6ff1f280cf3cd784c856c435de40c29502011fdd250aa4b79b6 READY
75 POST_ATTACHMENT 100 246 종전선형_종점부 R380.v2.dwg /egbim/uploads/qa/1766103781_de024878_종전선형_종점부 R380.v2.dwg /home/b24014/egbim/egbim/uploads/qa/1766103781_de024878_종전선형_종점부 R380.v2.dwg EGBIM_QA/attachments/100.dwg 2025-12-19 09:23:01 484386 ccb4ab92d69bd0deafc340ce883aae2466daf9236518172096f86b1770573eef READY
76 POST_ATTACHMENT 101 252 Drawing2.dwg /egbim/uploads/qa/1767073250_0d62554c_Drawing2.dwg /home/b24014/egbim/egbim/uploads/qa/1767073250_0d62554c_Drawing2.dwg EGBIM_QA/attachments/101.dwg 2025-12-30 14:40:50 21094 16cb39a5edfda45cefbc4ca787a597c343cf89d32e6c30da5437ba46b9c2c87e READY
77 POST_ATTACHMENT 102 252 레지스트리.reg /egbim/uploads/qa/1767145062_3500f2f2_레지스트리.reg /home/b24014/egbim/egbim/uploads/qa/1767145062_3500f2f2_레지스트리.reg EGBIM_QA/attachments/102.reg 2025-12-31 10:37:42 1097690 81df65dd872837757177d21350b839dd5c1e9faa26afef2ef25267d7e550ef83 READY
78 POST_ATTACHMENT 103 256 251229 계획평면도.zip /egbim/uploads/qa/1767155743_d39452b7_251229 계획평면도.zip /home/b24014/egbim/egbim/uploads/qa/1767155743_d39452b7_251229 계획평면도.zip EGBIM_QA/attachments/103.zip 2025-12-31 13:35:43 10897836 918a2b50758b902dcd771af225cbebc535c39b3ef56e8e8d8774c8f77998d58f READY
79 POST_ATTACHMENT 104 256 그리미 도곽인식.png /egbim/uploads/qa/1767155743_927e0f46_그리미 도곽인식.png /home/b24014/egbim/egbim/uploads/qa/1767155743_927e0f46_그리미 도곽인식.png EGBIM_QA/attachments/104.png 2025-12-31 13:35:43 705433 a993a0ffba58877c0301176884f5413605c23c935748bd09daf971d4212343e1 READY
80 POST_ATTACHMENT 105 256 꾸러미 도곽미인식.png /egbim/uploads/qa/1767155743_f44ab477_꾸러미 도곽미인식.png /home/b24014/egbim/egbim/uploads/qa/1767155743_f44ab477_꾸러미 도곽미인식.png EGBIM_QA/attachments/105.png 2025-12-31 13:35:43 230175 9f0586b0dc978ec2f21a8b630c24f4e8e5469d62406ea4811dd85615aadf1395 READY
81 POST_ATTACHMENT 106 257 Drawing1.dwg /egbim/uploads/qa/1767158131_7aa37d15_Drawing1.dwg /home/b24014/egbim/egbim/uploads/qa/1767158131_7aa37d15_Drawing1.dwg EGBIM_QA/attachments/106.dwg 2025-12-31 14:15:31 4598337 5b2b55b3848b3f3d6c279d0ecc413107c33ab0159f15a2d8486380565b734e93 READY
82 POST_ATTACHMENT 107 259 연결형태1.jpg /egbim/uploads/qa/1767662345_cdb9e917_연결형태1.jpg /home/b24014/egbim/egbim/uploads/qa/1767662345_cdb9e917_연결형태1.jpg EGBIM_QA/attachments/107.jpg 2026-01-06 10:19:05 254537 1ecb7caf102cb691b7f520b38f08596be82c5e92e6003ca4cb59a26e40028da3 READY
83 POST_ATTACHMENT 108 259 연결형태2.jpg /egbim/uploads/qa/1767662345_9c898847_연결형태2.jpg /home/b24014/egbim/egbim/uploads/qa/1767662345_9c898847_연결형태2.jpg EGBIM_QA/attachments/108.jpg 2026-01-06 10:19:05 253888 e70f25e79b4f002ae5501d419846b1d3690f9140014b46a065830b51b5571e6f READY
84 POST_ATTACHMENT 109 259 연결형태3.jpg /egbim/uploads/qa/1767662345_98cc7b6c_연결형태3.jpg /home/b24014/egbim/egbim/uploads/qa/1767662345_98cc7b6c_연결형태3.jpg EGBIM_QA/attachments/109.jpg 2026-01-06 10:19:05 255501 8d63f90f26d6bbc543f12c5b9efeae2260e0641d178022887f0e8954516db10c READY
85 POST_ATTACHMENT 110 259 대산당진(2공구) 사업구역경계.dxf /egbim/uploads/qa/1767676611_e77245bb_대산당진(2공구) 사업구역경계.dxf /home/b24014/egbim/egbim/uploads/qa/1767676611_e77245bb_대산당진(2공구) 사업구역경계.dxf EGBIM_QA/attachments/110.dxf 2026-01-06 14:16:51 7862979 0aa7ca332109c492430755e958bb3dafc474f90cf673d6c288770bf95ed215fb READY
86 POST_ATTACHMENT 111 265 Water Storage Longitudinal & Cross Sections.dwg /egbim/uploads/qa/1767859318_7cc89086_Water Storage Longitudinal & Cross Sections.dwg /home/b24014/egbim/egbim/uploads/qa/1767859318_7cc89086_Water Storage Longitudinal & Cross Sections.dwg EGBIM_QA/attachments/111.dwg 2026-01-08 17:01:58 4280504 7516d4a2efff89caae9bda7b35c7484996abd89c5110de7e6497fa6f06d7f7f6 READY
87 POST_ATTACHMENT 112 268 20260112_170637.jpg /egbim/uploads/qa/1768205263_a6745bff_20260112_170637.jpg /home/b24014/egbim/egbim/uploads/qa/1768205263_a6745bff_20260112_170637.jpg EGBIM_QA/attachments/112.jpg 2026-01-12 17:07:43 35685 e757b8f5980ef80dcd070083eeef1bf151c4aa7ca051868085d93d649797d73d READY
88 POST_ATTACHMENT 113 271 qna.reg /egbim/uploads/qa/1769129489_51c6c5a1_qna.reg /home/b24014/egbim/egbim/uploads/qa/1769129489_51c6c5a1_qna.reg EGBIM_QA/attachments/113.reg 2026-01-23 09:51:29 1570848 c1ca162c3fec26a1da027836241c492dd4be6a057395ea24d819ca4b92fce125 READY
89 POST_ATTACHMENT 114 271 선스타일.dwg /egbim/uploads/qa/1769129489_9450dfb2_선스타일.dwg /home/b24014/egbim/egbim/uploads/qa/1769129489_9450dfb2_선스타일.dwg EGBIM_QA/attachments/114.dwg 2026-01-23 09:51:29 38956 aa7fc34db90647c45599c859694011d40224bb401328a6791e364dbfa05db191 READY
90 POST_ATTACHMENT 115 272 스크린샷 2026-01-26 163117.png /egbim/uploads/qa/1769412837_97587903_스크린샷 2026-01-26 163117.png /home/b24014/egbim/egbim/uploads/qa/1769412837_97587903_스크린샷 2026-01-26 163117.png EGBIM_QA/attachments/115.png 2026-01-26 16:33:57 190854 2e89948f9f7d7a639838b9bd11c457563215214b9f8cb376efe272d9d7aa1f4b READY
91 POST_ATTACHMENT 116 272 01.외관조사망도_석문국가산단 배수갑문(2025-상반기).dwg /egbim/uploads/qa/1769413152_e9650533_01.외관조사망도_석문국가산단 배수갑문(2025-상반기).dwg /home/b24014/egbim/egbim/uploads/qa/1769413152_e9650533_01.외관조사망도_석문국가산단 배수갑문(2025-상반기).dwg EGBIM_QA/attachments/116.dwg 2026-01-26 16:39:12 6059813 cae1942f52eedbd92510b7c2568fc12230eb1622ddf8cc09f3dd2b7f726cbd4d READY
92 POST_ATTACHMENT 117 276 04 부대공.zip /egbim/uploads/qa/1770021557_40ef19e5_04 부대공.zip /home/b24014/egbim/egbim/uploads/qa/1770021557_40ef19e5_04 부대공.zip EGBIM_QA/attachments/117.zip 2026-02-02 17:39:17 3622415 3c8efc54ecf89e5056e123fb02a73d643f6607656a32ee541edb5ee40fcf200e READY
93 POST_ATTACHMENT 118 277 01.위치도(동량~산척)_착수보고 PPT-배치1_캐드 플롯.jpg /egbim/uploads/qa/1770093029_aaf275ad_01.위치도(동량~산척)_착수보고 PPT-배치1_캐드 플롯.jpg /home/b24014/egbim/egbim/uploads/qa/1770093029_aaf275ad_01.위치도(동량~산척)_착수보고 PPT-배치1_캐드 플롯.jpg EGBIM_QA/attachments/118.jpg 2026-02-03 13:30:29 5412828 b4e5e7c11ecc8a431263bb98305584295b8c297a7d1cffd62644590e55c121af READY
94 POST_ATTACHMENT 119 277 01.위치도(동량~산척)_착수보고 PPT-배치1_이지빔.jpg /egbim/uploads/qa/1770093029_a394ad6e_01.위치도(동량~산척)_착수보고 PPT-배치1_이지빔.jpg /home/b24014/egbim/egbim/uploads/qa/1770093029_a394ad6e_01.위치도(동량~산척)_착수보고 PPT-배치1_이지빔.jpg EGBIM_QA/attachments/119.jpg 2026-02-03 13:30:29 9979649 ba29439563bd83710ec96786e0295ac8008041beaca3d2a4ee324e6003623346 READY
95 POST_ATTACHMENT 120 278 모델기반 11+600~12+540_SavedWithErrors.dwg /egbim/uploads/qa/1770098361_d6b40f10_모델기반 11+600~12+540_SavedWithErrors.dwg /home/b24014/egbim/egbim/uploads/qa/1770098361_d6b40f10_모델기반 11+600~12+540_SavedWithErrors.dwg EGBIM_QA/attachments/120.dwg 2026-02-03 14:59:21 9081562 9de915baab97aabc179173fc7113ad0a0f0437d1b34ba14274a79340820ae049 READY
96 POST_ATTACHMENT 121 278 모델기반 11+600~12+540_SavedWithErrors1.dwg /egbim/uploads/qa/1770098361_3f0f5821_모델기반 11+600~12+540_SavedWithErrors1.dwg /home/b24014/egbim/egbim/uploads/qa/1770098361_3f0f5821_모델기반 11+600~12+540_SavedWithErrors1.dwg EGBIM_QA/attachments/121.dwg 2026-02-03 14:59:21 9081562 c19979b840d1e56009c3fc8d3303b32e6e9b73b11218b1d2f9d14c2cfbc6ac69 READY
97 POST_ATTACHMENT 122 279 KakaoTalk_20260203_153624358.png /egbim/uploads/qa/1770100639_0390a4a7_KakaoTalk_20260203_153624358.png /home/b24014/egbim/egbim/uploads/qa/1770100639_0390a4a7_KakaoTalk_20260203_153624358.png EGBIM_QA/attachments/122.png 2026-02-03 15:37:19 258015 49db96325aca81ac14edd99e5396dfa0abcd172c9129f3fe9ec4694aed75a7a1 READY
98 POST_ATTACHMENT 123 287 [도면] BIM_대호지교 시점부(A1) 배근도.dwg /egbim/uploads/qa/1770770865_adf31164_[도면] BIM_대호지교 시점부(A1) 배근도.dwg /home/b24014/egbim/egbim/uploads/qa/1770770865_adf31164_[도면] BIM_대호지교 시점부(A1) 배근도.dwg EGBIM_QA/attachments/123.dwg 2026-02-11 09:47:45 3114270 23fee231a2a324b9d7d239e02fcc98ea2ad3f24b9efc7755a55a555a45186ae8 READY
99 POST_ATTACHMENT 124 289 20260211_113953.png /egbim/uploads/qa/1770777674_f0db5b88_20260211_113953.png /home/b24014/egbim/egbim/uploads/qa/1770777674_f0db5b88_20260211_113953.png EGBIM_QA/attachments/124.png 2026-02-11 11:41:14 754900 8f2d3caf1a31042a78984203b5be7d0de36f7fffe139a258eeb3063c8aafda17 READY
100 POST_ATTACHMENT 125 289 동산 소하천 보고용 판넬_20250623.dwg /egbim/uploads/qa/1770777674_32be061c_동산 소하천 보고용 판넬_20250623.dwg /home/b24014/egbim/egbim/uploads/qa/1770777674_32be061c_동산 소하천 보고용 판넬_20250623.dwg EGBIM_QA/attachments/125.dwg 2026-02-11 11:41:14 7069368 e264e4b03765b931d33f5cdc731b5f801b2e9d497397f79a19ca33ac34a796d0 READY
101 POST_ATTACHMENT 126 294 충북도_5000-Layout 01_이지빔 플롯.pdf /egbim/uploads/qa/1770981372_54c28382_충북도_5000-Layout 01_이지빔 플롯.pdf /home/b24014/egbim/egbim/uploads/qa/1770981372_54c28382_충북도_5000-Layout 01_이지빔 플롯.pdf EGBIM_QA/attachments/126.pdf 2026-02-13 20:16:12 13127850 c04950bf5fd4fcbecb3f69011cd314dc4e0e6b19afba4d8689ec8a9c589ebedb READY
102 POST_ATTACHMENT 127 294 충북도_5000 Layout 01_캐드 플롯.pdf /egbim/uploads/qa/1770981372_5880c2a7_충북도_5000 Layout 01_캐드 플롯.pdf /home/b24014/egbim/egbim/uploads/qa/1770981372_5880c2a7_충북도_5000 Layout 01_캐드 플롯.pdf EGBIM_QA/attachments/127.pdf 2026-02-13 20:16:12 20443647 41f093151ab26b03ffd313cc5278b0e41b76cd808ec234902bea632dbc54319b READY
103 POST_ATTACHMENT 128 297 라이센스 만료.png /egbim/uploads/qa/1771812094_80f52127_라이센스 만료.png /home/b24014/egbim/egbim/uploads/qa/1771812094_80f52127_라이센스 만료.png EGBIM_QA/attachments/128.png 2026-02-23 11:01:34 317079 3f46901ecc0389adc2c9c0e5f9a1d4e7f115a32c259ba7bb79c4d34a85048b3e READY
104 POST_ATTACHMENT 129 298 OLE파일 뒤집힘.png /egbim/uploads/qa/1771912769_2573bcc0_OLE파일 뒤집힘.png /home/b24014/egbim/egbim/uploads/qa/1771912769_2573bcc0_OLE파일 뒤집힘.png EGBIM_QA/attachments/129.png 2026-02-24 14:59:29 106954 131a192c3562ab7af38b8c6bca43a8b78e2e0e0a59845beca851a0b9b42b0c13 READY
105 POST_ATTACHMENT 130 299 1.JPG /egbim/uploads/qa/1771931821_2bd2f028_1.JPG /home/b24014/egbim/egbim/uploads/qa/1771931821_2bd2f028_1.JPG EGBIM_QA/attachments/130.jpg 2026-02-24 20:17:01 30646 021798720afb973ef9f8e476f5943ddc6f465d68f058831041de9cf7a361b274 READY
106 POST_ATTACHMENT 131 299 2.JPG /egbim/uploads/qa/1771931821_2db1fc02_2.JPG /home/b24014/egbim/egbim/uploads/qa/1771931821_2db1fc02_2.JPG EGBIM_QA/attachments/131.jpg 2026-02-24 20:17:01 48756 efeed26af06ac86da0b4782b556e155870a0e186428ef5e74c412b99faac4793 READY
107 POST_ATTACHMENT 132 307 Capture_2026_0304_085418.jpeg /egbim/uploads/qa/1772589489_58166209_Capture_2026_0304_085418.jpeg /home/b24014/egbim/egbim/uploads/qa/1772589489_58166209_Capture_2026_0304_085418.jpeg EGBIM_QA/attachments/132.jpeg 2026-03-04 10:58:09 15240 70c38095a169c89ae98b0c5664ee21043889380b1b0a8d466c76274c2f9d5096 READY
108 POST_ATTACHMENT 133 308 73-1.표지판삽도_ver1.0 (1)-Model.pdf /egbim/uploads/qa/1772600223_dd899df7_73-1.표지판삽도_ver1.0 (1)-Model.pdf /home/b24014/egbim/egbim/uploads/qa/1772600223_dd899df7_73-1.표지판삽도_ver1.0 (1)-Model.pdf EGBIM_QA/attachments/133.pdf 2026-03-04 13:57:03 65864 b0b2ae1b276b846472089515c9a94b413df29b94d1d63b0a87971680b9db7157 READY
109 POST_ATTACHMENT 134 314 SAMPLE.dwg /egbim/uploads/qa/1773023518_37a3c762_SAMPLE.dwg /home/b24014/egbim/egbim/uploads/qa/1773023518_37a3c762_SAMPLE.dwg EGBIM_QA/attachments/134.dwg 2026-03-09 11:31:58 364583 e1c5f6b6e05df5c27917722ce935fec2caf516a8b64dadf1ada3b9414162c4e5 READY
110 POST_ATTACHMENT 135 315 xr_5000도 - Standard.zip /egbim/uploads/qa/1773031430_e95b4590_xr_5000도 - Standard.zip /home/b24014/egbim/egbim/uploads/qa/1773031430_e95b4590_xr_5000도 - Standard.zip EGBIM_QA/attachments/135.zip 2026-03-09 13:43:50 23926222 05674a08d619826b89654535bee3bf3b7b9e21241309d447bd70ad7505e4e2e4 READY
111 POST_ATTACHMENT 136 314 221.reg /egbim/uploads/qa/1773036532_bb72f2b6_221.reg /home/b24014/egbim/egbim/uploads/qa/1773036532_bb72f2b6_221.reg EGBIM_QA/attachments/136.reg 2026-03-09 15:08:52 1659696 52e33ed1fc8c9e89e1220cad80a8b4b5599825440599a91db9ecae07615671b4 READY
112 POST_ATTACHMENT 137 320 image01.png /egbim/uploads/qa/1773107400_47a5874c_image01.png /home/b24014/egbim/egbim/uploads/qa/1773107400_47a5874c_image01.png EGBIM_QA/attachments/137.png 2026-03-10 10:50:00 76000 c4c57b7ec1eb76eb4b568c37102b6cfc7a4130f7bda0784a6946bcc9311c354b READY
113 POST_ATTACHMENT 138 321 오류.JPG /egbim/uploads/qa/1773110406_f0a0aaab_오류.JPG /home/b24014/egbim/egbim/uploads/qa/1773110406_f0a0aaab_오류.JPG EGBIM_QA/attachments/138.jpg 2026-03-10 11:40:06 15771 958b17b03737d72f71354a3c58efc183853c7b539d8aabd59ca484f838076190 READY
114 POST_ATTACHMENT 139 321 오류-2.JPG /egbim/uploads/qa/1773110406_dcbd32e4_오류-2.JPG /home/b24014/egbim/egbim/uploads/qa/1773110406_dcbd32e4_오류-2.JPG EGBIM_QA/attachments/139.jpg 2026-03-10 11:40:06 21835 e94f71b21a6477be83c0ab698d85b638135a9fd946957ecb0f44928a4554c4f4 READY
115 POST_ATTACHMENT 140 327 [남양주시] 남양주왕숙2 공공주택지구(4326).dxf /egbim/uploads/qa/1773204441_94408044_[남양주시] 남양주왕숙2 공공주택지구(4326).dxf /home/b24014/egbim/egbim/uploads/qa/1773204441_94408044_[남양주시] 남양주왕숙2 공공주택지구(4326).dxf EGBIM_QA/attachments/140.dxf 2026-03-11 13:47:21 43114 bac090501bf2c8a409a1b380b6f497db42351aa1fbc58df4568e280f62ad6247 READY
116 POST_ATTACHMENT 141 327 경계선 화면표시 왜곡.png /egbim/uploads/qa/1773204441_5d81ff38_경계선 화면표시 왜곡.png /home/b24014/egbim/egbim/uploads/qa/1773204441_5d81ff38_경계선 화면표시 왜곡.png EGBIM_QA/attachments/141.png 2026-03-11 13:47:21 140235 7ebb7bd1ba03e94a5c55720701e464ab31129917e592149a86d54770f25b7988 READY
117 POST_ATTACHMENT 142 330 캡처.JPG /egbim/uploads/qa/1773276735_fb25c050_캡처.JPG /home/b24014/egbim/egbim/uploads/qa/1773276735_fb25c050_캡처.JPG EGBIM_QA/attachments/142.jpg 2026-03-12 09:52:15 97553 adb894bbc2d9b8d142df2c4a7bed90148eb29aaf7424e46b78e656f704228c15 READY
118 POST_ATTACHMENT 144 337 #위치도 - Standard.zip /egbim/uploads/qa/1773798816_89ad4aa6_#위치도 - Standard.zip /home/b24014/egbim/egbim/uploads/qa/1773798816_89ad4aa6_#위치도 - Standard.zip EGBIM_QA/attachments/144.zip 2026-03-18 10:53:36 19107361 3face2ed58a068c51f97fb9dba02edb5ef35e99280ea1344ee41b7e86286a69c READY
119 POST_ATTACHMENT 145 338 KakaoTalk_20260319_145034264.jpg /egbim/uploads/qa/1773900161_53915f6e_KakaoTalk_20260319_145034264.jpg /home/b24014/egbim/egbim/uploads/qa/1773900161_53915f6e_KakaoTalk_20260319_145034264.jpg EGBIM_QA/attachments/145.jpg 2026-03-19 15:02:41 378049 79dc1a8a72a3d0f9a4ba6cdcbf39b09e9f84a6b557c27e0246d5be0545ccbc44 READY
120 POST_ATTACHMENT 146 338 KakaoTalk_20260319_145034264_01.jpg /egbim/uploads/qa/1773900161_3b1082f5_KakaoTalk_20260319_145034264_01.jpg /home/b24014/egbim/egbim/uploads/qa/1773900161_3b1082f5_KakaoTalk_20260319_145034264_01.jpg EGBIM_QA/attachments/146.jpg 2026-03-19 15:02:41 585362 e8ca291802ff49ed6e9ea5a824431d79104f5ad3288cd08f431a2d8c21a0f1db READY
121 POST_ATTACHMENT 147 339 첨부사진1.jpg /egbim/uploads/qa/1773902591_57df1f0e_첨부사진1.jpg /home/b24014/egbim/egbim/uploads/qa/1773902591_57df1f0e_첨부사진1.jpg EGBIM_QA/attachments/147.jpg 2026-03-19 15:43:11 6617605 841698df6e91f4230e34513ea27109b33c239cebf390572afccf7bb58983e9e3 READY
122 POST_ATTACHMENT 148 339 첨부사진2.jpg /egbim/uploads/qa/1773902591_4feb8795_첨부사진2.jpg /home/b24014/egbim/egbim/uploads/qa/1773902591_4feb8795_첨부사진2.jpg EGBIM_QA/attachments/148.jpg 2026-03-19 15:43:11 6754195 0d04863f932fae8df98a10f7b2b18e3f02d7079e2797fac0dd3f4139e83811d8 READY
123 POST_ATTACHMENT 149 339 첨부사진3.jpg /egbim/uploads/qa/1773902591_a27c9ef4_첨부사진3.jpg /home/b24014/egbim/egbim/uploads/qa/1773902591_a27c9ef4_첨부사진3.jpg EGBIM_QA/attachments/149.jpg 2026-03-19 15:43:11 7161806 c86750d6bb5f705b8a31116934e3d68882562b85cafb19989ea85d562f00a5f2 READY
124 POST_ATTACHMENT 150 340 1111.jpg /egbim/uploads/qa/1773966469_12a2b062_1111.jpg /home/b24014/egbim/egbim/uploads/qa/1773966469_12a2b062_1111.jpg EGBIM_QA/attachments/150.jpg 2026-03-20 09:27:49 941277 144da3eb2d1689de5ebbd8ac2cee8fad55378720d402b133b0051c7c61247d3b READY
125 POST_ATTACHMENT 151 343 R1 단축키.reg /egbim/uploads/qa/1774227996_f0503a4f_R1 단축키.reg /home/b24014/egbim/egbim/uploads/qa/1774227996_f0503a4f_R1 단축키.reg EGBIM_QA/attachments/151.reg 2026-03-23 10:06:36 492242 92f717665a024917e2a557fdbd6962c7f648a45e09c49bc1a27b931385dbf9d8 READY
126 POST_ATTACHMENT 152 343 R1 단축키.hwp /egbim/uploads/qa/1774227996_7f8b0fc5_R1 단축키.hwp /home/b24014/egbim/egbim/uploads/qa/1774227996_7f8b0fc5_R1 단축키.hwp EGBIM_QA/attachments/152.hwp 2026-03-23 10:06:36 95744 727f7ace62982fcfaba2e9277927787307e888c544a395bbf06770de91ec090e READY
127 POST_ATTACHMENT 153 347 사진1.png /egbim/uploads/qa/1774414907_9dc0f797_사진1.png /home/b24014/egbim/egbim/uploads/qa/1774414907_9dc0f797_사진1.png EGBIM_QA/attachments/153.png 2026-03-25 14:01:47 147920 a3d98fac50a4c07676cffe87dc6f7a2b9b17964685d3092b14902c8f3836368e READY
128 POST_ATTACHMENT 154 347 사진2.png /egbim/uploads/qa/1774414907_190050a8_사진2.png /home/b24014/egbim/egbim/uploads/qa/1774414907_190050a8_사진2.png EGBIM_QA/attachments/154.png 2026-03-25 14:01:47 149296 471d7341ca8afc0d43eb90538b686bac56c151d228838e1a5e15f5ecff99d591 READY
129 POST_ATTACHMENT 156 352 20260401_150953.jpg /egbim/uploads/qa/1775023822_2c7de3b2_20260401_150953.jpg /home/b24014/egbim/egbim/uploads/qa/1775023822_2c7de3b2_20260401_150953.jpg EGBIM_QA/attachments/156.jpg 2026-04-01 15:10:22 863604 22ded1013f48745ce1b47223a6ffdcd1909dbb241eebf040e65c82c0705575ce READY
130 POST_ATTACHMENT 157 354 장제로 측량현황도(2구간)_230612F(측량보완).dwg /egbim/uploads/qa/1775090986_971be355_장제로 측량현황도(2구간)_230612F(측량보완).dwg /home/b24014/egbim/egbim/uploads/qa/1775090986_971be355_장제로 측량현황도(2구간)_230612F(측량보완).dwg EGBIM_QA/attachments/157.dwg 2026-04-02 09:49:46 3436308 a78606f1c9a5e360417bb53a513e94ae32fee354e039ef7f0e3dd147627aeaf8 READY
131 POST_ATTACHMENT 158 355 20260403114033.jpg /egbim/uploads/qa/1775184064_ea2f33e1_20260403114033.jpg /home/b24014/egbim/egbim/uploads/qa/1775184064_ea2f33e1_20260403114033.jpg EGBIM_QA/attachments/158.jpg 2026-04-03 11:41:04 124084 1f152bcf81ac58129532124f2827e5612844a1f6fbfee13d9c6c0c22be145ab6 READY
132 POST_ATTACHMENT 159 355 Drawing1.dwg /egbim/uploads/qa/1775184083_d66db56a_Drawing1.dwg /home/b24014/egbim/egbim/uploads/qa/1775184083_d66db56a_Drawing1.dwg EGBIM_QA/attachments/159.dwg 2026-04-03 11:41:23 76800 2926f7e37e6e07fbd145741b1f75cb944b1e746b7f2b45cd06b9553b61e695da READY
133 POST_ATTACHMENT 160 363 에러 화면 캡쳐.GIF /egbim/uploads/qa/1776046918_888778ff_에러 화면 캡쳐.GIF /home/b24014/egbim/egbim/uploads/qa/1776046918_888778ff_에러 화면 캡쳐.GIF EGBIM_QA/attachments/160.gif 2026-04-13 11:21:58 48199 a35e0a1036123fc14cd67e92e3ac49c6886f15f42533e8bee17c5fa720e275b8 READY
134 POST_ATTACHMENT 161 365 pl오류.dwg /egbim/uploads/qa/1776126098_a3aa42b9_pl오류.dwg /home/b24014/egbim/egbim/uploads/qa/1776126098_a3aa42b9_pl오류.dwg EGBIM_QA/attachments/161.dwg 2026-04-14 09:21:38 9432604 05f3690fef35db2635ea0ed3e39085e7ce29f155a3805d317849e33fe6ca006b READY
135 POST_ATTACHMENT 162 370 취수통관 일반도.dwg /egbim/uploads/qa/1776237707_cac90675_취수통관 일반도.dwg /home/b24014/egbim/egbim/uploads/qa/1776237707_cac90675_취수통관 일반도.dwg EGBIM_QA/attachments/162.dwg 2026-04-15 16:21:47 7338797 3238a580f95363c395d8083c57a8b9814103ee86180bccb540a58c918c3b39af READY
136 POST_ATTACHMENT 163 370 FIXVPORT.lsp /egbim/uploads/qa/1776313758_50338ccd_FIXVPORT.lsp /home/b24014/egbim/egbim/uploads/qa/1776313758_50338ccd_FIXVPORT.lsp EGBIM_QA/attachments/163.lsp 2026-04-16 13:29:18 1550 15121c1776ef51f3cc46067009d8aede5989b96c968fb02ca185c34c06ad96f1 READY
137 POST_ATTACHMENT 164 374 플롯 투명도 미적용.jpg /egbim/uploads/qa/1776402611_020072af_플롯 투명도 미적용.jpg /home/b24014/egbim/egbim/uploads/qa/1776402611_020072af_플롯 투명도 미적용.jpg EGBIM_QA/attachments/164.jpg 2026-04-17 14:10:11 6383923 1293ea295d902ceff0c22d7cc1bc5681b45c7f5e03a0ee4a933ac765b2812221 READY
138 POST_ATTACHMENT 165 374 플롯 투명도 적용.jpg /egbim/uploads/qa/1776402611_81361a50_플롯 투명도 적용.jpg /home/b24014/egbim/egbim/uploads/qa/1776402611_81361a50_플롯 투명도 적용.jpg EGBIM_QA/attachments/165.jpg 2026-04-17 14:10:11 6474066 1cce8342bdb8807a694ae929bf8426577d2c6d814db538bc7dde910434ad1b59 READY
139 POST_ATTACHMENT 166 375 객체스냅 잔상오류.JPG /egbim/uploads/qa/1776413706_248fe7ee_객체스냅 잔상오류.JPG /home/b24014/egbim/egbim/uploads/qa/1776413706_248fe7ee_객체스냅 잔상오류.JPG EGBIM_QA/attachments/166.jpg 2026-04-17 17:15:06 36113 0ad5fed6e868621f9103c8b5636cb44a6109517b541fdaa746403a272739920f READY
140 POST_ATTACHMENT 167 376 스크린샷 2026-04-21 095747.png /egbim/uploads/qa/1776733186_424f64a2_스크린샷 2026-04-21 095747.png /home/b24014/egbim/egbim/uploads/qa/1776733186_424f64a2_스크린샷 2026-04-21 095747.png EGBIM_QA/attachments/167.png 2026-04-21 09:59:46 14989 42e0aeb8b9858d64daec4098f74e35be1fc22efb7699cae002a9220276d031f7 READY
141 POST_ATTACHMENT 168 378 [1.4.0.0.P.VC16.x64.RF111][AccessViolation][atio6axx.dll][7ffe5bccd1a4][2026-04-21][10.12.35].zip /egbim/uploads/qa/1776766716_df575e28_[1.4.0.0.P.VC16.x64.RF111][AccessViolation][atio6axx.dll][7ffe5bccd1a4][2026-04-21][10.12.35].zip /home/b24014/egbim/egbim/uploads/qa/1776766716_df575e28_[1.4.0.0.P.VC16.x64.RF111][AccessViolation][atio6axx.dll][7ffe5bccd1a4][2026-04-21][10.12.35].zip EGBIM_QA/attachments/168.zip 2026-04-21 19:18:36 530581 00ed486bb01822eb2f8a7d881b2d9c9f49003898521cfed30852d1d627c3963c READY
142 POST_ATTACHMENT 169 379 260424_지하차도_형상기획_수정.dwg /egbim/uploads/qa/1776998655_bcfd14d9_260424_지하차도_형상기획_수정.dwg /home/b24014/egbim/egbim/uploads/qa/1776998655_bcfd14d9_260424_지하차도_형상기획_수정.dwg EGBIM_QA/attachments/169.dwg 2026-04-24 11:44:15 1276553 83cb31161686eaa7cfb2822172ffb83a2340b501cbe1ed65e2d0ffb8881c7183 READY
143 POST_ATTACHMENT 170 382 coordinates export 명령어 오류.png /egbim/uploads/qa/1777267785_bec79089_coordinates export 명령어 오류.png /home/b24014/egbim/egbim/uploads/qa/1777267785_bec79089_coordinates export 명령어 오류.png EGBIM_QA/attachments/170.png 2026-04-27 14:29:45 4560 506fc8515bf3170710c72438e5d16cd7431040ac11d05d90ab9183ce3d429c15 READY
144 POST_ATTACHMENT 171 383 삽도_항만1.dwg /egbim/uploads/qa/1777270823_3a635eea_삽도_항만1.dwg /home/b24014/egbim/egbim/uploads/qa/1777270823_3a635eea_삽도_항만1.dwg EGBIM_QA/attachments/171.dwg 2026-04-27 15:20:23 804450 ac88121fe5c0f68ab61fed22844ddf73cfcdec9bb749ed76f0ea10f8a1cac671 READY
145 POST_ATTACHMENT 172 389 EG-BIM 오류 사진.JPG /egbim/uploads/qa/1778658428_e211433b_EG-BIM 오류 사진.JPG /home/b24014/egbim/egbim/uploads/qa/1778658428_e211433b_EG-BIM 오류 사진.JPG EGBIM_QA/attachments/172.jpg 2026-05-13 16:47:08 73973 b05e3e850a2bca6ed1a50252dfe0ba87d2e45cbe4b690821388ea481d86d4b89 READY
146 POST_ATTACHMENT 175 390 화목나들목-EGBIM 오류보고용.dwg /egbim/uploads/qa/1778660458_f476ed9a_화목나들목-EGBIM 오류보고용.dwg /home/b24014/egbim/egbim/uploads/qa/1778660458_f476ed9a_화목나들목-EGBIM 오류보고용.dwg EGBIM_QA/attachments/175.dwg 2026-05-13 17:20:58 77343 40237268afeabcfaeee6951c656468f9dc4febb9c8e98226a9bf6da5181146c2 READY
147 POST_ATTACHMENT 176 390 화목나들목-EGBIM 오류보고용.dwg /egbim/uploads/qa/1778660499_6f38cd60_화목나들목-EGBIM 오류보고용.dwg /home/b24014/egbim/egbim/uploads/qa/1778660499_6f38cd60_화목나들목-EGBIM 오류보고용.dwg EGBIM_QA/attachments/176.dwg 2026-05-13 17:21:39 77343 40237268afeabcfaeee6951c656468f9dc4febb9c8e98226a9bf6da5181146c2 READY
148 POST_ATTACHMENT 177 390 GETIP_98.lsp /egbim/uploads/qa/1778660499_b8b03fd6_GETIP_98.lsp /home/b24014/egbim/egbim/uploads/qa/1778660499_b8b03fd6_GETIP_98.lsp EGBIM_QA/attachments/177.lsp 2026-05-13 17:21:39 165924 27e6e136508a7cb59e27a5de5e381b16953c7e59e4113b3e63674dbaab077395 READY
149 POST_ATTACHMENT 178 390 GETIP_98_메뉴얼.docx /egbim/uploads/qa/1778660499_849c91fc_GETIP_98_메뉴얼.docx /home/b24014/egbim/egbim/uploads/qa/1778660499_849c91fc_GETIP_98_메뉴얼.docx EGBIM_QA/attachments/178.docx 2026-05-13 17:21:39 58867 afd0afeaf088e0058e457e33a6c4e660103848a7bab6cba08f326a7629054a7b READY
150 POST_ATTACHMENT 179 394 라이센스만료.jpg /egbim/uploads/qa/1779264146_e0d2995e_라이센스만료.jpg /home/b24014/egbim/egbim/uploads/qa/1779264146_e0d2995e_라이센스만료.jpg EGBIM_QA/attachments/179.jpg 2026-05-20 17:02:26 91524 198f52e06dbf9de1325f75fae9c11e3bd51a68bbb1f165e30f4cac4dcdd39aac READY
151 POST_ATTACHMENT 180 395 스크린샷 2026-05-21 100324.png /egbim/uploads/qa/1779325494_3a31f842_스크린샷 2026-05-21 100324.png /home/b24014/egbim/egbim/uploads/qa/1779325494_3a31f842_스크린샷 2026-05-21 100324.png EGBIM_QA/attachments/180.png 2026-05-21 10:04:54 14012 49dda271788a188005717723998aa1022bc28a21bdbcc7ce7259cb74af441c2c READY
152 POST_ATTACHMENT 181 395 스크린샷 2026-05-21 100321.png /egbim/uploads/qa/1779325494_11ebfab5_스크린샷 2026-05-21 100321.png /home/b24014/egbim/egbim/uploads/qa/1779325494_11ebfab5_스크린샷 2026-05-21 100321.png EGBIM_QA/attachments/181.png 2026-05-21 10:04:54 13860 fb6907e21921016d561401319a350063221ca2cc3e715247364a316320abc69b READY
153 POST_ATTACHMENT 182 397 20260526_095314.png /egbim/uploads/qa/1779756862_0d572e8d_20260526_095314.png /home/b24014/egbim/egbim/uploads/qa/1779756862_0d572e8d_20260526_095314.png EGBIM_QA/attachments/182.png 2026-05-26 09:54:22 20200 36e75055fbade2a0a441cf32aed206f483daea06c0beb41160fbe03e76494336 READY
154 POST_ATTACHMENT 183 402 가이드.jpg /egbim/uploads/qa/1780014799_545244bb_가이드.jpg /home/b24014/egbim/egbim/uploads/qa/1780014799_545244bb_가이드.jpg EGBIM_QA/attachments/183.jpg 2026-05-29 09:33:19 338193 06838837d04581bc700a964ad33d67db9d661be82abbde866b0f4d808f08a249 READY
155 POST_ATTACHMENT 184 402 사용자 화면.jpg /egbim/uploads/qa/1780014799_c801fad7_사용자 화면.jpg /home/b24014/egbim/egbim/uploads/qa/1780014799_c801fad7_사용자 화면.jpg EGBIM_QA/attachments/184.jpg 2026-05-29 09:33:19 93003 c29fe3d3ab85169abee38e19003d79184d12bbba922fdbbac567bd433d60b72d READY
156 POST_ATTACHMENT 185 403 KakaoTalk_20260601_111539096.png /egbim/uploads/qa/1780280218_4c26ccca_KakaoTalk_20260601_111539096.png /home/b24014/egbim/egbim/uploads/qa/1780280218_4c26ccca_KakaoTalk_20260601_111539096.png EGBIM_QA/attachments/185.png 2026-06-01 11:16:58 279159 7b79ead79665318a1e73651a1eb1055739ed2520d8e30837cf5d6f2475244bc8 READY
157 POST_ATTACHMENT 186 404 화면 캡처 2026-06-02 092930.png /egbim/uploads/qa/1780360313_07bb49b7_화면 캡처 2026-06-02 092930.png /home/b24014/egbim/egbim/uploads/qa/1780360313_07bb49b7_화면 캡처 2026-06-02 092930.png EGBIM_QA/attachments/186.png 2026-06-02 09:31:53 32378 fc83ae8ef9f4fe4f3605707719b5dc8697a12a441540b57d89fa54825a206701 READY
158 POST_ATTACHMENT 187 404 화면 캡처 2026-06-02 092947.png /egbim/uploads/qa/1780360313_ade54746_화면 캡처 2026-06-02 092947.png /home/b24014/egbim/egbim/uploads/qa/1780360313_ade54746_화면 캡처 2026-06-02 092947.png EGBIM_QA/attachments/187.png 2026-06-02 09:31:53 32624 0c718e4c5a69ae7457c9e7ae4da3623d0675cfa2a0282e56982cf47e3b682f90 READY
159 POST_ATTACHMENT 188 400 Template_2.1 배수유역도.dwg /egbim/uploads/qa/1780531301_aac4c4cd_Template_2.1 배수유역도.dwg /home/b24014/egbim/egbim/uploads/qa/1780531301_aac4c4cd_Template_2.1 배수유역도.dwg EGBIM_QA/attachments/188.dwg 2026-06-04 09:01:41 29378984 cd3077319dff0fa7d75f19b9ffb20c309a78534276e36854a759109e1fbaa5c2 READY
160 POST_ATTACHMENT 189 407 KakaoTalk_20260605_142943486.jpg /egbim/uploads/qa/1780637503_892f16bb_KakaoTalk_20260605_142943486.jpg /home/b24014/egbim/egbim/uploads/qa/1780637503_892f16bb_KakaoTalk_20260605_142943486.jpg EGBIM_QA/attachments/189.jpg 2026-06-05 14:31:43 703573 ed7e93cfe49173b4e2c7c948af324b4c5614ea9c878f6e3c75c4d73c2b14ad85 READY
161 POST_ATTACHMENT 190 407 KakaoTalk_20260605_142943486_01.jpg /egbim/uploads/qa/1780637503_372f320a_KakaoTalk_20260605_142943486_01.jpg /home/b24014/egbim/egbim/uploads/qa/1780637503_372f320a_KakaoTalk_20260605_142943486_01.jpg EGBIM_QA/attachments/190.jpg 2026-06-05 14:31:43 664978 0804c807921f6fe03755b583cd61a0141d8db63b1eb1da0a39452dac33aa3d2a READY
162 POST_ATTACHMENT 192 412 화면 캡처 2026-06-11 174153.png /egbim/uploads/qa/1781167325_5a9703b6_화면 캡처 2026-06-11 174153.png /home/b24014/egbim/egbim/uploads/qa/1781167325_5a9703b6_화면 캡처 2026-06-11 174153.png EGBIM_QA/attachments/192.png 2026-06-11 17:42:05 4681 3641828b91540c5c4a25151acf2a80f93a740054aa7051d26b23e4eb48de1b8b READY
163 POST_ATTACHMENT 193 414 01. GUI.png /egbim/uploads/qa/1781835223_cc22b796_01. GUI.png /home/b24014/egbim/egbim/uploads/qa/1781835223_cc22b796_01. GUI.png EGBIM_QA/attachments/193.png 2026-06-19 11:13:43 9833 4121b7840b7e77235256515818c56b4351f8c7a65167e434df9f884bd134f2a1 READY
164 POST_ATTACHMENT 194 414 02. 사용 전.png /egbim/uploads/qa/1781835223_0deec111_02. 사용 전.png /home/b24014/egbim/egbim/uploads/qa/1781835223_0deec111_02. 사용 전.png EGBIM_QA/attachments/194.png 2026-06-19 11:13:43 402077 e05a9f994d23878a1f83f7ab794fc742cb1955b643449208a1b30d06bf44345a READY
165 POST_ATTACHMENT 195 414 03. 사용 후.png /egbim/uploads/qa/1781835223_e88a8429_03. 사용 후.png /home/b24014/egbim/egbim/uploads/qa/1781835223_e88a8429_03. 사용 후.png EGBIM_QA/attachments/195.png 2026-06-19 11:13:43 1212504 27f8b4ec360acc3d092286bee90d1d126d4615dbdb4c91055a510ed224293858 READY
166 POST_ATTACHMENT 196 414 run_app4.zip /egbim/uploads/qa/1781835254_32c077c2_run_app4.zip /home/b24014/egbim/egbim/uploads/qa/1781835254_32c077c2_run_app4.zip EGBIM_QA/attachments/196.zip 2026-06-19 11:14:14 4950 103256f144f8ba51e301c5145b9193d27d68359591addee318f7b7a8379c839c READY
167 POST_ATTACHMENT 197 414 @결과물.zip /egbim/uploads/qa/1781835687_796bf16f_@결과물.zip /home/b24014/egbim/egbim/uploads/qa/1781835687_796bf16f_@결과물.zip EGBIM_QA/attachments/197.zip 2026-06-19 11:21:27 15438858 5a2f7d9533ea54526728159b09d385d2a3687562cc3060e4b085da186cbeb640 READY
168 POST_ATTACHMENT 198 415 캡처.PNG /egbim/uploads/qa/1782265044_268704fe_캡처.PNG /home/b24014/egbim/egbim/uploads/qa/1782265044_268704fe_캡처.PNG EGBIM_QA/attachments/198.png 2026-06-24 10:37:24 176968 1dea4cd91e5fcce55d0e5138e817270066c36742ba7918ab2d579f1c656c59d3 READY
169 POST_ATTACHMENT 199 416 26.06.23.[사연댐] 가설사무소.dwg /egbim/uploads/qa/1782268644_6fac966e_26.06.23.[사연댐] 가설사무소.dwg /home/b24014/egbim/egbim/uploads/qa/1782268644_6fac966e_26.06.23.[사연댐] 가설사무소.dwg EGBIM_QA/attachments/199.dwg 2026-06-24 11:37:24 856626 204ddc38694f24ea2259d2efe82edd924c280ceffa92b73831865e6430a9bdeb READY
170 POST_ATTACHMENT 200 417 스크린샷 2026-06-25 071539.png /egbim/uploads/qa/1782339640_a61cfc0f_스크린샷 2026-06-25 071539.png /home/b24014/egbim/egbim/uploads/qa/1782339640_a61cfc0f_스크린샷 2026-06-25 071539.png EGBIM_QA/attachments/200.png 2026-06-25 07:20:40 223886 36d3b8f9c0e4da121505611cda3788224116982dd38df0508bd8cd84b7fd1c50 READY
171 POST_ATTACHMENT 201 419 화면 캡처 2026-06-29 101639.png /egbim/uploads/qa/1782696867_10435be3_화면 캡처 2026-06-29 101639.png /home/b24014/egbim/egbim/uploads/qa/1782696867_10435be3_화면 캡처 2026-06-29 101639.png EGBIM_QA/attachments/201.png 2026-06-29 10:34:27 6649 07faa36974b18490bf648b488548c331cb455d49d1d73a09f78dfeb9c43a78c0 READY
172 POST_ATTACHMENT 202 421 드림플러스 다중플롯.png /egbim/uploads/qa/1782792569_95448cc4_드림플러스 다중플롯.png /home/b24014/egbim/egbim/uploads/qa/1782792569_95448cc4_드림플러스 다중플롯.png EGBIM_QA/attachments/202.png 2026-06-30 13:09:29 43509 2bc1acfee980a6267ade67a87ab8338e8ade20878af0418ad52793f85e372de9 READY
173 POST_ATTACHMENT 203 423 화면 캡처 2026-07-01 144718.jpg /egbim/uploads/qa/1782884844_dd63a83a_화면 캡처 2026-07-01 144718.jpg /home/b24014/egbim/egbim/uploads/qa/1782884844_dd63a83a_화면 캡처 2026-07-01 144718.jpg EGBIM_QA/attachments/203.jpg 2026-07-01 14:47:24 293809 5ccc4ab568fe2e501ce87a0affb1b0a055321d887d87b13ed933579c6ce7a1d5 READY
174 POST_ATTACHMENT 204 424 강경보도육교 기초일반도 및 구조도.dwg /egbim/uploads/qa/1782890640_53f8f297_강경보도육교 기초일반도 및 구조도.dwg /home/b24014/egbim/egbim/uploads/qa/1782890640_53f8f297_강경보도육교 기초일반도 및 구조도.dwg EGBIM_QA/attachments/204.dwg 2026-07-01 16:24:00 540872 7d2d1bcfe23042819e436c1aaea2f4f3fa1a251a44741b0b0b720c8620a10c95 READY
175 POST_ATTACHMENT 205 426 K-002.png /egbim/uploads/qa/1782951055_0bf4aa55_K-002.png /home/b24014/egbim/egbim/uploads/qa/1782951055_0bf4aa55_K-002.png EGBIM_QA/attachments/205.png 2026-07-02 09:10:55 28945 d9f832f8ac982bbe0d7f99ab810e00191928a151d9f4317db48ce34ab47b1ffd READY
176 POST_ATTACHMENT 206 430 스크린샷 2026-07-02 170745.png /egbim/uploads/qa/1782979656_06e3abdc_스크린샷 2026-07-02 170745.png /home/b24014/egbim/egbim/uploads/qa/1782979656_06e3abdc_스크린샷 2026-07-02 170745.png EGBIM_QA/attachments/206.png 2026-07-02 17:07:36 246344 1d7f89223c98be22dd04b4ee8317a08ea51809905eef339eef6f6d94a0744cf4 READY
177 POST_ATTACHMENT 207 431 오류사진.jpg /egbim/uploads/qa/1783040005_9468e361_오류사진.jpg /home/b24014/egbim/egbim/uploads/qa/1783040005_9468e361_오류사진.jpg EGBIM_QA/attachments/207.jpg 2026-07-03 09:53:25 14300792 8c457222caea53e77e54ba61677bb6f786ecd112570441d95f4ff0c8a4819976 READY
178 POST_ATTACHMENT 208 434 textmask 적용전.JPG /egbim/uploads/qa/1783471005_8e35371c_textmask 적용전.JPG /home/b24014/egbim/egbim/uploads/qa/1783471005_8e35371c_textmask 적용전.JPG EGBIM_QA/attachments/208.jpg 2026-07-08 09:36:45 33475 7284708a229097dcd33f123cfcab0f39c1614a7951306485f81c312183a179a3 READY
179 POST_ATTACHMENT 209 434 textmask 적용후.JPG /egbim/uploads/qa/1783471005_339bbf33_textmask 적용후.JPG /home/b24014/egbim/egbim/uploads/qa/1783471005_339bbf33_textmask 적용후.JPG EGBIM_QA/attachments/209.jpg 2026-07-08 09:36:45 27083 2a29807d3a5a0bbf42745f357124786d9419e50a0b2637d5ecaf892700417642 READY
180 POST_ATTACHMENT 210 435 bim.jpg /egbim/uploads/qa/1783473276_b1063ad3_bim.jpg /home/b24014/egbim/egbim/uploads/qa/1783473276_b1063ad3_bim.jpg EGBIM_QA/attachments/210.jpg 2026-07-08 10:14:36 12667664 706c6f678ac9d511038e358e2115cc0263846ee072a8b8b1574812cbe93230bd READY
181 POST_ATTACHMENT 211 442 선꼴 다름 이슈.grm /egbim/uploads/qa/1783673593_6f692e19_선꼴 다름 이슈.grm /home/b24014/egbim/egbim/uploads/qa/1783673593_6f692e19_선꼴 다름 이슈.grm EGBIM_QA/attachments/211.grm 2026-07-10 17:53:13 2112407 ef8fee5e1dea30f31f0096215daf08dc73434021f29b2163a4b5f8f8d4e545d3 READY
182 POST_ATTACHMENT 212 447 화면 캡처 2026-07-14 083937.png /egbim/uploads/qa/1783986125_f66db96d_화면 캡처 2026-07-14 083937.png /home/b24014/egbim/egbim/uploads/qa/1783986125_f66db96d_화면 캡처 2026-07-14 083937.png EGBIM_QA/attachments/212.png 2026-07-14 08:42:05 28036 161b0876f4992c84abb4a9ccde4baa502d11616c69d87bfed23f30674b5ea0a3 READY
183 POST_ATTACHMENT 213 448 1783986125_f66db96d_화면 캡처 2026-07-14 083937.png /egbim/uploads/qa/1783996847_3cb864ad_1783986125_f66db96d_화면 캡처 2026-07-14 083937.png /home/b24014/egbim/egbim/uploads/qa/1783996847_3cb864ad_1783986125_f66db96d_화면 캡처 2026-07-14 083937.png EGBIM_QA/attachments/213.png 2026-07-14 11:40:47 28036 161b0876f4992c84abb4a9ccde4baa502d11616c69d87bfed23f30674b5ea0a3 READY
184 POST_ATTACHMENT 214 451 선꼴 2.grm /egbim/uploads/qa/1784074055_e1e26cd0_선꼴 2.grm /home/b24014/egbim/egbim/uploads/qa/1784074055_e1e26cd0_선꼴 2.grm EGBIM_QA/attachments/214.grm 2026-07-15 09:07:35 76261 4bc135754b89ba21847ad2aebab2b7b1ca15af541ce10f8156c4e1c17b155960 READY
185 POST_ATTACHMENT 215 451 선꼴 1.grm /egbim/uploads/qa/1784074055_629de472_선꼴 1.grm /home/b24014/egbim/egbim/uploads/qa/1784074055_629de472_선꼴 1.grm EGBIM_QA/attachments/215.grm 2026-07-15 09:07:35 118820 f93670ba87ca71a2768d731b587b88851a0b8d492fa18fea55036d76bd632994 READY
186 POST_ATTACHMENT 216 454 1.png /egbim/uploads/qa/1784177112_ba1e5c61_1.png /home/b24014/egbim/egbim/uploads/qa/1784177112_ba1e5c61_1.png EGBIM_QA/attachments/216.png 2026-07-16 13:45:12 158133 15db3aec0617f72f7dea15ffbc0242097fe2635976f0d60b78f1cd1558d926d6 READY
187 POST_ATTACHMENT 217 458 LISP파일_오류.dwg /egbim/uploads/qa/1784510886_73b9362f_LISP파일_오류.dwg /home/b24014/egbim/egbim/uploads/qa/1784510886_73b9362f_LISP파일_오류.dwg EGBIM_QA/attachments/217.dwg 2026-07-20 10:28:06 2563303 13e72e81f4617a23d1f6136b3ed5e74ef28c704b5929b02d96a7922b214df0c2 READY
188 POST_ATTACHMENT 218 458 횡단면_응용_v12.lsp /egbim/uploads/qa/1784510886_fec62264_횡단면_응용_v12.lsp /home/b24014/egbim/egbim/uploads/qa/1784510886_fec62264_횡단면_응용_v12.lsp EGBIM_QA/attachments/218.lsp 2026-07-20 10:28:06 19689 07c1d42ee3e60b05c08afe7f77bf4b5f2053a1e5f4226936369e0b1e2fe60803 READY
189 POST_ATTACHMENT 219 458 횡단면_응용_v12_설명서.hwp /egbim/uploads/qa/1784510886_79385326_횡단면_응용_v12_설명서.hwp /home/b24014/egbim/egbim/uploads/qa/1784510886_79385326_횡단면_응용_v12_설명서.hwp EGBIM_QA/attachments/219.hwp 2026-07-20 10:28:06 1381376 7a9ad413f7eadf3c7c2b1973e090371abd73923e484d23605297438eb37ae9f7 READY
190 POST_ATTACHMENT 220 459 EG-BIM Error .jpg /egbim/uploads/qa/1784514329_6cd4a006_EG-BIM Error .jpg /home/b24014/egbim/egbim/uploads/qa/1784514329_6cd4a006_EG-BIM Error .jpg EGBIM_QA/attachments/220.jpg 2026-07-20 11:25:29 124291 77648a5bceb0c55983d8555a4975e4fcb161f1565c5f17293fc77550ba7e3190 READY
191 POST_ATTACHMENT 221 460 260721 실행오류.png /egbim/uploads/qa/1784627323_bd148faa_260721 실행오류.png /home/b24014/egbim/egbim/uploads/qa/1784627323_bd148faa_260721 실행오류.png EGBIM_QA/attachments/221.png 2026-07-21 18:48:43 105967 252c66af3d69b544828912f84c6158dcaed6be7240fceeb2c9c6ad3944c27ce4 READY
192 POST_ATTACHMENT 222 461 K-001.png /egbim/uploads/qa/1784627950_d6bf6930_K-001.png /home/b24014/egbim/egbim/uploads/qa/1784627950_d6bf6930_K-001.png EGBIM_QA/attachments/222.png 2026-07-21 18:59:10 59142 bf7abb7a909fd18dff9938ff95d9d0ee0b9f9aaff5f092e3de95cdc9e402f277 READY
193 POST_ATTACHMENT 223 465 화면 캡처 2026-07-21 200406.jpg /egbim/uploads/qa/1784631895_e867cfd4_화면 캡처 2026-07-21 200406.jpg /home/b24014/egbim/egbim/uploads/qa/1784631895_e867cfd4_화면 캡처 2026-07-21 200406.jpg EGBIM_QA/attachments/223.jpg 2026-07-21 20:04:55 80964 24fc811b1aca242b4cc8b832fbffe5555e18280db0e6368334526ee010793dd2 READY
194 POST_ATTACHMENT 224 468 20260722_개선요청.png /egbim/uploads/qa/1784680699_4eb104b1_20260722_개선요청.png /home/b24014/egbim/egbim/uploads/qa/1784680699_4eb104b1_20260722_개선요청.png EGBIM_QA/attachments/224.png 2026-07-22 09:38:19 40861 0617cb294c343ea34d7367e2ad219b3dc3fbd5b1e1f39e283b825fb719541645 READY
195 POST_ATTACHMENT 225 469 K-001.png /egbim/uploads/qa/1784772729_7283e321_K-001.png /home/b24014/egbim/egbim/uploads/qa/1784772729_7283e321_K-001.png EGBIM_QA/attachments/225.png 2026-07-23 11:12:09 122526 MISSING
196 COMMENT_IMAGE 17 349 참고 이미지.jpg /egbim/uploads/comment/1763085474_8076e6.jpg /home/b24014/egbim/egbim/uploads/comment/1763085474_8076e6.jpg EGBIM_QA/comment-images/17.jpg 2025-11-14 10:57:54 327115 ae009f7049d5168d2ef2fc9380a83c1e3f4da613d080902a3764e50fc2e42754 READY
197 COMMENT_THUMBNAIL 17 349 참고 이미지.jpg /egbim/uploads/comment/thumb/thumb_1763085474_8076e6.jpg /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1763085474_8076e6.jpg EGBIM_QA/comment-thumbnails/17.jpg 2025-11-14 10:57:54 6941 52c50ed6095d0c30b959adad072bde3235a4cdd7ed45f0feb632df829281e794 READY
198 COMMENT_IMAGE 29 468 SecurityConfig.jpg /uploads/comment/1765429765_3b7bdc.jpg /home/b24014/egbim/egbim/uploads/comment/1765429765_3b7bdc.jpg EGBIM_QA/comment-images/29.jpg 2025-12-11 14:09:25 49786 2987fcfda9a450f8ca1d140d1189f54c67ad06b32c89520504172d9a3255001f READY
199 COMMENT_THUMBNAIL 29 468 SecurityConfig.jpg /uploads/comment/thumb/thumb_1765429765_3b7bdc.jpg /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1765429765_3b7bdc.jpg EGBIM_QA/comment-thumbnails/29.jpg 2025-12-11 14:09:25 3902 2e2815ef4c1284d58d012acc3a1276c2eecb40e10f2d410835b39adf101a36fc READY
200 COMMENT_IMAGE 30 514 image06.png /uploads/comment/1766533132_023fea.png /home/b24014/egbim/egbim/uploads/comment/1766533132_023fea.png EGBIM_QA/comment-images/30.png 2025-12-24 08:38:52 78462 f9c9269c4e89b5bbad705b78f206274c63402d269c7a32a4ef3d9916265199a2 READY
201 COMMENT_THUMBNAIL 30 514 image06.png /uploads/comment/thumb/thumb_1766533132_023fea.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1766533132_023fea.png EGBIM_QA/comment-thumbnails/30.png 2025-12-24 08:38:52 6325 34d89346d2b3b8ea735714942722ce1a015f524f6bf02ef98f81caa745af5c68 READY
202 COMMENT_IMAGE 31 514 image07.png /uploads/comment/1766533132_cac55a.png /home/b24014/egbim/egbim/uploads/comment/1766533132_cac55a.png EGBIM_QA/comment-images/31.png 2025-12-24 08:38:52 130457 4d497d50db8fbdc144337f3e1908bb9f1205a7dccf41177002cfa376d15d5314 READY
203 COMMENT_THUMBNAIL 31 514 image07.png /uploads/comment/thumb/thumb_1766533132_cac55a.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1766533132_cac55a.png EGBIM_QA/comment-thumbnails/31.png 2025-12-24 08:38:52 8904 264ccd217f5df73bfc8f14990fb72ca27280897b4cf3ea405fe9af1f8bcc5341 READY
204 COMMENT_IMAGE 32 514 image08.png /uploads/comment/1766533132_af27f5.png /home/b24014/egbim/egbim/uploads/comment/1766533132_af27f5.png EGBIM_QA/comment-images/32.png 2025-12-24 08:38:52 89328 ec7ce3d5555a024aaa0dbe6c8ec1117d71997aabb0e60d45b4d0073a437408a6 READY
205 COMMENT_THUMBNAIL 32 514 image08.png /uploads/comment/thumb/thumb_1766533132_af27f5.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1766533132_af27f5.png EGBIM_QA/comment-thumbnails/32.png 2025-12-24 08:38:52 7719 f3286c2ba7cde7405bcae03b3b537a401307f533fb8e4ee694a07c4f30b2e474 READY
206 COMMENT_IMAGE 33 523 명령어 선택 창.png /uploads/comment/1767149478_b31be0.png /home/b24014/egbim/egbim/uploads/comment/1767149478_b31be0.png EGBIM_QA/comment-images/33.png 2025-12-31 11:51:18 31927 31faae37cd0f0267efd76a05ab26e618b6f9c9b9e266eb195e1eb3d773c19c87 READY
207 COMMENT_THUMBNAIL 33 523 명령어 선택 창.png /uploads/comment/thumb/thumb_1767149478_b31be0.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1767149478_b31be0.png EGBIM_QA/comment-thumbnails/33.png 2025-12-31 11:51:18 4617 115560132eef797eaa10bbcae8b48b8171a48d1beeebe6a7b73794cbbbd34caa READY
208 COMMENT_IMAGE 36 551 탭1.PNG /uploads/comment/1767764588_5ddc7e.png /home/b24014/egbim/egbim/uploads/comment/1767764588_5ddc7e.png EGBIM_QA/comment-images/36.png 2026-01-07 14:43:08 164678 80f51af777c389c9cf0d8cc5ff9c5c38cef0f799ea0a68f3c4ab89423d4f0658 READY
209 COMMENT_THUMBNAIL 36 551 탭1.PNG /uploads/comment/thumb/thumb_1767764588_5ddc7e.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1767764588_5ddc7e.png EGBIM_QA/comment-thumbnails/36.png 2026-01-07 14:43:08 4634 4982093ed7b9495c0f028776e3cd0c9fff8f79be188e5d48e4cf71eb5dd8258c READY
210 COMMENT_IMAGE 37 551 탭2.PNG /uploads/comment/1767764588_e4906a.png /home/b24014/egbim/egbim/uploads/comment/1767764588_e4906a.png EGBIM_QA/comment-images/37.png 2026-01-07 14:43:08 167078 c60132c43be5f5337ecb7d4bbccc465e922be755373ad94a13d7a5ac319345b5 READY
211 COMMENT_THUMBNAIL 37 551 탭2.PNG /uploads/comment/thumb/thumb_1767764588_e4906a.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1767764588_e4906a.png EGBIM_QA/comment-thumbnails/37.png 2026-01-07 14:43:08 4537 812eb8144ddc16ccd638d8dc46a984ce323ff75adcd8b2017a4b395c0075f7de READY
212 COMMENT_IMAGE 38 571 qna271_키보드한글자판설정.png /uploads/comment/1769390992_425f77.png /home/b24014/egbim/egbim/uploads/comment/1769390992_425f77.png EGBIM_QA/comment-images/38.png 2026-01-26 10:29:52 92293 438d4503b184e67b6401cbddf8abe4bb7d0cde8463b08b8971dc9e94b0a65287 READY
213 COMMENT_THUMBNAIL 38 571 qna271_키보드한글자판설정.png /uploads/comment/thumb/thumb_1769390992_425f77.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1769390992_425f77.png EGBIM_QA/comment-thumbnails/38.png 2026-01-26 10:29:52 6926 c69d3162dec62c6425ade74ece8c35c98aff8679350f516e490e96636e5ee3cf READY
214 COMMENT_IMAGE 39 576 qna276_ole이미지뒤집힘_패치예정.png /uploads/comment/1770074045_76f7e9.png /home/b24014/egbim/egbim/uploads/comment/1770074045_76f7e9.png EGBIM_QA/comment-images/39.png 2026-02-03 08:14:05 419325 f0b6905dd73c8b002ace827c66799722d610c471394ea379170d25adda2b23ca READY
215 COMMENT_THUMBNAIL 39 576 qna276_ole이미지뒤집힘_패치예정.png /uploads/comment/thumb/thumb_1770074045_76f7e9.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1770074045_76f7e9.png EGBIM_QA/comment-thumbnails/39.png 2026-02-03 08:14:05 5917 a6a5128b84dcf0d582e8d50bc9739de9a3a9a1e06514a8eb67ee5aad5e832788 READY
216 COMMENT_IMAGE 40 582 qna281_자동저장파일.png /uploads/comment/1770686612_69da20.png /home/b24014/egbim/egbim/uploads/comment/1770686612_69da20.png EGBIM_QA/comment-images/40.png 2026-02-10 10:23:32 28692 93d51296e16e5016c299a4fe575a696df22a91b78f41abd945ea9f035cabccb2 READY
217 COMMENT_THUMBNAIL 40 582 qna281_자동저장파일.png /uploads/comment/thumb/thumb_1770686612_69da20.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1770686612_69da20.png EGBIM_QA/comment-thumbnails/40.png 2026-02-10 10:23:32 3673 ad00dc86a0d9c6970a5188f859233093d4fa6fd1857768301821a6ac713b11d7 READY
218 COMMENT_IMAGE 41 582 qna281_자동저장설정.png /uploads/comment/1770686612_9c3262.png /home/b24014/egbim/egbim/uploads/comment/1770686612_9c3262.png EGBIM_QA/comment-images/41.png 2026-02-10 10:23:32 206292 94a9e39d7c8bb4402882854bc881b688de779d2899640ad14384b70b34e02347 READY
219 COMMENT_THUMBNAIL 41 582 qna281_자동저장설정.png /uploads/comment/thumb/thumb_1770686612_9c3262.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1770686612_9c3262.png EGBIM_QA/comment-thumbnails/41.png 2026-02-10 10:23:32 6118 fb6dba4d68f6a0ff162d4d79976b5c204ead0ac6a77ab0427dcf41c99f1f2352 READY
220 COMMENT_IMAGE 42 584 qna281_자동저장파일.png /uploads/comment/1770687456_bc9367.png /home/b24014/egbim/egbim/uploads/comment/1770687456_bc9367.png EGBIM_QA/comment-images/42.png 2026-02-10 10:37:36 28692 93d51296e16e5016c299a4fe575a696df22a91b78f41abd945ea9f035cabccb2 READY
221 COMMENT_THUMBNAIL 42 584 qna281_자동저장파일.png /uploads/comment/thumb/thumb_1770687456_bc9367.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1770687456_bc9367.png EGBIM_QA/comment-thumbnails/42.png 2026-02-10 10:37:36 3673 ad00dc86a0d9c6970a5188f859233093d4fa6fd1857768301821a6ac713b11d7 READY
222 COMMENT_IMAGE 43 584 qna281_자동저장설정.png /uploads/comment/1770687456_a6ee52.png /home/b24014/egbim/egbim/uploads/comment/1770687456_a6ee52.png EGBIM_QA/comment-images/43.png 2026-02-10 10:37:36 206292 94a9e39d7c8bb4402882854bc881b688de779d2899640ad14384b70b34e02347 READY
223 COMMENT_THUMBNAIL 43 584 qna281_자동저장설정.png /uploads/comment/thumb/thumb_1770687456_a6ee52.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1770687456_a6ee52.png EGBIM_QA/comment-thumbnails/43.png 2026-02-10 10:37:36 6118 fb6dba4d68f6a0ff162d4d79976b5c204ead0ac6a77ab0427dcf41c99f1f2352 READY
224 COMMENT_IMAGE 44 618 image01.png /uploads/comment/1772760182_7a1317.png /home/b24014/egbim/egbim/uploads/comment/1772760182_7a1317.png EGBIM_QA/comment-images/44.png 2026-03-06 10:23:02 37497 66c9dc2462af57fbf524489dc39210f09216cafec9e610d6071d345c679b6568 READY
225 COMMENT_THUMBNAIL 44 618 image01.png /uploads/comment/thumb/thumb_1772760182_7a1317.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1772760182_7a1317.png EGBIM_QA/comment-thumbnails/44.png 2026-03-06 10:23:02 11567 f594477d20131e63ef4eb0ee4e672ea7561ff890cb472384355e104ab9a0b47c READY
226 COMMENT_IMAGE 45 647 qna327_DXF를dwg로변환후acad에서확인.png /uploads/comment/1773207196_3238e3.png /home/b24014/egbim/egbim/uploads/comment/1773207196_3238e3.png EGBIM_QA/comment-images/45.png 2026-03-11 14:33:16 125198 43d058a775834642a2f27cce91baf90e538f6024c6be964485b214c817bc26be READY
227 COMMENT_THUMBNAIL 45 647 qna327_DXF를dwg로변환후acad에서확인.png /uploads/comment/thumb/thumb_1773207196_3238e3.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773207196_3238e3.png EGBIM_QA/comment-thumbnails/45.png 2026-03-11 14:33:16 5254 ed87f5650fe86e3ab7f53101c08c9eff386c9cb6a1be26ced288f6eb9169034b READY
228 COMMENT_IMAGE 46 660 20260312_193835.jpg /uploads/comment/1773311938_b8d5e5.jpg /home/b24014/egbim/egbim/uploads/comment/1773311938_b8d5e5.jpg EGBIM_QA/comment-images/46.jpg 2026-03-12 19:38:58 179050 79f21cf5d6a9e716d5ade2427e00ab045fd7e6fbb7377a331a83794f3c09e47d READY
229 COMMENT_THUMBNAIL 46 660 20260312_193835.jpg /uploads/comment/thumb/thumb_1773311938_b8d5e5.jpg /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773311938_b8d5e5.jpg EGBIM_QA/comment-thumbnails/46.jpg 2026-03-12 19:38:58 2329 3d02504f202e81974003ad3be224ac23217e003f86f18a16ca088aad431acc4f READY
230 COMMENT_IMAGE 47 660 20260312_193757.jpg /uploads/comment/1773311938_d6b915.jpg /home/b24014/egbim/egbim/uploads/comment/1773311938_d6b915.jpg EGBIM_QA/comment-images/47.jpg 2026-03-12 19:38:58 279660 3c0e0306d603002df6fad3fed79b613f7594d5fc698e8a39a6e9f26890807da7 READY
231 COMMENT_THUMBNAIL 47 660 20260312_193757.jpg /uploads/comment/thumb/thumb_1773311938_d6b915.jpg /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773311938_d6b915.jpg EGBIM_QA/comment-thumbnails/47.jpg 2026-03-12 19:38:58 5683 9cf109c906871b08dadf205eb65b80552144962ca54458947c5a571636fe05e7 READY
232 COMMENT_IMAGE 48 662 qna329_FC입력시FCLOSEALL명령 자동완성.png /uploads/comment/1773363803_cc944d.png /home/b24014/egbim/egbim/uploads/comment/1773363803_cc944d.png EGBIM_QA/comment-images/48.png 2026-03-13 10:03:23 4822 de8901d145e579b2159dcd1fd217213e666e494a3261bf1231cdec8d12b2034f READY
233 COMMENT_THUMBNAIL 48 662 qna329_FC입력시FCLOSEALL명령 자동완성.png /uploads/comment/thumb/thumb_1773363803_cc944d.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773363803_cc944d.png EGBIM_QA/comment-thumbnails/48.png 2026-03-13 10:03:23 4686 02b565490f3b2530fb3b3e21922ee845c3c4602bc96de9e131c4c65b155928ca READY
234 COMMENT_IMAGE 49 668 qna322_별도 다중파일 작업중 창 켜지지 않음_테스트.png /uploads/comment/1773724289_cfbc2e.png /home/b24014/egbim/egbim/uploads/comment/1773724289_cfbc2e.png EGBIM_QA/comment-images/49.png 2026-03-17 14:11:29 433220 d7121f06350210efbca5551f5ec7af79f7dbf88bdc076869c35a3a8239e4b0dd READY
235 COMMENT_THUMBNAIL 49 668 qna322_별도 다중파일 작업중 창 켜지지 않음_테스트.png /uploads/comment/thumb/thumb_1773724289_cfbc2e.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773724289_cfbc2e.png EGBIM_QA/comment-thumbnails/49.png 2026-03-17 14:11:29 9128 27d63f7018369e3e7b360e9355a03bc85517bd5df34bb176b1837fad890f90e4 READY
236 COMMENT_IMAGE 50 670 20260317_152313.jpg /uploads/comment/1773728620_5187a7.jpg /home/b24014/egbim/egbim/uploads/comment/1773728620_5187a7.jpg EGBIM_QA/comment-images/50.jpg 2026-03-17 15:23:40 224029 d72548c84458a2e445cc923b4a28868addae3fed503aaf5611cfdb9dcd3550d2 READY
237 COMMENT_THUMBNAIL 50 670 20260317_152313.jpg /uploads/comment/thumb/thumb_1773728620_5187a7.jpg /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773728620_5187a7.jpg EGBIM_QA/comment-thumbnails/50.jpg 2026-03-17 15:23:40 4001 48bd5989722d804a7b8f08d4ebb5bd0c5f305d4155c904781e05dc64347ab083 READY
238 COMMENT_IMAGE 51 680 qna342_acad와egbim색상비교 in layout.png /uploads/comment/1773991755_62c265.png /home/b24014/egbim/egbim/uploads/comment/1773991755_62c265.png EGBIM_QA/comment-images/51.png 2026-03-20 16:29:15 324053 c391e420c433be069c3adbea5f0abf64cced250e324da5553075db9551aa07a2 READY
239 COMMENT_THUMBNAIL 51 680 qna342_acad와egbim색상비교 in layout.png /uploads/comment/thumb/thumb_1773991755_62c265.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773991755_62c265.png EGBIM_QA/comment-thumbnails/51.png 2026-03-20 16:29:15 3866 4a9c073e3125e82da6c40b916e570a379588a616bfdd5ca39be29e1422bd19b5 READY
240 COMMENT_IMAGE 52 680 qna342_acad와egbim색상비교.png /uploads/comment/1773991755_728a8a.png /home/b24014/egbim/egbim/uploads/comment/1773991755_728a8a.png EGBIM_QA/comment-images/52.png 2026-03-20 16:29:15 546625 2b00aa885149789e3269e467d961167e24c0e052eb2fa258358fd585bd8ca4a9 READY
241 COMMENT_THUMBNAIL 52 680 qna342_acad와egbim색상비교.png /uploads/comment/thumb/thumb_1773991755_728a8a.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1773991755_728a8a.png EGBIM_QA/comment-thumbnails/52.png 2026-03-20 16:29:15 3983 0af22d6311bb0bee24d29114eadc2f966eff95b49d4f57b291d3e6a486bec841 READY
242 COMMENT_IMAGE 53 683 qna343_단축키 숫자인식_20260323.png /uploads/comment/1774224476_b4d7ac.png /home/b24014/egbim/egbim/uploads/comment/1774224476_b4d7ac.png EGBIM_QA/comment-images/53.png 2026-03-23 09:07:56 342797 591d3346c7548136efc3fcb022690608cefc7095adacade8814e0b1259ae4ccb READY
243 COMMENT_THUMBNAIL 53 683 qna343_단축키 숫자인식_20260323.png /uploads/comment/thumb/thumb_1774224476_b4d7ac.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1774224476_b4d7ac.png EGBIM_QA/comment-thumbnails/53.png 2026-03-23 09:07:56 3240 03c7e2b99cce5ee4eba0db0755a9945ffb7f2eb13b54fdfb65446b8d26fa11ec READY
244 COMMENT_IMAGE 54 685 qna346_egbim삭제후fonts폴더.png /uploads/comment/1774234022_a107a4.png /home/b24014/egbim/egbim/uploads/comment/1774234022_a107a4.png EGBIM_QA/comment-images/54.png 2026-03-23 11:47:02 31483 7315350285b526beb1db1a14230b21d8f77bef9d114c74525f95719a868b8fb2 READY
245 COMMENT_THUMBNAIL 54 685 qna346_egbim삭제후fonts폴더.png /uploads/comment/thumb/thumb_1774234022_a107a4.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1774234022_a107a4.png EGBIM_QA/comment-thumbnails/54.png 2026-03-23 11:47:02 3497 a5ee7cd75c562cbb023718f3eab62d1c91a9f7ff9c241f1a7e8fcaf3860f992a READY
246 COMMENT_IMAGE 55 706 qna254_명령어하위메뉴끄기_20260401.png /uploads/comment/1775019629_d69840.png /home/b24014/egbim/egbim/uploads/comment/1775019629_d69840.png EGBIM_QA/comment-images/55.png 2026-04-01 14:00:29 349208 b22e87fc7672666dc6fa706eaa5c920ca66fac33528dcd0df0a1190a57c5dca3 READY
247 COMMENT_THUMBNAIL 55 706 qna254_명령어하위메뉴끄기_20260401.png /uploads/comment/thumb/thumb_1775019629_d69840.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1775019629_d69840.png EGBIM_QA/comment-thumbnails/55.png 2026-04-01 14:00:29 7254 7a4887b06189f4b436b7df86cf4a98fa1c979df8ac17196638c936ad92409cfa READY
248 COMMENT_IMAGE 56 712 qna352_우클릭draworder_back_명령프롬프트_20260401.png /uploads/comment/1775025689_d9eb65.png /home/b24014/egbim/egbim/uploads/comment/1775025689_d9eb65.png EGBIM_QA/comment-images/56.png 2026-04-01 15:41:29 4360 0d8382514ac7b1cb7a0d1c817598029dc3ab0f7820e946154b070aeed4e9dd65 READY
249 COMMENT_THUMBNAIL 56 712 qna352_우클릭draworder_back_명령프롬프트_20260401.png /uploads/comment/thumb/thumb_1775025689_d9eb65.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1775025689_d9eb65.png EGBIM_QA/comment-thumbnails/56.png 2026-04-01 15:41:29 2040 6991722cac46524c890b933803742516186c8277b78c8b6f9cc2ae96524430f7 READY
250 COMMENT_IMAGE 57 713 qna137_Materials_png로새물질생성_20260401.png /uploads/comment/1775027305_842e9d.png /home/b24014/egbim/egbim/uploads/comment/1775027305_842e9d.png EGBIM_QA/comment-images/57.png 2026-04-01 16:08:25 389163 d1aa6aeb4a4e3a2c9e29fc09f960e28807636e55936c9e9381a93a1ff673dca7 READY
251 COMMENT_THUMBNAIL 57 713 qna137_Materials_png로새물질생성_20260401.png /uploads/comment/thumb/thumb_1775027305_842e9d.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1775027305_842e9d.png EGBIM_QA/comment-thumbnails/57.png 2026-04-01 16:08:25 3814 dbba987bfb868e75c4772d3645baed5e747144d6ea553891b3bfea9b9e934022 READY
252 COMMENT_IMAGE 58 714 qna353_acad proxy entity_acad_20260401.png /uploads/comment/1775032133_0aa564.png /home/b24014/egbim/egbim/uploads/comment/1775032133_0aa564.png EGBIM_QA/comment-images/58.png 2026-04-01 17:28:53 641179 eb7f970893a076af695cacb3087291ec797355437fb7db4486ea113b9c1dd6a7 READY
253 COMMENT_THUMBNAIL 58 714 qna353_acad proxy entity_acad_20260401.png /uploads/comment/thumb/thumb_1775032133_0aa564.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1775032133_0aa564.png EGBIM_QA/comment-thumbnails/58.png 2026-04-01 17:28:53 3523 7f0668d6b16ba9ab56728fcca5b3db20eca03adb8d617e9e780ae3c1efe164df READY
254 COMMENT_IMAGE 59 716 qna354_acad cfm 설정.png /uploads/comment/1775175858_eea711.png /home/b24014/egbim/egbim/uploads/comment/1775175858_eea711.png EGBIM_QA/comment-images/59.png 2026-04-03 09:24:18 126606 d5423729122c2be0d3defa28ba0bfb46240c306f36ce9b508c1788f5ea211c96 READY
255 COMMENT_THUMBNAIL 59 716 qna354_acad cfm 설정.png /uploads/comment/thumb/thumb_1775175858_eea711.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1775175858_eea711.png EGBIM_QA/comment-thumbnails/59.png 2026-04-03 09:24:18 4800 7eeaa0bb34fc3058503c94fd28ae42a709498168df7ba01d20e2bd9dfead3c63 READY
256 COMMENT_IMAGE 63 727 qna361_도면출력시CTB설정_20260410.png /uploads/comment/1775801858_cbb601.png /home/b24014/egbim/egbim/uploads/comment/1775801858_cbb601.png EGBIM_QA/comment-images/63.png 2026-04-10 15:17:38 43690 dc20499c03026e570a547be961cdd6ca4fcc10f024dfae86d4146480875ed375 READY
257 COMMENT_THUMBNAIL 63 727 qna361_도면출력시CTB설정_20260410.png /uploads/comment/thumb/thumb_1775801858_cbb601.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1775801858_cbb601.png EGBIM_QA/comment-thumbnails/63.png 2026-04-10 15:17:38 5524 6cacf10f9409626bb8b4071f1e002315cc7fedea645d8c14ac8f4613630077bd READY
258 COMMENT_IMAGE 64 733 qna365_폴리선 그릴수없는오류_THICKNESS0설정.png /uploads/comment/1776147379_b022da.png /home/b24014/egbim/egbim/uploads/comment/1776147379_b022da.png EGBIM_QA/comment-images/64.png 2026-04-14 15:16:19 203322 c2862046898c957d7c35c5c92e9e639a9c5d72d478f305582d7be2508ddc954b READY
259 COMMENT_THUMBNAIL 64 733 qna365_폴리선 그릴수없는오류_THICKNESS0설정.png /uploads/comment/thumb/thumb_1776147379_b022da.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1776147379_b022da.png EGBIM_QA/comment-thumbnails/64.png 2026-04-14 15:16:19 6055 c850440965f38e00aac53c9aac13f37eb977caa913195a29a3a9b78127c95c2f READY
260 COMMENT_IMAGE 65 735 qna256_꾸러미도곽인식(V1.4.0)_20260413.png /uploads/comment/1776156539_b90d89.png /home/b24014/egbim/egbim/uploads/comment/1776156539_b90d89.png EGBIM_QA/comment-images/65.png 2026-04-14 17:48:59 856288 40184ae3d85c736ec70eab8f133f051c2cf5c56eb877385deed533eee5cf6c02 READY
261 COMMENT_THUMBNAIL 65 735 qna256_꾸러미도곽인식(V1.4.0)_20260413.png /uploads/comment/thumb/thumb_1776156539_b90d89.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1776156539_b90d89.png EGBIM_QA/comment-thumbnails/65.png 2026-04-14 17:48:59 3826 8cc13c74a14f180b5a1cf9530d9e2b77a6db059d0b552d7d82d81782d1822ae8 READY
262 COMMENT_IMAGE 66 752 qna365_Thickness 초기화 기능추가_20260424.png /uploads/comment/1776999665_41c7ed.png /home/b24014/egbim/egbim/uploads/comment/1776999665_41c7ed.png EGBIM_QA/comment-images/66.png 2026-04-24 12:01:05 5036 12dc32677c41339516f8ab55676536c7be34369b78f14a6bf126f17fd7786edc READY
263 COMMENT_THUMBNAIL 66 752 qna365_Thickness 초기화 기능추가_20260424.png /uploads/comment/thumb/thumb_1776999665_41c7ed.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1776999665_41c7ed.png EGBIM_QA/comment-thumbnails/66.png 2026-04-24 12:01:05 2535 0b28b3c353c54c34b0f791e322fc4719134023fba714ba673112614eaf0e4cc6 READY
264 COMMENT_IMAGE 67 765 qna315_jpg복사오류_20260511.png /uploads/comment/1778460850_656e59.png /home/b24014/egbim/egbim/uploads/comment/1778460850_656e59.png EGBIM_QA/comment-images/67.png 2026-05-11 09:54:10 329326 2fc6dd5f6855b2fbec8d975d3d6e0d84605b6474be1b14fc918a473f8c4b87f1 READY
265 COMMENT_THUMBNAIL 67 765 qna315_jpg복사오류_20260511.png /uploads/comment/thumb/thumb_1778460850_656e59.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1778460850_656e59.png EGBIM_QA/comment-thumbnails/67.png 2026-05-11 09:54:10 6172 b17ec530156d5f455c2111eec1eeb65ee67eefbbe7340d7359010282a198934c READY
266 COMMENT_IMAGE 68 765 qna315_플롯시 투명도 적용됨_20260511.png /uploads/comment/1778460850_6cbc81.png /home/b24014/egbim/egbim/uploads/comment/1778460850_6cbc81.png EGBIM_QA/comment-images/68.png 2026-05-11 09:54:10 842034 7331e1d6c708bfeb720a6fe8a8cd4b0ea509b1d76accd0228f7daaec6b4b59ff READY
267 COMMENT_THUMBNAIL 68 765 qna315_플롯시 투명도 적용됨_20260511.png /uploads/comment/thumb/thumb_1778460850_6cbc81.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1778460850_6cbc81.png EGBIM_QA/comment-thumbnails/68.png 2026-05-11 09:54:10 8589 1c521ab10b32ff8fe444b37e281799b11d132b6f68404264feff369aeb910413 READY
268 COMMENT_IMAGE 69 787 qna401_사용자설정저장하기_20260529.png /uploads/comment/1780023483_6b8cfe.png /home/b24014/egbim/egbim/uploads/comment/1780023483_6b8cfe.png EGBIM_QA/comment-images/69.png 2026-05-29 11:58:03 109112 17724489d49d6cee8d08b6e8073de046a633cb6c2bc11b01f83c82f42d2ef8f3 READY
269 COMMENT_THUMBNAIL 69 787 qna401_사용자설정저장하기_20260529.png /uploads/comment/thumb/thumb_1780023483_6b8cfe.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1780023483_6b8cfe.png EGBIM_QA/comment-thumbnails/69.png 2026-05-29 11:58:03 3706 322392ca8772615f4c29da4a33e3f17e60df7fad13ce35d87b81035f09e49dab READY
270 COMMENT_IMAGE 70 788 qna402_내부블록으로bind_20260529.png /uploads/comment/1780025072_ca21e8.png /home/b24014/egbim/egbim/uploads/comment/1780025072_ca21e8.png EGBIM_QA/comment-images/70.png 2026-05-29 12:24:32 402775 65027c99f4a5a5556d2d0c9e8c553c20e54c004ee54729c2d6ba23ba29f213fd READY
271 COMMENT_THUMBNAIL 70 788 qna402_내부블록으로bind_20260529.png /uploads/comment/thumb/thumb_1780025072_ca21e8.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1780025072_ca21e8.png EGBIM_QA/comment-thumbnails/70.png 2026-05-29 12:24:32 4806 4f13be92385542d1a11e0a8723ec6db0a7e47a1f9b5b072b8c4eaaad4429d251 READY
272 COMMENT_IMAGE 71 852 qna467_문자회전(TER)설정_20260722.png /uploads/comment/1784683079_40d711.png /home/b24014/egbim/egbim/uploads/comment/1784683079_40d711.png EGBIM_QA/comment-images/71.png 2026-07-22 10:17:59 21323 ed8e9a6e3d025c2570d9d7e2da669b6e0029d1cb09ec873274e437aee072a17c READY
273 COMMENT_THUMBNAIL 71 852 qna467_문자회전(TER)설정_20260722.png /uploads/comment/thumb/thumb_1784683079_40d711.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1784683079_40d711.png EGBIM_QA/comment-thumbnails/71.png 2026-07-22 10:17:59 5384 37e64e1fc2eace0402a59f7696fbfe19bfc06c5b44fec9cf9ff3e9e683165eae READY
274 COMMENT_IMAGE 72 855 qna460_dwg파일 실행 안되는 오류_20260722.png /uploads/comment/1784684590_51839e.png /home/b24014/egbim/egbim/uploads/comment/1784684590_51839e.png EGBIM_QA/comment-images/72.png 2026-07-22 10:43:10 440367 3afe341687d09d21e4ccef6d6ebca10e86aee9950a9048681613f5349eca5384 READY
275 COMMENT_THUMBNAIL 72 855 qna460_dwg파일 실행 안되는 오류_20260722.png /uploads/comment/thumb/thumb_1784684590_51839e.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1784684590_51839e.png EGBIM_QA/comment-thumbnails/72.png 2026-07-22 10:43:10 9632 e237f9d701995ed21bbe32b3bf563e1d6cece55a811d4dce2f20cea3847f3d14 READY
276 COMMENT_IMAGE 73 856 qna465_JMP명령테스트.jpg /uploads/comment/1784685450_1a5edb.jpg /home/b24014/egbim/egbim/uploads/comment/1784685450_1a5edb.jpg EGBIM_QA/comment-images/73.jpg 2026-07-22 10:57:30 256526 f2903506f6721a5712711ec52145fe627103365f54ee240aa64960db7c5b6887 READY
277 COMMENT_THUMBNAIL 73 856 qna465_JMP명령테스트.jpg /uploads/comment/thumb/thumb_1784685450_1a5edb.jpg /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1784685450_1a5edb.jpg EGBIM_QA/comment-thumbnails/73.jpg 2026-07-22 10:57:30 3261 05f260c7d542e2c4169eb4e644a2d5c5f6f9a3af9bf093e9c4c4d23c06ef0288 READY
278 COMMENT_IMAGE 74 863 qna462_acad_purge창_20260722.png /uploads/comment/1784710527_40aab9.png /home/b24014/egbim/egbim/uploads/comment/1784710527_40aab9.png EGBIM_QA/comment-images/74.png 2026-07-22 17:55:27 427241 7d2bdc181bac383a6120c3bcb2198f67417993cbdd30d9ccb2f20ea555883593 READY
279 COMMENT_THUMBNAIL 74 863 qna462_acad_purge창_20260722.png /uploads/comment/thumb/thumb_1784710527_40aab9.png /home/b24014/egbim/egbim/uploads/comment/thumb/thumb_1784710527_40aab9.png EGBIM_QA/comment-thumbnails/74.png 2026-07-22 17:55:27 6336 cce1167960fc204073db2fc7bf6a382207d560a24c4f3b62982e6d3d8a212c60 READY
File diff suppressed because one or more lines are too long
@@ -0,0 +1,361 @@
import { randomUUID } from 'node:crypto';
import { existsSync } from 'node:fs';
import { readFile } from 'node:fs/promises';
import { join, resolve } from 'node:path';
import { config as loadEnv } from 'dotenv';
import {
DeleteObjectCommand,
GetObjectCommand,
PutObjectCommand,
S3Client,
} from '@aws-sdk/client-s3';
import mysql, { type Connection, type RowDataPacket } from 'mysql2/promise';
loadEnv({ path: resolve(__dirname, '../apps/secretary-api/.env') });
interface CommentRow extends RowDataPacket {
source_comment_id: number;
feedback_id: string;
channel_id: string;
author_id: string;
author_tenant_id: string;
author_name: string | null;
content: string;
is_internal: number;
created_at: Date;
updated_at: Date;
}
interface AttachmentRow extends RowDataPacket {
source_attachment_id: number;
source_comment_id: number;
channel_id: string;
storage_provider: string;
storage_bucket: string | null;
storage_key: string;
original_file_name: string;
mime_type: string | null;
file_size: number | null;
}
interface ChannelRow extends RowDataPacket {
id: number;
image_config: unknown;
}
interface ImageConfig {
accessKeyId: string;
secretAccessKey: string;
endpoint: string;
region: string;
bucket: string;
}
interface StoredObject {
body: Buffer;
contentType: string;
}
const isDryRun = !process.argv.includes('--apply');
const sourceLocalRoot = '/home/b24014/baron_qa/uploads';
const parseImageConfig = (raw: unknown): ImageConfig => {
const value = typeof raw === 'string' ? JSON.parse(raw) : raw;
if (!value || typeof value !== 'object') {
throw new Error('ABC channel image_config is missing');
}
const config = value as Record<string, unknown>;
const required = ['accessKeyId', 'secretAccessKey', 'endpoint', 'region', 'bucket'];
if (required.some((key) => typeof config[key] !== 'string' || !config[key])) {
throw new Error('ABC channel image_config is incomplete');
}
return config as unknown as ImageConfig;
};
const createClient = (config: ImageConfig) =>
new S3Client({
credentials: {
accessKeyId: config.accessKeyId,
secretAccessKey: config.secretAccessKey,
},
endpoint: config.endpoint,
region: config.region,
});
const connectionOptions = (rawUrl: string) => {
const url = new URL(rawUrl.replace('mysql+pymysql://', 'mysql://'));
return {
host: url.hostname,
port: Number(url.port || 3306),
user: decodeURIComponent(url.username),
password: decodeURIComponent(url.password),
database: url.pathname.slice(1),
};
};
const getSourceR2Client = () => {
const endpoint = process.env.R2_ENDPOINT;
const accessKeyId = process.env.R2_ACCESS_KEY_ID;
const secretAccessKey = process.env.R2_SECRET_ACCESS_KEY;
const region = process.env.R2_REGION ?? 'auto';
if (!endpoint || !accessKeyId || !secretAccessKey) {
throw new Error('Secretary R2 environment variables are incomplete');
}
return new S3Client({
credentials: { accessKeyId, secretAccessKey },
endpoint,
region,
});
};
const readSourceObject = async (attachment: AttachmentRow): Promise<StoredObject> => {
const provider = attachment.storage_provider.toUpperCase();
if (provider === 'LOCAL') {
const root = resolve(attachment.storage_bucket ?? sourceLocalRoot);
const path = resolve(join(root, attachment.storage_key));
if (!path.startsWith(root + '/')) {
throw new Error(`Unsafe local attachment path: ${attachment.storage_key}`);
}
if (!existsSync(path)) {
throw new Error(`Local attachment not found: ${path}`);
}
return {
body: await readFile(path),
contentType: attachment.mime_type ?? 'application/octet-stream',
};
}
if (provider !== 'R2') {
throw new Error(`Unsupported Secretary storage provider: ${attachment.storage_provider}`);
}
const bucket = attachment.storage_bucket ?? process.env.R2_BUCKET;
if (!bucket) {
throw new Error(`Secretary R2 bucket is missing for attachment ${attachment.source_attachment_id}`);
}
const response = await getSourceR2Client().send(
new GetObjectCommand({ Bucket: bucket, Key: attachment.storage_key }),
);
if (!response.Body || typeof response.Body.transformToByteArray !== 'function') {
throw new Error(`Secretary R2 object has no readable body: ${attachment.storage_key}`);
}
return {
body: Buffer.from(await response.Body.transformToByteArray()),
contentType: attachment.mime_type ?? 'application/octet-stream',
};
};
const findExistingComment = async (db: Connection, comment: CommentRow) => {
const [rows] = await db.query<RowDataPacket[]>(
`SELECT id FROM feedback_comments
WHERE feedback_id = ? AND author_id = ? AND author_tenant_id = ?
AND content = ? AND is_internal = ? AND created_at = ?
AND deleted_at IS NULL LIMIT 1`,
[
Number(comment.feedback_id),
comment.author_id,
comment.author_tenant_id,
comment.content,
comment.is_internal ? 1 : 0,
comment.created_at,
],
);
return rows[0] ? Number(rows[0].id) : null;
};
const insertComment = async (db: Connection, comment: CommentRow) => {
const existingId = await findExistingComment(db, comment);
if (existingId) return { id: existingId, created: false };
const [result] = await db.query<mysql.ResultSetHeader>(
`INSERT INTO feedback_comments
(feedback_id, author_id, author_tenant_id, author_name, content,
is_internal, comment_type, created_at, updated_at)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,
[
Number(comment.feedback_id),
comment.author_id,
comment.author_tenant_id,
comment.author_name ?? comment.author_id,
comment.content,
comment.is_internal ? 1 : 0,
comment.is_internal ? 'INTERNAL_MEMO' : 'COMMENT',
comment.created_at,
comment.updated_at,
],
);
return { id: result.insertId, created: true };
};
const findExistingAttachment = async (
db: Connection,
commentId: number,
attachment: AttachmentRow,
) => {
const [rows] = await db.query<RowDataPacket[]>(
`SELECT id FROM feedback_comment_attachments
WHERE comment_id = ? AND original_file_name = ? AND mime_type = ?
AND file_size = ? AND deleted_at IS NULL LIMIT 1`,
[
commentId,
attachment.original_file_name,
attachment.mime_type ?? 'application/octet-stream',
attachment.file_size ?? 0,
],
);
return rows[0] ? Number(rows[0].id) : null;
};
const insertAttachment = async (
db: Connection,
config: ImageConfig,
attachment: AttachmentRow,
commentId: number,
) => {
const existingId = await findExistingAttachment(db, commentId, attachment);
if (existingId) return { id: existingId, created: false };
const object = await readSourceObject(attachment);
const safeName = attachment.original_file_name.replace(/[^a-zA-Z0-9._-]/g, '_');
const storageKey =
'migrated/secretary-comments/feedback-' +
attachment.channel_id +
'/comment-' +
String(commentId) +
'/' +
randomUUID() +
'-' +
safeName;
const client = createClient(config);
await client.send(
new PutObjectCommand({
Bucket: config.bucket,
Key: storageKey,
Body: object.body,
ContentType: object.contentType,
}),
);
try {
const [result] = await db.query<mysql.ResultSetHeader>(
`INSERT INTO feedback_comment_attachments
(comment_id, original_file_name, storage_key, storage_bucket,
mime_type, file_size, created_at, updated_at)
VALUES (?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP(6), CURRENT_TIMESTAMP(6))`,
[
commentId,
attachment.original_file_name,
storageKey,
config.bucket,
object.contentType,
object.body.byteLength,
],
);
return { id: result.insertId, created: true };
} catch (error) {
await client
.send(new DeleteObjectCommand({ Bucket: config.bucket, Key: storageKey }))
.catch(() => undefined);
throw error;
}
};
const main = async () => {
const secretaryUrl = process.env.DATABASE_URL;
if (!secretaryUrl) throw new Error('Secretary DATABASE_URL is missing');
const secretary = await mysql.createConnection(connectionOptions(secretaryUrl));
const abc = await mysql.createConnection(
connectionOptions('mysql://userfeedback:userfeedback@127.0.0.1:13306/userfeedback'),
);
try {
const [comments] = await secretary.query<CommentRow[]>(
`SELECT c.id AS source_comment_id, m.abc_feedback_id AS feedback_id,
m.abc_channel_id AS channel_id, c.author_id, c.author_tenant_id,
c.author_name, c.content, c.is_internal, c.created_at, c.updated_at
FROM ticket_comments c
JOIN abc_feedback_mappings m ON m.ticket_id = c.ticket_id
WHERE c.deleted_at IS NULL AND m.abc_feedback_id IS NOT NULL
ORDER BY c.id`,
);
const [attachments] = await secretary.query<AttachmentRow[]>(
`SELECT a.id AS source_attachment_id, a.comment_id AS source_comment_id,
m.abc_channel_id AS channel_id, a.storage_provider,
a.storage_bucket, a.storage_key, a.original_file_name,
a.mime_type, a.file_size
FROM attachments a
JOIN ticket_comments c ON c.id = a.comment_id AND c.deleted_at IS NULL
JOIN abc_feedback_mappings m ON m.ticket_id = c.ticket_id
WHERE a.deleted_at IS NULL AND a.comment_id IS NOT NULL
AND m.abc_feedback_id IS NOT NULL
ORDER BY a.id`,
);
const channelIds = [...new Set(attachments.map((item) => Number(item.channel_id)))];
const configs = new Map<number, ImageConfig>();
if (channelIds.length > 0) {
const [channels] = await abc.query<ChannelRow[]>(
'SELECT id, image_config FROM channels WHERE id IN (?)',
[channelIds],
);
for (const channel of channels) {
configs.set(channel.id, parseImageConfig(channel.image_config));
}
}
console.log(`${isDryRun ? 'DRY-RUN' : 'APPLY'} comments: ${comments.length}`);
console.log(`${isDryRun ? 'DRY-RUN' : 'APPLY'} comment attachments: ${attachments.length}`);
const targetCommentIds = new Map<number, number>();
let createdComments = 0;
let skippedComments = 0;
for (const comment of comments) {
const existingId = await findExistingComment(abc, comment);
if (isDryRun) {
if (existingId) skippedComments += 1;
else createdComments += 1;
if (existingId) targetCommentIds.set(comment.source_comment_id, existingId);
continue;
}
const result = await insertComment(abc, comment);
targetCommentIds.set(comment.source_comment_id, result.id);
result.created ? (createdComments += 1) : (skippedComments += 1);
}
let createdAttachments = 0;
let skippedAttachments = 0;
let pendingAttachments = 0;
for (const attachment of attachments) {
const commentId = targetCommentIds.get(attachment.source_comment_id);
if (!commentId) {
pendingAttachments += 1;
continue;
}
const config = configs.get(Number(attachment.channel_id));
if (!config) throw new Error(`ABC channel ${attachment.channel_id} R2 config is missing`);
const existingId = await findExistingAttachment(abc, commentId, attachment);
if (isDryRun) {
existingId ? (skippedAttachments += 1) : (createdAttachments += 1);
continue;
}
const result = await insertAttachment(abc, config, attachment, commentId);
result.created ? (createdAttachments += 1) : (skippedAttachments += 1);
}
console.log('Comments created:', createdComments);
console.log('Comments skipped:', skippedComments);
console.log('Attachments created:', createdAttachments);
console.log('Attachments skipped:', skippedAttachments);
console.log('Attachments pending:', pendingAttachments);
if (isDryRun) console.log('No database or R2 changes were made. Use --apply to execute.');
} finally {
await secretary.end();
await abc.end();
}
};
main().catch((error) => {
console.error(error instanceof Error ? error.message : error);
process.exitCode = 1;
});
+659
View File
@@ -0,0 +1,659 @@
#!/usr/bin/env python3
"""Convert the EGBIM QA dump into staging migration artifacts.
This tool deliberately does not execute SQL against a database. It reads the
legacy dump, optionally copies referenced files into the staging uploads
volume, and writes:
* userfeedback_feedbacks.sql: idempotent ABC feedback inserts
* support_attachments.sql: attachment inserts resolved through the planned
EGBIM_QA migration mappings in baron_support
* uploads_manifest.csv: source/target file and checksum audit data
The generated support SQL must run after support_tickets and ticket_comments
have been migrated. Comment migration must store abc_comment_id as
EGBIM_QA:<legacy_comment_id> so comment image rows can resolve their target.
"""
from __future__ import annotations
import argparse
import csv
import hashlib
import json
import mimetypes
import re
import shutil
from dataclasses import dataclass
from datetime import datetime
from pathlib import Path
from typing import Any
TABLES = {
"qa_posts": (
"post_id",
"login_id",
"phone",
"user_id",
"user_name",
"category",
"is_internal",
"company",
"family_company",
"department",
"position",
"title",
"content",
"attachment",
"status",
"is_private",
"complete_form",
"created_at",
"updated_at",
"is_secret",
"is_read_admin",
),
"qa_attachments": (
"id",
"post_id",
"ori_name",
"save_path",
"file_size",
"uploaded_at",
),
"qa_comment_images": (
"id",
"comment_id",
"file_name",
"file_path",
"thumb_path",
"file_size",
"uploaded_at",
),
"qa_comments": (
"comment_id",
"post_id",
"commenter",
"content",
"created_at",
"user_name",
"updated_at",
),
}
@dataclass
class FileRecord:
entity_type: str
source_id: str
parent_id: str
original_name: str
source_value: str
source_path: Path
storage_key: str
uploaded_at: str | None
file_size: int | None
checksum: str | None = None
status: str = "MISSING"
def find_insert_block(text: str, table: str) -> tuple[list[str], str]:
marker = f"INSERT INTO `{table}`"
start = text.find(marker)
if start < 0:
return [], ""
columns_start = text.find("(", start)
columns_end = text.find(")", columns_start)
values_start = text.find("VALUES", columns_end)
if columns_start < 0 or columns_end < 0 or values_start < 0:
return [], ""
columns = [part.strip().strip("`") for part in text[columns_start + 1 : columns_end].split(",")]
body_start = values_start + len("VALUES")
in_quote = False
escaped = False
quote = ""
for index in range(body_start, len(text)):
char = text[index]
if in_quote:
if escaped:
escaped = False
elif char == "\\":
escaped = True
elif char == quote:
if index + 1 < len(text) and text[index + 1] == quote:
continue
in_quote = False
elif char in "'\"":
in_quote = True
quote = char
elif char == ";":
return columns, text[body_start:index]
raise ValueError(f"INSERT block for {table} has no terminating semicolon")
def parse_rows(body: str) -> list[list[Any]]:
rows: list[list[Any]] = []
index = 0
length = len(body)
while index < length:
while index < length and body[index] in " \t\r\n,":
index += 1
if index >= length:
break
if body[index] != "(":
raise ValueError(f"Expected row at offset {index}")
index += 1
row: list[Any] = []
while index < length:
while index < length and body[index] in " \t\r\n":
index += 1
if index >= length:
raise ValueError("Unterminated row")
if body[index] in "'\"":
quote = body[index]
index += 1
value: list[str] = []
while index < length:
char = body[index]
if char == "\\" and index + 1 < length:
escapes = {"n": "\n", "r": "\r", "t": "\t", "0": "\0"}
value.append(escapes.get(body[index + 1], body[index + 1]))
index += 2
elif char == quote:
if index + 1 < length and body[index + 1] == quote:
value.append(quote)
index += 2
else:
index += 1
break
else:
value.append(char)
index += 1
row.append("".join(value))
else:
start = index
while index < length and body[index] not in ",)\r\n":
index += 1
token = body[start:index].strip()
if token.upper() == "NULL":
row.append(None)
else:
row.append(token)
while index < length and body[index] in " \t\r\n":
index += 1
if index >= length:
raise ValueError("Unterminated row")
if body[index] == ",":
index += 1
continue
if body[index] == ")":
index += 1
rows.append(row)
break
raise ValueError(f"Expected comma or closing parenthesis at offset {index}")
return rows
def load_table(text: str, table: str) -> list[dict[str, Any]]:
columns, body = find_insert_block(text, table)
if not body:
return []
rows = parse_rows(body)
expected = TABLES[table]
if tuple(columns) != expected:
raise ValueError(f"Unexpected columns for {table}: {columns}")
return [dict(zip(columns, row, strict=True)) for row in rows]
def sql_string(value: str | None) -> str:
if value is None:
return "NULL"
return "'" + value.replace("\\", "\\\\").replace("'", "''") + "'"
def sql_json(value: dict[str, Any]) -> str:
encoded = json.dumps(value, ensure_ascii=False, separators=(",", ":"))
return "CAST(" + sql_string(encoded) + " AS JSON)"
def safe_extension(name: str) -> str:
extension = Path(name).suffix.lower()
return extension if re.fullmatch(r"\.[a-z0-9]{1,10}", extension) else ".bin"
def source_relative(path_value: str) -> Path:
normalized = path_value.replace("\\", "/")
normalized = re.sub(r"^/egbim/uploads/", "", normalized)
normalized = re.sub(r"^/uploads/", "", normalized)
return Path(normalized.lstrip("/"))
def checksum(path: Path) -> str:
digest = hashlib.sha256()
with path.open("rb") as stream:
for chunk in iter(lambda: stream.read(1024 * 1024), b""):
digest.update(chunk)
return digest.hexdigest()
def build_file_records(
attachments: list[dict[str, Any]],
comment_images: list[dict[str, Any]],
source_root: Path,
target_root: Path,
copy_files: bool,
) -> list[FileRecord]:
records: list[FileRecord] = []
for row in attachments:
source_rel = source_relative(str(row["save_path"]))
source_path = source_root / source_rel
target_key = f"EGBIM_QA/attachments/{row['id']}{safe_extension(str(row['ori_name']))}"
record = FileRecord(
entity_type="POST_ATTACHMENT",
source_id=str(row["id"]),
parent_id=str(row["post_id"]),
original_name=str(row["ori_name"]),
source_value=str(row["save_path"]),
source_path=source_path,
storage_key=target_key,
uploaded_at=row["uploaded_at"],
file_size=int(row["file_size"]) if row["file_size"] else None,
)
records.append(record)
for row in comment_images:
source_rel = source_relative(str(row["file_path"]))
source_path = source_root / source_rel
target_key = f"EGBIM_QA/comment-images/{row['id']}{safe_extension(str(row['file_name']))}"
record = FileRecord(
entity_type="COMMENT_IMAGE",
source_id=str(row["id"]),
parent_id=str(row["comment_id"]),
original_name=str(row["file_name"]),
source_value=str(row["file_path"]),
source_path=source_path,
storage_key=target_key,
uploaded_at=row["uploaded_at"],
file_size=int(row["file_size"]) if row["file_size"] else None,
)
records.append(record)
thumb_value = row.get("thumb_path")
if thumb_value:
thumb_source = source_root / source_relative(str(thumb_value))
thumb_key = f"EGBIM_QA/comment-thumbnails/{row['id']}{safe_extension(str(row['file_name']))}"
records.append(
FileRecord(
entity_type="COMMENT_THUMBNAIL",
source_id=str(row["id"]),
parent_id=str(row["comment_id"]),
original_name=str(row["file_name"]),
source_value=str(thumb_value),
source_path=thumb_source,
storage_key=thumb_key,
uploaded_at=row["uploaded_at"],
file_size=None,
)
)
for record in records:
if not record.source_path.is_file():
continue
record.checksum = checksum(record.source_path)
record.file_size = record.source_path.stat().st_size
record.status = "READY"
if copy_files:
destination = target_root / record.storage_key
destination.parent.mkdir(parents=True, exist_ok=True)
if destination.exists() and checksum(destination) != record.checksum:
raise RuntimeError(f"Target exists with different checksum: {destination}")
if not destination.exists():
shutil.copy2(record.source_path, destination)
return records
def write_manifest(records: list[FileRecord], output: Path) -> None:
with output.open("w", newline="", encoding="utf-8") as stream:
writer = csv.writer(stream)
writer.writerow(
[
"entity_type",
"source_id",
"parent_id",
"original_name",
"source_value",
"source_path",
"storage_key",
"uploaded_at",
"file_size",
"checksum_sha256",
"status",
]
)
for record in records:
writer.writerow(
[
record.entity_type,
record.source_id,
record.parent_id,
record.original_name,
record.source_value,
record.source_path,
record.storage_key,
record.uploaded_at or "",
record.file_size or "",
record.checksum or "",
record.status,
]
)
def write_feedback_sql(posts: list[dict[str, Any]], output: Path, channel_id: int) -> None:
lines = [
"-- Generated from EGBIM qa_posts. Run against ABC userfeedback only.",
"-- This file inserts feedback metadata. Comments and local attachments belong to baron_support.",
"SET NAMES utf8mb4;",
"USE `userfeedback`;",
"START TRANSACTION;",
]
category_map = {"error": "ERROR_QNA", "improvement": "IMPROVEMENT_QNA", "general": "GENERAL_QNA", "notice": "GENERAL_QNA"}
for row in posts:
source_id = str(row["post_id"])
category = str(row.get("category") or "general")
data = {
"title": row.get("title") or f"EGBIM 문의 #{source_id}",
"contents": row.get("content") or "",
"category": category_map.get(category, "GENERAL_QNA"),
"source_system": "EGBIM_QA",
"source_post_id": source_id,
"requester": {
"login_id": row.get("login_id"),
"legacy_user_id": row.get("user_id"),
"name": row.get("user_name"),
"phone": row.get("phone"),
"company": row.get("company"),
"department": row.get("department"),
},
}
source_is_secret = bool(int(row.get("is_secret") or 0))
source_is_private = bool(int(row.get("is_private") or 0))
additional = {
"migration_key": f"EGBIM_QA:POST:{source_id}",
"source_status": row.get("status"),
"is_internal": bool(int(row.get("is_internal") or 0)),
"is_secret": source_is_secret or source_is_private,
"source_is_secret": source_is_secret,
"source_is_private": source_is_private,
}
# The staging ABC schema stores feedback JSON in `data` and does not
# have the newer `additional_data` column. Keep migration metadata in
# the same JSON document so the import remains idempotent.
data.update(additional)
lines.append(
"INSERT INTO `feedbacks` (`created_at`,`updated_at`,`data`,`channel_id`) "
f"SELECT {sql_string(row.get('created_at'))},{sql_string(row.get('updated_at') or row.get('created_at'))},"
f"{sql_json(data)},{channel_id} FROM DUAL "
"WHERE NOT EXISTS (SELECT 1 FROM `feedbacks` WHERE `channel_id` = "
f"{channel_id} AND JSON_UNQUOTE(JSON_EXTRACT(`data`,'$.migration_key')) = {sql_string(additional['migration_key'])});"
)
lines.extend(["COMMIT;", ""])
output.write_text("\n".join(lines), encoding="utf-8")
def write_support_secret_sql(posts: list[dict[str, Any]], output: Path) -> None:
lines = [
"-- Generated for baron_support.support_tickets.",
"-- Applies EGBIM qa_posts.is_secret OR qa_posts.is_private after ticket mappings exist.",
"SET NAMES utf8mb4;",
"USE `baron_support`;",
"START TRANSACTION;",
]
for row in posts:
is_secret = bool(int(row.get("is_secret") or 0))
is_private = bool(int(row.get("is_private") or 0))
if not (is_secret or is_private):
continue
source_id = str(row["post_id"])
lines.append(
"UPDATE support_tickets st JOIN migration_mappings mm ON mm.ticket_id=st.id "
"SET st.is_secret=1 WHERE mm.source_system='EGBIM_QA' "
"AND mm.source_entity_type='POST' "
f"AND mm.source_entity_id={sql_string(source_id)};"
)
lines.extend(["COMMIT;", ""])
output.write_text("\n".join(lines), encoding="utf-8")
def _support_category(value: Any) -> str:
category = str(value or "general").strip().lower()
return {
"error": "ERROR_QNA",
"improvement": "IMPROVEMENT_QNA",
"general": "GENERAL_QNA",
"notice": "GENERAL_QNA",
}.get(category, "GENERAL_QNA")
def _support_status(value: Any) -> str:
status = str(value or "").strip().lower().replace(" ", "_")
return {
"new": "RECEIVED",
"received": "RECEIVED",
"pending": "PENDING_APPROVAL",
"pending_approval": "PENDING_APPROVAL",
"approved": "APPROVED",
"rejected": "REJECTED",
"review": "IN_REVIEW",
"in_review": "IN_REVIEW",
"detailed_review": "DETAILED_REVIEW",
"in_progress": "IN_PROGRESS",
"processing": "IN_PROGRESS",
"resolved": "RESOLVED",
"complete": "RESOLVED",
"completed": "RESOLVED",
"closed": "CLOSED",
}.get(status, "RECEIVED")
ADMIN_CANDIDATE_EMAILS = {
"cjy627@hanmaceng.co.kr",
"b23072@hanmaceng.co.kr",
"kjy0426@hanmaceng.co.kr",
"b21367@hanmaceng.co.kr",
"rmsgud1202@hanmaceng.co.kr",
}
def write_support_ticket_comment_sql(
posts: list[dict[str, Any]],
comments: list[dict[str, Any]],
output: Path,
workspace_id: int,
) -> None:
"""Write idempotent support ticket/mapping/comment migration SQL."""
lines = [
"-- Generated from EGBIM qa_posts and qa_comments.",
"-- Run against baron_support after the support schema migration.",
"SET NAMES utf8mb4;",
"USE `baron_support`;",
f"SET @EGBIM_WORKSPACE_ID = {workspace_id};",
"INSERT INTO support_category_codes (code,name,sort_order) VALUES "
"('ERROR_QNA','오류 문의',51),('IMPROVEMENT_QNA','개선 문의',52) "
"ON DUPLICATE KEY UPDATE name=VALUES(name),sort_order=VALUES(sort_order);",
"START TRANSACTION;",
"INSERT INTO migration_batches (batch_name,source_system,status,executed_by,notes) "
"SELECT 'EGBIM_QA_POSTS_COMMENTS_V1','EGBIM_QA','RUNNING','migration:EGBIM_QA',"
"'Migrated qa_posts and qa_comments' FROM DUAL WHERE NOT EXISTS ("
"SELECT 1 FROM migration_batches WHERE batch_name='EGBIM_QA_POSTS_COMMENTS_V1' "
"AND source_system='EGBIM_QA' AND status='COMPLETED');",
"SET @EGBIM_BATCH_ID = (SELECT id FROM migration_batches "
"WHERE batch_name='EGBIM_QA_POSTS_COMMENTS_V1' AND source_system='EGBIM_QA' "
"ORDER BY id DESC LIMIT 1);",
]
for row in posts:
source_id = str(row["post_id"])
title = str(row.get("title") or f"EGBIM 문의 #{source_id}")
description = str(row.get("content") or "")
requester_id = str(row.get("login_id") or row.get("user_id") or f"legacy:{source_id}")
requester_email = str(row.get("login_id") or "") or None
source_is_secret = bool(int(row.get("is_secret") or 0))
source_is_private = bool(int(row.get("is_private") or 0))
migration_key = f"EGBIM_QA:POST:{source_id}"
extra_fields = {
"migration_key": migration_key,
"source_system": "EGBIM_QA",
"source_post_id": source_id,
"source_status": row.get("status"),
}
lines.append(
"INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,"
"requester_contact,requester_email,requester_name,requester_department,"
"requester_phone_number,ticket_type,source_system,title,description,category_code,"
"status_code,approval_status,sync_status,issue_link_status,is_secret,"
"requires_approval,priority,extra_fields,created_at,updated_at) "
f"SELECT @EGBIM_WORKSPACE_ID,{sql_string(requester_id)},'EGBIM_QA',"
f"{sql_string(row.get('phone'))},{sql_string(requester_email)},"
f"{sql_string(row.get('user_name'))},{sql_string(row.get('department'))},"
f"{sql_string(row.get('phone'))},'GENERAL','EGBIM_QA',{sql_string(title)},"
f"{sql_string(description)},{sql_string(_support_category(row.get('category')))},"
f"{sql_string(_support_status(row.get('status')))},'NOT_REQUIRED','SYNCED',"
f"'NOT_LINKED',{1 if (source_is_secret or source_is_private) else 0},0,'NORMAL',"
f"{sql_json(extra_fields)},{sql_string(row.get('created_at'))},"
f"{sql_string(row.get('updated_at') or row.get('created_at'))} FROM DUAL WHERE NOT EXISTS ("
"SELECT 1 FROM support_tickets WHERE workspace_id=@EGBIM_WORKSPACE_ID "
f"AND JSON_UNQUOTE(JSON_EXTRACT(extra_fields,'$.migration_key'))={sql_string(migration_key)});"
)
lines.append(
"INSERT INTO migration_mappings (batch_id,source_system,source_entity_type,"
"source_entity_id,source_parent_id,workspace_id,ticket_id,abc_feedback_id,"
"migration_status,error_message) "
"SELECT @EGBIM_BATCH_ID,'EGBIM_QA','POST',"
f"{sql_string(source_id)},NULL,@EGBIM_WORKSPACE_ID,st.id,NULL,'MIGRATED',NULL "
"FROM support_tickets st WHERE st.workspace_id=@EGBIM_WORKSPACE_ID "
f"AND JSON_UNQUOTE(JSON_EXTRACT(st.extra_fields,'$.migration_key'))={sql_string(migration_key)} "
"AND NOT EXISTS (SELECT 1 FROM migration_mappings mm WHERE mm.source_system='EGBIM_QA' "
"AND mm.source_entity_type='POST' "
f"AND mm.source_entity_id={sql_string(source_id)});"
)
lines.append(
"UPDATE migration_mappings mm JOIN support_tickets st ON st.workspace_id=mm.workspace_id "
"AND JSON_UNQUOTE(JSON_EXTRACT(st.extra_fields,'$.migration_key'))="
"CONCAT('EGBIM_QA:POST:',mm.source_entity_id) SET mm.ticket_id=st.id,"
"mm.migration_status='MIGRATED' WHERE mm.source_system='EGBIM_QA' "
"AND mm.source_entity_type='POST' AND mm.workspace_id=@EGBIM_WORKSPACE_ID "
"AND mm.ticket_id IS NULL;"
)
for row in comments:
source_id = str(row["comment_id"])
post_id = str(row["post_id"])
commenter = str(row.get("commenter") or f"legacy-commenter:{source_id}")
is_internal = commenter.strip().lower() in ADMIN_CANDIDATE_EMAILS
comment_key = f"EGBIM_QA:{source_id}"
lines.append(
"INSERT INTO ticket_comments (ticket_id,parent_comment_id,author_id,"
"author_tenant_id,author_name,comment_type,content,is_internal,abc_comment_id,"
"sync_status,edited_at,created_at,updated_at) SELECT mm.ticket_id,NULL,"
f"{sql_string(commenter)},'EGBIM_QA',{sql_string(row.get('user_name') or commenter)},"
f"{sql_string('ADMIN' if is_internal else 'COMMENT')},{sql_string(row.get('content') or '')},"
f"{1 if is_internal else 0},{sql_string(comment_key)},'SYNCED',"
f"{sql_string(row.get('updated_at'))},{sql_string(row.get('created_at'))},"
f"{sql_string(row.get('updated_at') or row.get('created_at'))} FROM migration_mappings mm "
"WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' "
f"AND mm.source_entity_id={sql_string(post_id)} AND mm.ticket_id IS NOT NULL "
"AND NOT EXISTS (SELECT 1 FROM ticket_comments WHERE abc_comment_id="
f"{sql_string(comment_key)});"
)
lines.extend([
"UPDATE migration_batches SET status='COMPLETED',completed_at=CURRENT_TIMESTAMP "
"WHERE id=@EGBIM_BATCH_ID;",
"COMMIT;",
"",
])
output.write_text("\n".join(lines), encoding="utf-8")
def write_attachment_sql(records: list[FileRecord], output: Path) -> None:
lines = [
"-- Generated for baron_support.attachments.",
"-- Run after EGBIM_QA POST/COMMENT migration mappings exist.",
"-- Comment migration must set ticket_comments.abc_comment_id = EGBIM_QA:<source comment id>.",
"SET NAMES utf8mb4;",
"USE `baron_support`;",
"SET @EGBIM_WORKSPACE_ID = (SELECT id FROM workspaces WHERE workspace_code='EGBIM');",
"SET @EGBIM_UPLOADER_ID = 'migration:EGBIM_QA';",
"SET @EGBIM_UPLOADER_TENANT_ID = 'migration:EGBIM_QA';",
"START TRANSACTION;",
]
for record in records:
if record.status != "READY" or record.entity_type == "COMMENT_THUMBNAIL":
continue
mime_type = mimetypes.guess_type(record.original_name)[0] or "application/octet-stream"
extension = safe_extension(record.original_name).lstrip(".") or None
attachment_key = f"EGBIM_QA:{record.entity_type}:{record.source_id}"
if record.entity_type == "POST_ATTACHMENT":
resolver = (
"SELECT mm.ticket_id AS ticket_id, NULL AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM migration_mappings mm "
"WHERE mm.source_system='EGBIM_QA' AND mm.source_entity_type='POST' "
f"AND mm.source_entity_id={sql_string(record.parent_id)} AND mm.ticket_id IS NOT NULL LIMIT 1"
)
else:
resolver = (
"SELECT tc.ticket_id AS ticket_id, tc.id AS comment_id, @EGBIM_WORKSPACE_ID AS workspace_id FROM ticket_comments tc "
f"WHERE tc.abc_comment_id={sql_string('EGBIM_QA:' + record.parent_id)} LIMIT 1"
)
lines.append(
"INSERT INTO attachments (ticket_id,comment_id,workspace_id,uploader_id,uploader_tenant_id,"
"original_file_name,stored_file_name,storage_provider,storage_bucket,storage_key,mime_type,"
"file_extension,file_size,checksum_sha256,abc_attachment_id,attachment_status,created_at,updated_at) "
"SELECT resolved.ticket_id,resolved.comment_id,resolved.workspace_id,@EGBIM_UPLOADER_ID,"
f"@EGBIM_UPLOADER_TENANT_ID,{sql_string(record.original_name)},"
f"{sql_string(Path(record.storage_key).name)},'LOCAL','/app/uploads',{sql_string(record.storage_key)},"
f"{sql_string(mime_type)},{sql_string(extension)},{record.file_size or 0},{sql_string(record.checksum)},"
f"{sql_string(attachment_key)},'ACTIVE',{sql_string(record.uploaded_at)},{sql_string(record.uploaded_at)} "
f"FROM ({resolver}) resolved WHERE NOT EXISTS (SELECT 1 FROM attachments WHERE abc_attachment_id={sql_string(attachment_key)});"
)
lines.extend(["COMMIT;", ""])
output.write_text("\n".join(lines), encoding="utf-8")
def main() -> None:
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--source-sql", type=Path, default=Path("scripts/egbim_qa.sql"))
parser.add_argument("--source-uploads", type=Path, required=True)
parser.add_argument("--target-uploads", type=Path, default=Path("uploads"))
parser.add_argument("--output-dir", type=Path, default=Path("scripts/generated/egbim_migration"))
# EGBIM workspace is mapped to ABC userfeedback channel_id=2.
parser.add_argument("--channel-id", type=int, default=2)
parser.add_argument("--workspace-id", type=int, default=6)
parser.add_argument("--copy-files", action="store_true")
args = parser.parse_args()
text = args.source_sql.read_text(encoding="utf-8")
posts = load_table(text, "qa_posts")
attachments = load_table(text, "qa_attachments")
comment_images = load_table(text, "qa_comment_images")
comments = load_table(text, "qa_comments")
args.output_dir.mkdir(parents=True, exist_ok=True)
records = build_file_records(attachments, comment_images, args.source_uploads, args.target_uploads, args.copy_files)
write_manifest(records, args.output_dir / "uploads_manifest.csv")
write_feedback_sql(posts, args.output_dir / "userfeedback_feedbacks.sql", args.channel_id)
write_support_ticket_comment_sql(
posts, comments, args.output_dir / "support_tickets_comments.sql", args.workspace_id
)
write_support_secret_sql(posts, args.output_dir / "support_ticket_secrets.sql")
write_attachment_sql(records, args.output_dir / "support_attachments.sql")
ready = sum(record.status == "READY" for record in records)
missing = sum(record.status == "MISSING" for record in records)
print(f"posts={len(posts)} comments={len(comments)} post_attachments={len(attachments)} comment_images={len(comment_images)}")
print(f"file_records={len(records)} ready={ready} missing={missing}")
print(f"output={args.output_dir}")
if __name__ == "__main__":
main()
@@ -0,0 +1,272 @@
-- Q&A_Platform CRUD test data: 50 realistic Korean feedbacks
-- ABC: userfeedback project_id=1/channel_id=1; Secretary: baron_support workspace_id=10/channel_id=1
-- Current staging ABC dummy IDs are 2..51. Run the ABC section first.
-- If IDs differ in another database, update abc_feedback_id in the Secretary section.
-- The ABC section updates current staging IDs and inserts missing rows idempotently.
-- ================================================================
-- 1) Run against the ABC userfeedback database
-- ================================================================
START TRANSACTION;
UPDATE feedbacks SET data=JSON_OBJECT('title','로그인 후 문의 등록 화면이 비어 있습니다','contents','BARON-SSO 로그인은 정상적으로 완료되었지만 문의 등록 화면에 입력 폼이 표시되지 않습니다. 새로고침과 시크릿 창에서도 동일합니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_01') WHERE id=2 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','로그인 후 문의 등록 화면이 비어 있습니다','contents','BARON-SSO 로그인은 정상적으로 완료되었지만 문의 등록 화면에 입력 폼이 표시되지 않습니다. 새로고침과 시크릿 창에서도 동일합니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_01') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_01');
UPDATE feedbacks SET data=JSON_OBJECT('title','SSO 인증 후 다시 로그인 화면으로 돌아옵니다','contents','SSO 인증을 완료하면 잠시 로딩된 뒤 다시 로그인 화면으로 이동합니다. 같은 계정으로 여러 번 시도해도 문의 작성 화면에 진입할 수 없습니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_02') WHERE id=3 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','SSO 인증 후 다시 로그인 화면으로 돌아옵니다','contents','SSO 인증을 완료하면 잠시 로딩된 뒤 다시 로그인 화면으로 이동합니다. 같은 계정으로 여러 번 시도해도 문의 작성 화면에 진입할 수 없습니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_02') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_02');
UPDATE feedbacks SET data=JSON_OBJECT('title','모바일에서 제목 입력란이 화면 밖으로 밀립니다','contents','휴대전화에서 문의를 작성할 때 제목 입력란 오른쪽이 잘립니다. 가로 스크롤 없이 전체 입력란을 사용할 수 있도록 조정해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_03') WHERE id=4 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','모바일에서 제목 입력란이 화면 밖으로 밀립니다','contents','휴대전화에서 문의를 작성할 때 제목 입력란 오른쪽이 잘립니다. 가로 스크롤 없이 전체 입력란을 사용할 수 있도록 조정해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_03') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_03');
UPDATE feedbacks SET data=JSON_OBJECT('title','첨부파일 업로드가 중간에 멈춥니다','contents','약 12MB 크기의 JPG 파일을 첨부하면 업로드 진행률이 80퍼센트에서 멈춥니다. PC와 모바일에서 모두 같은 현상이 발생합니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_04') WHERE id=5 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','첨부파일 업로드가 중간에 멈춥니다','contents','약 12MB 크기의 JPG 파일을 첨부하면 업로드 진행률이 80퍼센트에서 멈춥니다. PC와 모바일에서 모두 같은 현상이 발생합니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_04') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_04');
UPDATE feedbacks SET data=JSON_OBJECT('title','여러 파일을 한 번에 첨부하고 싶습니다','contents','현재는 파일을 하나씩 선택해야 해서 여러 자료를 첨부할 때 번거롭습니다. 여러 파일을 동시에 선택할 수 있으면 좋겠습니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_05') WHERE id=6 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','여러 파일을 한 번에 첨부하고 싶습니다','contents','현재는 파일을 하나씩 선택해야 해서 여러 자료를 첨부할 때 번거롭습니다. 여러 파일을 동시에 선택할 수 있으면 좋겠습니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_05') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_05');
UPDATE feedbacks SET data=JSON_OBJECT('title','문의 저장 버튼을 눌러도 반응이 없습니다','contents','제목과 내용을 입력한 뒤 저장 버튼을 눌렀지만 아무 메시지도 표시되지 않고 목록으로 이동하지 않습니다. 콘솔에는 요청 실패 로그가 남습니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_06') WHERE id=7 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','문의 저장 버튼을 눌러도 반응이 없습니다','contents','제목과 내용을 입력한 뒤 저장 버튼을 눌렀지만 아무 메시지도 표시되지 않고 목록으로 이동하지 않습니다. 콘솔에는 요청 실패 로그가 남습니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_06') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_06');
UPDATE feedbacks SET data=JSON_OBJECT('title','작성 중인 문의가 새로고침 후 사라집니다','contents','긴 내용을 작성하다가 실수로 새로고침했더니 입력한 내용이 모두 사라졌습니다. 임시 저장이나 페이지 이탈 확인 기능이 있으면 좋겠습니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_07') WHERE id=8 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','작성 중인 문의가 새로고침 후 사라집니다','contents','긴 내용을 작성하다가 실수로 새로고침했더니 입력한 내용이 모두 사라졌습니다. 임시 저장이나 페이지 이탈 확인 기능이 있으면 좋겠습니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_07') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_07');
UPDATE feedbacks SET data=JSON_OBJECT('title','문의 목록에서 최신 글이 먼저 보이지 않습니다','contents','방금 등록한 문의가 목록 마지막 부분에 표시됩니다. 최근에 작성한 문의가 가장 위에 보이도록 기본 정렬을 최신순으로 바꿔 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_08') WHERE id=9 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','문의 목록에서 최신 글이 먼저 보이지 않습니다','contents','방금 등록한 문의가 목록 마지막 부분에 표시됩니다. 최근에 작성한 문의가 가장 위에 보이도록 기본 정렬을 최신순으로 바꿔 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_08') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_08');
UPDATE feedbacks SET data=JSON_OBJECT('title','문의 목록 페이지 이동이 정상적으로 되지 않습니다','contents','문의가 여러 페이지로 나뉜 상태에서 다음 페이지를 눌러도 같은 목록이 반복됩니다. 페이지 번호를 직접 눌러도 결과가 바뀌지 않습니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_09') WHERE id=10 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','문의 목록 페이지 이동이 정상적으로 되지 않습니다','contents','문의가 여러 페이지로 나뉜 상태에서 다음 페이지를 눌러도 같은 목록이 반복됩니다. 페이지 번호를 직접 눌러도 결과가 바뀌지 않습니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_09') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_09');
UPDATE feedbacks SET data=JSON_OBJECT('title','문의 제목으로 검색하면 결과가 누락됩니다','contents','목록에 존재하는 제목의 일부 단어로 검색했는데 결과가 표시되지 않습니다. 한글과 영문을 섞어 검색하는 경우도 확인 부탁드립니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_10') WHERE id=11 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','문의 제목으로 검색하면 결과가 누락됩니다','contents','목록에 존재하는 제목의 일부 단어로 검색했는데 결과가 표시되지 않습니다. 한글과 영문을 섞어 검색하는 경우도 확인 부탁드립니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_10') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_10');
UPDATE feedbacks SET data=JSON_OBJECT('title','특수문자가 포함된 제목이 깨져 보입니다','contents','제목에 괄호와 앰퍼샌드를 입력해 저장했더니 상세 화면에서 문자가 깨져 보입니다. 입력한 그대로 표시되면 좋겠습니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_11') WHERE id=12 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','특수문자가 포함된 제목이 깨져 보입니다','contents','제목에 괄호와 앰퍼샌드를 입력해 저장했더니 상세 화면에서 문자가 깨져 보입니다. 입력한 그대로 표시되면 좋겠습니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_11') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_11');
UPDATE feedbacks SET data=JSON_OBJECT('title','긴 문의 내용의 줄바꿈이 사라집니다','contents','여러 문단으로 입력한 내용이 저장 후 한 줄로 붙어 표시됩니다. 작성할 때의 줄바꿈과 문단 간격이 유지되면 좋겠습니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_12') WHERE id=13 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','긴 문의 내용의 줄바꿈이 사라집니다','contents','여러 문단으로 입력한 내용이 저장 후 한 줄로 붙어 표시됩니다. 작성할 때의 줄바꿈과 문단 간격이 유지되면 좋겠습니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_12') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_12');
UPDATE feedbacks SET data=JSON_OBJECT('title','문의 상세 화면에서 첨부파일을 내려받을 수 없습니다','contents','상세 화면에 파일명은 표시되지만 파일명을 클릭해도 다운로드가 시작되지 않습니다. Chrome과 Edge에서 모두 확인했습니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_13') WHERE id=14 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','문의 상세 화면에서 첨부파일을 내려받을 수 없습니다','contents','상세 화면에 파일명은 표시되지만 파일명을 클릭해도 다운로드가 시작되지 않습니다. Chrome과 Edge에서 모두 확인했습니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_13') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_13');
UPDATE feedbacks SET data=JSON_OBJECT('title','첨부파일 삭제 후에도 목록에 남아 있습니다','contents','문의 작성 중 첨부파일을 삭제했지만 저장 후 상세 화면을 다시 열면 삭제한 파일이 그대로 표시됩니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_14') WHERE id=15 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','첨부파일 삭제 후에도 목록에 남아 있습니다','contents','문의 작성 중 첨부파일을 삭제했지만 저장 후 상세 화면을 다시 열면 삭제한 파일이 그대로 표시됩니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_14') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_14');
UPDATE feedbacks SET data=JSON_OBJECT('title','답변 등록 후 목록 상태가 바로 바뀌지 않습니다','contents','관리자가 답변을 등록한 뒤 목록으로 돌아왔지만 상태가 이전 상태로 남아 있습니다. 새로고침해야 변경된 상태가 표시됩니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_15') WHERE id=16 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','답변 등록 후 목록 상태가 바로 바뀌지 않습니다','contents','관리자가 답변을 등록한 뒤 목록으로 돌아왔지만 상태가 이전 상태로 남아 있습니다. 새로고침해야 변경된 상태가 표시됩니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_15') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_15');
UPDATE feedbacks SET data=JSON_OBJECT('title','댓글 작성 후 댓글 수가 갱신되지 않습니다','contents','상세 화면에서 댓글을 작성하면 내용은 보이지만 댓글 개수가 즉시 변경되지 않습니다. 작성 완료 후 개수도 갱신해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_16') WHERE id=17 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','댓글 작성 후 댓글 수가 갱신되지 않습니다','contents','상세 화면에서 댓글을 작성하면 내용은 보이지만 댓글 개수가 즉시 변경되지 않습니다. 작성 완료 후 개수도 갱신해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_16') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_16');
UPDATE feedbacks SET data=JSON_OBJECT('title','댓글을 수정하면 수정 시간이 표시되지 않습니다','contents','댓글 내용을 수정한 뒤 수정 표시가 남지 않고 원래 작성 시간만 보입니다. 수정된 댓글임을 알 수 있도록 표시해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_17') WHERE id=18 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','댓글을 수정하면 수정 시간이 표시되지 않습니다','contents','댓글 내용을 수정한 뒤 수정 표시가 남지 않고 원래 작성 시간만 보입니다. 수정된 댓글임을 알 수 있도록 표시해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_17') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_17');
UPDATE feedbacks SET data=JSON_OBJECT('title','댓글 삭제 확인 창의 버튼 문구가 헷갈립니다','contents','댓글 삭제를 누르면 확인 창의 취소와 삭제 버튼 구분이 어렵습니다. 삭제 작업임을 명확히 알 수 있도록 개선해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_18') WHERE id=19 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','댓글 삭제 확인 창의 버튼 문구가 헷갈립니다','contents','댓글 삭제를 누르면 확인 창의 취소와 삭제 버튼 구분이 어렵습니다. 삭제 작업임을 명확히 알 수 있도록 개선해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_18') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_18');
UPDATE feedbacks SET data=JSON_OBJECT('title','댓글에 여러 줄의 내용을 입력할 수 없습니다','contents','댓글 입력란이 한 줄 입력으로만 동작해서 긴 설명을 작성하기 어렵습니다. 여러 줄을 입력할 수 있으면 좋겠습니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_19') WHERE id=20 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','댓글에 여러 줄의 내용을 입력할 수 없습니다','contents','댓글 입력란이 한 줄 입력으로만 동작해서 긴 설명을 작성하기 어렵습니다. 여러 줄을 입력할 수 있으면 좋겠습니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_19') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_19');
UPDATE feedbacks SET data=JSON_OBJECT('title','문의 상세 화면의 버튼 위치가 일정하지 않습니다','contents','문의마다 수정, 삭제, 목록 버튼 위치가 다르게 보입니다. 댓글 영역과 겹치지 않도록 상세 화면 상단에 배치해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_20') WHERE id=21 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','문의 상세 화면의 버튼 위치가 일정하지 않습니다','contents','문의마다 수정, 삭제, 목록 버튼 위치가 다르게 보입니다. 댓글 영역과 겹치지 않도록 상세 화면 상단에 배치해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_20') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_20');
UPDATE feedbacks SET data=JSON_OBJECT('title','수정한 문의 내용이 저장 후 이전 내용으로 돌아갑니다','contents','상세 화면에서 제목과 내용을 수정하고 저장했지만 다시 조회하면 수정 전 내용이 표시됩니다. 저장 API와 DB 반영을 확인해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_21') WHERE id=22 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','수정한 문의 내용이 저장 후 이전 내용으로 돌아갑니다','contents','상세 화면에서 제목과 내용을 수정하고 저장했지만 다시 조회하면 수정 전 내용이 표시됩니다. 저장 API와 DB 반영을 확인해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_21') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_21');
UPDATE feedbacks SET data=JSON_OBJECT('title','문의 삭제 후 목록에 삭제된 글이 남아 있습니다','contents','삭제 성공 메시지는 표시되지만 목록으로 돌아오면 삭제한 문의가 계속 보입니다. 새로고침해야 사라집니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_22') WHERE id=23 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','문의 삭제 후 목록에 삭제된 글이 남아 있습니다','contents','삭제 성공 메시지는 표시되지만 목록으로 돌아오면 삭제한 문의가 계속 보입니다. 새로고침해야 사라집니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_22') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_22');
UPDATE feedbacks SET data=JSON_OBJECT('title','삭제한 문의의 상세 URL에 접근할 수 있습니다','contents','문의 삭제 후 브라우저 뒤로 가기로 상세 URL에 다시 접근하면 내용이 표시됩니다. 삭제된 문의는 조회되지 않도록 처리해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_23') WHERE id=24 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','삭제한 문의의 상세 URL에 접근할 수 있습니다','contents','문의 삭제 후 브라우저 뒤로 가기로 상세 URL에 다시 접근하면 내용이 표시됩니다. 삭제된 문의는 조회되지 않도록 처리해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_23') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_23');
UPDATE feedbacks SET data=JSON_OBJECT('title','관리자와 일반 사용자의 메뉴가 동일하게 보입니다','contents','일반 사용자로 로그인했는데 관리자 설정 메뉴가 잠시 표시됩니다. 권한에 따라 메뉴와 화면을 일관되게 구분해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_24') WHERE id=25 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','관리자와 일반 사용자의 메뉴가 동일하게 보입니다','contents','일반 사용자로 로그인했는데 관리자 설정 메뉴가 잠시 표시됩니다. 권한에 따라 메뉴와 화면을 일관되게 구분해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_24') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_24');
UPDATE feedbacks SET data=JSON_OBJECT('title','프로젝트를 전환하면 이전 프로젝트 문의가 보입니다','contents','프로젝트 선택기로 다른 프로젝트로 이동했는데 잠시 이전 프로젝트 문의가 표시됩니다. 프로젝트 전환 시 목록을 초기화해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_25') WHERE id=26 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','프로젝트를 전환하면 이전 프로젝트 문의가 보입니다','contents','프로젝트 선택기로 다른 프로젝트로 이동했는데 잠시 이전 프로젝트 문의가 표시됩니다. 프로젝트 전환 시 목록을 초기화해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_25') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_25');
UPDATE feedbacks SET data=JSON_OBJECT('title','Q&A 채널 변경 후 문의 양식이 갱신되지 않습니다','contents','다른 채널을 선택했지만 이전 채널의 문의 양식이 계속 표시됩니다. 채널 변경 시 해당 폼 템플릿을 다시 불러와야 합니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_26') WHERE id=27 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','Q&A 채널 변경 후 문의 양식이 갱신되지 않습니다','contents','다른 채널을 선택했지만 이전 채널의 문의 양식이 계속 표시됩니다. 채널 변경 시 해당 폼 템플릿을 다시 불러와야 합니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_26') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_26');
UPDATE feedbacks SET data=JSON_OBJECT('title','폼 템플릿의 필수 표시와 실제 검증이 다릅니다','contents','화면에서는 선택 항목처럼 보이는 필드가 저장 시 필수 입력 오류를 반환합니다. 화면과 서버 검증 규칙을 맞춰 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_27') WHERE id=28 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','폼 템플릿의 필수 표시와 실제 검증이 다릅니다','contents','화면에서는 선택 항목처럼 보이는 필드가 저장 시 필수 입력 오류를 반환합니다. 화면과 서버 검증 규칙을 맞춰 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_27') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_27');
UPDATE feedbacks SET data=JSON_OBJECT('title','문의 등록 시 공백만 입력해도 저장됩니다','contents','내용 입력란에 공백만 입력하고 저장했는데 문의가 등록됩니다. 공백만 있는 제목과 내용은 저장되지 않아야 합니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_28') WHERE id=29 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','문의 등록 시 공백만 입력해도 저장됩니다','contents','내용 입력란에 공백만 입력하고 저장했는데 문의가 등록됩니다. 공백만 있는 제목과 내용은 저장되지 않아야 합니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_28') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_28');
UPDATE feedbacks SET data=JSON_OBJECT('title','문의 등록 시간이 실제보다 9시간 빠릅니다','contents','등록 시간과 수정 시간이 실제보다 9시간 빠르게 표시됩니다. 스테이징 화면의 시간대가 한국 기준인지 확인 부탁드립니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_29') WHERE id=30 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','문의 등록 시간이 실제보다 9시간 빠릅니다','contents','등록 시간과 수정 시간이 실제보다 9시간 빠르게 표시됩니다. 스테이징 화면의 시간대가 한국 기준인지 확인 부탁드립니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_29') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_29');
UPDATE feedbacks SET data=JSON_OBJECT('title','새로고침하면 로그인 세션이 만료된 것으로 표시됩니다','contents','로그인 직후에는 정상적으로 문의를 볼 수 있지만 새로고침하면 유효하지 않은 로그인 세션이라는 메시지가 표시됩니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_30') WHERE id=31 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','새로고침하면 로그인 세션이 만료된 것으로 표시됩니다','contents','로그인 직후에는 정상적으로 문의를 볼 수 있지만 새로고침하면 유효하지 않은 로그인 세션이라는 메시지가 표시됩니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_30') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_30');
UPDATE feedbacks SET data=JSON_OBJECT('title','액세스 토큰 만료 후 자동 갱신이 동작하지 않습니다','contents','페이지를 오래 열어 둔 뒤 목록을 조회하면 401 오류가 발생하고 로그인 화면으로 이동합니다. refresh token으로 재시도되면 좋겠습니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_31') WHERE id=32 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','액세스 토큰 만료 후 자동 갱신이 동작하지 않습니다','contents','페이지를 오래 열어 둔 뒤 목록을 조회하면 401 오류가 발생하고 로그인 화면으로 이동합니다. refresh token으로 재시도되면 좋겠습니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_31') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_31');
UPDATE feedbacks SET data=JSON_OBJECT('title','로그아웃 후 뒤로 가기로 이전 화면이 보입니다','contents','로그아웃한 뒤 브라우저 뒤로 가기를 누르면 이전 문의 화면의 내용이 잠시 표시됩니다. 보호된 페이지가 캐시되지 않도록 해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_32') WHERE id=33 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','로그아웃 후 뒤로 가기로 이전 화면이 보입니다','contents','로그아웃한 뒤 브라우저 뒤로 가기를 누르면 이전 문의 화면의 내용이 잠시 표시됩니다. 보호된 페이지가 캐시되지 않도록 해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_32') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_32');
UPDATE feedbacks SET data=JSON_OBJECT('title','BARON-SSO 로그아웃 후 오류 페이지로 이동합니다','contents','로그아웃 버튼을 누르면 앱 로그인 화면이 아니라 SSO invalid_request 오류 페이지로 이동합니다. 로컬 세션 삭제 후 SSO 로그인 버튼 화면으로 돌아오면 좋겠습니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_33') WHERE id=34 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','BARON-SSO 로그아웃 후 오류 페이지로 이동합니다','contents','로그아웃 버튼을 누르면 앱 로그인 화면이 아니라 SSO invalid_request 오류 페이지로 이동합니다. 로컬 세션 삭제 후 SSO 로그인 버튼 화면으로 돌아오면 좋겠습니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_33') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_33');
UPDATE feedbacks SET data=JSON_OBJECT('title','SSO 로그인 버튼이 첫 화면에 표시되지 않습니다','contents','테넌트에서 OAuth를 사용하도록 설정했는데 로그인 화면에 이메일 로그인만 표시됩니다. 설정 조회 시점을 확인해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_34') WHERE id=35 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','SSO 로그인 버튼이 첫 화면에 표시되지 않습니다','contents','테넌트에서 OAuth를 사용하도록 설정했는데 로그인 화면에 이메일 로그인만 표시됩니다. 설정 조회 시점을 확인해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_34') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_34');
UPDATE feedbacks SET data=JSON_OBJECT('title','로그인한 사용자의 이름이 댓글에 표시되지 않습니다','contents','로그인한 계정으로 댓글을 작성했지만 작성자 이름이 빈 값으로 표시됩니다. SSO 프로필 이름이나 이메일을 표시해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_35') WHERE id=36 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','로그인한 사용자의 이름이 댓글에 표시되지 않습니다','contents','로그인한 계정으로 댓글을 작성했지만 작성자 이름이 빈 값으로 표시됩니다. SSO 프로필 이름이나 이메일을 표시해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_35') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_35');
UPDATE feedbacks SET data=JSON_OBJECT('title','다른 사용자가 작성한 문의를 수정할 수 있습니다','contents','일반 사용자가 다른 사용자의 문의 상세 URL을 직접 입력하면 수정 화면에 접근할 수 있습니다. 작성자 본인과 관리자만 수정할 수 있어야 합니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_36') WHERE id=37 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','다른 사용자가 작성한 문의를 수정할 수 있습니다','contents','일반 사용자가 다른 사용자의 문의 상세 URL을 직접 입력하면 수정 화면에 접근할 수 있습니다. 작성자 본인과 관리자만 수정할 수 있어야 합니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_36') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_36');
UPDATE feedbacks SET data=JSON_OBJECT('title','일반 사용자가 문의 목록 전체를 볼 수 있습니다','contents','일반 사용자 계정으로 로그인했을 때 다른 사용자의 문의까지 표시됩니다. END_USER는 본인 문의만 조회할 수 있어야 하는지 확인해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_37') WHERE id=38 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','일반 사용자가 문의 목록 전체를 볼 수 있습니다','contents','일반 사용자 계정으로 로그인했을 때 다른 사용자의 문의까지 표시됩니다. END_USER는 본인 문의만 조회할 수 있어야 하는지 확인해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_37') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_37');
UPDATE feedbacks SET data=JSON_OBJECT('title','프로젝트 관리자의 문의 목록이 비어 있습니다','contents','프로젝트 관리자 권한을 받았지만 해당 프로젝트의 문의 목록이 표시되지 않습니다. members와 workspace access 매핑을 확인해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_38') WHERE id=39 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','프로젝트 관리자의 문의 목록이 비어 있습니다','contents','프로젝트 관리자 권한을 받았지만 해당 프로젝트의 문의 목록이 표시되지 않습니다. members와 workspace access 매핑을 확인해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_38') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_38');
UPDATE feedbacks SET data=JSON_OBJECT('title','피드백 등록 후 관리자 목록에 바로 보이지 않습니다','contents','사용자가 문의를 등록한 뒤 관리자가 피드백 목록을 확인했지만 새 글이 즉시 표시되지 않습니다. 내부 티켓과 ABC 동기화를 확인해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_39') WHERE id=40 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','피드백 등록 후 관리자 목록에 바로 보이지 않습니다','contents','사용자가 문의를 등록한 뒤 관리자가 피드백 목록을 확인했지만 새 글이 즉시 표시되지 않습니다. 내부 티켓과 ABC 동기화를 확인해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_39') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_39');
UPDATE feedbacks SET data=JSON_OBJECT('title','ABC 피드백과 내부 티켓의 제목이 다릅니다','contents','문의 등록 후 관리자 화면과 지원 화면에서 제목이 서로 다르게 표시됩니다. 두 DB에 동일한 제목이 저장되는지 확인해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_40') WHERE id=41 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','ABC 피드백과 내부 티켓의 제목이 다릅니다','contents','문의 등록 후 관리자 화면과 지원 화면에서 제목이 서로 다르게 표시됩니다. 두 DB에 동일한 제목이 저장되는지 확인해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_40') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_40');
UPDATE feedbacks SET data=JSON_OBJECT('title','피드백 상세 조회 시 502 오류가 발생합니다','contents','목록에서는 문의가 보이지만 특정 글의 상세 화면을 열면 502 Bad Gateway가 표시됩니다. 외부 피드백 매핑 ID를 확인해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_41') WHERE id=42 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','피드백 상세 조회 시 502 오류가 발생합니다','contents','목록에서는 문의가 보이지만 특정 글의 상세 화면을 열면 502 Bad Gateway가 표시됩니다. 외부 피드백 매핑 ID를 확인해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_41') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_41');
UPDATE feedbacks SET data=JSON_OBJECT('title','피드백 삭제 후 내부 티켓이 남아 있습니다','contents','관리자 화면에서 피드백을 삭제했지만 지원 화면에는 동일한 문의가 남아 있습니다. ABC 삭제와 내부 티켓 상태 변경을 함께 처리해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_42') WHERE id=43 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','피드백 삭제 후 내부 티켓이 남아 있습니다','contents','관리자 화면에서 피드백을 삭제했지만 지원 화면에는 동일한 문의가 남아 있습니다. ABC 삭제와 내부 티켓 상태 변경을 함께 처리해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_42') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_42');
UPDATE feedbacks SET data=JSON_OBJECT('title','문의 내용에 URL을 입력하면 저장에 실패합니다','contents','내용에 https URL과 쿼리 파라미터를 포함하면 저장 요청이 400 오류로 실패합니다. URL이 포함된 본문도 저장되어야 합니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_43') WHERE id=44 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','문의 내용에 URL을 입력하면 저장에 실패합니다','contents','내용에 https URL과 쿼리 파라미터를 포함하면 저장 요청이 400 오류로 실패합니다. URL이 포함된 본문도 저장되어야 합니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_43') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_43');
UPDATE feedbacks SET data=JSON_OBJECT('title','브라우저를 바꾸면 작성한 문의가 보이지 않습니다','contents','같은 계정으로 Chrome에서 작성한 문의가 Edge에서는 표시되지 않습니다. 로그인 계정과 테넌트 기준 조회를 확인해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_44') WHERE id=45 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','브라우저를 바꾸면 작성한 문의가 보이지 않습니다','contents','같은 계정으로 Chrome에서 작성한 문의가 Edge에서는 표시되지 않습니다. 로그인 계정과 테넌트 기준 조회를 확인해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_44') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_44');
UPDATE feedbacks SET data=JSON_OBJECT('title','문의 목록의 필터를 초기화할 수 없습니다','contents','상태 필터를 적용한 뒤 초기화 버튼을 눌러도 이전 필터가 유지됩니다. 초기화하면 전체 목록으로 돌아가야 합니다.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_45') WHERE id=46 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','문의 목록의 필터를 초기화할 수 없습니다','contents','상태 필터를 적용한 뒤 초기화 버튼을 눌러도 이전 필터가 유지됩니다. 초기화하면 전체 목록으로 돌아가야 합니다.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_45') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_45');
UPDATE feedbacks SET data=JSON_OBJECT('title','상태 필터 적용 후 페이지 수가 잘못 표시됩니다','contents','상태 필터를 적용하면 결과는 줄어들지만 페이지 수는 필터 적용 전과 동일합니다. 필터 조건을 전체 개수에도 반영해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_46') WHERE id=47 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','상태 필터 적용 후 페이지 수가 잘못 표시됩니다','contents','상태 필터를 적용하면 결과는 줄어들지만 페이지 수는 필터 적용 전과 동일합니다. 필터 조건을 전체 개수에도 반영해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_46') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_46');
UPDATE feedbacks SET data=JSON_OBJECT('title','검색어를 지워도 이전 결과가 남아 있습니다','contents','검색 입력란을 비운 뒤에도 이전 검색 결과가 계속 표시됩니다. 검색어가 빈 값이면 전체 목록을 다시 조회해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_47') WHERE id=48 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','검색어를 지워도 이전 결과가 남아 있습니다','contents','검색 입력란을 비운 뒤에도 이전 검색 결과가 계속 표시됩니다. 검색어가 빈 값이면 전체 목록을 다시 조회해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_47') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_47');
UPDATE feedbacks SET data=JSON_OBJECT('title','제목이 긴 문의 때문에 목록 레이아웃이 깨집니다','contents','제목을 길게 입력한 문의가 목록에 표시되면 다른 열과 겹칩니다. 긴 제목은 말줄임 처리하고 상세 화면에서 전체를 보여 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_48') WHERE id=49 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','제목이 긴 문의 때문에 목록 레이아웃이 깨집니다','contents','제목을 길게 입력한 문의가 목록에 표시되면 다른 열과 겹칩니다. 긴 제목은 말줄임 처리하고 상세 화면에서 전체를 보여 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_48') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_48');
UPDATE feedbacks SET data=JSON_OBJECT('title','다크 모드에서 문의 내용이 잘 보이지 않습니다','contents','다크 모드로 전환하면 상세 화면 본문과 댓글의 글자색이 배경과 비슷해 읽기 어렵습니다. 대비를 높여 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_49') WHERE id=50 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','다크 모드에서 문의 내용이 잘 보이지 않습니다','contents','다크 모드로 전환하면 상세 화면 본문과 댓글의 글자색이 배경과 비슷해 읽기 어렵습니다. 대비를 높여 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_49') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_49');
UPDATE feedbacks SET data=JSON_OBJECT('title','저장 버튼을 빠르게 누르면 문의가 중복 등록됩니다','contents','저장 버튼을 빠르게 두 번 누르면 같은 내용의 문의가 두 건 등록될 수 있습니다. 요청 중에는 버튼을 비활성화해 주세요.'), additional_data=JSON_OBJECT('seed_key','DUMMY_QA_20260731_50') WHERE id=51 AND channel_id=1;
INSERT INTO feedbacks (channel_id,data,additional_data) SELECT 1,JSON_OBJECT('title','저장 버튼을 빠르게 누르면 문의가 중복 등록됩니다','contents','저장 버튼을 빠르게 두 번 누르면 같은 내용의 문의가 두 건 등록될 수 있습니다. 요청 중에는 버튼을 비활성화해 주세요.'),JSON_OBJECT('seed_key','DUMMY_QA_20260731_50') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM feedbacks WHERE JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key'))='DUMMY_QA_20260731_50');
COMMIT;
-- ================================================================
-- 2) Run against the Secretary baron_support database
-- ================================================================
START TRANSACTION;
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','로그인 후 문의 등록 화면이 비어 있습니다','BARON-SSO 로그인은 정상적으로 완료되었지만 문의 등록 화면에 입력 폼이 표시되지 않습니다. 새로고침과 시크릿 창에서도 동일합니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','로그인 후 문의 등록 화면이 비어 있습니다','description','BARON-SSO 로그인은 정상적으로 완료되었지만 문의 등록 화면에 입력 폼이 표시되지 않습니다. 새로고침과 시크릿 창에서도 동일합니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_01') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='로그인 후 문의 등록 화면이 비어 있습니다');
SET @dummy_ticket_id_01:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='로그인 후 문의 등록 화면이 비어 있습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_01,10,'1','2','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='2');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','SSO 인증 후 다시 로그인 화면으로 돌아옵니다','SSO 인증을 완료하면 잠시 로딩된 뒤 다시 로그인 화면으로 이동합니다. 같은 계정으로 여러 번 시도해도 문의 작성 화면에 진입할 수 없습니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','SSO 인증 후 다시 로그인 화면으로 돌아옵니다','description','SSO 인증을 완료하면 잠시 로딩된 뒤 다시 로그인 화면으로 이동합니다. 같은 계정으로 여러 번 시도해도 문의 작성 화면에 진입할 수 없습니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_02') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='SSO 인증 후 다시 로그인 화면으로 돌아옵니다');
SET @dummy_ticket_id_02:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='SSO 인증 후 다시 로그인 화면으로 돌아옵니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_02,10,'1','3','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='3');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','모바일에서 제목 입력란이 화면 밖으로 밀립니다','휴대전화에서 문의를 작성할 때 제목 입력란 오른쪽이 잘립니다. 가로 스크롤 없이 전체 입력란을 사용할 수 있도록 조정해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','모바일에서 제목 입력란이 화면 밖으로 밀립니다','description','휴대전화에서 문의를 작성할 때 제목 입력란 오른쪽이 잘립니다. 가로 스크롤 없이 전체 입력란을 사용할 수 있도록 조정해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_03') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='모바일에서 제목 입력란이 화면 밖으로 밀립니다');
SET @dummy_ticket_id_03:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='모바일에서 제목 입력란이 화면 밖으로 밀립니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_03,10,'1','4','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='4');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','첨부파일 업로드가 중간에 멈춥니다','약 12MB 크기의 JPG 파일을 첨부하면 업로드 진행률이 80퍼센트에서 멈춥니다. PC와 모바일에서 모두 같은 현상이 발생합니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','첨부파일 업로드가 중간에 멈춥니다','description','약 12MB 크기의 JPG 파일을 첨부하면 업로드 진행률이 80퍼센트에서 멈춥니다. PC와 모바일에서 모두 같은 현상이 발생합니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_04') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='첨부파일 업로드가 중간에 멈춥니다');
SET @dummy_ticket_id_04:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='첨부파일 업로드가 중간에 멈춥니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_04,10,'1','5','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='5');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','여러 파일을 한 번에 첨부하고 싶습니다','현재는 파일을 하나씩 선택해야 해서 여러 자료를 첨부할 때 번거롭습니다. 여러 파일을 동시에 선택할 수 있으면 좋겠습니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','여러 파일을 한 번에 첨부하고 싶습니다','description','현재는 파일을 하나씩 선택해야 해서 여러 자료를 첨부할 때 번거롭습니다. 여러 파일을 동시에 선택할 수 있으면 좋겠습니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_05') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='여러 파일을 한 번에 첨부하고 싶습니다');
SET @dummy_ticket_id_05:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='여러 파일을 한 번에 첨부하고 싶습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_05,10,'1','6','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='6');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','문의 저장 버튼을 눌러도 반응이 없습니다','제목과 내용을 입력한 뒤 저장 버튼을 눌렀지만 아무 메시지도 표시되지 않고 목록으로 이동하지 않습니다. 콘솔에는 요청 실패 로그가 남습니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','문의 저장 버튼을 눌러도 반응이 없습니다','description','제목과 내용을 입력한 뒤 저장 버튼을 눌렀지만 아무 메시지도 표시되지 않고 목록으로 이동하지 않습니다. 콘솔에는 요청 실패 로그가 남습니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_06') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='문의 저장 버튼을 눌러도 반응이 없습니다');
SET @dummy_ticket_id_06:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='문의 저장 버튼을 눌러도 반응이 없습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_06,10,'1','7','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='7');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','작성 중인 문의가 새로고침 후 사라집니다','긴 내용을 작성하다가 실수로 새로고침했더니 입력한 내용이 모두 사라졌습니다. 임시 저장이나 페이지 이탈 확인 기능이 있으면 좋겠습니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','작성 중인 문의가 새로고침 후 사라집니다','description','긴 내용을 작성하다가 실수로 새로고침했더니 입력한 내용이 모두 사라졌습니다. 임시 저장이나 페이지 이탈 확인 기능이 있으면 좋겠습니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_07') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='작성 중인 문의가 새로고침 후 사라집니다');
SET @dummy_ticket_id_07:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='작성 중인 문의가 새로고침 후 사라집니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_07,10,'1','8','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='8');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','문의 목록에서 최신 글이 먼저 보이지 않습니다','방금 등록한 문의가 목록 마지막 부분에 표시됩니다. 최근에 작성한 문의가 가장 위에 보이도록 기본 정렬을 최신순으로 바꿔 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','문의 목록에서 최신 글이 먼저 보이지 않습니다','description','방금 등록한 문의가 목록 마지막 부분에 표시됩니다. 최근에 작성한 문의가 가장 위에 보이도록 기본 정렬을 최신순으로 바꿔 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_08') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='문의 목록에서 최신 글이 먼저 보이지 않습니다');
SET @dummy_ticket_id_08:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='문의 목록에서 최신 글이 먼저 보이지 않습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_08,10,'1','9','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='9');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','문의 목록 페이지 이동이 정상적으로 되지 않습니다','문의가 여러 페이지로 나뉜 상태에서 다음 페이지를 눌러도 같은 목록이 반복됩니다. 페이지 번호를 직접 눌러도 결과가 바뀌지 않습니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','문의 목록 페이지 이동이 정상적으로 되지 않습니다','description','문의가 여러 페이지로 나뉜 상태에서 다음 페이지를 눌러도 같은 목록이 반복됩니다. 페이지 번호를 직접 눌러도 결과가 바뀌지 않습니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_09') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='문의 목록 페이지 이동이 정상적으로 되지 않습니다');
SET @dummy_ticket_id_09:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='문의 목록 페이지 이동이 정상적으로 되지 않습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_09,10,'1','10','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='10');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','문의 제목으로 검색하면 결과가 누락됩니다','목록에 존재하는 제목의 일부 단어로 검색했는데 결과가 표시되지 않습니다. 한글과 영문을 섞어 검색하는 경우도 확인 부탁드립니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','문의 제목으로 검색하면 결과가 누락됩니다','description','목록에 존재하는 제목의 일부 단어로 검색했는데 결과가 표시되지 않습니다. 한글과 영문을 섞어 검색하는 경우도 확인 부탁드립니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_10') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='문의 제목으로 검색하면 결과가 누락됩니다');
SET @dummy_ticket_id_10:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='문의 제목으로 검색하면 결과가 누락됩니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_10,10,'1','11','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='11');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','특수문자가 포함된 제목이 깨져 보입니다','제목에 괄호와 앰퍼샌드를 입력해 저장했더니 상세 화면에서 문자가 깨져 보입니다. 입력한 그대로 표시되면 좋겠습니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','특수문자가 포함된 제목이 깨져 보입니다','description','제목에 괄호와 앰퍼샌드를 입력해 저장했더니 상세 화면에서 문자가 깨져 보입니다. 입력한 그대로 표시되면 좋겠습니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_11') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='특수문자가 포함된 제목이 깨져 보입니다');
SET @dummy_ticket_id_11:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='특수문자가 포함된 제목이 깨져 보입니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_11,10,'1','12','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='12');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','긴 문의 내용의 줄바꿈이 사라집니다','여러 문단으로 입력한 내용이 저장 후 한 줄로 붙어 표시됩니다. 작성할 때의 줄바꿈과 문단 간격이 유지되면 좋겠습니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','긴 문의 내용의 줄바꿈이 사라집니다','description','여러 문단으로 입력한 내용이 저장 후 한 줄로 붙어 표시됩니다. 작성할 때의 줄바꿈과 문단 간격이 유지되면 좋겠습니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_12') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='긴 문의 내용의 줄바꿈이 사라집니다');
SET @dummy_ticket_id_12:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='긴 문의 내용의 줄바꿈이 사라집니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_12,10,'1','13','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='13');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','문의 상세 화면에서 첨부파일을 내려받을 수 없습니다','상세 화면에 파일명은 표시되지만 파일명을 클릭해도 다운로드가 시작되지 않습니다. Chrome과 Edge에서 모두 확인했습니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','문의 상세 화면에서 첨부파일을 내려받을 수 없습니다','description','상세 화면에 파일명은 표시되지만 파일명을 클릭해도 다운로드가 시작되지 않습니다. Chrome과 Edge에서 모두 확인했습니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_13') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='문의 상세 화면에서 첨부파일을 내려받을 수 없습니다');
SET @dummy_ticket_id_13:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='문의 상세 화면에서 첨부파일을 내려받을 수 없습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_13,10,'1','14','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='14');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','첨부파일 삭제 후에도 목록에 남아 있습니다','문의 작성 중 첨부파일을 삭제했지만 저장 후 상세 화면을 다시 열면 삭제한 파일이 그대로 표시됩니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','첨부파일 삭제 후에도 목록에 남아 있습니다','description','문의 작성 중 첨부파일을 삭제했지만 저장 후 상세 화면을 다시 열면 삭제한 파일이 그대로 표시됩니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_14') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='첨부파일 삭제 후에도 목록에 남아 있습니다');
SET @dummy_ticket_id_14:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='첨부파일 삭제 후에도 목록에 남아 있습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_14,10,'1','15','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='15');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','답변 등록 후 목록 상태가 바로 바뀌지 않습니다','관리자가 답변을 등록한 뒤 목록으로 돌아왔지만 상태가 이전 상태로 남아 있습니다. 새로고침해야 변경된 상태가 표시됩니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','답변 등록 후 목록 상태가 바로 바뀌지 않습니다','description','관리자가 답변을 등록한 뒤 목록으로 돌아왔지만 상태가 이전 상태로 남아 있습니다. 새로고침해야 변경된 상태가 표시됩니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_15') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='답변 등록 후 목록 상태가 바로 바뀌지 않습니다');
SET @dummy_ticket_id_15:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='답변 등록 후 목록 상태가 바로 바뀌지 않습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_15,10,'1','16','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='16');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','댓글 작성 후 댓글 수가 갱신되지 않습니다','상세 화면에서 댓글을 작성하면 내용은 보이지만 댓글 개수가 즉시 변경되지 않습니다. 작성 완료 후 개수도 갱신해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','댓글 작성 후 댓글 수가 갱신되지 않습니다','description','상세 화면에서 댓글을 작성하면 내용은 보이지만 댓글 개수가 즉시 변경되지 않습니다. 작성 완료 후 개수도 갱신해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_16') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='댓글 작성 후 댓글 수가 갱신되지 않습니다');
SET @dummy_ticket_id_16:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='댓글 작성 후 댓글 수가 갱신되지 않습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_16,10,'1','17','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='17');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','댓글을 수정하면 수정 시간이 표시되지 않습니다','댓글 내용을 수정한 뒤 수정 표시가 남지 않고 원래 작성 시간만 보입니다. 수정된 댓글임을 알 수 있도록 표시해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','댓글을 수정하면 수정 시간이 표시되지 않습니다','description','댓글 내용을 수정한 뒤 수정 표시가 남지 않고 원래 작성 시간만 보입니다. 수정된 댓글임을 알 수 있도록 표시해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_17') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='댓글을 수정하면 수정 시간이 표시되지 않습니다');
SET @dummy_ticket_id_17:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='댓글을 수정하면 수정 시간이 표시되지 않습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_17,10,'1','18','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='18');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','댓글 삭제 확인 창의 버튼 문구가 헷갈립니다','댓글 삭제를 누르면 확인 창의 취소와 삭제 버튼 구분이 어렵습니다. 삭제 작업임을 명확히 알 수 있도록 개선해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','댓글 삭제 확인 창의 버튼 문구가 헷갈립니다','description','댓글 삭제를 누르면 확인 창의 취소와 삭제 버튼 구분이 어렵습니다. 삭제 작업임을 명확히 알 수 있도록 개선해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_18') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='댓글 삭제 확인 창의 버튼 문구가 헷갈립니다');
SET @dummy_ticket_id_18:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='댓글 삭제 확인 창의 버튼 문구가 헷갈립니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_18,10,'1','19','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='19');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','댓글에 여러 줄의 내용을 입력할 수 없습니다','댓글 입력란이 한 줄 입력으로만 동작해서 긴 설명을 작성하기 어렵습니다. 여러 줄을 입력할 수 있으면 좋겠습니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','댓글에 여러 줄의 내용을 입력할 수 없습니다','description','댓글 입력란이 한 줄 입력으로만 동작해서 긴 설명을 작성하기 어렵습니다. 여러 줄을 입력할 수 있으면 좋겠습니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_19') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='댓글에 여러 줄의 내용을 입력할 수 없습니다');
SET @dummy_ticket_id_19:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='댓글에 여러 줄의 내용을 입력할 수 없습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_19,10,'1','20','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='20');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','문의 상세 화면의 버튼 위치가 일정하지 않습니다','문의마다 수정, 삭제, 목록 버튼 위치가 다르게 보입니다. 댓글 영역과 겹치지 않도록 상세 화면 상단에 배치해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','문의 상세 화면의 버튼 위치가 일정하지 않습니다','description','문의마다 수정, 삭제, 목록 버튼 위치가 다르게 보입니다. 댓글 영역과 겹치지 않도록 상세 화면 상단에 배치해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_20') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='문의 상세 화면의 버튼 위치가 일정하지 않습니다');
SET @dummy_ticket_id_20:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='문의 상세 화면의 버튼 위치가 일정하지 않습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_20,10,'1','21','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='21');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','수정한 문의 내용이 저장 후 이전 내용으로 돌아갑니다','상세 화면에서 제목과 내용을 수정하고 저장했지만 다시 조회하면 수정 전 내용이 표시됩니다. 저장 API와 DB 반영을 확인해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','수정한 문의 내용이 저장 후 이전 내용으로 돌아갑니다','description','상세 화면에서 제목과 내용을 수정하고 저장했지만 다시 조회하면 수정 전 내용이 표시됩니다. 저장 API와 DB 반영을 확인해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_21') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='수정한 문의 내용이 저장 후 이전 내용으로 돌아갑니다');
SET @dummy_ticket_id_21:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='수정한 문의 내용이 저장 후 이전 내용으로 돌아갑니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_21,10,'1','22','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='22');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','문의 삭제 후 목록에 삭제된 글이 남아 있습니다','삭제 성공 메시지는 표시되지만 목록으로 돌아오면 삭제한 문의가 계속 보입니다. 새로고침해야 사라집니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','문의 삭제 후 목록에 삭제된 글이 남아 있습니다','description','삭제 성공 메시지는 표시되지만 목록으로 돌아오면 삭제한 문의가 계속 보입니다. 새로고침해야 사라집니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_22') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='문의 삭제 후 목록에 삭제된 글이 남아 있습니다');
SET @dummy_ticket_id_22:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='문의 삭제 후 목록에 삭제된 글이 남아 있습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_22,10,'1','23','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='23');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','삭제한 문의의 상세 URL에 접근할 수 있습니다','문의 삭제 후 브라우저 뒤로 가기로 상세 URL에 다시 접근하면 내용이 표시됩니다. 삭제된 문의는 조회되지 않도록 처리해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','삭제한 문의의 상세 URL에 접근할 수 있습니다','description','문의 삭제 후 브라우저 뒤로 가기로 상세 URL에 다시 접근하면 내용이 표시됩니다. 삭제된 문의는 조회되지 않도록 처리해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_23') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='삭제한 문의의 상세 URL에 접근할 수 있습니다');
SET @dummy_ticket_id_23:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='삭제한 문의의 상세 URL에 접근할 수 있습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_23,10,'1','24','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='24');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','관리자와 일반 사용자의 메뉴가 동일하게 보입니다','일반 사용자로 로그인했는데 관리자 설정 메뉴가 잠시 표시됩니다. 권한에 따라 메뉴와 화면을 일관되게 구분해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','관리자와 일반 사용자의 메뉴가 동일하게 보입니다','description','일반 사용자로 로그인했는데 관리자 설정 메뉴가 잠시 표시됩니다. 권한에 따라 메뉴와 화면을 일관되게 구분해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_24') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='관리자와 일반 사용자의 메뉴가 동일하게 보입니다');
SET @dummy_ticket_id_24:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='관리자와 일반 사용자의 메뉴가 동일하게 보입니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_24,10,'1','25','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='25');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','프로젝트를 전환하면 이전 프로젝트 문의가 보입니다','프로젝트 선택기로 다른 프로젝트로 이동했는데 잠시 이전 프로젝트 문의가 표시됩니다. 프로젝트 전환 시 목록을 초기화해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','프로젝트를 전환하면 이전 프로젝트 문의가 보입니다','description','프로젝트 선택기로 다른 프로젝트로 이동했는데 잠시 이전 프로젝트 문의가 표시됩니다. 프로젝트 전환 시 목록을 초기화해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_25') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='프로젝트를 전환하면 이전 프로젝트 문의가 보입니다');
SET @dummy_ticket_id_25:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='프로젝트를 전환하면 이전 프로젝트 문의가 보입니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_25,10,'1','26','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='26');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','Q&A 채널 변경 후 문의 양식이 갱신되지 않습니다','다른 채널을 선택했지만 이전 채널의 문의 양식이 계속 표시됩니다. 채널 변경 시 해당 폼 템플릿을 다시 불러와야 합니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','Q&A 채널 변경 후 문의 양식이 갱신되지 않습니다','description','다른 채널을 선택했지만 이전 채널의 문의 양식이 계속 표시됩니다. 채널 변경 시 해당 폼 템플릿을 다시 불러와야 합니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_26') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='Q&A 채널 변경 후 문의 양식이 갱신되지 않습니다');
SET @dummy_ticket_id_26:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='Q&A 채널 변경 후 문의 양식이 갱신되지 않습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_26,10,'1','27','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='27');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','폼 템플릿의 필수 표시와 실제 검증이 다릅니다','화면에서는 선택 항목처럼 보이는 필드가 저장 시 필수 입력 오류를 반환합니다. 화면과 서버 검증 규칙을 맞춰 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','폼 템플릿의 필수 표시와 실제 검증이 다릅니다','description','화면에서는 선택 항목처럼 보이는 필드가 저장 시 필수 입력 오류를 반환합니다. 화면과 서버 검증 규칙을 맞춰 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_27') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='폼 템플릿의 필수 표시와 실제 검증이 다릅니다');
SET @dummy_ticket_id_27:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='폼 템플릿의 필수 표시와 실제 검증이 다릅니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_27,10,'1','28','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='28');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','문의 등록 시 공백만 입력해도 저장됩니다','내용 입력란에 공백만 입력하고 저장했는데 문의가 등록됩니다. 공백만 있는 제목과 내용은 저장되지 않아야 합니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','문의 등록 시 공백만 입력해도 저장됩니다','description','내용 입력란에 공백만 입력하고 저장했는데 문의가 등록됩니다. 공백만 있는 제목과 내용은 저장되지 않아야 합니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_28') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='문의 등록 시 공백만 입력해도 저장됩니다');
SET @dummy_ticket_id_28:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='문의 등록 시 공백만 입력해도 저장됩니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_28,10,'1','29','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='29');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','문의 등록 시간이 실제보다 9시간 빠릅니다','등록 시간과 수정 시간이 실제보다 9시간 빠르게 표시됩니다. 스테이징 화면의 시간대가 한국 기준인지 확인 부탁드립니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','문의 등록 시간이 실제보다 9시간 빠릅니다','description','등록 시간과 수정 시간이 실제보다 9시간 빠르게 표시됩니다. 스테이징 화면의 시간대가 한국 기준인지 확인 부탁드립니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_29') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='문의 등록 시간이 실제보다 9시간 빠릅니다');
SET @dummy_ticket_id_29:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='문의 등록 시간이 실제보다 9시간 빠릅니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_29,10,'1','30','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='30');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','새로고침하면 로그인 세션이 만료된 것으로 표시됩니다','로그인 직후에는 정상적으로 문의를 볼 수 있지만 새로고침하면 유효하지 않은 로그인 세션이라는 메시지가 표시됩니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','새로고침하면 로그인 세션이 만료된 것으로 표시됩니다','description','로그인 직후에는 정상적으로 문의를 볼 수 있지만 새로고침하면 유효하지 않은 로그인 세션이라는 메시지가 표시됩니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_30') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='새로고침하면 로그인 세션이 만료된 것으로 표시됩니다');
SET @dummy_ticket_id_30:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='새로고침하면 로그인 세션이 만료된 것으로 표시됩니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_30,10,'1','31','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='31');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','액세스 토큰 만료 후 자동 갱신이 동작하지 않습니다','페이지를 오래 열어 둔 뒤 목록을 조회하면 401 오류가 발생하고 로그인 화면으로 이동합니다. refresh token으로 재시도되면 좋겠습니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','액세스 토큰 만료 후 자동 갱신이 동작하지 않습니다','description','페이지를 오래 열어 둔 뒤 목록을 조회하면 401 오류가 발생하고 로그인 화면으로 이동합니다. refresh token으로 재시도되면 좋겠습니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_31') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='액세스 토큰 만료 후 자동 갱신이 동작하지 않습니다');
SET @dummy_ticket_id_31:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='액세스 토큰 만료 후 자동 갱신이 동작하지 않습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_31,10,'1','32','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='32');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','로그아웃 후 뒤로 가기로 이전 화면이 보입니다','로그아웃한 뒤 브라우저 뒤로 가기를 누르면 이전 문의 화면의 내용이 잠시 표시됩니다. 보호된 페이지가 캐시되지 않도록 해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','로그아웃 후 뒤로 가기로 이전 화면이 보입니다','description','로그아웃한 뒤 브라우저 뒤로 가기를 누르면 이전 문의 화면의 내용이 잠시 표시됩니다. 보호된 페이지가 캐시되지 않도록 해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_32') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='로그아웃 후 뒤로 가기로 이전 화면이 보입니다');
SET @dummy_ticket_id_32:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='로그아웃 후 뒤로 가기로 이전 화면이 보입니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_32,10,'1','33','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='33');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','BARON-SSO 로그아웃 후 오류 페이지로 이동합니다','로그아웃 버튼을 누르면 앱 로그인 화면이 아니라 SSO invalid_request 오류 페이지로 이동합니다. 로컬 세션 삭제 후 SSO 로그인 버튼 화면으로 돌아오면 좋겠습니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','BARON-SSO 로그아웃 후 오류 페이지로 이동합니다','description','로그아웃 버튼을 누르면 앱 로그인 화면이 아니라 SSO invalid_request 오류 페이지로 이동합니다. 로컬 세션 삭제 후 SSO 로그인 버튼 화면으로 돌아오면 좋겠습니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_33') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='BARON-SSO 로그아웃 후 오류 페이지로 이동합니다');
SET @dummy_ticket_id_33:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='BARON-SSO 로그아웃 후 오류 페이지로 이동합니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_33,10,'1','34','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='34');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','SSO 로그인 버튼이 첫 화면에 표시되지 않습니다','테넌트에서 OAuth를 사용하도록 설정했는데 로그인 화면에 이메일 로그인만 표시됩니다. 설정 조회 시점을 확인해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','SSO 로그인 버튼이 첫 화면에 표시되지 않습니다','description','테넌트에서 OAuth를 사용하도록 설정했는데 로그인 화면에 이메일 로그인만 표시됩니다. 설정 조회 시점을 확인해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_34') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='SSO 로그인 버튼이 첫 화면에 표시되지 않습니다');
SET @dummy_ticket_id_34:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='SSO 로그인 버튼이 첫 화면에 표시되지 않습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_34,10,'1','35','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='35');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','로그인한 사용자의 이름이 댓글에 표시되지 않습니다','로그인한 계정으로 댓글을 작성했지만 작성자 이름이 빈 값으로 표시됩니다. SSO 프로필 이름이나 이메일을 표시해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','로그인한 사용자의 이름이 댓글에 표시되지 않습니다','description','로그인한 계정으로 댓글을 작성했지만 작성자 이름이 빈 값으로 표시됩니다. SSO 프로필 이름이나 이메일을 표시해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_35') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='로그인한 사용자의 이름이 댓글에 표시되지 않습니다');
SET @dummy_ticket_id_35:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='로그인한 사용자의 이름이 댓글에 표시되지 않습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_35,10,'1','36','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='36');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','다른 사용자가 작성한 문의를 수정할 수 있습니다','일반 사용자가 다른 사용자의 문의 상세 URL을 직접 입력하면 수정 화면에 접근할 수 있습니다. 작성자 본인과 관리자만 수정할 수 있어야 합니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','다른 사용자가 작성한 문의를 수정할 수 있습니다','description','일반 사용자가 다른 사용자의 문의 상세 URL을 직접 입력하면 수정 화면에 접근할 수 있습니다. 작성자 본인과 관리자만 수정할 수 있어야 합니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_36') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='다른 사용자가 작성한 문의를 수정할 수 있습니다');
SET @dummy_ticket_id_36:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='다른 사용자가 작성한 문의를 수정할 수 있습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_36,10,'1','37','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='37');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','일반 사용자가 문의 목록 전체를 볼 수 있습니다','일반 사용자 계정으로 로그인했을 때 다른 사용자의 문의까지 표시됩니다. END_USER는 본인 문의만 조회할 수 있어야 하는지 확인해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','일반 사용자가 문의 목록 전체를 볼 수 있습니다','description','일반 사용자 계정으로 로그인했을 때 다른 사용자의 문의까지 표시됩니다. END_USER는 본인 문의만 조회할 수 있어야 하는지 확인해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_37') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='일반 사용자가 문의 목록 전체를 볼 수 있습니다');
SET @dummy_ticket_id_37:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='일반 사용자가 문의 목록 전체를 볼 수 있습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_37,10,'1','38','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='38');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','프로젝트 관리자의 문의 목록이 비어 있습니다','프로젝트 관리자 권한을 받았지만 해당 프로젝트의 문의 목록이 표시되지 않습니다. members와 workspace access 매핑을 확인해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','프로젝트 관리자의 문의 목록이 비어 있습니다','description','프로젝트 관리자 권한을 받았지만 해당 프로젝트의 문의 목록이 표시되지 않습니다. members와 workspace access 매핑을 확인해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_38') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='프로젝트 관리자의 문의 목록이 비어 있습니다');
SET @dummy_ticket_id_38:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='프로젝트 관리자의 문의 목록이 비어 있습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_38,10,'1','39','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='39');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','피드백 등록 후 관리자 목록에 바로 보이지 않습니다','사용자가 문의를 등록한 뒤 관리자가 피드백 목록을 확인했지만 새 글이 즉시 표시되지 않습니다. 내부 티켓과 ABC 동기화를 확인해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','피드백 등록 후 관리자 목록에 바로 보이지 않습니다','description','사용자가 문의를 등록한 뒤 관리자가 피드백 목록을 확인했지만 새 글이 즉시 표시되지 않습니다. 내부 티켓과 ABC 동기화를 확인해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_39') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='피드백 등록 후 관리자 목록에 바로 보이지 않습니다');
SET @dummy_ticket_id_39:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='피드백 등록 후 관리자 목록에 바로 보이지 않습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_39,10,'1','40','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='40');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','ABC 피드백과 내부 티켓의 제목이 다릅니다','문의 등록 후 관리자 화면과 지원 화면에서 제목이 서로 다르게 표시됩니다. 두 DB에 동일한 제목이 저장되는지 확인해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','ABC 피드백과 내부 티켓의 제목이 다릅니다','description','문의 등록 후 관리자 화면과 지원 화면에서 제목이 서로 다르게 표시됩니다. 두 DB에 동일한 제목이 저장되는지 확인해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_40') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='ABC 피드백과 내부 티켓의 제목이 다릅니다');
SET @dummy_ticket_id_40:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='ABC 피드백과 내부 티켓의 제목이 다릅니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_40,10,'1','41','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='41');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','피드백 상세 조회 시 502 오류가 발생합니다','목록에서는 문의가 보이지만 특정 글의 상세 화면을 열면 502 Bad Gateway가 표시됩니다. 외부 피드백 매핑 ID를 확인해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','피드백 상세 조회 시 502 오류가 발생합니다','description','목록에서는 문의가 보이지만 특정 글의 상세 화면을 열면 502 Bad Gateway가 표시됩니다. 외부 피드백 매핑 ID를 확인해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_41') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='피드백 상세 조회 시 502 오류가 발생합니다');
SET @dummy_ticket_id_41:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='피드백 상세 조회 시 502 오류가 발생합니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_41,10,'1','42','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='42');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','피드백 삭제 후 내부 티켓이 남아 있습니다','관리자 화면에서 피드백을 삭제했지만 지원 화면에는 동일한 문의가 남아 있습니다. ABC 삭제와 내부 티켓 상태 변경을 함께 처리해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','피드백 삭제 후 내부 티켓이 남아 있습니다','description','관리자 화면에서 피드백을 삭제했지만 지원 화면에는 동일한 문의가 남아 있습니다. ABC 삭제와 내부 티켓 상태 변경을 함께 처리해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_42') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='피드백 삭제 후 내부 티켓이 남아 있습니다');
SET @dummy_ticket_id_42:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='피드백 삭제 후 내부 티켓이 남아 있습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_42,10,'1','43','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='43');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','문의 내용에 URL을 입력하면 저장에 실패합니다','내용에 https URL과 쿼리 파라미터를 포함하면 저장 요청이 400 오류로 실패합니다. URL이 포함된 본문도 저장되어야 합니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','문의 내용에 URL을 입력하면 저장에 실패합니다','description','내용에 https URL과 쿼리 파라미터를 포함하면 저장 요청이 400 오류로 실패합니다. URL이 포함된 본문도 저장되어야 합니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_43') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='문의 내용에 URL을 입력하면 저장에 실패합니다');
SET @dummy_ticket_id_43:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='문의 내용에 URL을 입력하면 저장에 실패합니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_43,10,'1','44','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='44');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','브라우저를 바꾸면 작성한 문의가 보이지 않습니다','같은 계정으로 Chrome에서 작성한 문의가 Edge에서는 표시되지 않습니다. 로그인 계정과 테넌트 기준 조회를 확인해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','브라우저를 바꾸면 작성한 문의가 보이지 않습니다','description','같은 계정으로 Chrome에서 작성한 문의가 Edge에서는 표시되지 않습니다. 로그인 계정과 테넌트 기준 조회를 확인해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_44') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='브라우저를 바꾸면 작성한 문의가 보이지 않습니다');
SET @dummy_ticket_id_44:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='브라우저를 바꾸면 작성한 문의가 보이지 않습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_44,10,'1','45','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='45');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','문의 목록의 필터를 초기화할 수 없습니다','상태 필터를 적용한 뒤 초기화 버튼을 눌러도 이전 필터가 유지됩니다. 초기화하면 전체 목록으로 돌아가야 합니다.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','문의 목록의 필터를 초기화할 수 없습니다','description','상태 필터를 적용한 뒤 초기화 버튼을 눌러도 이전 필터가 유지됩니다. 초기화하면 전체 목록으로 돌아가야 합니다.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_45') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='문의 목록의 필터를 초기화할 수 없습니다');
SET @dummy_ticket_id_45:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='문의 목록의 필터를 초기화할 수 없습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_45,10,'1','46','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='46');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','상태 필터 적용 후 페이지 수가 잘못 표시됩니다','상태 필터를 적용하면 결과는 줄어들지만 페이지 수는 필터 적용 전과 동일합니다. 필터 조건을 전체 개수에도 반영해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','상태 필터 적용 후 페이지 수가 잘못 표시됩니다','description','상태 필터를 적용하면 결과는 줄어들지만 페이지 수는 필터 적용 전과 동일합니다. 필터 조건을 전체 개수에도 반영해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_46') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='상태 필터 적용 후 페이지 수가 잘못 표시됩니다');
SET @dummy_ticket_id_46:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='상태 필터 적용 후 페이지 수가 잘못 표시됩니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_46,10,'1','47','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='47');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','검색어를 지워도 이전 결과가 남아 있습니다','검색 입력란을 비운 뒤에도 이전 검색 결과가 계속 표시됩니다. 검색어가 빈 값이면 전체 목록을 다시 조회해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','검색어를 지워도 이전 결과가 남아 있습니다','description','검색 입력란을 비운 뒤에도 이전 검색 결과가 계속 표시됩니다. 검색어가 빈 값이면 전체 목록을 다시 조회해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_47') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='검색어를 지워도 이전 결과가 남아 있습니다');
SET @dummy_ticket_id_47:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='검색어를 지워도 이전 결과가 남아 있습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_47,10,'1','48','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='48');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','제목이 긴 문의 때문에 목록 레이아웃이 깨집니다','제목을 길게 입력한 문의가 목록에 표시되면 다른 열과 겹칩니다. 긴 제목은 말줄임 처리하고 상세 화면에서 전체를 보여 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','제목이 긴 문의 때문에 목록 레이아웃이 깨집니다','description','제목을 길게 입력한 문의가 목록에 표시되면 다른 열과 겹칩니다. 긴 제목은 말줄임 처리하고 상세 화면에서 전체를 보여 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_48') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='제목이 긴 문의 때문에 목록 레이아웃이 깨집니다');
SET @dummy_ticket_id_48:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='제목이 긴 문의 때문에 목록 레이아웃이 깨집니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_48,10,'1','49','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='49');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','다크 모드에서 문의 내용이 잘 보이지 않습니다','다크 모드로 전환하면 상세 화면 본문과 댓글의 글자색이 배경과 비슷해 읽기 어렵습니다. 대비를 높여 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','다크 모드에서 문의 내용이 잘 보이지 않습니다','description','다크 모드로 전환하면 상세 화면 본문과 댓글의 글자색이 배경과 비슷해 읽기 어렵습니다. 대비를 높여 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_49') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='다크 모드에서 문의 내용이 잘 보이지 않습니다');
SET @dummy_ticket_id_49:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='다크 모드에서 문의 내용이 잘 보이지 않습니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_49,10,'1','50','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='50');
INSERT INTO support_tickets (workspace_id,requester_id,requester_tenant_id,requester_contact,ticket_type,source_system,title,description,category_code,status_code,approval_status,sync_status,issue_link_status,is_secret,requires_approval,priority,extra_fields) SELECT 10,'09b74623-d323-4d86-9a0f-18e47e3ac12c','539f598d-e6f1-4fe2-be48-466448d8d803','wgjoo@brsw.kr','GENERAL','ABC','저장 버튼을 빠르게 누르면 문의가 중복 등록됩니다','저장 버튼을 빠르게 두 번 누르면 같은 내용의 문의가 두 건 등록될 수 있습니다. 요청 중에는 버튼을 비활성화해 주세요.','GENERAL_QNA','RECEIVED','NOT_REQUIRED','SYNCED','NOT_REQUIRED',0,0,'NORMAL',JSON_OBJECT('title','저장 버튼을 빠르게 누르면 문의가 중복 등록됩니다','description','저장 버튼을 빠르게 두 번 누르면 같은 내용의 문의가 두 건 등록될 수 있습니다. 요청 중에는 버튼을 비활성화해 주세요.','environment','','error_message','','expected_result','','requester_contact','wgjoo@brsw.kr','seed_key','DUMMY_QA_20260731_50') FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM support_tickets WHERE workspace_id=10 AND title='저장 버튼을 빠르게 누르면 문의가 중복 등록됩니다');
SET @dummy_ticket_id_50:=(SELECT id FROM support_tickets WHERE workspace_id=10 AND title='저장 버튼을 빠르게 누르면 문의가 중복 등록됩니다' ORDER BY id DESC LIMIT 1);
INSERT INTO abc_feedback_mappings (ticket_id,workspace_id,abc_channel_id,abc_feedback_id,abc_feedback_url,sync_status) SELECT @dummy_ticket_id_50,10,'1','51','/main/project/1/feedback?channelId=1','SYNCED' FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM abc_feedback_mappings WHERE abc_feedback_id='51');
COMMIT;
-- Verification:
-- SELECT COUNT(*) FROM feedbacks WHERE channel_id=1 AND JSON_UNQUOTE(JSON_EXTRACT(additional_data,'$.seed_key')) LIKE 'DUMMY_QA_20260731_%';
-- SELECT COUNT(*) FROM support_tickets WHERE workspace_id=10 AND JSON_UNQUOTE(JSON_EXTRACT(extra_fields,'$.seed_key')) LIKE 'DUMMY_QA_20260731_%';
-- SELECT COUNT(*) FROM abc_feedback_mappings m JOIN support_tickets t ON t.id=m.ticket_id WHERE t.workspace_id=10 AND JSON_UNQUOTE(JSON_EXTRACT(t.extra_fields,'$.seed_key')) LIKE 'DUMMY_QA_20260731_%';