diff --git a/jik.txt b/jik.txt
new file mode 100644
index 00000000..159961ae
--- /dev/null
+++ b/jik.txt
@@ -0,0 +1,162 @@
+### **[영상 스크립트 최종본] 평범한 직장인이 '대체 불가능한 존재'로 살아남는 법**
+
+**(영상 시작)**
+
+**(타이틀 카드: 회사가 당신을 책임지지 않을 때, 나는 어떻게 살아남을 것인가?)**
+**(인트로 음악: 차분하지만 생각할 거리를 던지는 듯한 BGM)**
+
+**# 오프닝 (0:00 ~ 1:30)**
+
+**(장면: 텅 빈 사무실에 홀로 남은 직장인의 뒷모습. 창밖으로는 화려한 도시의 야경이 펼쳐진다.)**
+
+**나레이션:**
+언젠가부터 '평생직장'이라는 말은 아득한 옛말이 되었습니다. '대퇴사의 시대'를 넘어 '조용한 퇴사'가 만연하고, 이제는 AI가 내 일자리를 위협하는 시대. 우리는 매일 스스로에게 묻습니다.
+
+'나는 여기서 얼마나 더 버틸 수 있을까?'
+'회사를 나가면, 나는 과연 무엇으로 먹고살 수 있을까?'
+
+**(장면 전환: '종신고용 붕괴'를 선언하는 일본 기업 총수의 뉴스 화면, '희망퇴직' 관련 기사 헤드라인들이 빠르게 스쳐 지나간다.)**
+
+**나레이션:**
+이 불안감은 우리보다 먼저 '잃어버린 30년'을 겪은 일본의 직장인들이 한발 앞서 마주했던 현실입니다. 그들은 종신고용이라는 신화가 무너지는 것을 온몸으로 겪으며, 회사라는 울타리 없이도 살아남는 법을 치열하게 고민해야 했습니다.
+
+**(장면: 스튜디오의 진행자 등장. 진지하면서도 신뢰감 있는 표정)**
+
+**진행자:**
+안녕하세요, 여러분의 커리어 파트너, OOO입니다. 오늘은 막연히 '버티는 것'을 넘어, 변화의 파도 속에서 '대체 불가능한 존재'로 거듭나는 법에 대해 이야기하려 합니다. 먼저 공유해주신 두 편의 영상과 해외 전문가들의 인사이트를 종합해, 오늘부터 당장 우리의 생각을 바꿔줄 4가지 생존 전략을 제시해 드립니다. 이것은 단순한 직장 생활의 기술이 아니라, 내 인생의 '주도권'을 되찾는 여정이 될 것입니다.
+
+---
+
+**# 본론 1: '직(Job)'을 넘어 '업(業)'으로 재정의하라 (1:30 ~ 6:30)**
+
+**(소제목 자막: Strategy 1. 당신은 직원이 아니라, 당신의 '업(業)'을 하는 사람입니다)**
+
+**진행자:**
+첫 번째 전략은, 내가 하는 일을 바라보는 관점을 완전히 바꾸는 것입니다. 우리는 '회사에 소속된 직원'이 아니라, **나만의 '업(業)'을 가진 프로페셔널**입니다.
+
+**(자막: 직(職, Job): 조직이 나에게 맡긴 일 / 업(業, Vocation): 내가 주도적으로 쌓아가는 전문성)**
+
+**진행자:**
+'직(Job)'은 회사가 내게 부여한 역할과 책임입니다. 월급은 그 역할을 수행한 대가죠. 하지만 '업(Vocation)'은 다릅니다. 회사를 떠나도 내 몸에 남는, 나만의 고유한 전문성이자 소명입니다. 여러분은 '직'을 하고 계신가요, '업'을 하고 계신가요?
+
+**(장면: 도쿄의 작은 공방에서 장인이 무언가에 몰두하는 모습, 전문 컨설턴트가 고객사 미팅을 주도하는 모습 교차)**
+
+**진행자:**
+'퇴사준비생의 도쿄' 영상에서도 강조하듯, 일본의 수많은 장인과 전문가들은 회사에 소속되어 있든 아니든, 자신의 '업'을 갈고 닦습니다. 그들에게 회사는 '나의 업을 실현하는 무대'이자 '나의 첫 번째 고객'일 뿐입니다.
+
+**(자막: 나는 '내 인생'이라는 기업의 CEO / 현재 회사는 나의 '가장 중요한 고객사')**
+
+**진행자:**
+이렇게 관점을 바꾸면, 우리는 더 이상 수동적으로 일을 기다리지 않습니다. 고객(회사)의 문제를 먼저 발견하고, 나의 '업'을 통해 해결책을 제안하게 됩니다. "이거 해주세요"를 기다리는 것이 아니라, "이런 문제가 있는데, 제 전문성을 활용해 이렇게 해결하는 건 어떻습니까?"라고 먼저 말하는 것이죠.
+
+오늘부터 여러분의 명함에서 '회사 이름'을 지우고 생각해보세요. '나는 어떤 업을 하는 사람인가?' 이 질문에 대한 답을 찾는 것이, 대체 불가능한 존재가 되기 위한 가장 중요한 첫걸음입니다.
+
+---
+
+**# 본론 2: 당신의 능력을 '시장'의 언어로 번역하라 (6:30 ~ 11:30)**
+
+**(소제목 자막: Strategy 2. '회사 안'의 언어를 '시장 밖'의 언어로 번역하라)**
+
+**진행자:**
+두 번째 전략은 '번역'의 기술입니다. 우리는 회사 안에서 수많은 경험과 성공을 쌓습니다. 하지만 대부분의 성과는 '그 회사에서만 통용되는 언어'로 기록되어 있습니다.
+
+**(장면: 한 직장인의 이력서. 'OO팀 내부 TFT 활동', 'XX 시스템 개선' 등 모호한 표현들)**
+
+**진행자:**
+'차세대 시스템 구축 프로젝트 PM'. 아주 멋진 경력처럼 들립니다. 하지만 회사 밖의 사람들은 그 프로젝트가 얼마나 대단한지, 당신이 거기서 정확히 어떤 기여를 했는지 전혀 알 수 없습니다. 나의 능력을 시장이 이해하고 원하는 언어로 '번역'해서 보여주지 않으면, 그 가치는 회사 담벼락을 넘지 못합니다.
+
+**(자막: 당신의 경험을 '시장성' 있는 상품으로 재포장하라)**
+
+**진행자:**
+이것은 단순히 이력서를 잘 쓰는 기술이 아닙니다. 나의 '업'을 객관적으로 바라보고, 시장에서 팔릴 수 있는 '상품'으로 만드는 과정입니다.
+
+**(장면: '나쁜 예'와 '좋은 예' 비교 자막)**
+* **(X) 번역 전:** 당사 ERP 시스템 고도화 프로젝트 참여
+* **(O) 번역 후:** 5억 규모의 전사적 자원관리(ERP) 시스템 재구축 프로젝트에서, 3개 부서(재무, 인사, 물류)의 요구사항을 분석 및 조율하여 개발 기간을 1개월 단축하고, 도입 후 수작업 업무량을 30% 감소시키는 데 핵심 역할 수행.
+
+**진행자:**
+어떠신가요? 똑같은 경험이지만, '번역'을 거치니 그 가치가 명확하게 보입니다. 내가 사용한 기술, 나의 역할, 그리고 가장 중요한 **'정량적 성과(Quantified Results)'**가 드러나야 합니다.
+
+지금 당장 여러분의 경력을 '시장'의 관점에서 번역하는 연습을 시작하세요. 이 과정은 여러분이 가진 진짜 무기가 무엇인지 깨닫게 하고, 회사와 대등한 위치에서 협상할 수 있는 자신감을 줄 것입니다.
+
+---
+
+**# 본론 3: 의도적으로 '딴짓'하고, '나'를 실험하라 (11:30 ~ 16:00)**
+
+**(소제목 자막: Strategy 3. 가장 안전한 투자는 '회사 밖의 나'에게 하는 투자다)**
+
+**진행자:**
+세 번째 전략은 의도적으로 '회사 밖의 나'를 만드는 것입니다. 많은 분들이 'N잡'이나 '사이드 프로젝트'를 생각하시지만, 핵심은 돈이 아닙니다. **나의 가치를 '회사'가 아닌 '시장'에서 직접 검증받는 경험** 그 자체입니다.
+
+**(장면: 퇴근 후 스터디 모임에 참여하는 모습, 주말에 작은 온라인 쇼핑몰을 운영하는 모습, 자신의 지식을 담아 블로그에 글을 쓰는 모습)**
+
+**진행자:**
+회사에서 받는 인정과 평가는 안정적이지만, 우물 안의 평가일 수 있습니다. 진짜 내 실력은 회사 밖이라는 망망대해에서 통할 때 증명됩니다.
+
+**(자막: 사이드 프로젝트 = 나의 시장 가치 테스트 & 역량 강화 실험실)**
+
+**진행자:**
+관심 분야의 강의를 듣는 것도 좋고, 작은 커뮤니티를 운영하는 것도 좋습니다. 내 전문성을 살려 컨설팅을 하거나, 온라인에 글을 연재하는 것도 훌륭한 '딴짓'입니다.
+
+이런 활동들은 세 가지 중요한 효과를 가져옵니다.
+첫째, 회사에서 쓰지 않던 새로운 근육(역량)을 키우게 됩니다.
+둘째, 나의 '업'이 시장에서 정말 돈이 되는지, 가치가 있는지 직접 확인할 수 있습니다.
+셋째, 회사와 나를 분리해서 생각하게 되면서, 직장 내 문제에 일희일비하지 않는 '심리적 안정감'을 얻게 됩니다.
+
+월급이라는 '안정적인 파이프라인'이 있을 때, 우리는 더 용감하게 '회사 밖의 나'를 실험해볼 수 있습니다. 이 실험들이 쌓여, 언젠가 회사가 흔들릴 때 당신을 지켜줄 가장 든든한 방파제가 될 것입니다.
+
+---
+
+**# 본론 4: '평판'을 관리하고, '느슨한 연대'를 구축하라 (16:00 ~ 18:30)**
+
+**(소제목 자막: Strategy 4. 최고의 자산은 '사람'과 '신뢰'다)**
+
+**진행자:**
+마지막 네 번째 전략은 '관계'에 대한 것입니다. 결국 우리의 '업'을 알아주고 기회를 주는 것은 '사람'입니다. 우리는 의식적으로 나의 **'평판(Reputation)'**을 관리하고, 건강한 **'인적 네트워크(Network)'**를 만들어야 합니다.
+
+**(그래픽: 한 사람을 중심으로 거미줄처럼 뻗어 나가는 '강한 연대(회사 동료)'와 '느슨한 연대(외부 전문가)')**
+
+**진행자:**
+회사 동료와의 '강한 연대'는 물론 중요합니다. 하지만 그보다 더 중요한 것은 다른 업계, 다른 직무의 사람들과 맺는 **'느슨한 연대(Weak Ties)'**입니다. 새로운 정보, 예상치 못한 기회는 대부분 이 '느슨한 연대'를 통해 찾아옵니다.
+
+세미나, 동호회, 온라인 커뮤니티에 적극적으로 참여해 다양한 사람들을 만나세요. 그리고 그들에게 '나는 OOO 회사의 XXX'가 아니라, **'저는 OOO이라는 업(業)을 하는 사람입니다'**라고 나를 소개하세요.
+
+**(자막: 당신의 이름이 곧 브랜드가 되게 하라)**
+
+**진행자:**
+좋은 평판은 '저 사람은 믿을 만하다', '그 분야는 저 사람이 전문가다'라는 신뢰에서 나옵니다. 내가 먼저 다른 사람의 전문성을 인정해주고, 내가 가진 것을 아낌없이 나눌 때, 신뢰는 자연스럽게 쌓입니다. 이렇게 쌓인 평판과 네트워크는 돈으로 살 수 없는 가장 강력한 사회적 자본이며, 당신이 어떤 위기에도 흔들리지 않게 지켜줄 것입니다.
+
+---
+
+**# 클로징 (18:30 ~ 20:00)**
+
+**(클로징 음악: 조용하지만 단단한 희망을 주는 BGM)**
+
+**진행자:**
+오늘 우리는 직장인으로 살아남기 위한 4가지 현실적인 전략을 살펴보았습니다.
+
+**(화면 요약: 4가지 전략이 한 화면에 정리되어 나타남)**
+1. **'직(Job)'이 아닌 나만의 '업(Vocation)'을 정의하라.**
+2. **나의 능력을 '시장'이 원하는 언어로 '번역'하라.**
+3. **'회사 밖'에서 나의 가치를 끊임없이 '실험'하라.**
+4. **'평판'과 '느슨한 연대'라는 최고의 자산을 쌓아라.**
+
+**진행자:**
+이 모든 이야기의 결론은 하나입니다. 내 커리어의 운전대를, 내 인생의 주도권을 **'회사'가 아닌 '나'에게로 되찾아오는 것.**
+
+**(장면: 처음 등장했던 직장인. 이제는 텅 빈 사무실이 아니라, 자신의 작업실에서 만족스러운 표정으로 무언가를 만들고 있다. 창밖으로 새벽이 밝아온다.)**
+
+**진행자:**
+회사는 언젠가 우리를 떠나거나, 우리가 떠나야 할 곳입니다. 하지만 당신이 쌓아 올린 '업'과 '평판', 그리고 '사람'은 영원히 당신 곁에 남습니다.
+
+오늘, 퇴근길에 잠시 스스로에게 질문을 던져보세요.
+'5년 뒤, 나는 어떤 '업'을 하는 사람으로 불리고 싶은가?'
+
+그 질문에 대한 답을 찾아가는 여정 자체가, 당신을 이 시대 가장 현명한 '프로 직장인'으로 만들어 줄 것입니다.
+
+**(마지막 자막: 당신의 커리어는, 당신이 직접 쓰는 한 편의 이야기입니다.)**
+
+**진행자:**
+여러분의 독립적이고 성공적인 커리어를 진심으로 응원하겠습니다. 감사합니다.
+
+**(영상 끝)**
diff --git a/mobal.txt b/mobal.txt
new file mode 100644
index 00000000..45d71e1f
--- /dev/null
+++ b/mobal.txt
@@ -0,0 +1,68 @@
+### **[10분 스크립트] 나이보다 젊어 보이는 머릿결, 세계 전문가들이 말하는 모발 관리법**
+
+**(시작 음악, 잔잔하고 희망적인 분위기)**
+
+**나레이터:** 안녕하세요! 100세 시대, 건강한 삶에 대한 관심이 그 어느 때보다 높습니다. 그런데, 우리가 매일 거울을 보며 신경 쓰는 또 다른 부분이 있죠? 바로 '모발'입니다. 나이가 들면서 머리카락이 가늘어지고, 푸석해지고, 자꾸만 빠지는 것 같아 속상하셨나요? 오늘은 국내뿐만 아니라, 미국과 유럽의 전문가들이 강조하는 '건강한 모발 관리법'을 통해, 잃어버린 머릿결의 활력을 되찾는 비결을 알려드리겠습니다. 10분만 집중해주세요!
+
+**(화면 전환: 시간의 흐름에 따라 변하는 모발의 모습 그래픽)**
+
+**나레이터:** 먼저, 우리 머리카락이 왜 나이가 드는지 잠시 알아볼까요?
+
+첫째, 두피의 유분(피지) 분비가 줄어듭니다. 젊었을 땐 기름져서 고민이었는데, 나이가 들면 두피가 건조해져서 머리카락이 푸석하고 약해지죠.
+
+둘째, 모발 성장 속도가 느려집니다. 머리카락이 자라는 '성장기'가 짧아지고, 쉬는 '휴지기'가 길어지면서 전체적으로 숱이 줄어들게 됩니다.
+
+셋째, 멜라닌 세포의 기능이 저하되어 흰머리가 늘어납니다. 이건 아주 자연스러운 노화 과정이죠.
+
+하지만, 그렇다고 실망하긴 이릅니다. **미국 피부과 학회(AAD)에서는 "노화로 인한 모발 변화는 피할 수 없지만, 어떻게 관리하느냐에 따라 그 결과는 확연히 달라진다"**고 강조합니다. 자, 그럼 세계의 전문가들이 공통적으로 말하는 생활 습관부터 알아볼까요?
+
+**(Part 1: 머릿결을 살리는 글로벌 생활 습관)**
+
+**(자료 화면: 올바른 샴푸 방법, 다양한 샴푸 제품)**
+
+**나레이터:** **첫 번째 비결은 '젠틀(Gentle) 케어', 즉 '부드러운 관리'입니다.**
+
+혹시 매일 뜨거운 물로 머리를 감고 계신가요? 서양의 두피 전문가들은 "나이가 들수록 두피는 더 건조해지기 때문에, 매일 머리를 감는 것이 오히려 독이 될 수 있다"고 조언합니다. 이틀에 한 번, 미지근한 물로 감는 것을 추천하는데요.
+
+샴푸를 고를 땐, **'설페이트-프리(Sulfate-Free)'** 제품을 선택하는 것이 좋습니다. 세정력이 너무 강한 샴푸는 두피의 천연 유분까지 빼앗아 건조함을 악화시키기 때문입니다. 샴푸는 손에서 충분히 거품을 내어 두피 중심으로, 손톱이 아닌 손가락 끝 지문으로 부드럽게 마사지해주세요. 그리고 샴푸보다 더 중요한 것이 '컨디셔너'입니다. 컨디셔너는 건조하고 갈라지기 쉬운 모발을 코팅해 수분을 지켜주는 필수 아이템입니다.
+
+머리를 말릴 땐, 수건으로 비비지 말고 꾹꾹 눌러 물기를 제거한 뒤, 시원한 바람으로 두피부터 말려주세요. 뜨거운 바람은 모발의 단백질을 파괴하는 주범입니다.
+
+**(Part 2: 모발을 위한 세계인의 식탁)**
+
+**(자료 화면: 연어, 견과류, 베리류, 잎채소 등 신선한 식재료)**
+
+**나레이터:** **두 번째 비결은 '속부터 채우는 영양'입니다.** 머리카락도 결국 우리가 먹는 것으로 만들어지니까요.
+
+**첫째, 단백질입니다.** 모발의 90%는 '케라틴'이라는 단백질로 이루어져 있습니다. 붉은 고기보다는 **지방이 적은 닭고기, 생선, 달걀, 그리고 렌틸콩이나 두부 같은 식물성 단백질**을 추천합니다.
+
+**둘째, 오메가-3 지방산입니다.** 지중해 식단의 핵심이죠. **연어, 고등어 같은 등푸른 생선과 호두, 아마씨**에 풍부한 오메가-3는 두피의 염증을 줄이고 혈액순환을 도와 모발에 윤기를 더해줍니다.
+
+**셋째, 철분과 아연입니다.** 이 미네랄들이 부족하면 탈모로 이어지기 쉽습니다. **시금치 같은 잎채소와 조개류, 콩**을 충분히 드셔주세요. 특히 철분은 비타민C와 함께 먹을 때 흡수율이 높아지니, 식사 후엔 오렌지나 딸기 같은 과일을 곁들이면 좋습니다.
+
+**넷째, 항산화 성분입니다.** **블루베리 같은 베리류, 피망, 견과류**에 풍부한 비타민 C와 E는 모낭 세포를 공격하는 활성산소를 막아주는 우리 모발의 든든한 방패입니다.
+
+마지막으로, **물을 충분히 마시는 것!** 아주 간단하지만 가장 중요합니다. 수분이 부족하면 가장 먼저 머리카락이 푸석해진다는 사실, 잊지 마세요.
+
+**(Part 3: 젊음을 지키는 라이프스타일)**
+
+**(자료 화면: 편안하게 명상하는 모습, 햇살 아래 모자를 쓴 모습)**
+
+**나레이터:** **마지막 비결은 '건강한 라이프스타일'입니다.**
+
+스트레스와 수면 부족은 모발 건강의 가장 큰 적입니다. 스트레스를 받으면 우리 몸은 모발 성장보다 생명 유지에 더 집중하기 때문에, 머리카락으로 갈 영양분이 줄어들게 됩니다. 하루 10분이라도 명상을 하거나, 가벼운 산책을 하며 스트레스를 관리해주세요. 그리고 밤 10시부터 새벽 2시 사이, 세포가 재생되는 골든타임에는 꼭 숙면을 취하셔야 합니다.
+
+그리고 의외의 복병, 바로 '자외선'입니다. 얼굴에 선크림을 바르듯, 모발도 자외선으로부터 보호가 필요합니다. **미국 암 학회(ACS)에서는 피부암 예방을 위해 모자 착용을 권장하는데, 이는 두피와 모발 건강에도 똑같이 적용됩니다.** 외출 시 챙이 넓은 모자를 쓰거나, 헤어 전용 자외선 차단제를 사용하는 것도 좋은 방법입니다.
+
+**(마무리)**
+
+**(시작과 같은 잔잔하고 희망적인 음악)**
+
+**나레이터:** 정리해볼까요?
+첫째, 샴푸는 이틀에 한 번, 설페이트-프리 제품으로 부드럽게!
+둘째, 단백질과 오메가-3, 비타민이 풍부한 건강한 식단!
+셋째, 스트레스는 줄이고, 숙면을 취하며, 자외선은 차단하기!
+
+노화는 자연스러운 과정이지만, 우리가 어떻게 관리하느냐에 따라 머리카락의 나이는 10년, 아니 그 이상 젊어질 수 있습니다. 오늘부터 알려드린 건강한 습관들을 하나씩 실천해보시는 건 어떨까요? 활력 넘치는 당신의 머릿결을 응원합니다.
+
+**(음악 마무리)**
diff --git a/ohship_later.txt b/ohship_later.txt
new file mode 100644
index 00000000..9caf3d5f
--- /dev/null
+++ b/ohship_later.txt
@@ -0,0 +1,217 @@
+✦ 노아의 방주, 그 원조는 따로 있었다? (유튜브 스크립트)
+
+ (타이틀 카드: 익숙한 노아의 방주 그림과 고대 쐐기문자 점토판이 반반씩 겹쳐진 이미지)
+
+ (BGM: 신비롭고 장엄한 분위기의 음악)
+
+ ---
+
+ #1. 오프닝
+
+ 나레이터:
+ 여러분, '노아의 방주' 이야기를 모르시는 분은 아마 없으실 겁니다.
+ 인류의 타락에 분노한 신이 대홍수로 세상을 심판하고, 선택받은 의인 노아와 그의 가족, 그리고 한 쌍의
+ 동물들만이 거대한 방주에 올라타 살아남았다는 이야기.
+ 성서에 기록된 이 극적인 스토리는 수천 년간 수많은 사람들에게 영감을 주었죠.
+
+ (화면: 노아의 방주를 묘사한 다양한 명화, 영화 클립 등이 빠르게 지나감)
+
+ 나레이터:
+ 그런데 만약, 이 노아의 방주 이야기가 성서에만 있는 독창적인 이야기가 아니라면 어떨까요?
+ 성서가 기록되기 훨씬 이전에, 거의 똑같은 줄거리를 가진 '원조' 홍수 이야기가 존재했다면?
+
+ (화면: 쐐기문자가 새겨진 고대 점토판 '길가메시 서사시'를 클로즈업)
+
+ 나레이터:
+ 오늘, 우리는 성서 속 가장 유명한 이야기 중 하나인 노아의 방주와 그 놀라운 쌍둥이, 메소포타미아의 '길가메시
+ 서사시'에 얽힌 충격적인 진실을 파헤쳐보려 합니다.
+
+ ---
+
+ #2. 우리에게 익숙한 이야기: 노아의 방주
+
+ (BGM: 차분하고 경건한 분위기로 전환)
+
+ 나레이터:
+ 먼저 우리가 잘 아는 성서 창세기의 이야기를 되짚어보죠.
+
+ (화면: 이야기의 흐름에 맞는 간단한 애니메이션 또는 일러스트)
+
+ 나레이션:
+ 1. 신의 결심: 신은 인간들의 죄악이 세상에 가득한 것을 보고, 홍수로 모든 생명을 쓸어버리기로 결심합니다.
+ 2. 선택받은 자, 노아: 하지만 '의로운 사람' 노아는 신의 은총을 입습니다.
+ 3. 방주 건설 명령: 신은 노아에게 "잣나무로 방주를 만들고, 역청을 안팎에 칠하라"며 방주의 구체적인 설계도까지
+ 알려줍니다. 그리고 가족과 모든 생물을 암수 한 쌍씩 방주에 태우라고 명령하죠.
+ 4. 대홍수: 40일 밤낮으로 비가 내려 온 세상이 물에 잠깁니다.
+ 5. 구원: 150일 후, 물이 빠지기 시작하고 방주는 '아라라트 산'에 머무릅니다.
+ 6. 땅을 확인하는 지혜: 노아는 먼저 까마귀를, 그다음엔 비둘기를 날려 보냅니다. 마침내 비둘기가 감람나무 새
+ 잎사귀를 물고 돌아오자, 땅이 말랐음을 알게 되죠.
+ 7. 새로운 시작과 약속: 방주에서 나온 노아는 신에게 제물을 바쳐 감사들 드리고, 신은 무지개를 보여주며 다시는
+ 물로 세상을 심판하지 않겠다고 약속합니다.
+
+ ---
+
+ #3. 더 오래된 이야기: 길가메시 서사시
+
+ (BGM: 고대의 신비롭고 웅장한 분위기로 전환)
+
+ 나레이터:
+ 이제 시간을 수백 년 더 거슬러 올라가 보겠습니다. 고대 메소포타미아 문명, 그리고 인류 최초의 영웅 서사시로
+ 불리는 '길가메시 서사시'입니다.
+
+ (화면: 고대 메소포타미아 유적, 길가메시 서사시 점토판 전시 모습)
+
+ 나레이터:
+ 이 서사시에는 '우트나피쉬팀'이라는 인물이 겪은 대홍수 이야기가 등장하는데요. 그 내용이 놀라울 정도로
+ 노아의 이야기와 닮아있습니다.
+
+ (화면: 길가메시 서사시 내용을 기반으로 한 애니메이션 또는 일러스트)
+
+ 나레이션:
+ 1. 신들의 결심: 신들은 인간들이 너무 시끄럽다는 이유로, 홍수를 일으켜 몰살시키기로 결정합니다.
+ 2. 선택받은 자, 우트나피쉬팀: 지혜의 신 '에아'가 이 계획을 몰래 '우트나피쉬팀'에게 알려줍니다.
+ 3. 방주 건설 명령: 에아 신은 "집을 허물고 배를 만들어라! 모든 생물의 씨앗을 배에 태워라"라고 명령합니다.
+ 4. 대홍수: 7일 밤낮으로 폭풍우가 몰아쳐 세상이 물에 잠깁니다. 그 위력에 신들조차 두려워 떨었다고 하죠.
+ 5. 구원: 배는 '니시르 산'에 멈춰 섭니다.
+ 6. 땅을 확인하는 지혜: 우트나피쉬팀은 비둘기를, 그다음엔 제비를, 마지막으로 까마귀를 날려 보냅니다. 까마귀가
+ 돌아오지 않자, 물이 빠졌음을 알게 됩니다.
+ 7. 새로운 시작과 축복: 배에서 나온 우트나피쉬팀은 신들에게 제물을 바칩니다. 신들은 제물의 향기를 맡고
+ 기뻐하며, 그에게 영원한 생명을 선물합니다.
+
+ ---
+
+ #4. 충격적인 평행이론: 두 이야기의 비교
+
+ (BGM: 긴장감 있고 집중도를 높이는 음악)
+
+ 나레이터:
+ 어떠신가요? 우연이라고 하기엔 너무나도 비슷하지 않나요? 두 이야기를 나란히 놓고 비교해보겠습니다.
+
+ (화면: 좌측엔 노아, 우측엔 우트나피쉬팀의 내용을 비교하는 표 또는 그래픽)
+
+
+ ┌───────────┬─────────────────────────────┬──────────────────────────────────┐
+ │ 구분 │ 노아의 방주 (성서) │ 길가메시 서사시 (메소포타미아) │
+ ├───────────┼─────────────────────────────┼──────────────────────────────────┤
+ │ 원인 │ 인간의 도덕적 타락 │ 인간이 너무 시끄러워서 │
+ │ 계시 │ 신이 직접 경고 │ 신이 몰래 경고 │
+ │ 주인공 │ 노아 │ 우트나피쉬팀 │
+ │ 해결책 │ 거대한 방주 건설 │ 거대한 배 건설 │
+ │ 탑승자 │ 가족과 모든 동물 암수 한 쌍 │ 가족, 장인, 모든 생물의 씨앗 │
+ │ 결과 │ 대홍수로 세상이 잠김 │ 대홍수로 세상이 잠김 │
+ │ 정박지 │ 아라라트 산 │ 니시르 산 │
+ │ 확인 방법 │ 까마귀와 비둘기를 날려 보냄 │ 비둘기, 제비, 까마귀를 날려 보냄 │
+ │ 홍수 이후 │ 제물을 바침 │ 제물을 바침 │
+ │ 결말 │ 신의 축복과 언약 (무지개) │ 신의 축복과 영생 │
+ └───────────┴─────────────────────────────┴──────────────────────────────────┘
+
+
+ 나레이터:
+ 홍수의 원인과 결말의 세부적인 내용에서 약간의 차이가 있지만, '신이 홍수를 경고하고, 선택된 자가 배를
+ 만들어 생명을 보존하고, 산에 정박한 뒤 새를 날려 땅을 확인하고, 제사를 지낸다'는 이야기의 핵심 골격은
+ 사실상 동일합니다.
+
+ ---
+
+ #5. 결론: 무엇이 진실인가?
+
+ (BGM: 차분하고 지적인 분위기로 전환)
+
+ 나레이터:
+ 그렇다면 이 놀라운 유사성을 어떻게 설명해야 할까요? 학자들은 길가메시 서사시가 기록된 시기를 성서보다 훨씬
+ 앞선 것으로 보고 있습니다.
+
+ (화면: 고대 근동 지역의 지도. 티그리스, 유프라테스 강을 강조)
+
+ 나레이터:
+ 고대 메소포타미아 지역은 티그리스와 유프라테스 강이 자주 범람하여, 실제로 거대한 홍수를 자주 겪었습니다.
+ 이런 경험들이 구전 신화로 발전했고, 이것이 길가메시 서사시에 기록된 것이죠.
+
+ 그리고 훗날, 이 지역의 문화적 영향 아래 있던 이스라엘 민족이 이 홍수 신화를 자신들의 신앙과 가치관에 맞게
+ 재해석하여 성서에 기록했을 가능성이 매우 높다는 것이 학계의 정설입니다.
+
+ (화면: 길가메시 서사시의 '시끄러워서'와 성서의 '죄악 때문에'라는 문구를 비교)
+
+ 나레이터:
+ 특히 홍수의 원인을 신들의 변덕('시끄러워서')이 아닌, 인간의 '도덕적 타락'에 대한 신의 '정의로운 심판'으로
+ 바꾼 것은, 두 이야기의 가장 큰 차이점이자 성서가 전하고자 했던 핵심 메시지입니다.
+
+ 결국 노아의 방주 이야기는 역사적 사실을 기록했다기보다는, 고대 근동에 널리 퍼져있던 홍수 신화를 바탕으로
+ '신과 인간의 관계', '죄와 구원'이라는 깊은 신학적 의미를 담아낸 위대한 각색 작품이라고 볼 수 있는 것이죠.
+
+ (화면: 책장에 꽂힌 성서와 길가메시 서사시 책을 보여주며 마무리)
+
+ 나레이터:
+ 하나의 이야기가 수천 년의 시간을 넘어 다른 문화 속에서 어떻게 재탄생하고 새로운 의미를 갖게 되는지, 정말
+ 흥미롭지 않으신가요?
+
+ (채널 구독, 좋아요 요청 자막)
+
+ (BGM: 엔딩 음악 고조되며 마무리)
+
+╭──────────────────────────────────────────────────────╮
+│ > 내용을 비교하는 표 부분도 스크립트로 만들어줘... │
+╰──────────────────────────────────────────────────────╯
+
+✦ 네, 해당 부분을 스크립트 형식으로 만들어 드릴게요.
+
+ ---
+
+ #4. 충격적인 평행이론: 두 이야기의 비교 (스크립트)
+
+ (BGM: 긴장감 있고 집중도를 높이는 음악)
+
+ 나레이터:
+ 어떠신가요? 우연이라고 하기엔 너무나도 비슷하지 않나요?
+ 두 이야기를 나란히 놓고 하나씩, 하나씩 비교해보겠습니다.
+
+ (화면: 화면이 좌우로 분할. 좌측 상단에 '노아의 방주', 우측 상단에 '길가메시 서사시' 타이틀이 나타난다.
+ 나레이션에 맞춰 각 항목이 하나씩 순서대로 나타나는 모션 그래픽)
+
+ 나레이터:
+ 먼저, 홍수의 원인입니다.
+ 성서에서는 인간의 도덕적 타락 때문에 신이 심판을 내리지만,
+ 길가메시 서사시에서는 인간들이 너무 시끄러워서 신들이 잠을 잘 수 없다는, 다소 황당한 이유로 시작됩니다.
+
+ (화면: [원인] 항목에 '도덕적 타락' vs '너무 시끄러워서' 텍스트 표시)
+
+ 나레이터:
+ 다음은 주인공입니다.
+ 성서에서는 우리에게 익숙한 노아가,
+ 길가메시 서사시에서는 우트나피쉬팀이라는 인물이 선택받습니다.
+
+ (화면: [주인공] 항목에 '노아' vs '우트나피쉬팀' 텍스트 표시)
+
+ 나레이터:
+ 해결책은 어떨까요?
+ 두 이야기 모두 신의 경고에 따라 거대한 배를 만드는 것으로 동일합니다.
+
+ (화면: [해결책] 항목에 '방주 건설' vs '배 건설' 텍스트 표시)
+
+ 나레이터:
+ 배가 멈춰 선 정박지도 나옵니다.
+ 노아의 방주는 아라라트 산에,
+ 우트나피쉬팀의 배는 니시르 산에 머무릅니다. 지리적으로 멀지 않은 곳이죠.
+
+ (화면: [정박지] 항목에 '아라라트 산' vs '니시르 산' 텍스트 표시)
+
+ 나레이터:
+ 그리고 가장 결정적인 부분, 땅이 말랐는지 확인하는 방법입니다.
+ 노아는 까마귀와 비둘기를 날려 보냈죠.
+ 그런데 놀랍게도 우트나피쉬팀 역시 비둘기와 제비, 그리고 까마귀를 차례로 날려 보냅니다. 새를 이용해 땅을
+ 확인한다는 아이디어가 정확히 일치하는 겁니다.
+
+ (화면: [확인 방법] 항목에 '까마귀, 비둘기' vs '비둘기, 제비, 까마귀' 텍스트 표시)
+
+ 나레이터:
+ 마지막으로 홍수가 끝난 뒤의 행동입니다.
+ 두 주인공 모두 배에서 내리자마자 신에게 감사의 제물을 바칩니다.
+
+ (화면: [홍수 이후] 항목에 '제물 바침' vs '제물 바침' 텍스트 표시)
+
+ (화면: 완성된 비교표 전체를 보여줌)
+
+ 나레이터:
+ 홍수의 원인과 결말의 세부적인 내용에서 약간의 차이가 있지만, '신이 홍수를 경고하고, 선택된 자가 배를
+ 만들어 생명을 보존하고, 산에 정박한 뒤 새를 날려 땅을 확인하고, 제사를 지낸다'는 이야기의 핵심 골격은
+ 사실상 동일합니다.
diff --git a/pom.xml b/pom.xml
index 4e8b44e2..29ed9891 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,6 +23,7 @@
UTF-8
UTF-8
${project.basedir}\src\main\webapp\WEB-INF\lib
+ postgresql
@@ -166,6 +167,13 @@
5.1.31
+
+
+ org.postgresql
+ postgresql
+ 42.2.23
+
+
+
@@ -110,6 +110,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -118,4 +151,4 @@
-
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/spring/com/context-properties.xml b/src/main/resources/egovframework/spring/com/context-properties.xml
index 41094778..c9d14daf 100644
--- a/src/main/resources/egovframework/spring/com/context-properties.xml
+++ b/src/main/resources/egovframework/spring/com/context-properties.xml
@@ -1,27 +1,27 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/egovframework/spring/com/context-security.xml b/src/main/resources/egovframework/spring/com/context-security.xml
index c740cdc2..363c1cd2 100644
--- a/src/main/resources/egovframework/spring/com/context-security.xml
+++ b/src/main/resources/egovframework/spring/com/context-security.xml
@@ -13,6 +13,7 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /* LoginLogDAO.logInsertLoginLog */
+ INSERT INTO LETTNLOGINLOG
+ ( LOG_ID
+ , CONECT_MTHD
+ , CONECT_ID
+ , CONECT_IP
+ , ERROR_OCCRRNC_AT
+ , ERROR_CODE
+
+ ,USER_AT
+
+
+ ,DEVICE_TYPE
+
+
+ ,PROGRM_FILE_NM
+
+
+ ,MENU_NM
+
+ , CREAT_DT )
+ VALUES ( #logId#
+ , #loginMthd#
+ , #loginId#
+ , #loginIp#
+ , #errOccrrAt#
+ , #errorCode#
+
+ ,#userAt#
+
+
+ ,#deviceType#
+
+
+ , (SELECT PROGRM_FILE_NM FROM LETTNMENUINFO WHERE PROGRM_FILE_NM = #progrmFileNm# LIMIT 1 )
+
+
+ ,#menuNm#
+
+ , NOW())
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /* 임시.*NOT_SQL_LOG.* */
+ /* LoginLogDAO.logInsertAdminLoginLog */
+ INSERT INTO LETTNLOGINLOG
+ ( LOG_ID
+ , CONECT_MTHD
+ , CONECT_ID
+ , CONECT_IP
+ , ERROR_OCCRRNC_AT
+ , ERROR_CODE
+
+ ,USER_AT
+
+
+ ,DEVICE_TYPE
+
+ ,PROGRM_FILE_NM
+ ,MENU_NM
+ , CREAT_DT )
+ VALUES ( #logId#
+ , #loginMthd#
+ , #loginId#
+ , #loginIp#
+ , #errOccrrAt#
+ , #errorCode#
+
+ ,#userAt#
+
+
+ ,#deviceType#
+
+ ,
+ ( SELECT A.PROGRM_FILE_NM FROM LETTNPROGRMLIST A WHERE A.URL = #url# LIMIT 1 )
+ ,(
+ SELECT B.MENU_NM FROM LETTNPROGRMLIST A INNER JOIN LETTNMENUINFO B
+ WHERE A.PROGRM_FILE_NM = B.PROGRM_FILE_NM AND A.URL = #url# LIMIT 1 )
+ , now())
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /* 임시.*NOT_SQL_LOG.* */
+ UPDATE LETTNADMINMETHOD
+ SET METHOD_NM = #methodNm#
+ , PARAM = #param#
+ , MENU_NM = #menuNm#
+ , APPRO_NM = #approNm#
+ , PRIVACY = #privacy#
+ WHERE ADMOT_ID = #admotId#
+
+
+
+ /* 임시.*NOT_SQL_LOG.* */
+ INSERT INTO LETTNADMINMETHOD
+ (
+ ADMOT_ID,
+ METHOD_NM,
+ PARAM,
+ MENU_NM,
+ APPRO_NM,
+ PRIVACY
+ )
+ VALUES
+ (
+ #admotId#,
+ #methodNm#,
+ #param#,
+ #menuNm#,
+ #approNm#,
+ #privacy#
+ )
+
+
+
+ DELETE FROM LETTNADMINMETHOD
+ WHERE ADMOT_ID=#admotId#
+
+
+
+
+
+
+
+
+ /* 임시.*NOT_SQL_LOG.* */
+ /* LoginLogDAO.logInsertWebLoginLog */
+ INSERT INTO LETTNLOGINLOG
+ ( LOG_ID
+ , CONECT_ID
+ , CONECT_IP
+ , USER_AT
+ , DEVICE_TYPE /**인테넛,모바일 */
+ , PROGRM_FILE_NM
+ , MENU_NO
+ , MENU_NM
+ , URL
+ , CREAT_DT )
+ SELECT
+ #logId#
+ , #loginId#
+ , #loginIp#
+ , #userAt# /**A:관리자, U:홈페이지 */
+ , #deviceType#
+ , A.PROGRM_FILE_NM
+ , A.MENU_NO
+ , A.MENU_NM
+ , #url#
+ , NOW()
+ FROM LETTNMENUINFO A
+ INNER JOIN LETTNPROGRMLIST B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM
+ WHERE B.URL IS NOT NULL
+ AND B.URL != ''
+ AND B.URL = #url#
+
+
+
+
+ /* 임시.*NOT_SQL_LOG.* */
+ /* 2023-06-20일 저장확인을 위해 update 추가함*/
+ /* LoginLogDAO.logInsertWebLoginLogNewStep1 */
+ INSERT INTO LETTNLOGINLOG
+ ( LOG_ID
+ , CONECT_ID
+ , CONECT_IP
+ , USER_AT
+ , DEVICE_TYPE /**인테넛,모바일 */
+ , PROGRM_FILE_NM
+ , MENU_NO
+ , MENU_NM
+ , URL
+ , CREAT_DT )
+ SELECT
+ #logId#
+ , #loginId#
+ , #loginIp#
+ , #userAt# /**A:관리자, U:홈페이지 */
+ , #deviceType#
+ , A.PROGRM_FILE_NM
+ , A.MENU_NO
+ , A.MENU_NM
+ , #url#
+ , NOW()
+ FROM LETTNMENUINFO A
+ INNER JOIN LETTNPROGRMLIST B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM
+ WHERE B.URL IS NOT NULL
+ AND B.URL != ''
+ AND B.URL = #url#
+
+
+
+
+ /* 임시.*NOT_SQL_LOG.* */
+ /* 2023-06-20일 저장확인을 위해 update 추가함*/
+ /* LoginLogDAO.logInsertWebLoginLogNewStep2 */
+ INSERT INTO LETTNLOGINLOG
+ ( LOG_ID
+ , CONECT_ID
+ , CONECT_IP
+ , USER_AT
+ , DEVICE_TYPE /**인테넛,모바일 */
+ , PROGRM_FILE_NM
+ , MENU_NO
+ , MENU_NM
+ , URL
+ , CREAT_DT )
+ SELECT
+ #logId#
+ , #loginId#
+ , #loginIp#
+ , #userAt# /**A:관리자, U:홈페이지 */
+ , #deviceType#
+ , 'PROGRM_FILE_NM'
+ , '999999999'
+ , 'MENU_NM'
+ , #url#
+ , NOW()
+
+
+
+
+ /* 임시.*NOT_SQL_LOG.* */
+ /* 2023-06-20일 저장확인을 위해 update 추가함*/
+ /* LoginLogDAO.logInsertWebLoginLogNewStep1_bak */
+ INSERT INTO LETTNLOGINLOG_BAK
+ ( LOG_ID
+ , CONECT_ID
+ , CONECT_IP
+ , USER_AT
+ , DEVICE_TYPE /**인테넛,모바일 */
+ , PROGRM_FILE_NM
+ , MENU_NM
+ , URL
+ , CREAT_DT )
+
+ SELECT
+ #logId#
+ , #loginId#
+ , #loginIp#
+ , #userAt# /**A:관리자, U:홈페이지 */
+ , #deviceType#
+ , method_nm
+ , menu_nm
+ , #url#
+ , NOW()
+ FROM LETTNADMINMETHOD
+ WHERE METHOD_NM = #methodNm#
+ LIMIT 1
+
+
+
+
+ /* 임시.*NOT_SQL_LOG.* */
+ /* 2023-06-20일 저장확인을 위해 update 추가함*/
+ /* LoginLogDAO.logInsertWebLoginLogNewStep2 */
+ INSERT INTO LETTNLOGINLOG_BAK
+ ( LOG_ID
+ , CONECT_ID
+ , CONECT_IP
+ , USER_AT
+ , DEVICE_TYPE /**인테넛,모바일 */
+ , PROGRM_FILE_NM
+ , MENU_NO
+ , MENU_NM
+ , URL
+ , CREAT_DT )
+ SELECT
+ #logId#
+ , #loginId#
+ , #loginIp#
+ , #userAt# /**A:관리자, U:홈페이지 */
+ , #deviceType#
+ , 'PROGRM_FILE_NM'
+ , '999999999'
+ , 'MENU_NM'
+ , #url#
+ , NOW()
+
+
+
+
+ /* LoginLogDAO.logInsertWebLoginLogNewStep3_bak */
+ INSERT INTO lettnadminmethod (
+ admot_id,
+ method_nm,
+ param,
+ creat_dt,
+ menu_nm,
+ appro_nm,
+ privacy,
+ method_cd /* A or U */
+ )
+
+ SELECT
+ 'ADMOTID_' || (COALESCE(MAX(CAST(REPLACE(admot_id, 'ADMOTID_', '') AS BIGINT)), 0) + 1)
+ , #methodNm#
+ , 'N'
+ , NOW()
+ , #methodNm#
+ , #url#
+ , 'N'
+ , 'U'
+ FROM LETTNADMINMETHOD
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/config/postgresql/EgovProgrmManage_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/config/postgresql/EgovProgrmManage_SQL_Postgresql.xml
new file mode 100644
index 00000000..fafaf69b
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/config/postgresql/EgovProgrmManage_SQL_Postgresql.xml
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 'dir'
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/config/postgresql/EgovUserLog_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/config/postgresql/EgovUserLog_SQL_Postgresql.xml
new file mode 100644
index 00000000..18d7a040
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/config/postgresql/EgovUserLog_SQL_Postgresql.xml
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-ccm.xml b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-ccm.xml
new file mode 100644
index 00000000..4dc4d37b
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-ccm.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-cmm.xml b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-cmm.xml
new file mode 100644
index 00000000..6e45fc1f
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-cmm.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-cop-bbs.xml b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-cop-bbs.xml
new file mode 100644
index 00000000..e9286c1e
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-cop-bbs.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-cop-cmt.xml b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-cop-cmt.xml
new file mode 100644
index 00000000..9bd1bf5a
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-cop-cmt.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-sym-log-lgm.xml b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-sym-log-lgm.xml
new file mode 100644
index 00000000..1a75b045
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-sym-log-lgm.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
diff --git a/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-sym-mnu-mcm.xml b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-sym-mnu-mcm.xml
new file mode 100644
index 00000000..6801ce2e
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-sym-mnu-mcm.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
diff --git a/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-sym-mnu-mpm.xml b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-sym-mnu-mpm.xml
new file mode 100644
index 00000000..6a80db4d
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-sym-mnu-mpm.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-uat-uap.xml b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-uat-uap.xml
new file mode 100644
index 00000000..e410ae58
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-uat-uap.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
diff --git a/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-uss-ion-pwm.xml b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-uss-ion-pwm.xml
new file mode 100644
index 00000000..a805f81b
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql-uss-ion-pwm.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql.xml b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql.xml
new file mode 100644
index 00000000..6c6ea3e6
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/config/postgresql/sql-map-config-postgresql.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/egovframework/sqlmap/kccadr/adjReqMgr/AdjReqMgr_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/kccadr/adjReqMgr/AdjReqMgr_SQL_Mysql.xml
index 8d17119d..ac3a0088 100644
--- a/src/main/resources/egovframework/sqlmap/kccadr/adjReqMgr/AdjReqMgr_SQL_Mysql.xml
+++ b/src/main/resources/egovframework/sqlmap/kccadr/adjReqMgr/AdjReqMgr_SQL_Mysql.xml
@@ -870,7 +870,7 @@
) VALUES (
(SELECT IFNULL(MAX(MSGKEY), 0) + 1 FROM ADR_MMS_MSG)
,#trId#
- ,'[한국저작권위원회]'
+ ,'[한국지식재산보호원]'
,#rpplPhone#
,#sendTelNo#
,'0'
diff --git a/src/main/resources/egovframework/sqlmap/kccadr/adjReqMgr/AdjReqMgr_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/kccadr/adjReqMgr/AdjReqMgr_SQL_Tibero.xml
index 8d17119d..ac3a0088 100644
--- a/src/main/resources/egovframework/sqlmap/kccadr/adjReqMgr/AdjReqMgr_SQL_Tibero.xml
+++ b/src/main/resources/egovframework/sqlmap/kccadr/adjReqMgr/AdjReqMgr_SQL_Tibero.xml
@@ -870,7 +870,7 @@
) VALUES (
(SELECT IFNULL(MAX(MSGKEY), 0) + 1 FROM ADR_MMS_MSG)
,#trId#
- ,'[한국저작권위원회]'
+ ,'[한국지식재산보호원]'
,#rpplPhone#
,#sendTelNo#
,'0'
diff --git a/src/main/resources/egovframework/sqlmap/let/cmm/fms/EgovFile_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/let/cmm/fms/EgovFile_SQL_Postgresql.xml
new file mode 100644
index 00000000..819bd2a2
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/let/cmm/fms/EgovFile_SQL_Postgresql.xml
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UPDATE
+ LETTNFILEDETAIL
+ SET
+ ORIGNL_FILE_NM = #orignlFileNm#
+ WHERE 1=1
+ AND ATCH_FILE_ID = #atchFileId#
+ AND FILE_SN = #fileSn#
+
+
diff --git a/src/main/resources/egovframework/sqlmap/let/cmm/read/Read_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/let/cmm/read/Read_SQL_Postgresql.xml
new file mode 100644
index 00000000..40adecae
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/let/cmm/read/Read_SQL_Postgresql.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO READYN (
+ MENU_NO,
+ READ_ID,
+ LOGIN_ID
+ ) values(
+ #menuNo#,
+ #readId#,
+ #loginId#
+ )
+
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/let/cmm/use/EgovCmmUse_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/let/cmm/use/EgovCmmUse_SQL_Postgresql.xml
new file mode 100644
index 00000000..b2a48e54
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/let/cmm/use/EgovCmmUse_SQL_Postgresql.xml
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBBSMaster_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBBSMaster_SQL_Postgresql.xml
new file mode 100644
index 00000000..6621ebc7
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBBSMaster_SQL_Postgresql.xml
@@ -0,0 +1,672 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO LETTNBBSMASTER
+ (BBS_ID, BBS_TY_CODE, BBS_ATTRB_CODE, BBS_NM, BBS_INTRCN,
+ REPLY_POSBL_AT, FILE_ATCH_POSBL_AT, ATCH_POSBL_FILE_NUMBER,
+ ATCH_POSBL_FILE_SIZE, TMPLAT_ID, USE_AT,
+ FRST_REGISTER_ID, FRST_REGIST_PNTTM, BBS_DC,
+
+ LIST_NUM, PAGE_NUM, TITLE_NUM,
+ ADD_YN, NOTICE_YN, PASSWORD_YN, OPEN_YN,
+ REGIDAY_YN, REGIER_YN, IP_YN, MANAGE_AUTH,
+ NOTICE_AUTH, LIST_AUTH, VIEW_AUTH, WRITE_AUTH,
+ REPLY_AUTH, ADD_AUTH, FILEATCH_AUTH, DELETE_AUTH ,
+
+ MENU_NO,
+
+ VIEWS_YN,SE_CMMN_CD_ID, SECRET_YN
+ )
+ VALUES
+ ( #bbsId#, #bbsTyCode#, #bbsAttrbCode#, #bbsNm#, #bbsIntrcn#,
+ #replyPosblAt#, #fileAtchPosblAt#, #posblAtchFileNumber#,
+ #posblAtchFileSize#, #tmplatId#, #useAt#, #frstRegisterId#, NOW(), #bbsDc#,
+
+ #listNum#, #pageNum#, #titleNum#,
+ #addYn#, #noticeYn#, #passwordYn#, #openYn#,
+ #regidayYn#, #regierYn#, #ipYn#, #manageAuth#,
+ #noticeAuth#, #listAuth#, #viewAuth#, #writeAuth#,
+ #replyAuth#, #addAuth#, #fileatchAuth#, #deleteAuth# ,
+
+ '9620000', /**사전정보공표 */
+
+ #viewsYn#,#seCmmnCdId#,#secretYn#
+ )
+
+
+
+
+
+
+ UPDATE LETTNBBSMASTER SET
+ BBS_NM = #bbsNm#,
+ BBS_INTRCN = #bbsIntrcn#,
+ BBS_TY_CODE = #bbsTyCode#,
+ FILE_ATCH_POSBL_AT = #fileAtchPosblAt#,
+ ATCH_POSBL_FILE_NUMBER = #posblAtchFileNumber#,
+ ATCH_POSBL_FILE_SIZE = #posblAtchFileSize#,
+ TMPLAT_ID = #tmplatId#,
+ LAST_UPDUSR_ID = #lastUpdusrId#,
+ LAST_UPDT_PNTTM = NOW(),
+ REPLY_POSBL_AT = #replyPosblAt#,
+ USE_AT = #useAt# ,
+ LIST_NUM = #listNum#,
+ PAGE_NUM = #pageNum#,
+ TITLE_NUM = #titleNum#,
+ ADD_YN = #addYn#,
+ NOTICE_YN = #noticeYn#,
+ PASSWORD_YN = #passwordYn#,
+ OPEN_YN = #openYn#,
+ REGIDAY_YN = #regidayYn#,
+ REGIER_YN = #regierYn#,
+ IP_YN = #ipYn#,
+ MANAGE_AUTH = #manageAuth#,
+ NOTICE_AUTH = #noticeAuth#,
+ LIST_AUTH = #listAuth#,
+ VIEW_AUTH = #viewAuth#,
+ WRITE_AUTH = #writeAuth#,
+ REPLY_AUTH = #replyAuth#,
+ ADD_AUTH = #addAuth#,
+ FILEATCH_AUTH = #fileatchAuth#,
+ DELETE_AUTH = #deleteAuth#,
+ VIEWS_YN = #viewsYn#,
+
+ WRITE_YN = #writeYn# ,
+
+
+ THUMB_ATCH_FILE_YN = #thumbAtchFileYn# ,
+
+
+ SE_CMMN_CD_ID = #seCmmnCdId#,
+
+
+ KOGL_CN_YN = #koglCnYn#,
+
+
+ LINK_URL_YN = #linkUrlYn#,
+
+
+ NTCE_DATE_YN = #ntceDateYn#,
+
+
+ MENU_NO = '9620000', /**사전정보공표 */
+
+ BBS_DC = #bbsDc#,
+ SECRET_YN = #secretYn#
+ WHERE BBS_ID = #bbsId#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO SITE_MAIN_BBS (SITE_ID, NOTICE_BBSID) VALUES (#siteId#, #noticeBbsid#)
+ ON CONFLICT (SITE_ID) DO UPDATE SET NOTICE_BBSID = #noticeBbsid#
+
+
+
+ INSERT INTO SITE_MAIN_BBS (SITE_ID, QNA_BBSID) VALUES (#siteId#, #qnaBbsid#)
+ ON CONFLICT (SITE_ID) DO UPDATE SET QNA_BBSID = #qnaBbsid#
+
+
+
+ INSERT INTO SITE_MAIN_BBS (SITE_ID, NEWS_BBSID) VALUES (#siteId#, #newsBbsid#)
+ ON CONFLICT (SITE_ID) DO UPDATE SET NEWS_BBSID = #newsBbsid#
+
+
+
+ INSERT INTO SITE_MAIN_BBS (SITE_ID, LIBRARY_BBSID) VALUES (#siteId#, #libraryBbsid#)
+ ON CONFLICT (SITE_ID) DO UPDATE SET LIBRARY_BBSID = #libraryBbsid#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBoard_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBoard_SQL_Postgresql.xml
new file mode 100644
index 00000000..2cbc6ff5
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBoard_SQL_Postgresql.xml
@@ -0,0 +1,1385 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SELECT COALESCE(MAX(SORT_ORDR),0)+1 AS NTT_NO FROM LETTNBBS
+ WHERE BBS_ID = #bbsId#
+
+
+
+ TO_TIMESTAMP(#frstRegisterPnttm#, 'YYYYMMDD'),
+
+
+ NOW(),
+
+
+
+
+
+
+ SELECT COALESCE(MAX(NTT_NO),0)+1 AS NTT_NO FROM LETTNBBS
+ WHERE BBS_ID = #bbsId# AND SORT_ORDR = #sortOrdr#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NTCE_BGNDE = #ntceBgnde#,
+ NTCE_ENDDE = #ntceEndde#,
+
+
+ NTCE_BGNDE = '',
+ NTCE_ENDDE = '',
+
+
+
+ FRST_REGIST_PNTTM = TO_TIMESTAMP(#frstRegisterPnttm#, 'YYYYMMDD'),
+
+
+ NTCR_NM = #ntcrNm#,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #nttNo#
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/egovframework/sqlmap/let/cop/cmt/EgovArticleComment_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/let/cop/cmt/EgovArticleComment_SQL_Postgresql.xml
new file mode 100644
index 00000000..c5565efb
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/let/cop/cmt/EgovArticleComment_SQL_Postgresql.xml
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/let/cop/com/EgovBBSUse_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/let/cop/com/EgovBBSUse_SQL_Postgresql.xml
new file mode 100644
index 00000000..48cf6d41
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/let/cop/com/EgovBBSUse_SQL_Postgresql.xml
@@ -0,0 +1,338 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/let/sym/ccm/notify/VEANotify_SQL_postgre.xml b/src/main/resources/egovframework/sqlmap/let/sym/ccm/notify/VEANotify_SQL_postgre.xml
new file mode 100644
index 00000000..21d8b9bb
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/let/sym/ccm/notify/VEANotify_SQL_postgre.xml
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ VEA_CMM_NOTIFY
+
+
+
+
+ CMM_NOTIFY_ORD
+ , TO_USER_ID
+ , NOTIFY_CN
+ , NOTIFY_CHK
+ , LCTR_DIV_CD
+ , NOTIFY_PATH
+ , EDU_APLCT_ORD
+ , EDU_CHASI_ORD
+ , FRST_REGIST_PNTTM
+ , FRST_REGISTER_ID
+ , LAST_UPDT_PNTTM
+ , LAST_UPDUSR_ID
+ , USE_YN
+ , PARAMS
+
+
+
+
+
+ a.CMM_NOTIFY_ORD as cmmNotifyOrd ,
+ a.TO_USER_ID as toUserId ,
+ a.NOTIFY_CN as notifyCn ,
+ a.NOTIFY_CHK as notifyChk ,
+ a.LCTR_DIV_CD as lctrDivCd ,
+ a.NOTIFY_PATH as notifyPath ,
+ a.EDU_APLCT_ORD as eduAplctOrd ,
+ a.EDU_CHASI_ORD as eduChasiOrd ,
+ a.FRST_REGIST_PNTTM as frstRegistPnttm ,
+ a.FRST_REGISTER_ID as frstRegisterId ,
+ a.LAST_UPDT_PNTTM as lastUpdtPnttm ,
+ a.LAST_UPDUSR_ID as lastUpdusrId ,
+ a.USE_YN as useYn ,
+ a.PARAMS as params
+
+
+
+
+
+
+ /* VEANotifyDAO.insertNotifyInfo */
+
+ INSERT INTO (
+
+ )VALUES(
+ #cmmNotifyOrd#
+ , #toUserId#
+ , #notifyCn#
+ , #notifyChk#
+ , #lctrDivCd#
+ , #notifyPath#
+ , #eduAplctOrd#
+ , #eduChasiOrd#
+ , NOW()
+ , #frstRegisterId#
+ , ''
+ , ''
+ , 'Y'
+ , #params#
+ )
+
+
+
+
+
+
+
+ /* VEANotifyDAO.updateNotifyChkWhereCmmNotifyOrd */
+
+ UPDATE
+
+ SET
+ notify_chk = 'Y'
+ , last_updt_pnttm = NOW()
+ , last_updusr_id = #lastUpdusrId#
+ WHERE
+ cmm_notify_ord = #cmmNotifyOrd#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UPDATE VEA_CMM_NOTIFY
+ SET USE_YN = 'N'
+ WHERE FRST_REGIST_PNTTM NOW() - interval '7 day'
+
+
+
+
+ UPDATE VEA_CMM_NOTIFY
+ SET USE_YN = 'N'
+ WHERE #cmmNotifyOrdArr[]#
+
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/let/sym/log/lgm/EgovSysLog_SQL_postgre.xml b/src/main/resources/egovframework/sqlmap/let/sym/log/lgm/EgovSysLog_SQL_postgre.xml
new file mode 100644
index 00000000..a923aeee
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/let/sym/log/lgm/EgovSysLog_SQL_postgre.xml
@@ -0,0 +1,309 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ INSERT INTO LETTNADMINLOG
+ ( ADMINLOG_ID
+ , CONECT_ID
+ , CONECT_IP
+ , CREAT_DT
+ , PROGRM_FILE_NM
+ , MENU_NM
+ , APPRO_NM
+ , URL
+ )
+ SELECT #requstId# ,
+ #rqesterId# ,
+ #rqesterIp# ,
+ now(),
+ #methodNm#,
+ MENU_NM ,
+ APPRO_NM ,
+ #url#
+ FROM LETTNADMINMETHOD
+ WHERE METHOD_NM = #methodNm#
+
+ PARAM = #param#
+
+
+ PARAM = 'N'
+
+ LIMIT 1
+
+
+
+
+ /* SysLogDAO.logInsertAdminSysLogNewStep1 */
+ INSERT INTO LETTNADMINLOG
+ ( ADMINLOG_ID
+ , CONECT_ID
+ , CONECT_IP
+ , CREAT_DT
+ , PROGRM_FILE_NM
+ , MENU_NM
+ , APPRO_NM
+ , URL
+ )
+ SELECT #requstId# ,
+ #rqesterId# ,
+ #rqesterIp# ,
+ now(),
+ #methodNm#,
+ MENU_NM ,
+ APPRO_NM ,
+ #url#
+ FROM LETTNADMINMETHOD
+ WHERE METHOD_NM = #methodNm#
+
+ PARAM = #param#
+
+
+ PARAM = 'N'
+
+ LIMIT 1
+
+
+
+
+ /* SysLogDAO.logInsertAdminSysLogNewStep2 */
+ INSERT INTO LETTNADMINLOG
+ ( ADMINLOG_ID
+ , CONECT_ID
+ , CONECT_IP
+ , CREAT_DT
+ , PROGRM_FILE_NM
+ , MENU_NM
+ , APPRO_NM
+ , URL
+ )
+ SELECT #requstId# ,
+ #rqesterId# ,
+ #rqesterIp# ,
+ now(),
+ #methodNm#,
+ 'MENU_NM' ,
+ 'APPRO_NM' ,
+ #url#
+
+
+
+
+
+ /* SysLogDAO.logInsertAdminSysLogNewStep3 */
+ INSERT INTO lettnadminmethod (
+ admot_id,
+ method_nm,
+ param,
+ creat_dt,
+ menu_nm,
+ appro_nm,
+ privacy,
+ method_cd /* A or U */
+ )
+
+ SELECT
+ MAX(cast(replace(admot_id, 'ADMOTID_', '') as int)* 1)+ 1
+ , #methodNm#
+ , 'N'
+ , NOW()
+ , #trgetMenuNm#
+ , #url#
+ , 'N'
+ , 'A'
+ FROM LETTNADMINMETHOD
+
+
+
+
+ /* SysLogDAO.logInsertAdminSysLogNewStep1_bak */
+ INSERT INTO LETTNADMINLOG_BAK
+ ( ADMINLOG_ID
+ , CONECT_ID
+ , CONECT_IP
+ , CREAT_DT
+ , PROGRM_FILE_NM
+ , MENU_NM
+ , APPRO_NM
+ , URL
+ )
+ SELECT #requstId# ,
+ #rqesterId# ,
+ #rqesterIp# ,
+ now(),
+ #methodNm#,
+ MENU_NM ,
+ APPRO_NM ,
+ #url#
+ FROM LETTNADMINMETHOD
+ WHERE METHOD_NM = #methodNm#
+
+ PARAM = #param#
+
+
+ PARAM = 'N'
+
+ LIMIT 1
+
+
diff --git a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml
index 17ad7050..bbb5e612 100644
--- a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml
+++ b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml
@@ -20,7 +20,7 @@
-