From 793abb8fe2da68fe12f137cf2102fb2158d1cde9 Mon Sep 17 00:00:00 2001 From: htlee Date: Sat, 28 Feb 2026 21:36:56 +0900 Subject: [PATCH] =?UTF-8?q?feat(assets):=20=EB=B0=A9=EC=A0=9C=EC=9E=90?= =?UTF-8?q?=EC=82=B0=20=ED=83=AD=20mock=20=E2=86=92=20DB/API=20=EC=A0=84?= =?UTF-8?q?=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - DB 스키마: ASSET_ORG, ASSET_EQUIP, ASSET_CONTACT, ASSET_UPLOAD_LOG 4개 테이블 - 초기 데이터: 84개 기관, 469개 장비, 86개 담당자 시드 - 백엔드: assetsService + assetsRouter (기관 목록/상세/업로드이력 3개 API) - 프론트: AssetManagement, AssetMap, AssetUpload mock → API 호출 전환 - ShipInsurance: 외부 API 의존 데모 데이터 컴포넌트 내부 상수로 이동 - assetMockData.ts 의존성 완전 제거 Co-Authored-By: Claude Opus 4.6 --- backend/src/assets/assetsRouter.ts | 61 ++ backend/src/assets/assetsService.ts | 184 ++++ backend/src/server.ts | 2 + database/migration/008_assets.sql | 83 ++ database/migration/008_assets_seed.sql | 996 ++++++++++++++++++ .../assets/components/AssetManagement.tsx | 261 +++-- .../src/tabs/assets/components/AssetMap.tsx | 8 +- .../tabs/assets/components/AssetUpload.tsx | 20 +- .../tabs/assets/components/ShipInsurance.tsx | 12 +- .../src/tabs/assets/services/assetsApi.ts | 115 ++ 10 files changed, 1618 insertions(+), 124 deletions(-) create mode 100644 backend/src/assets/assetsRouter.ts create mode 100644 backend/src/assets/assetsService.ts create mode 100644 database/migration/008_assets.sql create mode 100644 database/migration/008_assets_seed.sql create mode 100644 frontend/src/tabs/assets/services/assetsApi.ts diff --git a/backend/src/assets/assetsRouter.ts b/backend/src/assets/assetsRouter.ts new file mode 100644 index 0000000..468f06b --- /dev/null +++ b/backend/src/assets/assetsRouter.ts @@ -0,0 +1,61 @@ +import { Router } from 'express'; +import { requireAuth } from '../auth/authMiddleware.js'; +import { listOrganizations, getOrganization, listUploadLogs } from './assetsService.js'; + +const router = Router(); + +// ============================================================ +// GET /api/assets/orgs — 기관 목록 +// ============================================================ +router.get('/orgs', requireAuth, async (req, res) => { + try { + const { orgTp, jrsd, search } = req.query as { + orgTp?: string; + jrsd?: string; + search?: string; + }; + const orgs = await listOrganizations({ orgTp, jrsd, search }); + res.json(orgs); + } catch (err) { + console.error('[assets] 기관 목록 조회 오류:', err); + res.status(500).json({ error: '기관 목록 조회 중 오류가 발생했습니다.' }); + } +}); + +// ============================================================ +// GET /api/assets/orgs/:sn — 기관 상세 (장비 + 담당자) +// ============================================================ +router.get('/orgs/:sn', requireAuth, async (req, res) => { + try { + const sn = parseInt(req.params.sn as string, 10); + if (isNaN(sn)) { + res.status(400).json({ error: '유효하지 않은 기관 번호입니다.' }); + return; + } + const org = await getOrganization(sn); + if (!org) { + res.status(404).json({ error: '기관을 찾을 수 없습니다.' }); + return; + } + res.json(org); + } catch (err) { + console.error('[assets] 기관 상세 조회 오류:', err); + res.status(500).json({ error: '기관 상세 조회 중 오류가 발생했습니다.' }); + } +}); + +// ============================================================ +// GET /api/assets/upload-logs — 업로드 이력 +// ============================================================ +router.get('/upload-logs', requireAuth, async (req, res) => { + try { + const limit = Math.min(parseInt(req.query.limit as string, 10) || 20, 100); + const logs = await listUploadLogs(limit); + res.json(logs); + } catch (err) { + console.error('[assets] 업로드 이력 조회 오류:', err); + res.status(500).json({ error: '업로드 이력 조회 중 오류가 발생했습니다.' }); + } +}); + +export default router; diff --git a/backend/src/assets/assetsService.ts b/backend/src/assets/assetsService.ts new file mode 100644 index 0000000..79adebc --- /dev/null +++ b/backend/src/assets/assetsService.ts @@ -0,0 +1,184 @@ +import { wingPool } from '../db/wingDb.js'; + +// ============================================================ +// 인터페이스 +// ============================================================ + +interface EquipItem { + category: string; + icon: string; + count: number; +} + +interface ContactItem { + role: string; + name: string; + phone: string; +} + +interface OrgListItem { + orgSn: number; + orgTp: string; + jrsdNm: string; + areaNm: string; + orgNm: string; + addr: string; + tel: string; + lat: number; + lng: number; + pinSize: string; + vesselCnt: number; + skimmerCnt: number; + pumpCnt: number; + vehicleCnt: number; + sprayerCnt: number; + totalAssets: number; +} + +interface OrgDetail extends OrgListItem { + equipment: EquipItem[]; + contacts: ContactItem[]; +} + +interface UploadLogItem { + logSn: number; + fileNm: string; + uploaderNm: string; + uploadCnt: number; + regDtm: string; +} + +// ============================================================ +// 기관 목록 조회 +// ============================================================ +export async function listOrganizations(filters: { + orgTp?: string; + jrsd?: string; + search?: string; +}): Promise { + const conditions: string[] = ["USE_YN = 'Y'"]; + const params: unknown[] = []; + let idx = 1; + + if (filters.orgTp) { + conditions.push(`ORG_TP = $${idx++}`); + params.push(filters.orgTp); + } + if (filters.jrsd) { + conditions.push(`JRSD_NM LIKE '%' || $${idx++} || '%'`); + params.push(filters.jrsd); + } + if (filters.search) { + conditions.push(`(ORG_NM LIKE '%' || $${idx++} || '%' OR ADDR LIKE '%' || $${idx++} || '%')`); + params.push(filters.search, filters.search); + } + + const sql = ` + SELECT ORG_SN, ORG_TP, JRSD_NM, AREA_NM, ORG_NM, ADDR, TEL, + LAT, LNG, PIN_SIZE, + VESSEL_CNT, SKIMMER_CNT, PUMP_CNT, VEHICLE_CNT, SPRAYER_CNT, TOTAL_ASSETS + FROM wing.ASSET_ORG + WHERE ${conditions.join(' AND ')} + ORDER BY JRSD_NM, ORG_TP, ORG_NM + `; + + const { rows } = await wingPool.query(sql, params); + + return rows.map((r: Record) => ({ + orgSn: r.org_sn as number, + orgTp: r.org_tp as string, + jrsdNm: r.jrsd_nm as string, + areaNm: r.area_nm as string, + orgNm: r.org_nm as string, + addr: r.addr as string, + tel: r.tel as string, + lat: parseFloat(r.lat as string), + lng: parseFloat(r.lng as string), + pinSize: r.pin_size as string, + vesselCnt: r.vessel_cnt as number, + skimmerCnt: r.skimmer_cnt as number, + pumpCnt: r.pump_cnt as number, + vehicleCnt: r.vehicle_cnt as number, + sprayerCnt: r.sprayer_cnt as number, + totalAssets: r.total_assets as number, + })); +} + +// ============================================================ +// 기관 상세 조회 (장비 + 담당자 포함) +// ============================================================ +export async function getOrganization(orgSn: number): Promise { + const orgSql = ` + SELECT ORG_SN, ORG_TP, JRSD_NM, AREA_NM, ORG_NM, ADDR, TEL, + LAT, LNG, PIN_SIZE, + VESSEL_CNT, SKIMMER_CNT, PUMP_CNT, VEHICLE_CNT, SPRAYER_CNT, TOTAL_ASSETS + FROM wing.ASSET_ORG + WHERE ORG_SN = $1 AND USE_YN = 'Y' + `; + const { rows: orgRows } = await wingPool.query(orgSql, [orgSn]); + if (orgRows.length === 0) return null; + + const r = orgRows[0] as Record; + + const equipSql = ` + SELECT CTGR_NM, ICON, QTY FROM wing.ASSET_EQUIP + WHERE ORG_SN = $1 ORDER BY SORT_ORD, EQUIP_SN + `; + const { rows: equipRows } = await wingPool.query(equipSql, [orgSn]); + + const contactSql = ` + SELECT ROLE_NM, CONTACT_NM, TEL FROM wing.ASSET_CONTACT + WHERE ORG_SN = $1 ORDER BY SORT_ORD, CONTACT_SN + `; + const { rows: contactRows } = await wingPool.query(contactSql, [orgSn]); + + return { + orgSn: r.org_sn as number, + orgTp: r.org_tp as string, + jrsdNm: r.jrsd_nm as string, + areaNm: r.area_nm as string, + orgNm: r.org_nm as string, + addr: r.addr as string, + tel: r.tel as string, + lat: parseFloat(r.lat as string), + lng: parseFloat(r.lng as string), + pinSize: r.pin_size as string, + vesselCnt: r.vessel_cnt as number, + skimmerCnt: r.skimmer_cnt as number, + pumpCnt: r.pump_cnt as number, + vehicleCnt: r.vehicle_cnt as number, + sprayerCnt: r.sprayer_cnt as number, + totalAssets: r.total_assets as number, + equipment: equipRows.map((e: Record) => ({ + category: e.ctgr_nm as string, + icon: e.icon as string, + count: e.qty as number, + })), + contacts: contactRows.map((c: Record) => ({ + role: c.role_nm as string, + name: c.contact_nm as string, + phone: c.tel as string, + })), + }; +} + +// ============================================================ +// 업로드 이력 조회 +// ============================================================ +export async function listUploadLogs(limit = 20): Promise { + const sql = ` + SELECT LOG_SN, FILE_NM, UPLOADER_NM, UPLOAD_CNT, REG_DTM + FROM wing.ASSET_UPLOAD_LOG + ORDER BY REG_DTM DESC + LIMIT $1 + `; + const { rows } = await wingPool.query(sql, [limit]); + + return rows.map((r: Record) => ({ + logSn: r.log_sn as number, + fileNm: r.file_nm as string, + uploaderNm: r.uploader_nm as string, + uploadCnt: r.upload_cnt as number, + regDtm: (r.reg_dtm as Date).toISOString(), + })); +} diff --git a/backend/src/server.ts b/backend/src/server.ts index 95bb231..f32fe0d 100755 --- a/backend/src/server.ts +++ b/backend/src/server.ts @@ -16,6 +16,7 @@ import auditRouter from './audit/auditRouter.js' import boardRouter from './board/boardRouter.js' import hnsRouter from './hns/hnsRouter.js' import reportsRouter from './reports/reportsRouter.js' +import assetsRouter from './assets/assetsRouter.js' import { sanitizeBody, sanitizeQuery, @@ -143,6 +144,7 @@ app.use('/api/layers', layersRouter) app.use('/api/simulation', simulationLimiter, simulationRouter) app.use('/api/hns', hnsRouter) app.use('/api/reports', reportsRouter) +app.use('/api/assets', assetsRouter) // 헬스 체크 app.get('/health', (_req, res) => { diff --git a/database/migration/008_assets.sql b/database/migration/008_assets.sql new file mode 100644 index 0000000..303e8a8 --- /dev/null +++ b/database/migration/008_assets.sql @@ -0,0 +1,83 @@ +-- ============================================================ +-- 008_assets.sql — 방제자산 테이블 (기관 + 장비 + 담당자) +-- ============================================================ + +SET search_path TO wing; + +-- ============================================================ +-- 1. 기관/조직 마스터 +-- ============================================================ +CREATE TABLE IF NOT EXISTS ASSET_ORG ( + ORG_SN SERIAL PRIMARY KEY, + ORG_TP VARCHAR(30) NOT NULL, -- 유형: 해경관할, 해경경찰서, 파출소, 관련기관, 해양환경공단, 업체, 지자체, 기름저장시설, 정유사, 해군, 기타 + JRSD_NM VARCHAR(50) NOT NULL, -- 관할청명: 중부지방해양경찰청, 서해지방해양경찰청 등 + AREA_NM VARCHAR(30) NOT NULL, -- 지역명: 인천, 여수, 부산 등 + ORG_NM VARCHAR(100) NOT NULL, -- 기관명 + ADDR VARCHAR(300), -- 주소 + TEL VARCHAR(30), -- 대표 전화 + LAT NUMERIC(9,6), -- 위도 + LNG NUMERIC(10,6), -- 경도 + PIN_SIZE VARCHAR(5) DEFAULT 'md', -- 지도 핀 크기: hq, lg, md + VESSEL_CNT SMALLINT DEFAULT 0, -- 방제선 수 + SKIMMER_CNT SMALLINT DEFAULT 0, -- 유회수기 수 + PUMP_CNT SMALLINT DEFAULT 0, -- 이송펌프 수 + VEHICLE_CNT SMALLINT DEFAULT 0, -- 방제차량 수 + SPRAYER_CNT SMALLINT DEFAULT 0, -- 살포장치 수 + TOTAL_ASSETS SMALLINT DEFAULT 0, -- 총 자산 수 + USE_YN CHAR(1) DEFAULT 'Y', + REG_DTM TIMESTAMPTZ DEFAULT NOW(), + MDFCN_DTM TIMESTAMPTZ, + CONSTRAINT CK_ASSET_ORG_PIN CHECK (PIN_SIZE IN ('hq','lg','md')) +); + +-- ============================================================ +-- 2. 장비 상세 +-- ============================================================ +CREATE TABLE IF NOT EXISTS ASSET_EQUIP ( + EQUIP_SN SERIAL PRIMARY KEY, + ORG_SN INTEGER NOT NULL REFERENCES ASSET_ORG(ORG_SN) ON DELETE CASCADE, + CTGR_NM VARCHAR(50) NOT NULL, -- 장비 카테고리: 방제선, 유회수기, 비치크리너, ... + ICON VARCHAR(10), -- 이모지 아이콘 + QTY SMALLINT DEFAULT 0, -- 수량 + SORT_ORD SMALLINT DEFAULT 0, + UNIQUE(ORG_SN, CTGR_NM) +); + +-- ============================================================ +-- 3. 담당자 +-- ============================================================ +CREATE TABLE IF NOT EXISTS ASSET_CONTACT ( + CONTACT_SN SERIAL PRIMARY KEY, + ORG_SN INTEGER NOT NULL REFERENCES ASSET_ORG(ORG_SN) ON DELETE CASCADE, + ROLE_NM VARCHAR(50), -- 역할: 방제과장, 방제담당, 담당 등 + CONTACT_NM VARCHAR(50), -- 이름 + TEL VARCHAR(30), -- 전화번호 + SORT_ORD SMALLINT DEFAULT 0 +); + +-- ============================================================ +-- 4. 업로드 이력 +-- ============================================================ +CREATE TABLE IF NOT EXISTS ASSET_UPLOAD_LOG ( + LOG_SN SERIAL PRIMARY KEY, + FILE_NM VARCHAR(200) NOT NULL, -- 파일명 + UPLOADER_NM VARCHAR(50), -- 업로더 이름/부서 + UPLOAD_CNT INTEGER DEFAULT 0, -- 처리 건수 + REG_DTM TIMESTAMPTZ DEFAULT NOW() +); + +-- ============================================================ +-- 인덱스 +-- ============================================================ +CREATE INDEX IF NOT EXISTS IDX_ASSET_ORG_JRSD ON ASSET_ORG(JRSD_NM); +CREATE INDEX IF NOT EXISTS IDX_ASSET_ORG_TP ON ASSET_ORG(ORG_TP); +CREATE INDEX IF NOT EXISTS IDX_ASSET_EQUIP_ORG ON ASSET_EQUIP(ORG_SN); +CREATE INDEX IF NOT EXISTS IDX_ASSET_CONTACT_ORG ON ASSET_CONTACT(ORG_SN); + +-- ============================================================ +-- 초기 데이터: 업로드 이력 샘플 +-- ============================================================ +INSERT INTO ASSET_UPLOAD_LOG (FILE_NM, UPLOADER_NM, UPLOAD_CNT, REG_DTM) VALUES + ('여수서_장비자재_2601.xlsx', '남해청_방제과', 45, '2026-01-25 14:30:00+09'), + ('인천서_오일펜스현황.xlsx', '중부청_방제과', 12, '2026-01-22 10:15:00+09'), + ('전체_방제정_현황.xlsx', '본청_방제과', 18, '2026-01-20 09:00:00+09'); diff --git a/database/migration/008_assets_seed.sql b/database/migration/008_assets_seed.sql new file mode 100644 index 0000000..7843f5b --- /dev/null +++ b/database/migration/008_assets_seed.sql @@ -0,0 +1,996 @@ +-- 자동 생성: assetMockData.ts → SQL INSERT +-- 생성일: 2026-02-28 + +SET search_path TO wing; + +-- ============================================================ +-- ASSET_ORG 초기 데이터 (84건) +-- ============================================================ +INSERT INTO ASSET_ORG (ORG_TP, JRSD_NM, AREA_NM, ORG_NM, ADDR, TEL, LAT, LNG, PIN_SIZE, VESSEL_CNT, SKIMMER_CNT, PUMP_CNT, VEHICLE_CNT, SPRAYER_CNT, TOTAL_ASSETS) VALUES + ('해경관할', '중부지방해양경찰청', '인천', '인천해양경찰서', '인천광역시 중구 북성동1가 80-8', '010-4779-4191', 37.4563, 126.5922, 'hq', 19, 30, 18, 2, 15, 234), + ('해경경찰서', '중부지방해양경찰청', '평택', '평택해양경찰서', '평택시 만호리 706번지', '010-9812-8102', 36.9694, 126.83, 'lg', 14, 27, 33, 3, 22, 193), + ('해경경찰서', '중부지방해양경찰청', '태안', '태안해양경찰서', '충남 태안군 근흥면 신진부두길2', '010-2965-4423', 36.7456, 126.2978, 'lg', 10, 27, 21, 8, 15, 185), + ('파출소', '중부지방해양경찰청', '보령', '보령해양경찰서', '보령시 해안로 740', '010-2940-6343', 36.3335, 126.5874, 'md', 3, 8, 5, 3, 11, 80), + ('해경관할', '서해지방해양경찰청', '여수', '여수해양경찰서', '광양시 항만9로 89', '010-2785-2493', 34.7407, 127.7385, 'hq', 55, 92, 63, 12, 47, 464), + ('해경경찰서', '서해지방해양경찰청', '목포', '목포해양경찰서', '목포시 고하대로 597번길 99-64', '010-9812-8439', 34.7936, 126.3839, 'lg', 10, 19, 18, 3, 16, 169), + ('해경경찰서', '서해지방해양경찰청', '군산', '군산해양경찰서', '전북 군산시 오식도동 506', '010-2618-3406', 35.99, 126.7133, 'lg', 6, 22, 12, 3, 17, 155), + ('해경경찰서', '서해지방해양경찰청', '완도', '완도해양경찰서', '완도군 완도읍 장보고대로 383', '061-550-2183', 34.311, 126.755, 'lg', 3, 9, 7, 3, 11, 75), + ('파출소', '서해지방해양경찰청', '부안', '부안해양경찰서', '전북 군산시 오식도동 506', '063-928-xxxx', 35.7316, 126.7328, 'md', 2, 8, 7, 2, 7, 66), + ('해경관할', '남해지방해양경찰청', '부산', '부산해양경찰서', '부산시 영도구 해양로 293', '010-2609-1456', 35.0746, 129.0686, 'hq', 108, 22, 25, 10, 24, 313), + ('해경관할', '남해지방해양경찰청', '울산', '울산해양경찰서', '울산광역시 남구 장생포 고래로 166', '010-9812-8210', 35.5008, 129.3824, 'hq', 46, 69, 26, 11, 20, 311), + ('해경경찰서', '남해지방해양경찰청', '창원', '창원해양경찰서', '창원시 마산합포구 신포동 1가', '010-4634-7364', 35.1796, 128.5681, 'lg', 12, 25, 14, 10, 10, 139), + ('해경경찰서', '남해지방해양경찰청', '통영', '통영해양경찰서', '통영시 광도면 죽림리 1564-4', '010-9812-8495', 34.8544, 128.4331, 'lg', 6, 15, 9, 5, 13, 104), + ('해경경찰서', '남해지방해양경찰청', '사천', '사천해양경찰서', '사천시 신항만길 1길 17', '010-9812-8352', 34.931, 128.066, 'lg', 2, 9, 6, 2, 7, 80), + ('해경경찰서', '동해지방해양경찰청', '동해', '동해해양경찰서', '동해시 임항로 130', '010-9812-8073', 37.5247, 129.1143, 'lg', 6, 23, 11, 6, 14, 156), + ('해경경찰서', '동해지방해양경찰청', '포항', '포항해양경찰서', '포항시 남구 희망대로 1341', '010-3108-2183', 36.019, 129.3651, 'lg', 10, 13, 21, 4, 21, 135), + ('파출소', '동해지방해양경찰청', '속초', '속초해양경찰서', '속초시 설악금강대교로 206', '033-634-2186', 38.207, 128.5918, 'md', 2, 6, 4, 1, 17, 85), + ('파출소', '동해지방해양경찰청', '울진', '울진해양경찰서', '울진군 후포면 후포리 623-148', '010-9812-8076', 36.9932, 129.4003, 'md', 2, 6, 4, 1, 8, 66), + ('해경경찰서', '제주지방해양경찰청', '제주', '제주해양경찰서', '제주시 임항로 85', '064-766-2691', 33.5154, 126.5268, 'lg', 4, 21, 17, 3, 16, 113), + ('해경경찰서', '제주지방해양경찰청', '서귀포', '서귀포해양경찰서', '서귀포시 안덕면 화순해안로69', '064-793-2186', 33.2469, 126.56, 'lg', 3, 9, 15, 3, 14, 67), + ('관련기관', '해양경찰청(중앙)', '중앙', '중앙특수구조단', '부산광역시 영도구 해양로 301', '051-580-2044', 35.058, 129.059, 'md', 1, 0, 5, 2, 0, 39), + ('기름저장시설', '서해지방해양경찰청', '여수', '오일허브코리아여수㈜ 외 4개', '전남 여수시 신덕동 325', '061-686-3611', 34.745, 127.745, 'md', 0, 0, 0, 0, 0, 1), + ('기름저장시설', '남해지방해양경찰청', '부산', 'SK에너지 외 2개', '부산시 영도구 해양로 1', '051-643-3331', 35.175, 129.075, 'md', 0, 0, 0, 0, 0, 3), + ('기름저장시설', '남해지방해양경찰청', '울산', 'SK지오센트릭 외 5개', '울산광역시 남구 신여천로 2', '052-208-2851', 35.535, 129.305, 'md', 0, 0, 0, 0, 0, 9), + ('기름저장시설', '남해지방해양경찰청', '통영', '한국가스공사 통영기지본부', '통영시 광도면 안정로 770', '055-640-6014', 35.05, 128.41, 'md', 0, 0, 0, 0, 0, 1), + ('기름저장시설', '동해지방해양경찰청', '동해', 'HD현대오일뱅크㈜ 외 4개', '강릉시 옥계면 동해대로 206', '033-534-2093', 37.52, 129.11, 'md', 0, 0, 0, 0, 0, 9), + ('기름저장시설', '동해지방해양경찰청', '포항', '포스코케미칼 외 1개', '포항시 남구 동해안로 6262', '054-290-8222', 37.73, 129.01, 'md', 0, 0, 0, 0, 1, 2), + ('기름저장시설', '서해지방해양경찰청', '목포', '흑산도내연발전소 외 2개', '전남 신안군 흑산일주로70', '061-351-2342', 35.04, 126.58, 'md', 0, 0, 0, 0, 0, 4), + ('기름저장시설', '서해지방해양경찰청', '여수', '오일허브코리아여수㈜ 외 4개', '전남 여수시 신덕동 325', '061-686-3611', 34.75, 127.735, 'md', 0, 0, 0, 0, 0, 4), + ('기름저장시설', '중부지방해양경찰청', '인천', 'GS칼텍스㈜ 외 10개', '인천광역시 중구 월미로 182', '010-8777-6922', 37.45, 126.505, 'md', 0, 0, 0, 0, 0, 13), + ('기름저장시설', '중부지방해양경찰청', '태안', 'HD현대케미칼 외 4개', '충남 서산시 대산읍 평신2로 26', '041-924-1068', 36.91, 126.415, 'md', 0, 0, 0, 0, 0, 4), + ('기름저장시설', '중부지방해양경찰청', '평택', '현대오일터미널(주) 외 4개', '평택시 포승읍 포승공단순환로 11', '031-683-5101', 36.985, 126.835, 'md', 0, 0, 0, 0, 1, 4), + ('기타', '남해지방해양경찰청', '사천', '한국남동발전(주) 외 2개', '고성군 하이면 하이로1', '070-4486-7474', 34.965, 128.56, 'md', 0, 0, 0, 0, 0, 8), + ('기타', '남해지방해양경찰청', '울산', 'HD현대미포', '울산광역시 동구 방어진순환도로100', '052-250-3551', 35.53, 129.315, 'md', 0, 0, 0, 0, 0, 1), + ('기타', '남해지방해양경찰청', '통영', '삼성중공업 외 1개', '거제시 장평3로 80', '055-630-5373', 35.05, 128.41, 'md', 0, 0, 0, 0, 0, 2), + ('기타', '동해지방해양경찰청', '동해', '한국남부발전㈜', '삼척시 원덕읍 삼척로 734', '070-7713-5153', 37.45, 129.17, 'md', 0, 0, 0, 0, 0, 2), + ('기타', '동해지방해양경찰청', '울진', '한울원전', '울진군 북면 울진북로 2040', '054-785-4833', 37.065, 129.39, 'md', 0, 0, 0, 0, 0, 4), + ('기타', '서해지방해양경찰청', '여수', '㈜HR-PORT 외 5개', '여수시 제철로', '061-791-0358', 34.755, 127.73, 'md', 0, 0, 0, 0, 0, 16), + ('기타', '중부지방해양경찰청', '인천', '삼광조선공업㈜ 외 1개', '인천 동구 보세로42번길41', '010-3321-2959', 37.45, 126.505, 'md', 0, 0, 0, 0, 0, 5), + ('업체', '중부지방해양경찰청', '인천', '방제유창청소업체(㈜클린포트)', '㈜클린포트', '032-882-8279', 37.45, 126.505, 'md', 0, 0, 0, 0, 0, 3), + ('업체', '남해지방해양경찰청', '부산', '방제유창청소업체(대용환경㈜ 외 38개)', '㈜태평양해양산업', '051-242-0622', 35.18, 129.085, 'md', 0, 0, 0, 0, 0, 51), + ('업체', '남해지방해양경찰청', '울산', '방제유창청소업체((주)한유마린서비스 외 8개)', '대상해운(주)', '010-5499-7401', 35.54, 129.295, 'md', 0, 0, 0, 0, 0, 12), + ('업체', '동해지방해양경찰청', '포항', '방제유창청소업체(블루씨 외 1개)', '(주)블루씨', '054-278-8200', 36.015, 129.365, 'md', 0, 0, 0, 0, 1, 3), + ('업체', '서해지방해양경찰청', '목포', '방제유창청소업체(㈜한국해운 외 1개)', '㈜한국해운 목포지사', '010-8615-4326', 35.04, 126.58, 'md', 0, 0, 0, 0, 0, 1), + ('업체', '서해지방해양경찰청', '여수', '방제유창청소업체(마로해운 외 11개)', '㈜우진실업', '061-654-9603', 34.74, 127.75, 'md', 0, 0, 0, 0, 2, 54), + ('업체', '중부지방해양경찰청', '태안', '방제유창청소업체(우진해운㈜)', '우진해운㈜', '010-4384-6817', 36.905, 126.42, 'md', 0, 0, 0, 0, 0, 6), + ('업체', '중부지방해양경찰청', '평택', '방제유창청소업체((주)씨앤 외 3개)', '㈜씨앤', '031-683-2389', 36.99, 126.825, 'md', 0, 0, 0, 0, 0, 6), + ('업체', '남해지방해양경찰청', '부산', '방제유창청소업체(㈜지앤비마린서비스)', '㈜지앤비마린서비스', '051-242-0622', 35.185, 129.07, 'md', 0, 0, 0, 0, 0, 1), + ('정유사', '남해지방해양경찰청', '울산', 'SK엔텀(주) 외 4개', '울산광역시 남구 고사동 110-64', '052-231-2318', 35.545, 129.31, 'md', 0, 0, 0, 0, 0, 5), + ('정유사', '서해지방해양경찰청', '여수', 'GS칼텍스㈜', '여수시 낙포단지길 251', '061-680-2121', 34.735, 127.755, 'md', 0, 0, 0, 0, 20, 27), + ('정유사', '중부지방해양경찰청', '태안', 'HD현대오일뱅크㈜', '서산시 대산읍 평신2로 182', '010-2050-5291', 36.915, 126.41, 'md', 0, 0, 0, 0, 0, 2), + ('지자체', '남해지방해양경찰청', '부산', '부산광역시 외 8개', '부산광역시 동구 좌천동', '051-607-4484', 35.17, 129.08, 'md', 0, 0, 0, 0, 0, 12), + ('지자체', '남해지방해양경찰청', '사천', '사천시 외 3개', '사천시 신항로 3', '055-670-2484', 34.935, 128.075, 'md', 0, 0, 0, 0, 0, 6), + ('지자체', '남해지방해양경찰청', '울산', '울산북구청 외 2개', '울산광역시 북구 구유동 654-2', '051-709-4611', 35.55, 129.32, 'md', 0, 0, 0, 0, 0, 4), + ('지자체', '남해지방해양경찰청', '창원', '창원 진해구 외 1개', '창원시 진해구 천자로 105', '051-970-4482', 35.055, 128.645, 'md', 0, 0, 0, 0, 0, 2), + ('지자체', '동해지방해양경찰청', '동해', '삼척시 외 1개', '삼척시 근덕면 덕산리 107-74', '033-640-5284', 37.45, 129.16, 'md', 0, 0, 0, 0, 0, 4), + ('지자체', '동해지방해양경찰청', '울진', '영덕군', '남정면 장사리 74-1', '054-730-6562', 36.35, 129.4, 'md', 0, 0, 0, 0, 0, 3), + ('지자체', '서해지방해양경찰청', '목포', '영광군 외 1개', '영광군 염산면 향화로', '061-270-3419', 35.04, 126.58, 'md', 0, 0, 0, 0, 0, 5), + ('지자체', '서해지방해양경찰청', '여수', '광양시 외 1개', '순천시 진상면 성지로 8', '061-797-2791', 34.76, 127.725, 'md', 0, 0, 0, 0, 0, 3), + ('지자체', '중부지방해양경찰청', '인천', '옹진군청 외 4개', '인천광역시 옹진군 덕적면 진리 387', '010-2740-9388', 37.45, 126.505, 'md', 0, 0, 0, 0, 0, 10), + ('지자체', '중부지방해양경찰청', '태안', '태안군청', '충남 태안군 근흥면 신진도리 75-36', '041-670-2877', 36.745, 126.305, 'md', 0, 0, 0, 0, 0, 1), + ('지자체', '중부지방해양경찰청', '평택', '안산시청 외 2개', '경기도 안산시 단원구 진두길 97', '041-350-4292', 37.32, 126.83, 'md', 0, 0, 0, 0, 0, 6), + ('기타', '서해지방해양경찰청', '여수', '㈜HR-PORT 외 5개', '여수시 제철로', '061-791-0358', 34.748, 127.74, 'md', 0, 0, 0, 0, 0, 1), + ('해군', '동해지방해양경찰청', '동해', '해군1함대사령부 외 1개', '동해시 대동로 430', '033-539-7323', 37.525, 129.115, 'md', 0, 0, 0, 0, 0, 1), + ('해군', '중부지방해양경찰청', '인천', '해병대 제9518부대', '인천광역시 옹진군', '010-4801-3473', 37.45, 126.505, 'md', 0, 0, 0, 0, 0, 2), + ('해양환경공단', '남해지방해양경찰청', '부산', '부산지사', '창원시 진해구 안골동', '051-466-3944', 35.105, 128.715, 'md', 0, 0, 0, 0, 6, 14), + ('해양환경공단', '남해지방해양경찰청', '사천', '마산지사', '사천시 신항만1길 23', '010-3598-4202', 34.925, 128.065, 'md', 0, 0, 0, 0, 0, 9), + ('해양환경공단', '남해지방해양경찰청', '울산', '울산지사', '울산광역시 남구 장생포고래로 276번길 27', '052-238-7718', 35.538, 129.3, 'md', 0, 0, 0, 0, 1, 16), + ('해양환경공단', '남해지방해양경찰청', '창원', '마산지사', '창원시 마산합포구 드림베이대로59', '010-2265-3928', 35.055, 128.645, 'md', 0, 0, 0, 0, 1, 7), + ('해양환경공단', '남해지방해양경찰청', '통영', '마산지사', '거제시 장승로 112', '010-2636-5313', 35.05, 128.41, 'md', 0, 0, 0, 0, 0, 8), + ('해양환경공단', '동해지방해양경찰청', '동해', '동해지사', '동해시 대동로 210', '010-7499-0257', 37.515, 129.105, 'md', 0, 0, 0, 0, 2, 17), + ('해양환경공단', '동해지방해양경찰청', '울진', '포항지사', '울진군 죽변면 죽변리 36-88', '054-273-5595', 37.06, 129.42, 'md', 0, 0, 0, 0, 0, 2), + ('해양환경공단', '동해지방해양경찰청', '포항', '포항지사', '포항시 북구 해안로 44-10', '054-273-5595', 36.025, 129.375, 'md', 0, 0, 0, 0, 2, 8), + ('해양환경공단', '서해지방해양경찰청', '군산', '군산지사', '군산시 임해로 452', '063-443-4813', 35.975, 126.715, 'md', 0, 0, 0, 0, 4, 12), + ('해양환경공단', '서해지방해양경찰청', '목포', '목포지사', '전남 목포시 죽교동 683', '061-242-9663', 35.04, 126.58, 'md', 0, 0, 0, 0, 0, 10), + ('해양환경공단', '서해지방해양경찰청', '여수', '여수지사', '여수시 덕충동', '061-654-6431', 34.742, 127.748, 'md', 0, 0, 0, 0, 3, 12), + ('해양환경공단', '서해지방해양경찰청', '완도', '목포지사 완도사업소', '완도군 완도읍 해변공원로 20-1', '061-242-9663', 34.315, 126.755, 'md', 0, 0, 0, 0, 0, 3), + ('해양환경공단', '제주지방해양경찰청', '서귀포', '제주지사(서귀포)', '서귀포시 칠십리로72번길 14', '064-753-4356', 33.245, 126.565, 'md', 0, 0, 0, 0, 1, 1), + ('해양환경공단', '제주지방해양경찰청', '제주', '제주지사(제주)', '제주시 임항로97', '064-753-4356', 33.517, 126.528, 'md', 0, 0, 0, 0, 3, 20), + ('해양환경공단', '중부지방해양경찰청', '보령', '대산지사(보령)', '보령시 해안로 740', '041-664-9101', 36.333, 126.612, 'md', 0, 0, 0, 0, 0, 5), + ('해양환경공단', '중부지방해양경찰청', '인천', '인천지사', '인천광역시 중구 연안부두로 128번길 35', '010-7133-2167', 37.45, 126.505, 'md', 0, 0, 0, 0, 0, 11), + ('해양환경공단', '중부지방해양경찰청', '태안', '대산지사(태안)', '서산시 대산읍 대죽1로 325', '041-664-9101', 36.908, 126.413, 'md', 0, 0, 0, 0, 1, 17), + ('해양환경공단', '중부지방해양경찰청', '평택', '평택지사', '당진시 송악읍 고대공단2길', '031-683-7973', 36.905, 126.635, 'md', 0, 0, 0, 0, 1, 13), + ('기타', '남해지방해양경찰청', '통영', '삼성중공업 외 1개', '거제시 장평3로 80', '055-630-5373', 35.05, 128.41, 'md', 0, 0, 0, 0, 0, 1); + +-- ============================================================ +-- ASSET_EQUIP 초기 데이터 +-- ============================================================ +-- 인천해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '방제선', '🚢', 19, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '유회수기', '⚙', 30, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '비치크리너', '🏖', 2, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '이송펌프', '🔧', 18, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '방제차량', '🚛', 2, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '고압세척기', '💧', 26, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '저압세척기', '🚿', 3, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '동력분무기', '💨', 14, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '방제창고', '🏭', 19, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '발전기', '⚡', 9, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '현장지휘소', '🏕', 2, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '지원장비', '🔩', 9, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '장비부품', '🔗', 46, 14), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '경비함정방제', '⚓', 18, 15), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '살포장치', '🌊', 15, 16); + +-- 평택해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '방제선', '🚢', 14, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '유회수기', '⚙', 27, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '비치크리너', '🏖', 1, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '이송펌프', '🔧', 33, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '방제차량', '🚛', 3, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '고압세척기', '💧', 12, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '저압세척기', '🚿', 5, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '동력분무기', '💨', 2, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '방제창고', '🏭', 35, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '발전기', '⚡', 9, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '지원장비', '🔩', 10, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '장비부품', '🔗', 4, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '경비함정방제', '⚓', 14, 14), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '살포장치', '🌊', 22, 15); + +-- 태안해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '방제선', '🚢', 10, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '유회수기', '⚙', 27, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '비치크리너', '🏖', 4, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '이송펌프', '🔧', 21, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '방제차량', '🚛', 8, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '해안운반차', '🚜', 8, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '고압세척기', '💧', 14, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '저압세척기', '🚿', 8, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '동력분무기', '💨', 6, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '방제창고', '🏭', 28, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '발전기', '⚡', 11, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '지원장비', '🔩', 16, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '경비함정방제', '⚓', 8, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '살포장치', '🌊', 15, 14); + +-- 보령해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '방제선', '🚢', 3, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '유회수기', '⚙', 8, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '이송펌프', '🔧', 5, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '방제차량', '🚛', 3, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '고압세척기', '💧', 5, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '저압세척기', '🚿', 2, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '동력분무기', '💨', 1, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '방제창고', '🏭', 22, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '발전기', '⚡', 2, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '지원장비', '🔩', 6, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '장비부품', '🔗', 4, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '경비함정방제', '⚓', 6, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '살포장치', '🌊', 11, 14); + +-- 여수해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '방제선', '🚢', 55, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '유회수기', '⚙', 92, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '비치크리너', '🏖', 5, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '이송펌프', '🔧', 63, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '방제차량', '🚛', 12, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '해안운반차', '🚜', 4, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '고압세척기', '💧', 48, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '저압세척기', '🚿', 7, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '동력분무기', '💨', 25, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '방제창고', '🏭', 37, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '발전기', '⚡', 16, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '현장지휘소', '🏕', 2, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '지원장비', '🔩', 14, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '장비부품', '🔗', 14, 14), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '경비함정방제', '⚓', 22, 15), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '살포장치', '🌊', 47, 16); + +-- 목포해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '방제선', '🚢', 10, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '유회수기', '⚙', 19, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '이송펌프', '🔧', 18, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '방제차량', '🚛', 3, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '고압세척기', '💧', 7, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '저압세척기', '🚿', 4, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '동력분무기', '💨', 2, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '방제창고', '🏭', 21, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '발전기', '⚡', 4, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '지원장비', '🔩', 31, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '장비부품', '🔗', 17, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '경비함정방제', '⚓', 15, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '살포장치', '🌊', 16, 14); + +-- 군산해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '방제선', '🚢', 6, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '유회수기', '⚙', 22, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '비치크리너', '🏖', 2, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '이송펌프', '🔧', 12, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '방제차량', '🚛', 3, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '고압세척기', '💧', 5, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '저압세척기', '🚿', 4, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '동력분무기', '💨', 2, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '방제창고', '🏭', 6, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '발전기', '⚡', 5, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '현장지휘소', '🏕', 3, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '지원장비', '🔩', 11, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '장비부품', '🔗', 50, 14), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '경비함정방제', '⚓', 5, 15), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '살포장치', '🌊', 17, 16); + +-- 완도해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '완도해양경찰서' LIMIT 1), '방제선', '🚢', 3, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '완도해양경찰서' LIMIT 1), '유회수기', '⚙', 9, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '완도해양경찰서' LIMIT 1), '이송펌프', '🔧', 7, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '완도해양경찰서' LIMIT 1), '방제차량', '🚛', 3, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '완도해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '완도해양경찰서' LIMIT 1), '고압세척기', '💧', 3, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '완도해양경찰서' LIMIT 1), '저압세척기', '🚿', 2, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '완도해양경찰서' LIMIT 1), '동력분무기', '💨', 1, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '완도해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '완도해양경찰서' LIMIT 1), '방제창고', '🏭', 24, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '완도해양경찰서' LIMIT 1), '발전기', '⚡', 2, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '완도해양경찰서' LIMIT 1), '경비함정방제', '⚓', 8, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '완도해양경찰서' LIMIT 1), '살포장치', '🌊', 11, 12); + +-- 부안해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '방제선', '🚢', 2, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '유회수기', '⚙', 8, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '이송펌프', '🔧', 7, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '방제차량', '🚛', 2, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '고압세척기', '💧', 2, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '저압세척기', '🚿', 2, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '동력분무기', '💨', 1, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '방제창고', '🏭', 15, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '발전기', '⚡', 3, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '현장지휘소', '🏕', 2, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '지원장비', '🔩', 6, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '경비함정방제', '⚓', 7, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '살포장치', '🌊', 7, 14); + +-- 부산해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '방제선', '🚢', 108, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '유회수기', '⚙', 22, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '이송펌프', '🔧', 25, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '방제차량', '🚛', 10, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '고압세척기', '💧', 38, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '저압세척기', '🚿', 8, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '동력분무기', '💨', 6, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '방제창고', '🏭', 21, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '발전기', '⚡', 11, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '현장지휘소', '🏕', 2, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '지원장비', '🔩', 20, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '경비함정방제', '⚓', 16, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '살포장치', '🌊', 24, 14); + +-- 울산해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '방제선', '🚢', 46, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '유회수기', '⚙', 69, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '비치크리너', '🏖', 4, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '이송펌프', '🔧', 26, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '방제차량', '🚛', 11, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '해안운반차', '🚜', 5, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '고압세척기', '💧', 23, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '저압세척기', '🚿', 6, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '동력분무기', '💨', 6, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '방제창고', '🏭', 32, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '발전기', '⚡', 7, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '현장지휘소', '🏕', 1, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '지원장비', '🔩', 40, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '경비함정방제', '⚓', 14, 14), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '살포장치', '🌊', 20, 15); + +-- 창원해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '방제선', '🚢', 12, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '유회수기', '⚙', 25, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '비치크리너', '🏖', 2, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '이송펌프', '🔧', 14, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '방제차량', '🚛', 10, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '고압세척기', '💧', 7, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '저압세척기', '🚿', 2, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '동력분무기', '💨', 1, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '방제창고', '🏭', 21, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '발전기', '⚡', 4, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '현장지휘소', '🏕', 2, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '지원장비', '🔩', 20, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '경비함정방제', '⚓', 7, 14), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '살포장치', '🌊', 10, 15); + +-- 통영해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '방제선', '🚢', 6, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '유회수기', '⚙', 15, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '비치크리너', '🏖', 2, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '이송펌프', '🔧', 9, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '방제차량', '🚛', 5, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '고압세척기', '💧', 3, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '저압세척기', '🚿', 2, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '동력분무기', '💨', 1, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '방제창고', '🏭', 18, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '발전기', '⚡', 4, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '현장지휘소', '🏕', 1, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '지원장비', '🔩', 11, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '경비함정방제', '⚓', 12, 14), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '살포장치', '🌊', 13, 15); + +-- 사천해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '방제선', '🚢', 2, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '유회수기', '⚙', 9, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '이송펌프', '🔧', 6, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '방제차량', '🚛', 2, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '고압세척기', '💧', 2, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '저압세척기', '🚿', 2, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '동력분무기', '💨', 4, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '방제창고', '🏭', 31, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '발전기', '⚡', 2, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '현장지휘소', '🏕', 2, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '지원장비', '🔩', 1, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '경비함정방제', '⚓', 8, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '살포장치', '🌊', 7, 14); + +-- 동해해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '방제선', '🚢', 6, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '유회수기', '⚙', 23, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '비치크리너', '🏖', 1, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '이송펌프', '🔧', 11, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '방제차량', '🚛', 6, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '해안운반차', '🚜', 3, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '고압세척기', '💧', 5, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '저압세척기', '🚿', 2, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '동력분무기', '💨', 5, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '방제창고', '🏭', 38, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '발전기', '⚡', 2, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '현장지휘소', '🏕', 1, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '지원장비', '🔩', 20, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '장비부품', '🔗', 10, 14), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '경비함정방제', '⚓', 8, 15), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '살포장치', '🌊', 14, 16); + +-- 포항해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '방제선', '🚢', 10, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '유회수기', '⚙', 13, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '비치크리너', '🏖', 1, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '이송펌프', '🔧', 21, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '방제차량', '🚛', 4, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '고압세척기', '💧', 7, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '저압세척기', '🚿', 2, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '동력분무기', '💨', 3, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '방제창고', '🏭', 15, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '발전기', '⚡', 5, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '현장지휘소', '🏕', 1, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '지원장비', '🔩', 20, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '경비함정방제', '⚓', 10, 14), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '살포장치', '🌊', 21, 15); + +-- 속초해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '방제선', '🚢', 2, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '유회수기', '⚙', 6, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '이송펌프', '🔧', 4, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '방제차량', '🚛', 1, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '고압세척기', '💧', 2, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '저압세척기', '🚿', 2, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '동력분무기', '💨', 1, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '방제창고', '🏭', 16, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '발전기', '⚡', 2, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '지원장비', '🔩', 11, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '장비부품', '🔗', 11, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '경비함정방제', '⚓', 8, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '살포장치', '🌊', 17, 14); + +-- 울진해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '방제선', '🚢', 2, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '유회수기', '⚙', 6, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '이송펌프', '🔧', 4, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '방제차량', '🚛', 1, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '고압세척기', '💧', 3, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '저압세척기', '🚿', 2, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '동력분무기', '💨', 1, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '방제창고', '🏭', 13, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '발전기', '⚡', 4, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '현장지휘소', '🏕', 2, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '지원장비', '🔩', 4, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '장비부품', '🔗', 4, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '경비함정방제', '⚓', 10, 14), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '살포장치', '🌊', 8, 15); + +-- 제주해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '방제선', '🚢', 4, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '유회수기', '⚙', 21, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '비치크리너', '🏖', 2, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '이송펌프', '🔧', 17, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '방제차량', '🚛', 3, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '고압세척기', '💧', 5, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '저압세척기', '🚿', 3, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '동력분무기', '💨', 4, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '방제창고', '🏭', 24, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '발전기', '⚡', 6, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '현장지휘소', '🏕', 2, 12), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '경비함정방제', '⚓', 4, 13), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '살포장치', '🌊', 16, 14); + +-- 서귀포해양경찰서 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '서귀포해양경찰서' LIMIT 1), '방제선', '🚢', 3, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '서귀포해양경찰서' LIMIT 1), '유회수기', '⚙', 9, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '서귀포해양경찰서' LIMIT 1), '비치크리너', '🏖', 1, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '서귀포해양경찰서' LIMIT 1), '이송펌프', '🔧', 15, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '서귀포해양경찰서' LIMIT 1), '방제차량', '🚛', 3, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '서귀포해양경찰서' LIMIT 1), '해안운반차', '🚜', 1, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '서귀포해양경찰서' LIMIT 1), '고압세척기', '💧', 2, 6), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '서귀포해양경찰서' LIMIT 1), '동력분무기', '💨', 1, 7), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '서귀포해양경찰서' LIMIT 1), '유량계측기', '📏', 1, 8), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '서귀포해양경찰서' LIMIT 1), '방제창고', '🏭', 10, 9), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '서귀포해양경찰서' LIMIT 1), '발전기', '⚡', 3, 10), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '서귀포해양경찰서' LIMIT 1), '경비함정방제', '⚓', 4, 11), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '서귀포해양경찰서' LIMIT 1), '살포장치', '🌊', 14, 12); + +-- 중앙특수구조단 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '중앙특수구조단' LIMIT 1), '방제선', '🚢', 1, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '중앙특수구조단' LIMIT 1), '이송펌프', '🔧', 5, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '중앙특수구조단' LIMIT 1), '방제차량', '🚛', 2, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '중앙특수구조단' LIMIT 1), '유량계측기', '📏', 1, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '중앙특수구조단' LIMIT 1), '발전기', '⚡', 2, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '중앙특수구조단' LIMIT 1), '지원장비', '🔩', 27, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '중앙특수구조단' LIMIT 1), '경비함정방제', '⚓', 1, 6); + +-- 오일허브코리아여수㈜ 외 4개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '오일허브코리아여수㈜ 외 4개' LIMIT 1), '고압세척기', '💧', 1, 0); + +-- SK에너지 외 2개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'SK에너지 외 2개' LIMIT 1), '고압세척기', '💧', 1, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'SK에너지 외 2개' LIMIT 1), '동력분무기', '💨', 1, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'SK에너지 외 2개' LIMIT 1), '방제창고', '🏭', 1, 2); + +-- SK지오센트릭 외 5개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'SK지오센트릭 외 5개' LIMIT 1), '동력분무기', '💨', 4, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'SK지오센트릭 외 5개' LIMIT 1), '방제창고', '🏭', 5, 1); + +-- 한국가스공사 통영기지본부 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '한국가스공사 통영기지본부' LIMIT 1), '방제창고', '🏭', 1, 0); + +-- HD현대오일뱅크㈜ 외 4개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'HD현대오일뱅크㈜ 외 4개' LIMIT 1), '동력분무기', '💨', 2, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'HD현대오일뱅크㈜ 외 4개' LIMIT 1), '방제창고', '🏭', 6, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'HD현대오일뱅크㈜ 외 4개' LIMIT 1), '발전기', '⚡', 1, 2); + +-- 포스코케미칼 외 1개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포스코케미칼 외 1개' LIMIT 1), '동력분무기', '💨', 1, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포스코케미칼 외 1개' LIMIT 1), '살포장치', '🌊', 1, 1); + +-- 흑산도내연발전소 외 2개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '흑산도내연발전소 외 2개' LIMIT 1), '고압세척기', '💧', 3, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '흑산도내연발전소 외 2개' LIMIT 1), '발전기', '⚡', 1, 1); + +-- 오일허브코리아여수㈜ 외 4개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '오일허브코리아여수㈜ 외 4개' LIMIT 1), '동력분무기', '💨', 1, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '오일허브코리아여수㈜ 외 4개' LIMIT 1), '방제창고', '🏭', 3, 1); + +-- GS칼텍스㈜ 외 10개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'GS칼텍스㈜ 외 10개' LIMIT 1), '고압세척기', '💧', 7, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'GS칼텍스㈜ 외 10개' LIMIT 1), '동력분무기', '💨', 6, 1); + +-- HD현대케미칼 외 4개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'HD현대케미칼 외 4개' LIMIT 1), '해안운반차', '🚜', 2, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'HD현대케미칼 외 4개' LIMIT 1), '동력분무기', '💨', 2, 1); + +-- 현대오일터미널(주) 외 4개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '현대오일터미널(주) 외 4개' LIMIT 1), '고압세척기', '💧', 2, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '현대오일터미널(주) 외 4개' LIMIT 1), '발전기', '⚡', 1, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '현대오일터미널(주) 외 4개' LIMIT 1), '살포장치', '🌊', 1, 2); + +-- 한국남동발전(주) 외 2개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '한국남동발전(주) 외 2개' LIMIT 1), '동력분무기', '💨', 3, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '한국남동발전(주) 외 2개' LIMIT 1), '방제창고', '🏭', 5, 1); + +-- HD현대미포 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'HD현대미포' LIMIT 1), '방제창고', '🏭', 1, 0); + +-- 삼성중공업 외 1개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '삼성중공업 외 1개' LIMIT 1), '동력분무기', '💨', 2, 0); + +-- 한국남부발전㈜ +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '한국남부발전㈜' LIMIT 1), '방제창고', '🏭', 2, 0); + +-- 한울원전 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '한울원전' LIMIT 1), '방제창고', '🏭', 2, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '한울원전' LIMIT 1), '지원장비', '🔩', 2, 1); + +-- ㈜HR-PORT 외 5개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '㈜HR-PORT 외 5개' LIMIT 1), '고압세척기', '💧', 1, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '㈜HR-PORT 외 5개' LIMIT 1), '저압세척기', '🚿', 1, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '㈜HR-PORT 외 5개' LIMIT 1), '동력분무기', '💨', 7, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '㈜HR-PORT 외 5개' LIMIT 1), '방제창고', '🏭', 3, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '㈜HR-PORT 외 5개' LIMIT 1), '발전기', '⚡', 1, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '㈜HR-PORT 외 5개' LIMIT 1), '지원장비', '🔩', 3, 5); + +-- 삼광조선공업㈜ 외 1개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '삼광조선공업㈜ 외 1개' LIMIT 1), '고압세척기', '💧', 5, 0); + +-- 방제유창청소업체(㈜클린포트) +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(㈜클린포트)' LIMIT 1), '고압세척기', '💧', 2, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(㈜클린포트)' LIMIT 1), '발전기', '⚡', 1, 1); + +-- 방제유창청소업체(대용환경㈜ 외 38개) +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(대용환경㈜ 외 38개)' LIMIT 1), '고압세척기', '💧', 31, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(대용환경㈜ 외 38개)' LIMIT 1), '저압세척기', '🚿', 5, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(대용환경㈜ 외 38개)' LIMIT 1), '동력분무기', '💨', 3, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(대용환경㈜ 외 38개)' LIMIT 1), '방제창고', '🏭', 5, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(대용환경㈜ 외 38개)' LIMIT 1), '발전기', '⚡', 6, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(대용환경㈜ 외 38개)' LIMIT 1), '현장지휘소', '🏕', 1, 5); + +-- 방제유창청소업체((주)한유마린서비스 외 8개) +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체((주)한유마린서비스 외 8개)' LIMIT 1), '고압세척기', '💧', 11, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체((주)한유마린서비스 외 8개)' LIMIT 1), '방제창고', '🏭', 1, 1); + +-- 방제유창청소업체(블루씨 외 1개) +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(블루씨 외 1개)' LIMIT 1), '고압세척기', '💧', 2, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(블루씨 외 1개)' LIMIT 1), '살포장치', '🌊', 1, 1); + +-- 방제유창청소업체(㈜한국해운 외 1개) +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(㈜한국해운 외 1개)' LIMIT 1), '고압세척기', '💧', 1, 0); + +-- 방제유창청소업체(마로해운 외 11개) +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(마로해운 외 11개)' LIMIT 1), '고압세척기', '💧', 28, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(마로해운 외 11개)' LIMIT 1), '동력분무기', '💨', 15, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(마로해운 외 11개)' LIMIT 1), '방제창고', '🏭', 5, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(마로해운 외 11개)' LIMIT 1), '발전기', '⚡', 4, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(마로해운 외 11개)' LIMIT 1), '살포장치', '🌊', 2, 4); + +-- 방제유창청소업체(우진해운㈜) +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(우진해운㈜)' LIMIT 1), '고압세척기', '💧', 3, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(우진해운㈜)' LIMIT 1), '저압세척기', '🚿', 1, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(우진해운㈜)' LIMIT 1), '발전기', '⚡', 2, 2); + +-- 방제유창청소업체((주)씨앤 외 3개) +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체((주)씨앤 외 3개)' LIMIT 1), '고압세척기', '💧', 3, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체((주)씨앤 외 3개)' LIMIT 1), '저압세척기', '🚿', 1, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체((주)씨앤 외 3개)' LIMIT 1), '발전기', '⚡', 2, 2); + +-- 방제유창청소업체(㈜지앤비마린서비스) +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(㈜지앤비마린서비스)' LIMIT 1), '방제창고', '🏭', 1, 0); + +-- SK엔텀(주) 외 4개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'SK엔텀(주) 외 4개' LIMIT 1), '방제창고', '🏭', 5, 0); + +-- GS칼텍스㈜ +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'GS칼텍스㈜' LIMIT 1), '고압세척기', '💧', 3, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'GS칼텍스㈜' LIMIT 1), '방제창고', '🏭', 4, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'GS칼텍스㈜' LIMIT 1), '살포장치', '🌊', 20, 2); + +-- HD현대오일뱅크㈜ +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'HD현대오일뱅크㈜' LIMIT 1), '동력분무기', '💨', 2, 0); + +-- 부산광역시 외 8개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산광역시 외 8개' LIMIT 1), '고압세척기', '💧', 1, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산광역시 외 8개' LIMIT 1), '방제창고', '🏭', 11, 1); + +-- 사천시 외 3개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천시 외 3개' LIMIT 1), '방제창고', '🏭', 6, 0); + +-- 울산북구청 외 2개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산북구청 외 2개' LIMIT 1), '방제창고', '🏭', 4, 0); + +-- 창원 진해구 외 1개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원 진해구 외 1개' LIMIT 1), '고압세척기', '💧', 1, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원 진해구 외 1개' LIMIT 1), '방제창고', '🏭', 1, 1); + +-- 삼척시 외 1개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '삼척시 외 1개' LIMIT 1), '고압세척기', '💧', 1, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '삼척시 외 1개' LIMIT 1), '방제창고', '🏭', 3, 1); + +-- 영덕군 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '영덕군' LIMIT 1), '방제창고', '🏭', 3, 0); + +-- 영광군 외 1개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '영광군 외 1개' LIMIT 1), '방제창고', '🏭', 5, 0); + +-- 광양시 외 1개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '광양시 외 1개' LIMIT 1), '방제창고', '🏭', 3, 0); + +-- 옹진군청 외 4개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '옹진군청 외 4개' LIMIT 1), '고압세척기', '💧', 5, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '옹진군청 외 4개' LIMIT 1), '동력분무기', '💨', 4, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '옹진군청 외 4개' LIMIT 1), '발전기', '⚡', 1, 2); + +-- 태안군청 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안군청' LIMIT 1), '방제창고', '🏭', 1, 0); + +-- 안산시청 외 2개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '안산시청 외 2개' LIMIT 1), '동력분무기', '💨', 1, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '안산시청 외 2개' LIMIT 1), '방제창고', '🏭', 5, 1); + +-- ㈜HR-PORT 외 5개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '㈜HR-PORT 외 5개' LIMIT 1), '방제창고', '🏭', 1, 0); + +-- 해군1함대사령부 외 1개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '해군1함대사령부 외 1개' LIMIT 1), '방제창고', '🏭', 1, 0); + +-- 해병대 제9518부대 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '해병대 제9518부대' LIMIT 1), '발전기', '⚡', 2, 0); + +-- 부산지사 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산지사' LIMIT 1), '고압세척기', '💧', 3, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산지사' LIMIT 1), '저압세척기', '🚿', 1, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산지사' LIMIT 1), '방제창고', '🏭', 1, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산지사' LIMIT 1), '발전기', '⚡', 2, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산지사' LIMIT 1), '현장지휘소', '🏕', 1, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산지사' LIMIT 1), '살포장치', '🌊', 6, 5); + +-- 마산지사 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '마산지사' LIMIT 1), '방제창고', '🏭', 8, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '마산지사' LIMIT 1), '발전기', '⚡', 1, 1); + +-- 울산지사 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산지사' LIMIT 1), '고압세척기', '💧', 6, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산지사' LIMIT 1), '저압세척기', '🚿', 1, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산지사' LIMIT 1), '방제창고', '🏭', 4, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산지사' LIMIT 1), '발전기', '⚡', 4, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산지사' LIMIT 1), '살포장치', '🌊', 1, 4); + +-- 마산지사 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '마산지사' LIMIT 1), '고압세척기', '💧', 4, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '마산지사' LIMIT 1), '발전기', '⚡', 2, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '마산지사' LIMIT 1), '살포장치', '🌊', 1, 2); + +-- 마산지사 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '마산지사' LIMIT 1), '방제창고', '🏭', 8, 0); + +-- 동해지사 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해지사' LIMIT 1), '해안운반차', '🚜', 2, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해지사' LIMIT 1), '고압세척기', '💧', 2, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해지사' LIMIT 1), '동력분무기', '💨', 2, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해지사' LIMIT 1), '방제창고', '🏭', 8, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해지사' LIMIT 1), '발전기', '⚡', 1, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해지사' LIMIT 1), '살포장치', '🌊', 2, 5); + +-- 포항지사 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항지사' LIMIT 1), '방제창고', '🏭', 2, 0); + +-- 포항지사 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항지사' LIMIT 1), '고압세척기', '💧', 2, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항지사' LIMIT 1), '동력분무기', '💨', 1, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항지사' LIMIT 1), '발전기', '⚡', 2, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항지사' LIMIT 1), '현장지휘소', '🏕', 1, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항지사' LIMIT 1), '살포장치', '🌊', 2, 4); + +-- 군산지사 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산지사' LIMIT 1), '고압세척기', '💧', 2, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산지사' LIMIT 1), '저압세척기', '🚿', 2, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산지사' LIMIT 1), '동력분무기', '💨', 1, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산지사' LIMIT 1), '발전기', '⚡', 3, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산지사' LIMIT 1), '살포장치', '🌊', 4, 4); + +-- 목포지사 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포지사' LIMIT 1), '고압세척기', '💧', 1, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포지사' LIMIT 1), '저압세척기', '🚿', 2, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포지사' LIMIT 1), '방제창고', '🏭', 6, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포지사' LIMIT 1), '발전기', '⚡', 1, 3); + +-- 여수지사 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수지사' LIMIT 1), '고압세척기', '💧', 5, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수지사' LIMIT 1), '저압세척기', '🚿', 1, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수지사' LIMIT 1), '발전기', '⚡', 3, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수지사' LIMIT 1), '살포장치', '🌊', 3, 3); + +-- 목포지사 완도사업소 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포지사 완도사업소' LIMIT 1), '고압세척기', '💧', 1, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포지사 완도사업소' LIMIT 1), '방제창고', '🏭', 2, 1); + +-- 제주지사(서귀포) +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주지사(서귀포)' LIMIT 1), '살포장치', '🌊', 1, 0); + +-- 제주지사(제주) +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주지사(제주)' LIMIT 1), '고압세척기', '💧', 3, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주지사(제주)' LIMIT 1), '저압세척기', '🚿', 1, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주지사(제주)' LIMIT 1), '동력분무기', '💨', 2, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주지사(제주)' LIMIT 1), '방제창고', '🏭', 10, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주지사(제주)' LIMIT 1), '발전기', '⚡', 1, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주지사(제주)' LIMIT 1), '살포장치', '🌊', 3, 5); + +-- 대산지사(보령) +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '대산지사(보령)' LIMIT 1), '고압세척기', '💧', 1, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '대산지사(보령)' LIMIT 1), '방제창고', '🏭', 4, 1); + +-- 인천지사 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천지사' LIMIT 1), '고압세척기', '💧', 5, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천지사' LIMIT 1), '저압세척기', '🚿', 1, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천지사' LIMIT 1), '동력분무기', '💨', 3, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천지사' LIMIT 1), '발전기', '⚡', 2, 3); + +-- 대산지사(태안) +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '대산지사(태안)' LIMIT 1), '해안운반차', '🚜', 1, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '대산지사(태안)' LIMIT 1), '고압세척기', '💧', 5, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '대산지사(태안)' LIMIT 1), '저압세척기', '🚿', 1, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '대산지사(태안)' LIMIT 1), '동력분무기', '💨', 1, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '대산지사(태안)' LIMIT 1), '방제창고', '🏭', 5, 4), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '대산지사(태안)' LIMIT 1), '발전기', '⚡', 3, 5), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '대산지사(태안)' LIMIT 1), '살포장치', '🌊', 1, 6); + +-- 평택지사 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택지사' LIMIT 1), '고압세척기', '💧', 3, 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택지사' LIMIT 1), '저압세척기', '🚿', 2, 1), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택지사' LIMIT 1), '방제창고', '🏭', 3, 2), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택지사' LIMIT 1), '발전기', '⚡', 4, 3), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택지사' LIMIT 1), '살포장치', '🌊', 1, 4); + +-- 삼성중공업 외 1개 +INSERT INTO ASSET_EQUIP (ORG_SN, CTGR_NM, ICON, QTY, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '삼성중공업 외 1개' LIMIT 1), '고압세척기', '💧', 1, 0); + +-- ============================================================ +-- ASSET_CONTACT 초기 데이터 +-- ============================================================ +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '방제과장', '김○○', '032-835-0001', 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천해양경찰서' LIMIT 1), '방제담당', '이○○', '032-835-0002', 1); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택해양경찰서' LIMIT 1), '방제담당', '박○○', '031-682-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안해양경찰서' LIMIT 1), '방제담당', '최○○', '041-674-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '보령해양경찰서' LIMIT 1), '방제담당', '정○○', '041-931-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '방제과장', '윤○○', '061-660-0001', 0), + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수해양경찰서' LIMIT 1), '방제담당', '장○○', '061-660-0002', 1); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포해양경찰서' LIMIT 1), '방제담당', '조○○', '061-244-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산해양경찰서' LIMIT 1), '방제담당', '한○○', '063-462-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '완도해양경찰서' LIMIT 1), '방제담당', '이○○', '061-550-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부안해양경찰서' LIMIT 1), '방제담당', '김○○', '063-928-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산해양경찰서' LIMIT 1), '방제과장', '임○○', '051-400-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산해양경찰서' LIMIT 1), '방제과장', '강○○', '052-228-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원해양경찰서' LIMIT 1), '방제담당', '송○○', '055-220-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '통영해양경찰서' LIMIT 1), '방제담당', '서○○', '055-640-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천해양경찰서' LIMIT 1), '방제담당', '박○○', '055-830-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해해양경찰서' LIMIT 1), '방제담당', '남○○', '033-530-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항해양경찰서' LIMIT 1), '방제담당', '오○○', '054-244-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '속초해양경찰서' LIMIT 1), '방제담당', '양○○', '033-633-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울진해양경찰서' LIMIT 1), '방제담당', '배○○', '054-782-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주해양경찰서' LIMIT 1), '방제담당', '문○○', '064-750-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '서귀포해양경찰서' LIMIT 1), '방제담당', '고○○', '064-730-0001', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '중앙특수구조단' LIMIT 1), '구조단장', '김○○', '051-580-2044', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '오일허브코리아여수㈜ 외 4개' LIMIT 1), '담당', '오일허브코리아여수㈜', '061-686-3611', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'SK에너지 외 2개' LIMIT 1), '담당', 'HD현대오일뱅크㈜', '051-643-3331', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'SK지오센트릭 외 5개' LIMIT 1), '담당', 'SK엔텀㈜', '052-208-2851', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '한국가스공사 통영기지본부' LIMIT 1), '담당', '한국가스공사', '055-640-6014', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'HD현대오일뱅크㈜ 외 4개' LIMIT 1), '담당', 'HD현대오일뱅크㈜', '033-534-2093', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포스코케미칼 외 1개' LIMIT 1), '담당', 'OCI(주)', '054-290-8222', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '흑산도내연발전소 외 2개' LIMIT 1), '담당', '안마도내연발전소', '061-351-2342', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '오일허브코리아여수㈜ 외 4개' LIMIT 1), '담당', '오일허브코리아여수㈜', '061-686-3611', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'GS칼텍스㈜ 외 10개' LIMIT 1), '담당', 'GS칼텍스㈜', '010-8777-6922', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'HD현대케미칼 외 4개' LIMIT 1), '담당', 'HD현대케미칼', '041-924-1068', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '현대오일터미널(주) 외 4개' LIMIT 1), '담당', '(주)경동탱크터미널', '031-683-5101', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '한국남동발전(주) 외 2개' LIMIT 1), '담당', '(주)고성그린파워', '070-4486-7474', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'HD현대미포' LIMIT 1), '담당', 'HD현대미포', '052-250-3551', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '삼성중공업 외 1개' LIMIT 1), '담당', '삼성중공업', '055-630-5373', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '한국남부발전㈜' LIMIT 1), '담당', '한국남부발전㈜', '070-7713-5153', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '한울원전' LIMIT 1), '담당', '한울원전', '054-785-4833', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '㈜HR-PORT 외 5개' LIMIT 1), '담당', '㈜ 한진', '061-791-0358', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '삼광조선공업㈜ 외 1개' LIMIT 1), '담당', '삼광조선공업㈜', '010-3321-2959', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(㈜클린포트)' LIMIT 1), '담당', '㈜클린포트', '032-882-8279', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(대용환경㈜ 외 38개)' LIMIT 1), '담당', '(주)경원마린서비스', '051-242-0622', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체((주)한유마린서비스 외 8개)' LIMIT 1), '담당', '(주)골든씨', '010-5499-7401', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(블루씨 외 1개)' LIMIT 1), '담당', '(주)블루씨', '054-278-8200', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(㈜한국해운 외 1개)' LIMIT 1), '담당', '㈜아라', '010-8615-4326', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(마로해운 외 11개)' LIMIT 1), '담당', '(유)피케이엘', '061-654-9603', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(우진해운㈜)' LIMIT 1), '담당', '우진해운㈜', '010-4384-6817', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체((주)씨앤 외 3개)' LIMIT 1), '담당', '(주)소스코리아', '031-683-2389', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '방제유창청소업체(㈜지앤비마린서비스)' LIMIT 1), '담당', '(주)경원마린서비스', '051-242-0622', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'SK엔텀(주) 외 4개' LIMIT 1), '담당', 'S-OIL㈜', '052-231-2318', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'GS칼텍스㈜' LIMIT 1), '담당', 'GS칼텍스㈜', '061-680-2121', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = 'HD현대오일뱅크㈜' LIMIT 1), '담당', 'HD현대오일뱅크㈜', '010-2050-5291', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산광역시 외 8개' LIMIT 1), '담당', '남구청', '051-607-4484', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '사천시 외 3개' LIMIT 1), '담당', '고성군', '055-670-2484', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산북구청 외 2개' LIMIT 1), '담당', '부산기장군청', '051-709-4611', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '창원 진해구 외 1개' LIMIT 1), '담당', '부산 강서구', '051-970-4482', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '삼척시 외 1개' LIMIT 1), '담당', '강릉시', '033-640-5284', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '영덕군' LIMIT 1), '담당', '영덕군', '054-730-6562', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '영광군 외 1개' LIMIT 1), '담당', '목포시', '061-270-3419', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '광양시 외 1개' LIMIT 1), '담당', '광양시', '061-797-2791', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '옹진군청 외 4개' LIMIT 1), '담당', '김포시청', '010-2740-9388', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '태안군청' LIMIT 1), '담당', '태안군청', '041-670-2877', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '안산시청 외 2개' LIMIT 1), '담당', '당진시청', '041-350-4292', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '㈜HR-PORT 외 5개' LIMIT 1), '담당', '㈜ 한진', '061-791-0358', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '해군1함대사령부 외 1개' LIMIT 1), '담당', '1함대 사령부', '033-539-7323', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '해병대 제9518부대' LIMIT 1), '담당', '해병대 제9518부대', '010-4801-3473', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '부산지사' LIMIT 1), '담당', '부산지사', '051-466-3944', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '마산지사' LIMIT 1), '담당', '마산지사', '010-3598-4202', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '울산지사' LIMIT 1), '담당', '울산지사', '052-238-7718', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '마산지사' LIMIT 1), '담당', '마산지사', '010-2265-3928', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '마산지사' LIMIT 1), '담당', '마산지사', '010-2636-5313', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '동해지사' LIMIT 1), '담당', '동해지사', '010-7499-0257', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항지사' LIMIT 1), '담당', '포항지사', '054-273-5595', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '포항지사' LIMIT 1), '담당', '포항지사', '054-273-5595', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '군산지사' LIMIT 1), '담당', '군산지사', '063-443-4813', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포지사' LIMIT 1), '담당', '목포지사', '061-242-9663', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '여수지사' LIMIT 1), '담당', '여수지사', '061-654-6431', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '목포지사 완도사업소' LIMIT 1), '담당', '목포지사', '061-242-9663', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주지사(서귀포)' LIMIT 1), '담당', '제주지사', '064-753-4356', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '제주지사(제주)' LIMIT 1), '담당', '제주지사', '064-753-4356', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '대산지사(보령)' LIMIT 1), '담당', '대산지사', '041-664-9101', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '인천지사' LIMIT 1), '담당', '인천지사', '010-7133-2167', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '대산지사(태안)' LIMIT 1), '담당', '대산지사', '041-664-9101', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '평택지사' LIMIT 1), '담당', '평택지사', '031-683-7973', 0); +INSERT INTO ASSET_CONTACT (ORG_SN, ROLE_NM, CONTACT_NM, TEL, SORT_ORD) VALUES + ((SELECT ORG_SN FROM ASSET_ORG WHERE ORG_NM = '삼성중공업 외 1개' LIMIT 1), '담당', '삼성중공업', '055-630-5373', 0); diff --git a/frontend/src/tabs/assets/components/AssetManagement.tsx b/frontend/src/tabs/assets/components/AssetManagement.tsx index 1999ef4..d821991 100644 --- a/frontend/src/tabs/assets/components/AssetManagement.tsx +++ b/frontend/src/tabs/assets/components/AssetManagement.tsx @@ -1,19 +1,46 @@ import { useState, useEffect } from 'react' -import type { AssetOrg } from './assetTypes' import { typeTagCls } from './assetTypes' -import { organizations } from './assetMockData' +import { fetchOrganizations, fetchOrganizationDetail } from '../services/assetsApi' +import type { AssetOrgCompat } from '../services/assetsApi' import AssetMap from './AssetMap' function AssetManagement() { const [viewMode, setViewMode] = useState<'list' | 'map'>('list') - const [selectedOrg, setSelectedOrg] = useState(organizations[0]) + const [organizations, setOrganizations] = useState([]) + const [selectedOrg, setSelectedOrg] = useState(null) const [detailTab, setDetailTab] = useState<'equip' | 'material' | 'contact'>('equip') const [regionFilter, setRegionFilter] = useState('all') const [searchTerm, setSearchTerm] = useState('') const [typeFilterVal, setTypeFilterVal] = useState('all') const [currentPage, setCurrentPage] = useState(1) + const [loading, setLoading] = useState(true) const pageSize = 15 + // API에서 기관 목록 로드 + useEffect(() => { + let cancelled = false + fetchOrganizations() + .then(data => { + if (cancelled) return + setOrganizations(data) + if (data.length > 0) setSelectedOrg(data[0]) + }) + .catch(err => console.error('[assets] 기관 목록 로드 실패:', err)) + .finally(() => { if (!cancelled) setLoading(false) }) + return () => { cancelled = true } + }, []) + + // 기관 선택 시 상세 조회 (장비/담당자) + const handleSelectOrg = async (org: AssetOrgCompat) => { + setSelectedOrg(org) + try { + const detail = await fetchOrganizationDetail(org.id) + setSelectedOrg(detail) + } catch { + // 상세 조회 실패 시 기본 정보 유지 + } + } + const filtered = organizations.filter(o => { if (regionFilter !== 'all' && !o.jurisdiction.includes(regionFilter)) return false if (typeFilterVal !== 'all' && o.type !== typeFilterVal) return false @@ -38,6 +65,14 @@ function AssetManagement() { return '제주청' } + if (loading) { + return ( +
+
방제자산 데이터를 불러오는 중...
+
+ ) + } + return (
{/* View Switcher & Filters */} @@ -129,9 +164,9 @@ function AssetManagement() { { setSelectedOrg(org); setViewMode('map') }} + onClick={() => { handleSelectOrg(org); setViewMode('map') }} > {(safePage - 1) * pageSize + idx + 1} @@ -200,129 +235,131 @@ function AssetManagement() {
{/* Right Detail Panel */} - + )}
)} diff --git a/frontend/src/tabs/assets/components/AssetMap.tsx b/frontend/src/tabs/assets/components/AssetMap.tsx index 51c0091..be29fa4 100644 --- a/frontend/src/tabs/assets/components/AssetMap.tsx +++ b/frontend/src/tabs/assets/components/AssetMap.tsx @@ -1,13 +1,13 @@ import { useEffect, useRef } from 'react' import L from 'leaflet' import 'leaflet/dist/leaflet.css' -import type { AssetOrg } from './assetTypes' +import type { AssetOrgCompat } from '../services/assetsApi' import { typeColor } from './assetTypes' interface AssetMapProps { - organizations: AssetOrg[] - selectedOrg: AssetOrg - onSelectOrg: (o: AssetOrg) => void + organizations: AssetOrgCompat[] + selectedOrg: AssetOrgCompat + onSelectOrg: (o: AssetOrgCompat) => void regionFilter: string onRegionFilterChange: (v: string) => void } diff --git a/frontend/src/tabs/assets/components/AssetUpload.tsx b/frontend/src/tabs/assets/components/AssetUpload.tsx index e897133..6c4b8cf 100644 --- a/frontend/src/tabs/assets/components/AssetUpload.tsx +++ b/frontend/src/tabs/assets/components/AssetUpload.tsx @@ -1,9 +1,17 @@ -import { useState } from 'react' -import { uploadHistory } from './assetMockData' +import { useState, useEffect } from 'react' +import { fetchUploadLogs } from '../services/assetsApi' +import type { UploadLogItem } from '../services/assetsApi' function AssetUpload() { const [uploadMode, setUploadMode] = useState<'add' | 'replace'>('add') const [uploaded, setUploaded] = useState(false) + const [uploadHistory, setUploadHistory] = useState([]) + + useEffect(() => { + fetchUploadLogs(10) + .then(setUploadHistory) + .catch(err => console.error('[assets] 업로드 이력 로드 실패:', err)) + }, []) const handleUpload = () => { setUploaded(true) @@ -106,11 +114,11 @@ function AssetUpload() { {/* Upload History */}
📋 최근 업로드 이력
- {uploadHistory.map((h, i) => ( -
+ {uploadHistory.map((h) => ( +
-
{h.filename}
-
{h.date} · {h.uploader} · {h.count}건
+
{h.fileNm}
+
{new Date(h.regDtm).toLocaleString('ko-KR')} · {h.uploaderNm} · {h.uploadCnt}건
완료
diff --git a/frontend/src/tabs/assets/components/ShipInsurance.tsx b/frontend/src/tabs/assets/components/ShipInsurance.tsx index c3a3a62..47dbeb6 100644 --- a/frontend/src/tabs/assets/components/ShipInsurance.tsx +++ b/frontend/src/tabs/assets/components/ShipInsurance.tsx @@ -1,6 +1,14 @@ import { useState } from 'react' import type { InsuranceRow } from './assetTypes' -import { insuranceDemoData } from './assetMockData' + +// 샘플 데이터 (외부 한국해운조합 API 연동 전 데모용) +const INSURANCE_DEMO_DATA: InsuranceRow[] = [ + { shipName: '유조선 한라호', mmsi: '440123456', imo: '9876001', insType: 'P&I 보험', insurer: '한국P&I클럽', policyNo: 'PI-2025-1234', start: '2025-07-01', expiry: '2026-06-30', limit: '50억' }, + { shipName: '화학물질운반선 제주호', mmsi: '440345678', imo: '9876002', insType: '선주책임보험', insurer: '삼성화재', policyNo: 'SF-2025-9012', start: '2025-09-16', expiry: '2026-09-15', limit: '80억' }, + { shipName: '방제선 OCEAN STAR', mmsi: '440123789', imo: '9876003', insType: 'P&I 보험', insurer: '한국P&I클럽', policyNo: 'PI-2025-3456', start: '2025-11-21', expiry: '2026-11-20', limit: '120억' }, + { shipName: 'LNG운반선 부산호', mmsi: '440567890', imo: '9876004', insType: '해상보험', insurer: 'DB손해보험', policyNo: 'DB-2025-7890', start: '2025-08-02', expiry: '2026-08-01', limit: '200억' }, + { shipName: '유조선 백두호', mmsi: '440789012', imo: '9876005', insType: 'P&I 보험', insurer: 'SK해운보험', policyNo: 'MH-2025-5678', start: '2025-01-01', expiry: '2025-12-31', limit: '30억' }, +] function ShipInsurance() { const [apiConnected, setApiConnected] = useState(false) @@ -44,7 +52,7 @@ function ShipInsurance() { } const loadDemoData = () => { - setResultData(insuranceDemoData) + setResultData(INSURANCE_DEMO_DATA) setViewState('result') setApiConnected(false) setLastSync(new Date().toLocaleString('ko-KR')) diff --git a/frontend/src/tabs/assets/services/assetsApi.ts b/frontend/src/tabs/assets/services/assetsApi.ts new file mode 100644 index 0000000..3ee94ed --- /dev/null +++ b/frontend/src/tabs/assets/services/assetsApi.ts @@ -0,0 +1,115 @@ +import api from '@common/services/api'; + +// ============================================================ +// 타입 +// ============================================================ + +export interface OrgListItem { + orgSn: number; + orgTp: string; + jrsdNm: string; + areaNm: string; + orgNm: string; + addr: string; + tel: string; + lat: number; + lng: number; + pinSize: 'hq' | 'lg' | 'md'; + vesselCnt: number; + skimmerCnt: number; + pumpCnt: number; + vehicleCnt: number; + sprayerCnt: number; + totalAssets: number; +} + +export interface EquipItem { + category: string; + icon: string; + count: number; +} + +export interface ContactItem { + role: string; + name: string; + phone: string; +} + +export interface OrgDetail extends OrgListItem { + equipment: EquipItem[]; + contacts: ContactItem[]; +} + +export interface UploadLogItem { + logSn: number; + fileNm: string; + uploaderNm: string; + uploadCnt: number; + regDtm: string; +} + +// ============================================================ +// AssetOrg 호환 인터페이스 (기존 컴포넌트와 호환) +// ============================================================ +export interface AssetOrgCompat { + id: number; + type: string; + jurisdiction: string; + area: string; + name: string; + address: string; + phone: string; + lat: number; + lng: number; + pinSize: 'hq' | 'lg' | 'md'; + vessel: number; + skimmer: number; + pump: number; + vehicle: number; + sprayer: number; + totalAssets: number; + equipment: EquipItem[]; + contacts: ContactItem[]; +} + +function toCompat(item: OrgListItem, equipment: EquipItem[] = [], contacts: ContactItem[] = []): AssetOrgCompat { + return { + id: item.orgSn, + type: item.orgTp, + jurisdiction: item.jrsdNm, + area: item.areaNm, + name: item.orgNm, + address: item.addr, + phone: item.tel, + lat: item.lat, + lng: item.lng, + pinSize: item.pinSize, + vessel: item.vesselCnt, + skimmer: item.skimmerCnt, + pump: item.pumpCnt, + vehicle: item.vehicleCnt, + sprayer: item.sprayerCnt, + totalAssets: item.totalAssets, + equipment, + contacts, + }; +} + +// ============================================================ +// API 호출 +// ============================================================ + +export async function fetchOrganizations(): Promise { + const { data } = await api.get('/assets/orgs'); + return data.map(item => toCompat(item)); +} + +export async function fetchOrganizationDetail(sn: number): Promise { + const { data } = await api.get(`/assets/orgs/${sn}`); + return toCompat(data, data.equipment, data.contacts); +} + +export async function fetchUploadLogs(limit = 20): Promise { + const { data } = await api.get(`/assets/upload-logs?limit=${limit}`); + return data; +}